Esempio n. 1
0
 /**
  * Возвращает JSON-представление данных (безопасный режим)
  * @param  mixed $obj Массив или объект, который необходимо преобразовать.
  * @return string      Возвращает JSON закодированную строку (string) в случае успеха или FALSE в случае возникновения ошибки.
  */
 function json_safe_encode($obj)
 {
     $nc_core = nc_Core::get_object();
     if ($nc_core->NC_UNICODE) {
         return json_encode($obj);
     }
     return json_encode(iconv_deep($nc_core->NC_CHARSET, 'utf-8', $obj));
 }
Esempio n. 2
0
 //last step of import = fill database with new content
 //configuration finished - update database
 if (isset($_POST["do_excel_import"]) && isset($_POST["filename"]) && isset($_POST["update_column"])) {
     if (CONF_BACKEND_SAFEMODE) {
         Redirect(ADMIN_FILE . "?dpt=catalog&sub=excel_import&safemode=yes");
     }
     @set_time_limit(0);
     //import file content
     if (preg_match("/^(.+?)\\.csv(\\.(bz2|gz))?\$/", $_POST["filename"], $matches)) {
         if (isset($matches[2]) && $matches[3] == 'gz') {
             $data = myfgetcsvgz($_POST["filename"], $delimiter);
         } else {
             $data = myfgetcsv($_POST["filename"], $delimiter);
         }
     }
     $data = iconv_deep("windows-1251", "utf-8", $data);
     if (!count($data)) {
         die(ERROR_CANT_READ_FILE);
     }
     $res = imReadImportConfiguratorSettings();
     $db_association = $res["db_association"];
     $dbcPhotos = $res["dbcPhotos"];
     $dbc = $res["dbc"];
     $updated_extra_option = $res["updated_extra_option"];
     //get update column
     $uc = $dbc[$_POST["update_column"]];
     if (!strcmp($uc, "not defined")) {
         $smarty->assign("excel_import_result", "update_column_error");
         //go to the previous step
         $proceed = 1;
         $file_excel = "";
Esempio n. 3
0
function iconv_deep($e1, $e2, $value)
{
    if (is_array($value)) {
        $item = null;
        foreach ($value as &$item) {
            $item = iconv_deep($e1, $e2, $item);
        }
        unset($item);
    } else {
        if (is_string($value)) {
            $value = mb_convert_encoding($value, $e2, $e1);
        }
    }
    return $value;
}