<?php
  
IF (GET('install') == 'ok'){    
  
  //Если есть файл /files/upload/alpha_install/sql/db.sql, то идентифицируем его
  ZIP::RENAME_FILE(ROOT.'/files/upload/alpha_install/'.$archive['FACT_NAME'].'.'.$archive['EXT'].'', 'files/upload/alpha_install/sql/db.sql', 'files/upload/alpha_install/sql/'.$archive['FACT_NAME'].'.sql');
  
  //Если есть файл /files/upload/alpha_install/sql/delete/db.sql, то идентифицируем его
  ZIP::RENAME_FILE(ROOT.'/files/upload/alpha_install/'.$archive['FACT_NAME'].'.'.$archive['EXT'].'', 'files/upload/alpha_install/sql/delete/delete_db.sql', 'files/upload/alpha_install/sql/delete/delete_'.$archive['FACT_NAME'].'.sql');
  
  //Если есть файл /files/upload/alpha_install/php/config.php, то идентифицируем его
  ZIP::RENAME_FILE(ROOT.'/files/upload/alpha_install/'.$archive['FACT_NAME'].'.'.$archive['EXT'].'', 'files/upload/alpha_install/php/config.php', 'files/upload/alpha_install/php/'.$archive['FACT_NAME'].'.php');
  
  //Распаковываем архив
  ZIP::UNPACK(ROOT.'/files/upload/alpha_install/'.$archive['FACT_NAME'].'.'.$archive['EXT'].'', ROOT.'/');
  
  //Выполняем запросы в базу данных, если есть
  IF (IS_FILE(ROOT.'/files/upload/alpha_install/sql/'.$archive['FACT_NAME'].'.sql')){
    
    IF (DB::GET_SQL_FILE(ROOT.'/files/upload/alpha_install/sql/'.$archive['FACT_NAME'].'.sql') == 0) {
      
      ERROR('Установка не завершена: не удалось выполнить запрос(-ы) в базу данных', 'session');
      REDIRECT('/panel/?path=alpha_install&id='.$archive['ID'].'');
    
    }
    
    @UNLINK(ROOT.'/files/upload/alpha_install/sql/'.$archive['FACT_NAME'].'.sql');
    
  }
  
  //Выполняем команды из конфигурационного файла, если есть
  IF (IS_FILE(ROOT.'/files/upload/alpha_install/php/'.$archive['FACT_NAME'].'.php')){
    
    REQUIRE (ROOT.'/files/upload/alpha_install/php/'.$archive['FACT_NAME'].'.php');
    
  }
  
  //Извлечение файлов из архива и запись в базу
  $zip = NEW ZipArchive();
  
  $zip->open(ROOT.'/files/upload/alpha_install/'.$archive['FACT_NAME'].'.'.$archive['EXT'].'');

  $i = 0;
  
  WHILE ($name = $zip->getNameIndex($i)) {
    
    $i++;
    
    IF (IS_FILE(ROOT.'/'.$name)) {
      
      DB::GET_ADD("INSERT INTO `PANEL_ALPHA_INSTALL_DATA` (`ID_AI`, `DIR`) VALUES ('".$archive['ID']."', '".ADSL($name)."')");
      
    }
  
  }
  
  $zip->close();
  
  //Удаляем файлы установки, так как они уже не нужны
  @UNLINK(ROOT.'/files/upload/alpha_install/'.$archive['FACT_NAME'].'.'.$archive['EXT'].'');
  @UNLINK(ROOT.'/files/upload/alpha_install/php/'.$archive['FACT_NAME'].'.php');
  
  IF (GET('act') == 'system'){
    
    $sys = 1;
    
  }ELSE{
    
    $sys = 0;
    
  }
  
  //Помечаем компонент как успешно установленный
  DB::GET_SET("UPDATE `PANEL_ALPHA_INSTALL` SET `ACT` = '1', `SYSTEM` = '".$sys."', `TIME` = '".TIME."' WHERE `ID` = '".$archive['ID']."' LIMIT 1");
  
  SUCCESS('Компонент успешно установлен', 'session');
  REDIRECT('/panel/?path=system&section=alpha_install');
  
}
  
?>