alecpl
2008-11-05 b8ae5093cc08fc7684aa087fb9dc1ce97fd49f5d
program/include/main.inc
@@ -188,12 +188,14 @@
    return $str;
    
  $aliases = array(
    'US-ASCII'       => 'ISO-8859-1',
    'UNKNOWN-8BIT'   => 'ISO-8859-15',
    'X-UNKNOWN'      => 'ISO-8859-15',
    'X-USER-DEFINED' => 'ISO-8859-15',
    'ISO-8859-8-I'   => 'ISO-8859-8',
    'KS_C_5601-1987' => 'EUC-KR',
    'US-ASCII'         => 'ISO-8859-1',
    'ANSI_X3.110-1983' => 'ISO-8859-1',
    'ANSI_X3.4-1968'   => 'ISO-8859-1',
    'UNKNOWN-8BIT'     => 'ISO-8859-15',
    'X-UNKNOWN'        => 'ISO-8859-15',
    'X-USER-DEFINED'   => 'ISO-8859-15',
    'ISO-8859-8-I'     => 'ISO-8859-8',
    'KS_C_5601-1987'   => 'EUC-KR',
  );
  // convert charset using iconv module  
@@ -345,6 +347,9 @@
      }
    $xml_rep_table['"'] = '"';
    $js_rep_table['"'] = '\\"';
    $js_rep_table["'"] = "\\'";
    $js_rep_table["\\"] = "\\\\";
    }
  // encode for XML
@@ -357,7 +362,7 @@
    if ($charset!='UTF-8')
      $str = rcube_charset_convert($str, RCMAIL_CHARSET,$charset);
      
    return preg_replace(array("/\r?\n/", "/\r/", '/<\\//'), array('\n', '\n', '<\\/'), addslashes(strtr($str, $js_rep_table)));
    return preg_replace(array("/\r?\n/", "/\r/", '/<\\//'), array('\n', '\n', '<\\/'), strtr($str, $js_rep_table));
    }
  // no encoding given -> return original string
@@ -418,8 +423,11 @@
      $value = $_COOKIE[$fname];
    }
  
  // strip single quotes if magic_quotes_sybase is enabled
  if (ini_get('magic_quotes_sybase'))
    $value = str_replace("''", "'", $value);
  // strip slashes if magic_quotes enabled
  if ((bool)get_magic_quotes_gpc())
  else if (get_magic_quotes_gpc() || get_magic_quotes_runtime())
    $value = stripslashes($value);
  // remove HTML tags if not allowed    
@@ -550,7 +558,8 @@
  // use value from post
  if (!empty($_POST[$fname]))
    $value = get_input_value($fname, RCUBE_INPUT_POST);
    $value = get_input_value($fname, RCUBE_INPUT_POST,
       $type == 'textarea' && strpos($attrib['class'], 'mce_editor')!==false ? true : false);
  $out = $input->show($value);
         
@@ -683,10 +692,10 @@
    $ts = $date;
  else if (!empty($date))
    {
    while (($ts = @strtotime($date))===false)
    // if date parsing fails, we have a date in non-rfc format.
    // remove token from the end and try again
    while ((($ts = @strtotime($date))===false) || ($ts < 0))
      {
        // if we have a date in non-rfc format
        // remove token from the end and try again
        $d = explode(' ', $date);
        array_pop($d);
        if (!$d) break;
@@ -824,7 +833,7 @@
  $log_entry = sprintf("[%s]: %s\n",
                 date("d-M-Y H:i:s O", mktime()),
                 $line);
  if ($CONFIG['log_driver'] == 'syslog') {
    if ($name == 'errors')
      $prio = LOG_ERR;
@@ -835,10 +844,11 @@
    // log_driver == 'file' is assumed here
    if (empty($CONFIG['log_dir']))
      $CONFIG['log_dir'] = INSTALL_PATH.'logs';
    // try to open specific log file for writing
    if ($fp = @fopen($CONFIG['log_dir'].'/'.$name, 'a')) {
      fwrite($fp, $log_entry);
      fflush($fp);
      fclose($fp);
    }
  }
@@ -1163,4 +1173,22 @@
}
/**
 * Output HTML editor scripts
 *
 * @param boolean Editor mode (use true for minimal editor)
 */
function rcube_html_editor($mode='')
{
  global $OUTPUT, $CONFIG;
  $lang = $tinylang = strtolower(substr($_SESSION['language'], 0, 2));
  if (!file_exists(INSTALL_PATH . 'program/js/tiny_mce/langs/'.$tinylang.'.js'))
    $tinylang = 'en';
  $OUTPUT->include_script('tiny_mce/tiny_mce.js');
  $OUTPUT->include_script('editor.js');
  $OUTPUT->add_script('rcmail_editor_init("$__skin_path", "'.JQ($tinylang).'", '.intval($CONFIG['enable_spellcheck']).', "'.$mode.'");');
}
?>