Файл: panel/alpha_install/plugins/install.php
Строк: 37
<?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§ion=alpha_install');
}
?>