From d04d202234b0ba1e65b1c581acf0cbe715120dd7 Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Wed, 22 Nov 2006 06:49:30 -0500 Subject: [PATCH] Remove newlines from mail headers (#1484031) --- program/include/main.inc | 54 ++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 34 insertions(+), 20 deletions(-) diff --git a/program/include/main.inc b/program/include/main.inc index bbda83a..55336fd 100644 --- a/program/include/main.inc +++ b/program/include/main.inc @@ -365,7 +365,7 @@ // add common javascripts $javascript = "var $JS_OBJECT_NAME = new rcube_webmail();\n"; - $javascript .= "$JS_OBJECT_NAME.set_env('comm_path', '$COMM_PATH');\n"; + $javascript .= sprintf("%s.set_env('comm_path', '%s');\n", $JS_OBJECT_NAME, str_replace('&', '&', $COMM_PATH)); if (isset($CONFIG['javascript_config'] )){ foreach ($CONFIG['javascript_config'] as $js_config_var){ @@ -550,21 +550,28 @@ $user_name = $user!=$user_email ? $user : ''; // try to resolve the e-mail address from the virtuser table - if (!empty($CONFIG['virtuser_query'])) - { - $sql_result = $DB->query(preg_replace('/%u/', $user, $CONFIG['virtuser_query'])); - if ($sql_arr = $DB->fetch_array($sql_result)) - $user_email = $sql_arr[0]; + if (!empty($CONFIG['virtuser_query']) && + ($sql_result = $DB->query(preg_replace('/%u/', $user, $CONFIG['virtuser_query']))) && + ($DB->num_rows()>0)) + while ($sql_arr = $DB->fetch_array($sql_result)) + { + $DB->query("INSERT INTO ".get_table_name('identities')." + (user_id, del, standard, name, email) + VALUES (?, 0, 1, ?, ?)", + $user_id, + $user_name, + preg_replace('/^@/', $user . '@', $sql_arr[0])); + } + else + { + // also create new identity records + $DB->query("INSERT INTO ".get_table_name('identities')." + (user_id, del, standard, name, email) + VALUES (?, 0, 1, ?, ?)", + $user_id, + $user_name, + $user_email); } - - // also create new identity records - $DB->query("INSERT INTO ".get_table_name('identities')." - (user_id, del, standard, name, email) - VALUES (?, 0, 1, ?, ?)", - $user_id, - $user_name, - $user_email); - // get existing mailboxes $a_mailboxes = $IMAP->list_mailboxes(); @@ -893,7 +900,7 @@ // convert string to UTF-8 if ($from=='UTF-7') - $str = rcube_charset_convert(UTF7DecodeString($str), 'ISO-8859-1'); + $str = utf7_to_utf8($str); else if (($from=='ISO-8859-1') && function_exists('utf8_encode')) $str = utf8_encode($str); else if ($from!='UTF-8') @@ -904,7 +911,7 @@ // encode string for output if ($to=='UTF-7') - return UTF7EncodeString(rcube_charset_convert($str, 'UTF-8', 'ISO-8859-1')); + return utf8_to_utf7($str); else if ($to=='ISO-8859-1' && function_exists('utf8_decode')) return utf8_decode($str); else if ($to!='UTF-8') @@ -958,8 +965,9 @@ } else if ($mode=='remove') $str = strip_tags($str); - - $out = strtr($str, $encode_arr); + + // avoid douple quotation of & + $out = preg_replace('/&([a-z]{2,5});/', '&\\1;', strtr($str, $encode_arr)); return $newlines ? nl2br($out) : $out; } @@ -1055,7 +1063,13 @@ return $value; } - +/** + * Remove single and double quotes from given string + */ +function strip_quotes($str) +{ + return preg_replace('/[\'"]/', '', $str); +} // ************** template parsing and gui functions ************** -- Gitblit v1.9.1