* SquirrelMail version number -- DO NOT CHANGE
*/
global $version;
-$version = '1.2.6 [cvs]';
+$version = '1.2.6';
+
+/**
+ * Wraps text at $wrap characters
+ *
+ * Has a problem with special HTML characters, so call this before
+ * you do character translation.
+ *
+ * Specifically, ' comes up as 5 characters instead of 1.
+ * This should not add newlines to the end of lines.
+ */
+function sqWordWrap(&$line, $wrap) {
+ ereg("^([\t >]*)([^\t >].*)?$", $line, $regs);
+ $beginning_spaces = $regs[1];
+ if (isset($regs[2])) {
+ $words = explode(' ', $regs[2]);
+ } else {
+ $words = '';
+ }
+
+ $i = 0;
+ $line = $beginning_spaces;
+
+ while ($i < count($words)) {
+ /* Force one word to be on a line (minimum) */
+ $line .= $words[$i];
+ $line_len = strlen($beginning_spaces) + strlen($words[$i]) + 2;
+ if (isset($words[$i + 1]))
+ $line_len += strlen($words[$i + 1]);
+ $i ++;
+
+ /* Add more words (as long as they fit) */
+ while ($line_len < $wrap && $i < count($words)) {
+ $line .= ' ' . $words[$i];
+ $i++;
+ if (isset($words[$i]))
+ $line_len += strlen($words[$i]) + 1;
+ else
+ $line_len += 1;
+ }
+
+ /* Skip spaces if they are the first thing on a continued line */
+ while (!isset($words[$i]) && $i < count($words)) {
+ $i ++;
+ }
+
+ /* Go to the next line if we have more to process */
+ if ($i < count($words)) {
+ $line .= "\n" . $beginning_spaces;
+ }
+ }
+}
/**
* If $haystack is a full mailbox name and $needle is the mailbox
return( $to_line );
}
-function translateText(&$body, $wrap_at, $charset) {
- global $where, $what; /* from searching */
- global $color; /* color theme */
-
- require_once('../functions/url_parser.php');
-
- $body_ary = explode("\n", $body);
- $PriorQuotes = 0;
- for ($i=0; $i < count($body_ary); $i++) {
- $line = $body_ary[$i];
- if (strlen($line) - 2 >= $wrap_at) {
- sqWordWrap($line, $wrap_at);
- }
- $line = charset_decode($charset, $line);
- $line = str_replace("\t", ' ', $line);
-
- parseUrl ($line);
-
- $Quotes = 0;
- $pos = 0;
- $j = strlen( $line );
-
- while ( $pos < $j ) {
- if ($line[$pos] == ' ') {
- $pos ++;
- } else if (strpos($line, '>', $pos) === $pos) {
- $pos += 4;
- $Quotes ++;
- } else {
- break;
- }
- }
-
- if ($Quotes > 1) {
- if (! isset($color[14])) {
- $color[14] = '#FF0000';
- }
- $line = '<FONT COLOR="' . $color[14] . '">' . $line . '</FONT>';
- } elseif ($Quotes) {
- if (! isset($color[13])) {
- $color[13] = '#800000';
- }
- $line = '<FONT COLOR="' . $color[13] . '">' . $line . '</FONT>';
- }
-
- $body_ary[$i] = $line;
- }
- $body = '<pre>' . implode("\n", $body_ary) . '</pre>';
-}
-
-function find_mailbox_name ($mailbox) {
- if (ereg(" *\"([^\r\n\"]*)\"[ \r\n]*$", $mailbox, $regs))
- return $regs[1];
- ereg(" *([^ \r\n\"]*)[ \r\n]*$",$mailbox,$regs);
- return $regs[1];
-
-}
-
function php_self () {
global $PHP_SELF, $HTTP_SERVER_VARS;
$PHP_SELF = php_self();
-?>
\ No newline at end of file
+?>