<?php 

/*
------------------------------
Класс для работы с ini файлами
------------------------------
*/
  
CLASS INI{
  
  /*
  -----------------
  Получение массива
  -----------------
  */
  
  PUBLIC STATIC FUNCTION PARSE($path){
    
    IF (!FILE_EXISTS($path)) {
      
      THROW NEW Exception('INI файл: ' . $path . ', не существует!');
    
    }
    
    RETURN PARSE_INI_FILE($path);
  
  }
  
  /*
  ------------------------
  Обновление данных строки
  ------------------------
  */
  
  PUBLIC STATIC FUNCTION UPGRADE($path, $key, $value) {
    
    IF (!FILE_EXISTS($path)) {
      
      RETURN 0;
    
    }
    
    $array = INI::PARSE($path);
    $array[$key] = $value;
    $current = "";
    
    FOREACH ($array AS $key => $value) {
      
      $current .= "\n$key = \"$value\"\n";
    
    }
    
    FILE_PUT_CONTENTS($path, $current);
    
    RETURN 1;
  
  }
  
  /*
  -----------------
  Добавление строки
  -----------------
  */
  
  PUBLIC STATIC FUNCTION ADD($path, $key, $value) {
    
    IF (!FILE_EXISTS($path)) {
      
      RETURN 0;
    
    }
    
    $array = INI::PARSE($path);
    $array[$key] = $value;
    $current = "";
    
    FOREACH ($array AS $key => $value) {
      
      $current .= "\n$key = \"$value\"\n";
    
    }
    
    FILE_PUT_CONTENTS($path, $current);
    
    RETURN 1;
  
  }

  /*
  ---------------
  Удаление строки
  ---------------
  */
  
  PUBLIC STATIC FUNCTION DELETE($path, $key, $value) {
    
    IF (!FILE_EXISTS($path)) {
      
      RETURN 0;
    
    }
    
    $array = INI::PARSE($path);
    UNSET($array[$key]);
    
    FOREACH ($array AS $key => $value) {
      
      $current .= "\n$key = \"$value\"\n";
    
    }
    
    FILE_PUT_CONTENTS($path, $current);
    
    RETURN 1;
  
  }
  
}
  
?>