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