Пример #1
0
 /**
  * Инициализация конфига
  * @param string $name имя шаблона, если указано - возвращается список всех
  * переменных
  * @param string $var необходимая переменная
  * @return string|array родительский шаблон или список всех переменных
  */
 public function init_cfg($name = null, $var = 'style_parent')
 {
     $f = 'main.conf';
     $var = $var ? $var : null;
     if ($name) {
         $tpldir = ROOT . THEMES_PATH . '/' . $name;
         if (!class_exists('Config_File', false)) {
             include_once SMARTY_DIR . 'Config_File.class.php';
         }
         $cfg = new Config_File($tpldir);
         $cfg->load_file($f);
         $vars = $cfg->get($f, null, $var);
         unset($cfg);
         // Destruct f*cking class
         return $vars;
     }
     if (!$this->conf_inited) {
         $this->config_load($f);
         $this->conf_inited = true;
     }
     return $this->get_config_vars($var);
 }
Пример #2
0
<?php

require "../config.inc.php";
require $config['smartydir'] . '/Smarty.class.php';
require $config['smartydir'] . '/Config_File.class.php';
header("Content-Type: text/plain");
$lang = $_GET['lang'];
if (!$lang) {
    die("lang missing");
}
$config_dir = $config['basedir'] . "/code/configs";
$engFile = $config_dir . "/eng.conf";
$newFile = $config_dir . "/{$lang}.conf";
if (is_file($newFile)) {
    $langConf = new Config_File($config_dir);
    $langConf->load_file($newFile, false);
    rename($newFile, "{$newFile}.old") || die("could not make backup");
}
$eng = file($engFile);
$out = fopen($newFile, "wb");
if (!$out) {
    die("could not write into: {$newFile}");
}
$section = NULL;
foreach ($eng as $line) {
    if (preg_match('/"{3}/', $line)) {
        die('please do not use multiline (""")');
    } elseif (preg_match('/^([^=]+)=\\s*(.*)/', $line, $m)) {
        $key = trim($m[1]);
        $val = trim($m[2]);
        //print("$section: $key = $val\n");