Вход Регистрация
Файл: modules/system/modules.php
Строк: 158
<?php
 
##################################################################
 ## Development by CoMMoN web site author http://mirmastera.ru   ##
 ## fportal web site scripts http://fportal.tk                   ##
 ## All rights reserved authors                                  ##
 ##################################################################
if (!is_user()) {header('Location: /');} //Переадресация гостей
if (!is_admin(array(2,3,4))) {header('Location: /');} //Переадресация пользователей не являющихся админами
//Ещё одна проверка прав (на всякий случай)
if (is_admin(array(2,3,4))) {
switch(
filtr($_GET['do'])){
#########################################################################################################################################
#########################################################################################################################################
default;
$mod_name 'Админ-панель'//Имя модуля
$act_name 'Список модулей'//Имя действия
require_once(ROOT.'/kernel/kernelhead.php'); //Подключение шапки
echo '<div class="title">'.$mod_name.' | '.$act_name.'</div>'//Вывод заголовка

//Проверка наличия модулей
$sql "SELECT COUNT(*) FROM ".PREFIX."modules";  
if (
$STH $mysql->query($sql)) { 
$STH $STH -> fetch_row();
$STH $STH[0]; 
if (
$STH 0) {

//Вывод модулей
$query_modules $mysql -> query("SELECT * FROM `".PREFIX."modules` ORDER BY `id` DESC;");
$i 0;
while (
$data $query_modules -> fetch_assoc()) {
++
$i;//echo'<a class="touch" href="/?mod=dowload">Download <span style="float: right;">v6.01</span></a>';

if(is_file(ROOT.'/modules/'.filtr($data['name']).'/conf.ini')){
$conf_data parse_ini_file(ROOT.'/modules/'.filtr($data['name']).'/conf.ini',true) or die('ERROR: modules file');
$data_name $conf_data['name'];
}else{
$data_name $data['name'];
}


echo 
'<div class="menu">'
if (
is_file(ROOT.'/modules/'.filtr($data['name']).'/app.png')) {echo'<img src="/modules/'.filtr($data['name']).'/app.png" alt="app""/> ';}else{echo'<img src="/images/app/app.png" alt="app""/> ';}
echo 
'<a href="/?mod='.filtr($data['name']).'">'.filtr($data_name).'</a>';

echo
'<span style="float: right;">';
if (
is_file(ROOT.'/modules/'.filtr($data['name']).'/admin.php')) {echo '<a  href="/?mod='.filtr($data['name']).'&amp;act=admin"><font color="red">[A]</font></a>';}
else{echo 
' ';}
if (
is_file(ROOT.'/modules/'.filtr($data['name']).'/update.php')) {echo '<a  href="/?mod='.filtr($data['name']).'&amp;act=update">[upd]</a>';}
else{echo 
' ';}

if (
is_file(ROOT.'/modules/'.filtr($data['name']).'/unistall.php') || is_file(ROOT.'/modules/'.filtr($data['name']).'/dell_modul.php')) {
echo 
' <a href="/?mod=system&amp;act=modules&amp;do=unistall&amp;modul='.filtr($data['name']).'">[Удалить]</a>';
}
echo
'</span>';
echo
'</div>';
}} 
//Конец вывода
else {echo '<div class="error">Модулей нет!</div>';} //Уведомление об отсутствии модулей
//Конец проверки

//Навигация
echo '<a class="touch" href="/?mod=system">'.icons('return.png','16|16').' В админ-панель</a>';

require_once(
ROOT.'/kernel/kernelfoot.php'); //Вывод ног
break;



case 
'install':
$mod_name 'Админ-панель'//Имя модуля
$act_name 'Установка модуля'//Имя действия
require_once(ROOT.'/kernel/kernelhead.php'); //Подключение шапки
echo '<div class="title">'.$mod_name.' | '.$act_name.'</div>'//Вывод заголовка


//echo $mime->getByName($_FILES["modul"]['tmp_name']).'<br/>'.$_FILES["modul"]['tmp_name'].'<br/>';


//Добавление
if (isset($_POST['submit'])) {//$_FILES["modul"]["type"] != 'application/zip' || $_FILES["modul"]["type"] != 'application/x-zip'
if ($mime->getByName($_FILES["modul"]['name']) != 'application/zip') {$error .= 'Модуль обязательно должен находиться именно в ZIP архиве!<br />';} //Уведомление при попытке загрузить запрещенный формат
else {
require_once(
ROOT.'/kernel/pclzip.php'); //Импорт библиотеки Pclzip
$zip = new PclZip($_FILES['modul']['tmp_name']);
$modul_install $zip->extract(PCLZIP_OPT_BY_NAME'name.txt'PCLZIP_OPT_EXTRACT_AS_STRING);
$name_ini $modul_install[0]['content'];
$modul parse_ini_string($name_ini);
$modul['name'] = trim($modul['name']);
$modul_name $modul['name'];

if (empty(
$modul_name)) {$error .= 'Не указано имя модуля!<br />';} //Уведомление при отсутствии названия модуля
if(is_dir(ROOT.'/modules/'.$modul_name) or isset($error)) {$error .= 'Такой модуль уже установлен или файл name.txt некорректен!<br />';} //Прочие уведомления

else {
mkdir(ROOT.'/modules/'.$modul_name.'');
$zip->extract(PCLZIP_OPT_PATHROOT.'/modules/'.$modul_name.'');
$mysql -> query("INSERT INTO `".PREFIX."modules` (`name`) VALUES ('$modul_name');");
if (
is_file(ROOT.'/modules/'.$modul_name.'/install.php'))
{
require_once(
ROOT.'/modules/'.$modul_name.'/install.php');
@
unlink(ROOT.'/modules/'.$modul_name.'/install.php');
}
@
unlink(ROOT.'/modules/'.$modul_name.'/name.txt');
echo 
'<div class="success">Модуль '.filtr($modul_name).' установлен!</div>'//Уведомление об успешной установке
}
}
if (isset(
$error)) {
echo 
'<div class="error"><b>Возникли ошибки:</b><br />'.$error.'</div>'//Вывод ошибок
}
}

//Форма загрузки
echo'<div class="text_form_all">
<form action="/?mod=system&amp;act=modules&amp;do=install" method="post" enctype="multipart/form-data">
Загрузите <b>zip</b> архив модуля<br />
<input type="file" name="modul" class="text_form_file"/><br />
<input type="submit" name="submit" value="Установить" class="text_form_submit"/></form></div>'
;

//Навигация
echo '<a class="touch" href="/?mod=system">'.icons('return.png','16|16').' В админ-панель</a>';
require_once(
ROOT.'/kernel/kernelfoot.php'); //Вывод ног

break;


case 
'unistall':

$mod_name 'Админ-панель'//Имя модуля
$act_name 'Удаление модуля'//Имя действия
require_once(ROOT.'/kernel/kernelhead.php'); //Подключение шапки
echo '<div class="title">'.$mod_name.' | '.$act_name.'</div>'//Вывод заголовка

if (isset($_POST['submit_no'])) {header('Location: /?mod=system&act=modules');} //Переадрисация при отказе от удаления

//Удаление
if (isset($_POST['submit_yes'])) {

//Подключение вспомогательного файла (если он есть)
if (is_file(ROOT.'/modules/'.filtr($_GET['modul']).'/dell_modul.php')) {
require_once(
ROOT.'/modules/'.filtr($_GET['modul']).'/dell_modul.php');
}

//Удаление
$sqlm $mysql->query("DELETE FROM `".PREFIX."modules` WHERE `name`='".filtr($_GET['modul'])."' LIMIT 1");

$mod_catalog ROOT.'/modules/'.filtr($_GET['modul']).''//Папка с модулем
removeDirectory($mod_catalog); //Удаление папки
echo '<div class="success">Модуль успешно удалён!</div>'//Уведомление об успешном удалении

//Навигация
echo '<a cllass="touch" href="/?mod=system&amp;act=modules">'.icons('return.png','16|16').' Продолжить</a>';
require_once(
ROOT.'/kernel/kernelfoot.php'); //Вывод ног
exit; //Завершение скрипта
//Конец удаления

//Проверка наличия модуля
$sql "SELECT COUNT(*) FROM ".PREFIX."modules WHERE name ='".filtr($_GET['modul'])."'";  
if (
$STH $mysql->query($sql)) {  
$STH $STH -> fetch_row();
$STH $STH[0]; 
if (
$STH 0) {
// Да/Нет
echo '<div class="menu">
Вы действительно хотите <b>удалить модуль '
.filtr($_GET['modul']).'</b>?</div>
<div class="text_form_all">
<form action="/?mod=system&amp;act=modules&amp;do=unistall&amp;modul='
.filtr($_GET['modul']).'" method="POST"> 
<input type="submit" name="submit_no" value="Отменить" class="text_form_submit"/><input type="submit" name="submit_yes" value="Удалить" class="text_form_submit"/> 
</form></div>'

}} 
//Конец проверки
else {echo '<div class="error">Такого модуля нет!</div>';} //Уведомление об отсутствии модуля

//Навигация
echo '<a class="touch" href="/?mod=system">'.icons('return.png','16|16').' В админ-панель</a>';
require_once(
ROOT.'/kernel/kernelfoot.php'); //Вывод ног
break;
#########################################################################################################################################
#########################################################################################################################################
}
//Конец проверки прав

?>
Онлайн: 0
Реклама