dir_lengua = "../Lenguas"; $this->lengua = $lengua; if ( (! is_null($f_lengua)) && ($f_lengua != "") && file_exists($this->dir_lengua . "/" . $f_lengua) && ($app_lengua = parse_ini_file($this->dir_lengua . "/" . $f_lengua, true)) ) { } else { $app_lengua = Array(); } if ( isset($def_lengua) && is_array($def_lengua) ) { foreach ( $def_lengua as $n_parte => $parte ) { if ( is_array($parte) ) { foreach ( $parte as $n_value => $value ) { if ( ! isset($app_lengua[$n_parte]) ) { $app_lengua[$n_parte] = array(); } else if ( ! is_array($app_lengua[$n_parte]) ) { break; } if ( (! isset($app_lengua[$n_parte][$n_value])) || ($app_lengua[$n_parte][$n_value] == "") ) { $app_lengua[$n_parte][$n_value] = $value; } } } else if ( (! isset($app_lengua[$n_parte])) || ($app_lengua[$n_parte] == "") ) { $app_lengua[$n_parte] = $parte; } } } $this->app_lengua = $app_lengua; } // ------------------------------------------------------------ function get_text($seccion, $n_const) { if ( $seccion && $n_const && isset($this->app_lengua[$seccion]) && isset($this->app_lengua[$seccion][$n_const]) ) { $ret = $this->app_lengua[$seccion][$n_const]; } else { $ret = ""; } return $ret; } // ------------------------------------------------------------ function set_text($seccion, $n_const, $text) { if ( $seccion && $n_const && isset($this->app_lengua[$seccion]) ) { $this->app_lengua[$seccion][$n_const] = $text; } } // ------------------------------------------------------------ function hay_seccion($seccion) { return ($seccion && isset($this->app_lengua[$seccion])); } // ------------------------------------------------------------ function get_lengua_dsr() { global $def_lengua; $lengua_dsr = "lenguas: ["; if ( file_exists($dir = $this->dir_lengua) && is_dir($dir) ) { if ( $dh = opendir($dir) ) { $parte_dsr = ""; while ( ($file = readdir($dh)) !== false ) { if ( ($file == '.') || ($file == '..') ) { continue; } if ( is_file($f_name = ($dir . "/" . $file)) ) { $path_info = pathinfo($f_name); if ( ! isset($path_info['extension']) ) { if ( $parte_dsr != "" ) { $parte_dsr .= ","; } //$parte_dsr .= $path_info['extension'] . ":'" . basename($path_info['basename'], ("." . $path_info['extension'])) . "'"; $parte_dsr .= "'" . $path_info['basename'] . "'"; } } } $lengua_dsr .= $parte_dsr; } } $lengua_dsr .= "]"; foreach ( $def_lengua as $n_parte => $parte ) { $lengua_dsr .= ","; if ( is_array($parte) ) { $parte_dsr = ""; foreach ( $parte as $n_value => $value ) { if ( $parte_dsr != "" ) { $parte_dsr .= ","; } $parte_dsr .= $n_value . ":'" . $value . "'"; } $lengua_dsr .= $n_parte . ": {" . $parte_dsr . "}"; } else { $lengua_dsr .= $n_parte . ":" . $parte; } } echo ("lengua_dsr={" . $lengua_dsr . "}"); } // ------------------------------------------------------------ function save_lengua_dsr($lengua=null, $json=null) { global $def_lengua; if ( ! file_exists($this->dir_lengua) ) { if ( ! mkdir($this->dir_lengua) ) { return false; } } else if ( ! is_dir($this->dir_lengua) ) { return false; } if ( is_null($lengua) || ($lengua == "") || is_null($json) || (! ($fp = fopen($this->dir_lengua . "/" . $this->app_lengua, 'w'))) ) { //echo "Ошибка открытия файла конфигурации"; return false; } $content = ""; foreach ( $def_lengua as $n_parte => $parte ) { if ( is_array($parte) ) { $content .= "\n[{$n_parte}]\n"; foreach ( $parte as $n_value => $value ) { if ( isset($json[$n_parte]) && isset($json[$n_parte][$n_value]) ) { $json_value = iconv("UTF-8", "WINDOWS-1251", $json[$n_parte][$n_value]); } else { $json_value = $value; } if ( is_numeric($json_value) || is_bool($json_value) ) { $content .= "{$n_value} = {$json_value}\n"; } else { $content .= "{$n_value} = \"{$json_value}\"\n"; } } } else { if ( (! is_null($json)) && isset($json[$n_parte]) ) { $json_value = iconv("UTF-8", "WINDOWS-1251", $json[$n_parte]); if ( is_numeric($json_value) || is_bool($json_value) ) { $content .= "{$n_value} = {$json_value}\n"; } else { $content .= "{$n_value} = \"{$json_value}\"\n"; } } } } if ( ! fwrite($fp, $content) ) { echo "Ошибка записи файла конфигурации"; return false; } fclose($fp); } } ?>