thomascube
2009-03-11 c9a2fa9db0b3cc9edee0b4ee82d02849b5263766
program/include/main.inc
@@ -186,7 +186,13 @@
  $to = $to==NULL ? strtoupper(RCMAIL_CHARSET) : strtoupper($to);
  $error = false; $conv = null;
  if ($from==$to || $str=='' || empty($from))
  # RFC1642
  if ($from == 'UNICODE-1-1-UTF-7')
    $from = 'UTF-7';
  if ($to == 'UNICODE-1-1-UTF-7')
    $to = 'UTF-7';
  if ($from == $to || empty($str) || empty($from))
    return $str;
    
  $aliases = array(
@@ -208,7 +214,6 @@
        return $_iconv;
    }
  }
  if (is_null($mbstring_loaded))
    $mbstring_loaded = extension_loaded('mbstring');
@@ -232,8 +237,8 @@
        return $out;
    }
  }
  # try to convert with custom classes
  if (class_exists('utf8'))
    $conv = new utf8();
@@ -241,6 +246,8 @@
  if ($from == 'UTF-7') {
    if ($_str = utf7_to_utf8($str))
      $str = $_str;
    else
      $error = true;
  }
  else if (($from == 'ISO-8859-1') && function_exists('utf8_encode')) {
    $str = utf8_encode($str);
@@ -249,7 +256,7 @@
    $conv->loadCharset($from);
    $str = $conv->strToUtf8($str);
  }
  else if ($from != 'UTF-8') {}
  else if ($from != 'UTF-8')
    $error = true;
  // encode string for output
@@ -273,7 +280,7 @@
      'code' => 500,
      'type' => 'php',
      'file' => __FILE__,
      'message' => "Could not convert string charset. Make sure iconv is installed or lib/utf8.class is available"
      'message' => "Could not convert string from $from to $to. Make sure iconv is installed or lib/utf8.class is available"
      ), true, false);
    
    $convert_warning = true;