|
|
@ -17,7 +17,7 @@ |
|
|
|
private static $instance = null; |
|
|
|
private static $instance = null; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function __construct () |
|
|
|
public function __construct () |
|
|
|
{ |
|
|
|
{ |
|
|
|
$this->_modules = $this->getModules(); |
|
|
|
$this->_modules = $this->getModules(); |
|
|
|
} |
|
|
|
} |
|
|
@ -26,7 +26,9 @@ |
|
|
|
public static function init () |
|
|
|
public static function init () |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (is_null(self::$instance)) |
|
|
|
if (is_null(self::$instance)) |
|
|
|
|
|
|
|
{ |
|
|
|
self::$instance = new AVE_Module; |
|
|
|
self::$instance = new AVE_Module; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return self::$instance; |
|
|
|
return self::$instance; |
|
|
|
} |
|
|
|
} |
|
|
@ -35,7 +37,7 @@ |
|
|
|
/** |
|
|
|
/** |
|
|
|
* Метод, который обрабатывает все module.php и записывает как свойство класса списки модулей |
|
|
|
* Метод, который обрабатывает все module.php и записывает как свойство класса списки модулей |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
function getModules () |
|
|
|
public function getModules () |
|
|
|
{ |
|
|
|
{ |
|
|
|
$modules = []; |
|
|
|
$modules = []; |
|
|
|
|
|
|
|
|
|
|
@ -49,10 +51,14 @@ |
|
|
|
while (false !== ($entry = $d->read())) |
|
|
|
while (false !== ($entry = $d->read())) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (substr($entry, 0, 1) == '.') |
|
|
|
if (substr($entry, 0, 1) == '.') |
|
|
|
|
|
|
|
{ |
|
|
|
continue; |
|
|
|
continue; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (! is_dir(BASE_DIR . '/modules/' . $entry)) |
|
|
|
if (! is_dir(BASE_DIR . '/modules/' . $entry)) |
|
|
|
|
|
|
|
{ |
|
|
|
continue; |
|
|
|
continue; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$AVE_Template = new AVE_Template(BASE_DIR . '/admin/templates'); |
|
|
|
$AVE_Template = new AVE_Template(BASE_DIR . '/admin/templates'); |
|
|
|
|
|
|
|
|
|
|
@ -61,18 +67,24 @@ |
|
|
|
// Языковой файл |
|
|
|
// Языковой файл |
|
|
|
$lang_file = BASE_DIR . '/modules/'.$entry.'/lang/' . $_SESSION['user_language'] . '.txt'; |
|
|
|
$lang_file = BASE_DIR . '/modules/'.$entry.'/lang/' . $_SESSION['user_language'] . '.txt'; |
|
|
|
|
|
|
|
|
|
|
|
// Отдаем смарти переменные |
|
|
|
// Отдаем SMARTY переменные |
|
|
|
if (file_exists($lang_file)) |
|
|
|
if (file_exists($lang_file)) |
|
|
|
|
|
|
|
{ |
|
|
|
$AVE_Template->config_load($lang_file, 'name'); |
|
|
|
$AVE_Template->config_load($lang_file, 'name'); |
|
|
|
|
|
|
|
} |
|
|
|
else |
|
|
|
else |
|
|
|
$_no_lang_file = true; |
|
|
|
{ |
|
|
|
|
|
|
|
$_no_lang_file = true; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$module_dir = $d->path . '/' . $entry; |
|
|
|
$module_dir = $d->path . '/' . $entry; |
|
|
|
|
|
|
|
|
|
|
|
if (! is_dir($module_dir)) |
|
|
|
if (! is_dir($module_dir)) |
|
|
|
|
|
|
|
{ |
|
|
|
continue; |
|
|
|
continue; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$module = array (); |
|
|
|
$module = []; |
|
|
|
|
|
|
|
|
|
|
|
// Если не удалось подключить основной файл модуля module.php - Фиксируем ошибку |
|
|
|
// Если не удалось подключить основной файл модуля module.php - Фиксируем ошибку |
|
|
|
if (! (is_file($module_dir . '/info.php') && @include_once($module_dir . '/info.php'))) |
|
|
|
if (! (is_file($module_dir . '/info.php') && @include_once($module_dir . '/info.php'))) |
|
|
@ -125,17 +137,15 @@ |
|
|
|
// Закрываем папку |
|
|
|
// Закрываем папку |
|
|
|
$d->Close(); |
|
|
|
$d->Close(); |
|
|
|
|
|
|
|
|
|
|
|
$modules = msort($modules,'ModuleName'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return $modules; |
|
|
|
return $modules; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* Метод, преданзначеный для выода модулей |
|
|
|
* Метод, предназначенный для вывода модулей |
|
|
|
* |
|
|
|
* |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
function moduleList () |
|
|
|
public function moduleList () |
|
|
|
{ |
|
|
|
{ |
|
|
|
global $AVE_DB, $AVE_Template; |
|
|
|
global $AVE_DB, $AVE_Template; |
|
|
|
|
|
|
|
|
|
|
@ -154,7 +164,9 @@ |
|
|
|
$query = $AVE_DB->Query($sql); |
|
|
|
$query = $AVE_DB->Query($sql); |
|
|
|
|
|
|
|
|
|
|
|
while ($row = $query->FetchRow()) |
|
|
|
while ($row = $query->FetchRow()) |
|
|
|
|
|
|
|
{ |
|
|
|
$assign['all_templates'][$row->Id] = htmlspecialchars($row->template_title, ENT_QUOTES); |
|
|
|
$assign['all_templates'][$row->Id] = htmlspecialchars($row->template_title, ENT_QUOTES); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Заголовок: Автор модуля |
|
|
|
// Заголовок: Автор модуля |
|
|
|
$author_title = $AVE_Template->get_config_vars('MODULES_AUTHOR'); |
|
|
|
$author_title = $AVE_Template->get_config_vars('MODULES_AUTHOR'); |
|
|
@ -169,10 +181,14 @@ |
|
|
|
: "<br /><br /><strong>$author_title</strong><br />" . $module['ModuleAutor'] . "<br />") . '<br /><em>' . $module['ModuleCopyright'] . '</em>'; |
|
|
|
: "<br /><br /><strong>$author_title</strong><br />" . $module['ModuleAutor'] . "<br />") . '<br /><em>' . $module['ModuleCopyright'] . '</em>'; |
|
|
|
// установленные модули |
|
|
|
// установленные модули |
|
|
|
if ($module['ModuleStatus'] !== false) |
|
|
|
if ($module['ModuleStatus'] !== false) |
|
|
|
|
|
|
|
{ |
|
|
|
$installed_modules[$module['ModuleSysName']] = $module; |
|
|
|
$installed_modules[$module['ModuleSysName']] = $module; |
|
|
|
|
|
|
|
} |
|
|
|
// неустановленные модули |
|
|
|
// неустановленные модули |
|
|
|
else |
|
|
|
else |
|
|
|
$not_installed_modules[$module['ModuleSysName']] = $module; |
|
|
|
{ |
|
|
|
|
|
|
|
$not_installed_modules[$module['ModuleSysName']] = $module; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
! empty($installed_modules) |
|
|
|
! empty($installed_modules) |
|
|
@ -183,8 +199,8 @@ |
|
|
|
? ksort($not_installed_modules) |
|
|
|
? ksort($not_installed_modules) |
|
|
|
: $not_installed_modules = ''; |
|
|
|
: $not_installed_modules = ''; |
|
|
|
|
|
|
|
|
|
|
|
$assign['installed_modules'] = $installed_modules; |
|
|
|
$assign['installed_modules'] = msort((array)$installed_modules,'ModuleName'); |
|
|
|
$assign['not_installed_modules'] = $not_installed_modules; |
|
|
|
$assign['not_installed_modules'] = msort((array)$not_installed_modules,'ModuleName'); |
|
|
|
|
|
|
|
|
|
|
|
// Массив с ошибками |
|
|
|
// Массив с ошибками |
|
|
|
if (! empty($modules['errors'])) |
|
|
|
if (! empty($modules['errors'])) |
|
|
@ -210,7 +226,7 @@ |
|
|
|
* если не указано возвращает модули без учета статуса |
|
|
|
* если не указано возвращает модули без учета статуса |
|
|
|
* @return array |
|
|
|
* @return array |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
function moduleListGet($status = null) |
|
|
|
public function moduleListGet($status = null) |
|
|
|
{ |
|
|
|
{ |
|
|
|
global $AVE_DB; |
|
|
|
global $AVE_DB; |
|
|
|
|
|
|
|
|
|
|
@ -221,7 +237,9 @@ |
|
|
|
foreach ($this->_modules AS $k => $v) |
|
|
|
foreach ($this->_modules AS $k => $v) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if ($status && $v['ModuleStatus'] != $status) |
|
|
|
if ($status && $v['ModuleStatus'] != $status) |
|
|
|
|
|
|
|
{ |
|
|
|
continue; |
|
|
|
continue; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$modules[$k] = $v; |
|
|
|
$modules[$k] = $v; |
|
|
|
} |
|
|
|
} |
|
|
@ -249,7 +267,9 @@ |
|
|
|
$query = $AVE_DB->Query($sql, -1, 'modules', true, '.modules'); |
|
|
|
$query = $AVE_DB->Query($sql, -1, 'modules', true, '.modules'); |
|
|
|
|
|
|
|
|
|
|
|
while ($row = $query->FetchRow()) |
|
|
|
while ($row = $query->FetchRow()) |
|
|
|
|
|
|
|
{ |
|
|
|
$modules[$row->ModuleSysName] = $row; |
|
|
|
$modules[$row->ModuleSysName] = $row; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Возвращаем список модулей |
|
|
|
// Возвращаем список модулей |
|
|
@ -261,7 +281,7 @@ |
|
|
|
* Метод, предназначенный для обновления в БД информации о шаблонах модулей |
|
|
|
* Метод, предназначенный для обновления в БД информации о шаблонах модулей |
|
|
|
* |
|
|
|
* |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
function moduleOptionsSave () |
|
|
|
public function moduleOptionsSave () |
|
|
|
{ |
|
|
|
{ |
|
|
|
global $AVE_DB; |
|
|
|
global $AVE_DB; |
|
|
|
|
|
|
|
|
|
|
@ -281,36 +301,39 @@ |
|
|
|
|
|
|
|
|
|
|
|
$this->clearModulesCache (); |
|
|
|
$this->clearModulesCache (); |
|
|
|
|
|
|
|
|
|
|
|
// Выполянем обновление страницы со списком модулей |
|
|
|
// Выполняем обновление страницы со списком модулей |
|
|
|
header('Location:index.php?do=modules&cp=' . SESSION); |
|
|
|
header('Location:index.php?do=modules&cp=' . SESSION); |
|
|
|
exit; |
|
|
|
exit; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* Метод, предназанченный для установки или переустановки модуля |
|
|
|
* Метод, предназначенный для установки или переустановки модуля |
|
|
|
* |
|
|
|
* |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
function moduleInstall () |
|
|
|
public function moduleInstall () |
|
|
|
{ |
|
|
|
{ |
|
|
|
global $AVE_DB, $AVE_Template; |
|
|
|
global $AVE_DB, $AVE_Template; |
|
|
|
|
|
|
|
|
|
|
|
// Получаем данные модуля |
|
|
|
// Получаем данные модуля |
|
|
|
$modules = $this->_modules; |
|
|
|
$modules = $this->_modules; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Выбираем нужный нам модуль |
|
|
|
$module = $modules[MODULE_PATH]; |
|
|
|
$module = $modules[MODULE_PATH]; |
|
|
|
|
|
|
|
|
|
|
|
// Удаляем информацию о модуле в таблице module |
|
|
|
// Удаляем информацию о модуле в таблице module |
|
|
|
$AVE_DB->Query(" |
|
|
|
$sql = " |
|
|
|
DELETE |
|
|
|
DELETE |
|
|
|
FROM |
|
|
|
FROM |
|
|
|
" . PREFIX . "_module |
|
|
|
" . PREFIX . "_module |
|
|
|
WHERE |
|
|
|
WHERE |
|
|
|
ModuleSysName = '" . MODULE_PATH . "' |
|
|
|
ModuleSysName = '" . MODULE_PATH . "' |
|
|
|
"); |
|
|
|
"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$AVE_DB->Query($sql); |
|
|
|
|
|
|
|
|
|
|
|
// Определяем, имеет ли модуль возможность настройки в Панели управления |
|
|
|
// Определяем, имеет ли модуль возможность настройки в Панели управления |
|
|
|
$module['ModuleAdminEdit'] = (!empty($module['ModuleAdminEdit'])) |
|
|
|
$module['ModuleAdminEdit'] = (! empty($module['ModuleAdminEdit'])) |
|
|
|
? $module['ModuleAdminEdit'] |
|
|
|
? $module['ModuleAdminEdit'] |
|
|
|
: 0; |
|
|
|
: 0; |
|
|
|
|
|
|
|
|
|
|
@ -320,7 +343,7 @@ |
|
|
|
: 0; |
|
|
|
: 0; |
|
|
|
|
|
|
|
|
|
|
|
// Добавляем информацию о модуле в таблицу module |
|
|
|
// Добавляем информацию о модуле в таблицу module |
|
|
|
$AVE_DB->Query(" |
|
|
|
$sql = " |
|
|
|
INSERT INTO |
|
|
|
INSERT INTO |
|
|
|
" . PREFIX . "_module |
|
|
|
" . PREFIX . "_module |
|
|
|
SET |
|
|
|
SET |
|
|
@ -334,31 +357,33 @@ |
|
|
|
ModuleVersion = '" . $module['ModuleVersion'] . "', |
|
|
|
ModuleVersion = '" . $module['ModuleVersion'] . "', |
|
|
|
ModuleTemplate = '" . $module['ModuleTemplate'] . "', |
|
|
|
ModuleTemplate = '" . $module['ModuleTemplate'] . "', |
|
|
|
ModuleAdminEdit = '" . $module['ModuleAdminEdit'] . "' |
|
|
|
ModuleAdminEdit = '" . $module['ModuleAdminEdit'] . "' |
|
|
|
"); |
|
|
|
"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$AVE_DB->Query($sql); |
|
|
|
|
|
|
|
|
|
|
|
// Подключаем файл с запросами к БД для данного модуля |
|
|
|
// Подключаем файл с запросами к БД для данного модуля |
|
|
|
$module_sql_deinstall = array(); |
|
|
|
$module_sql_deinstall = []; |
|
|
|
$module_sql_install = array(); |
|
|
|
$module_sql_install = []; |
|
|
|
$sql_file = BASE_DIR . '/modules/' . MODULE_PATH . '/sql.php'; |
|
|
|
$sql_file = BASE_DIR . '/modules/' . MODULE_PATH . '/sql.php'; |
|
|
|
|
|
|
|
|
|
|
|
if (is_file($sql_file) && @include($sql_file)) |
|
|
|
if (is_file($sql_file) && @include($sql_file)) |
|
|
|
{ |
|
|
|
{ |
|
|
|
// Выполняем запросы удаления таблиц модуля |
|
|
|
// Выполняем запросы удаления таблиц модуля |
|
|
|
// из массива $module_sql_deinstall файла sql.php |
|
|
|
// из массива $module_sql_deinstall файла sql.php |
|
|
|
foreach ($module_sql_deinstall as $sql) |
|
|
|
foreach ($module_sql_deinstall AS $sql) |
|
|
|
{ |
|
|
|
{ |
|
|
|
$AVE_DB->Query(str_replace('%%PRFX%%', PREFIX, $sql)); |
|
|
|
$AVE_DB->Query(str_replace('%%PRFX%%', PREFIX, $sql)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Выполняем запросы создания таблиц и данных модуля |
|
|
|
// Выполняем запросы создания таблиц и данных модуля |
|
|
|
// из массива $module_sql_install файла sql.php |
|
|
|
// из массива $module_sql_install файла sql.php |
|
|
|
foreach ($module_sql_install as $sql) |
|
|
|
foreach ($module_sql_install AS $sql) |
|
|
|
{ |
|
|
|
{ |
|
|
|
$AVE_DB->Query(str_replace('%%PRFX%%', PREFIX, $sql)); |
|
|
|
$AVE_DB->Query(str_replace('%%PRFX%%', PREFIX, $sql)); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
// Сохраняем системное сообщение в журнал |
|
|
|
// Сохраняем системное сообщение в журнал |
|
|
|
($_REQUEST['action'] == "reinstall") |
|
|
|
($_REQUEST['action'] == 'reinstall') |
|
|
|
? reportLog($AVE_Template->get_config_vars('MODULES_ACTION_REINSTALL') . ' (' . $module['ModuleName'] . ')') |
|
|
|
? reportLog($AVE_Template->get_config_vars('MODULES_ACTION_REINSTALL') . ' (' . $module['ModuleName'] . ')') |
|
|
|
: reportLog($AVE_Template->get_config_vars('MODULES_ACTION_INSTALL') . ' (' . $module['ModuleName'] . ')'); |
|
|
|
: reportLog($AVE_Template->get_config_vars('MODULES_ACTION_INSTALL') . ' (' . $module['ModuleName'] . ')'); |
|
|
|
|
|
|
|
|
|
|
@ -374,7 +399,7 @@ |
|
|
|
* Метод, предназначенный для обновления модуля при увеличении номера версии модуля |
|
|
|
* Метод, предназначенный для обновления модуля при увеличении номера версии модуля |
|
|
|
* |
|
|
|
* |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
function moduleUpdate () |
|
|
|
public function moduleUpdate () |
|
|
|
{ |
|
|
|
{ |
|
|
|
global $AVE_DB, $AVE_Template; |
|
|
|
global $AVE_DB, $AVE_Template; |
|
|
|
|
|
|
|
|
|
|
@ -394,8 +419,10 @@ |
|
|
|
|
|
|
|
|
|
|
|
// Выполняем запросы обновления модуля |
|
|
|
// Выполняем запросы обновления модуля |
|
|
|
// из массива $module_sql_update файла sql.php |
|
|
|
// из массива $module_sql_update файла sql.php |
|
|
|
foreach ($module_sql_update as $sql) |
|
|
|
foreach ($module_sql_update AS $sql) |
|
|
|
|
|
|
|
{ |
|
|
|
$AVE_DB->Query(str_replace('%%PRFX%%', PREFIX, $sql)); |
|
|
|
$AVE_DB->Query(str_replace('%%PRFX%%', PREFIX, $sql)); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
// Обновляем модуль, если в нем не применяется (отсутствует) файл sql.php |
|
|
|
// Обновляем модуль, если в нем не применяется (отсутствует) файл sql.php |
|
|
|
elseif (file_exists($mod_file) && file_exists($sql_file) === false) |
|
|
|
elseif (file_exists($mod_file) && file_exists($sql_file) === false) |
|
|
@ -430,22 +457,22 @@ |
|
|
|
|
|
|
|
|
|
|
|
$this->clearModulesCache(); |
|
|
|
$this->clearModulesCache(); |
|
|
|
|
|
|
|
|
|
|
|
// Выполянем обновление страницы со списком модулей |
|
|
|
// Выполняем обновление страницы со списком модулей |
|
|
|
header('Location:index.php?do=modules&cp=' . SESSION); |
|
|
|
header('Location:index.php?do=modules&cp=' . SESSION); |
|
|
|
exit; |
|
|
|
exit; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* Метод, предназанченный для удаление модуля |
|
|
|
* Метод, предназначенный для удаление модуля |
|
|
|
* |
|
|
|
* |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
function moduleDelete () |
|
|
|
public function moduleDelete () |
|
|
|
{ |
|
|
|
{ |
|
|
|
global $AVE_DB, $AVE_Template; |
|
|
|
global $AVE_DB, $AVE_Template; |
|
|
|
|
|
|
|
|
|
|
|
// Подключаем файл с запросами к БД для данного модуля |
|
|
|
// Подключаем файл с запросами к БД для данного модуля |
|
|
|
$module_sql_deinstall = array(); |
|
|
|
$module_sql_deinstall = []; |
|
|
|
|
|
|
|
|
|
|
|
$sql_file = BASE_DIR . '/modules/' . MODULE_PATH . '/sql.php'; |
|
|
|
$sql_file = BASE_DIR . '/modules/' . MODULE_PATH . '/sql.php'; |
|
|
|
|
|
|
|
|
|
|
@ -460,20 +487,22 @@ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Удаляем информацию о модуле в таблице module |
|
|
|
// Удаляем информацию о модуле в таблице module |
|
|
|
$AVE_DB->Query(" |
|
|
|
$sql = " |
|
|
|
DELETE |
|
|
|
DELETE |
|
|
|
FROM |
|
|
|
FROM |
|
|
|
" . PREFIX . "_module |
|
|
|
" . PREFIX . "_module |
|
|
|
WHERE |
|
|
|
WHERE |
|
|
|
ModuleSysName = '" . MODULE_PATH . "' |
|
|
|
ModuleSysName = '" . MODULE_PATH . "' |
|
|
|
"); |
|
|
|
"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$AVE_DB->Query($sql); |
|
|
|
|
|
|
|
|
|
|
|
$this->clearModulesCache(); |
|
|
|
$this->clearModulesCache(); |
|
|
|
|
|
|
|
|
|
|
|
// Сохраняем системное сообщение в журнал |
|
|
|
// Сохраняем системное сообщение в журнал |
|
|
|
reportLog ($AVE_Template->get_config_vars('MODULES_ACTION_DELETE') .' (' . MODULE_PATH . ')'); |
|
|
|
reportLog ($AVE_Template->get_config_vars('MODULES_ACTION_DELETE') .' (' . MODULE_PATH . ')'); |
|
|
|
|
|
|
|
|
|
|
|
// Выполянем обновление страницы со списком модулей |
|
|
|
// Выполняем обновление страницы со списком модулей |
|
|
|
header('Location:index.php?do=modules&cp=' . SESSION); |
|
|
|
header('Location:index.php?do=modules&cp=' . SESSION); |
|
|
|
exit; |
|
|
|
exit; |
|
|
|
} |
|
|
|
} |
|
|
@ -483,11 +512,11 @@ |
|
|
|
* Метод, предназначенный для отключения/включение модуля в Панели управления |
|
|
|
* Метод, предназначенный для отключения/включение модуля в Панели управления |
|
|
|
* |
|
|
|
* |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
function moduleStatusChange () |
|
|
|
public function moduleStatusChange () |
|
|
|
{ |
|
|
|
{ |
|
|
|
global $AVE_DB, $AVE_Template; |
|
|
|
global $AVE_DB, $AVE_Template; |
|
|
|
|
|
|
|
|
|
|
|
$status = $AVE_DB->Query(" |
|
|
|
$sql = " |
|
|
|
SELECT |
|
|
|
SELECT |
|
|
|
ModuleName, |
|
|
|
ModuleName, |
|
|
|
ModuleStatus |
|
|
|
ModuleStatus |
|
|
@ -495,26 +524,30 @@ |
|
|
|
" . PREFIX . "_module |
|
|
|
" . PREFIX . "_module |
|
|
|
WHERE |
|
|
|
WHERE |
|
|
|
ModuleSysName = '" . MODULE_PATH . "' |
|
|
|
ModuleSysName = '" . MODULE_PATH . "' |
|
|
|
")->FetchRow(); |
|
|
|
"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$status = $AVE_DB->Query($sql)->FetchRow(); |
|
|
|
|
|
|
|
|
|
|
|
$ModuleStatus = ($status->ModuleStatus == "0" || $status->ModuleStatus == NULL) |
|
|
|
$ModuleStatus = ($status->ModuleStatus == '0' || $status->ModuleStatus == NULL) |
|
|
|
? "1" |
|
|
|
? '1' |
|
|
|
: "0"; |
|
|
|
: '0'; |
|
|
|
|
|
|
|
|
|
|
|
// Выполняем запрос к БД на смену статуса модуля |
|
|
|
// Выполняем запрос к БД на смену статуса модуля |
|
|
|
$AVE_DB->Query(" |
|
|
|
$sql = " |
|
|
|
UPDATE |
|
|
|
UPDATE |
|
|
|
" . PREFIX . "_module |
|
|
|
" . PREFIX . "_module |
|
|
|
SET |
|
|
|
SET |
|
|
|
ModuleStatus = '".$ModuleStatus."' |
|
|
|
ModuleStatus = '" . $ModuleStatus . "' |
|
|
|
WHERE |
|
|
|
WHERE |
|
|
|
ModuleSysName = '" . MODULE_PATH . "' |
|
|
|
ModuleSysName = '" . MODULE_PATH . "' |
|
|
|
"); |
|
|
|
"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$AVE_DB->Query($sql); |
|
|
|
|
|
|
|
|
|
|
|
$this->clearModulesCache (); |
|
|
|
$this->clearModulesCache (); |
|
|
|
|
|
|
|
|
|
|
|
// Сохраняем системное сообщение в журнал |
|
|
|
// Сохраняем системное сообщение в журнал |
|
|
|
reportLog ((($ModuleStatus == "0") |
|
|
|
reportLog ((($ModuleStatus == '0') |
|
|
|
? $AVE_Template->get_config_vars('MODULES_ACTION_OFFLINE') |
|
|
|
? $AVE_Template->get_config_vars('MODULES_ACTION_OFFLINE') |
|
|
|
: $AVE_Template->get_config_vars('MODULES_ACTION_ONLINE')) . ' (' . $status->ModuleName . ')'); |
|
|
|
: $AVE_Template->get_config_vars('MODULES_ACTION_ONLINE')) . ' (' . $status->ModuleName . ')'); |
|
|
|
|
|
|
|
|
|
|
@ -524,9 +557,9 @@ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function moduleRemove ($dir) |
|
|
|
public function moduleRemove ($dir) |
|
|
|
{ |
|
|
|
{ |
|
|
|
global $AVE_DB, $AVE_Template; |
|
|
|
global $AVE_Template; |
|
|
|
|
|
|
|
|
|
|
|
$directory = BASE_DIR . '/modules/' . $dir; |
|
|
|
$directory = BASE_DIR . '/modules/' . $dir; |
|
|
|
|
|
|
|
|
|
|
@ -534,10 +567,14 @@ |
|
|
|
|
|
|
|
|
|
|
|
foreach ($files as $file) |
|
|
|
foreach ($files as $file) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if(substr($file, -1) == '/') |
|
|
|
if (substr($file, -1) == '/') |
|
|
|
|
|
|
|
{ |
|
|
|
$this->moduleRemove($file); |
|
|
|
$this->moduleRemove($file); |
|
|
|
|
|
|
|
} |
|
|
|
else |
|
|
|
else |
|
|
|
unlink($file); |
|
|
|
{ |
|
|
|
|
|
|
|
unlink($file); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
rrmdir ($directory); |
|
|
|
rrmdir ($directory); |
|
|
@ -547,7 +584,7 @@ |
|
|
|
// Сохраняем системное сообщение в журнал |
|
|
|
// Сохраняем системное сообщение в журнал |
|
|
|
reportLog ($AVE_Template->get_config_vars('MODULES_ACTION_REMOVE') . ' (' . $dir . ')'); |
|
|
|
reportLog ($AVE_Template->get_config_vars('MODULES_ACTION_REMOVE') . ' (' . $dir . ')'); |
|
|
|
|
|
|
|
|
|
|
|
// Выполянем обновление страницы со списком модулей |
|
|
|
// Выполняем обновление страницы со списком модулей |
|
|
|
header('Location:index.php?do=modules&cp=' . SESSION); |
|
|
|
header('Location:index.php?do=modules&cp=' . SESSION); |
|
|
|
exit; |
|
|
|
exit; |
|
|
|
} |
|
|
|
} |
|
|
@ -557,7 +594,7 @@ |
|
|
|
* Функция очищает кеш системных настроек |
|
|
|
* Функция очищает кеш системных настроек |
|
|
|
* |
|
|
|
* |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
function clearModulesCache() |
|
|
|
public function clearModulesCache() |
|
|
|
{ |
|
|
|
{ |
|
|
|
$cache_dir = BASE_DIR . '/tmp/cache/sql/modules/'; |
|
|
|
$cache_dir = BASE_DIR . '/tmp/cache/sql/modules/'; |
|
|
|
|
|
|
|
|
|
|
|