+
+ function ShowSelectAllLink($startMessage, $sort)
+ {
+ global $checkall, $PHP_SELF, $what, $where, $mailbox;
+
+ echo "\n<A HREF=\"$PHP_SELF?mailbox=" . urlencode($mailbox) .
+ "&startMessage=$startMessage&sort=$sort&";
+ if ( isset($checkall) && $checkall == '1')
+ echo "checkall=0";
+ else
+ echo "checkall=1";
+ if (isset($where) && isset($what))
+ echo "&where=" . urlencode($where) . "&what=" . urlencode($what);
+ echo "\">";
+ if (isset($checkall) && $checkall == '1')
+ echo _("Unselect All");
+ else
+ echo _("Select All");
+ echo "</A>\n";
+ }
+
+ function processSubject($subject)
+ {
+ // Shouldn't ever happen -- caught too many times in the IMAP functions
+ if ($subject == '')
+ return _("(no subject)");
+
+ if (strlen($subject) <= 55)
+ return $subject;
+
+ $ent_strlen=strlen($subject);
+ $trim_val=50;
+ $ent_offset=0;
+ // see if this is entities-encoded string
+ // If so, Iterate through the whole string, find out
+ // the real number of characters, and if more
+ // than 55, substr with an updated trim value.
+ while (($ent_loc = strpos($subject, '&', $ent_offset)) !== false &&
+ ($ent_loc_end = strpos($subject, ';', $ent_loc)) !== false)
+ {
+ $trim_val += ($ent_loc_end-$ent_loc)+1;
+ $ent_strlen -= $ent_loc_end-$ent_loc;
+ $ent_offset = $ent_loc_end+1;
+ }
+
+ if ($ent_strlen <= 55)
+ return $subject;
+
+ return substr($subject, 0, $trim_val) . '...';
+ }
+