Вход Регистрация
Файл: panel/system/alpha_installer/install_components.php
Строк: 48
<?php
  
if (get('install') == 'ok'){  
  
  require (
ROOT.'/files/upload/alpha_installer/set/set.php');
  
  
//Если есть файл /files/upload/alpha_installer/sql/db.sql, то идентифицируем его
  
zip::rename_file(ROOT.'/files/upload/alpha_installer/'.$archive['ID'].'.'.$archive['EXT'], 'files/upload/alpha_installer/sql/db.sql''files/upload/alpha_installer/sql/'.$archive['FACT_NAME'].'.sql');
  
  
//Если есть файл /files/upload/alpha_install/sql/delete/db.sql, то идентифицируем его
  
zip::rename_file(ROOT.'/files/upload/alpha_installer/'.$archive['ID'].'.'.$archive['EXT'], 'files/upload/alpha_installer/sql/delete/delete_db.sql''files/upload/alpha_installer/sql/delete/delete_'.$archive['FACT_NAME'].'.sql');
  
  
//Если есть файл /files/upload/alpha_install/php/config.php, то идентифицируем его
  
zip::rename_file(ROOT.'/files/upload/alpha_installer/'.$archive['ID'].'.'.$archive['EXT'], 'files/upload/alpha_installer/php/config.php''files/upload/alpha_installer/php/'.$archive['FACT_NAME'].'.php');
  
  
//Распаковываем архив
  
zip::unpack(ROOT.'/files/upload/alpha_installer/'.$archive['ID'].'.'.$archive['EXT'], ROOT.'/');
  
  
//Выполняем запросы в базу данных, если есть
  
if (is_file(ROOT.'/files/upload/alpha_installer/sql/'.$archive['FACT_NAME'].'.sql')){
    
    if (
db::get_sql_file(ROOT.'/files/upload/alpha_installer/sql/'.$archive['FACT_NAME'].'.sql') == 0) {
      
      
error('Установка не завершена: не удалось выполнить запрос(-ы) в базу данных');
      
redirect('/admin/system/alpha_installer/?id='.$archive['ID']);
    
    }
    
    @
unlink(ROOT.'/files/upload/alpha_installer/sql/'.$archive['FACT_NAME'].'.sql');
    
  }
  
  
//Выполняем команды из конфигурационного файла, если есть
  
if (is_file(ROOT.'/files/upload/alpha_installer/php/'.$archive['FACT_NAME'].'.php')){
    
    require (
ROOT.'/files/upload/alpha_installer/php/'.$archive['FACT_NAME'].'.php');
    
  }
  
  
//Извлечение файлов из архива и запись в базу
  
$zip = new ZipArchive();
  
  
$zip->open(ROOT.'/files/upload/alpha_installer/'.$archive['ID'].'.'.$archive['EXT']);
  
$i 0;  
  while (
$name $zip->getNameIndex($i)) {
    
    
$i++;
    
    if (
is_dir(ROOT.'/'.$name)) {
      
      @
chmod(ROOT.'/'.$name0755);
      
    }
    
    if (
is_file(ROOT.'/'.$name)) {
      
      
db::get_add("INSERT INTO `PANEL_ALPHA_INSTALL_DATA` (`ID_AI`, `DIR`) VALUES (?, ?)", [$archive['ID'], esc($name)]);
      
    }
  
  }
  
  
$zip->close();
  
  
//Удаляем файлы установки, так как они уже не нужны
  
@unlink(ROOT.'/files/upload/alpha_installer/'.$archive['ID'].'.'.$archive['EXT']);
  @
unlink(ROOT.'/files/upload/alpha_installer/php/'.$archive['FACT_NAME'].'.php');
  
  
//Помечаем компонент как успешно установленный
  
db::get_set("UPDATE `PANEL_ALPHA_INSTALL` SET `ACT` = ?, `SYSTEM` = ?, `TIME` = ?, `UPDATE` = ?, `NAME` = ? WHERE `ID` = ? LIMIT 1", [1INSTALL_CHECK_FILES_DOUBLETMINSTALL_CHECK_UPDATEesc($archive['NAME']), $archive['ID']]);
  
  
success('Компонент успешно установлен');
  
redirect('/admin/system/alpha_installer/');
  
}
Онлайн: 1
Реклама