1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-09-20 09:18:48 +02:00

Split exceptionally huge revision titles into the summary

Summary: Fixes T4034.

Test Plan: See screenshot.

Reviewers: spicyj, btrahan

Reviewed By: spicyj

CC: aran

Maniphest Tasks: T4034

Differential Revision: https://secure.phabricator.com/D7443
This commit is contained in:
epriestley 2013-10-29 21:19:51 -07:00
parent 19124554d8
commit 29c7de621e

View file

@ -169,6 +169,38 @@ final class ConduitAPI_differential_parsecommitmessage_Method
$fields[$name] = $data;
}
// This is another piece of special-cased magic which allows you to
// enter a ridiculously long title, or just type a big block of stream
// of consciousness text, and have some sort of reasonable result conjured
// from it.
if (isset($fields['title'])) {
$terminal = '...';
$title = $fields['title'];
$short = phutil_utf8_shorten($title, 250, $terminal);
if ($short != $title) {
// If we shortened the title, split the rest into the summary, so
// we end up with a title like:
//
// Title title tile title title...
//
// ...and a summary like:
//
// ...title title title.
//
// Summary summary summary summary.
$summary = idx($fields, 'summary', '');
$offset = strlen($short) - strlen($terminal);
$remainder = ltrim(substr($fields['title'], $offset));
$summary = '...'.$remainder."\n\n".$summary;
$summary = rtrim($summary, "\n");
$fields['title'] = $short;
$fields['summary'] = $summary;
}
}
return $fields;
}