Вход Регистрация
Файл: CMS/core/classes/ini.class.php
Строк: 46
<?php
    
/**
    * класс позволяет читать/сохранять массивы из/в INI файл(а)
    * (array) = ini::read(string file [, bool is_sectionize])
    * (bool) = ini::save(string file, array to_save[, bool is_sectionize])
    */

abstract class ini {

    static function 
value_encode($str) {

        
$str str_replace("n"'n'$str);
        
$str str_replace("r"'r'$str);
        return 
htmlentities($strENT_QUOTES'UTF-8');
    }

    static function 
value_decode($str) {

        
$str str_replace('n'"n"$str);
        
$str str_replace('r'"r"$str);
        return 
html_entity_decode($strENT_QUOTES'UTF-8');
    }

    static function 
read($file$sect false) {

        if (!
is_readable($file)) {

            die(
'Не удается открыть файл конфигурации!' $file);
        }

        
$ini parse_ini_file($file$sect);

        if (
$ini) {

            if (
$sect) {

                foreach (
$ini as $key => $val) {

                    foreach (
$val as $keys => $vals) {

                        
$ini[$key][$keys] = self::value_decode($vals);
                    }
                }
            }
            else {

                foreach (
$ini as $key => $val) {

                    
$ini[$key] = self::value_decode($val);
                }
            }
        }

        return 
$ini;
    }

    static function 
save($file$array$sect false) {

        
$ini = array();

        if (!
is_writable($file)) {

            
//die('Не удается записать в файл конфигурации!');
        
}

        if (
$sect) {

            foreach(
$array as $key => $val) {

                
$ini[] = '['.self::value_encode($key).']';

                foreach(
$val as $keys => $vals) {

                    
$ini[] = "$keys = "".self::value_encode($vals, ENT_QUOTES, 'UTF-8')."";";
                }
            }
        }
        else {

            foreach(
$array as $key => $val) {

                
$ini[] = "$key = "".self::value_encode($val, ENT_QUOTES, 'UTF-8')."";";
            }
        }

        return 
file_put_contents($fileimplode("rn",$ini));
    }
};
?>
Онлайн: 0
Реклама