Completed
Push — master ( 22f988...f05393 )
by Michael
01:55
created
class/Utility.php 1 patch
Indentation   +70 added lines, -70 removed lines patch added patch discarded remove patch
@@ -14,82 +14,82 @@
 block discarded – undo
14 14
  */
15 15
 class Utility
16 16
 {
17
-    use common\VersionChecks; //checkVerXoops, checkVerPhp Traits
17
+	use common\VersionChecks; //checkVerXoops, checkVerPhp Traits
18 18
 
19
-    use common\ServerStats; // getServerStats Trait
19
+	use common\ServerStats; // getServerStats Trait
20 20
 
21
-    use common\FilesManagement; // Files Management Trait
21
+	use common\FilesManagement; // Files Management Trait
22 22
 
23
-    // Права
24
-    /**
25
-     * @param string $permtype
26
-     * @return mixed
27
-     */
28
-    public static function getItemIds($permtype = 'instruction_view')
29
-    {
30
-        //global $xoopsUser;
31
-        static $permissions = [];
32
-        // Если есть в статике
33
-        if (is_array($permissions) && array_key_exists($permtype, $permissions)) {
34
-            return $permissions[$permtype];
35
-        }
36
-        // Находим из базы
37
-        $moduleHandler          = xoops_getHandler('module');
38
-        $instrModule            = $moduleHandler->getByDirname('instruction');
39
-        $groups                 = ($GLOBALS['xoopsUser'] instanceof \XoopsUser) ? $GLOBALS['xoopsUser']->getGroups() : XOOPS_GROUP_ANONYMOUS;
40
-        $gpermHandler           = xoops_getHandler('groupperm');
41
-        $categories             = $gpermHandler->getItemIds($permtype, $groups, $instrModule->getVar('mid'));
42
-        $permissions[$permtype] = $categories;
43
-        return $categories;
44
-    }
23
+	// Права
24
+	/**
25
+	 * @param string $permtype
26
+	 * @return mixed
27
+	 */
28
+	public static function getItemIds($permtype = 'instruction_view')
29
+	{
30
+		//global $xoopsUser;
31
+		static $permissions = [];
32
+		// Если есть в статике
33
+		if (is_array($permissions) && array_key_exists($permtype, $permissions)) {
34
+			return $permissions[$permtype];
35
+		}
36
+		// Находим из базы
37
+		$moduleHandler          = xoops_getHandler('module');
38
+		$instrModule            = $moduleHandler->getByDirname('instruction');
39
+		$groups                 = ($GLOBALS['xoopsUser'] instanceof \XoopsUser) ? $GLOBALS['xoopsUser']->getGroups() : XOOPS_GROUP_ANONYMOUS;
40
+		$gpermHandler           = xoops_getHandler('groupperm');
41
+		$categories             = $gpermHandler->getItemIds($permtype, $groups, $instrModule->getVar('mid'));
42
+		$permissions[$permtype] = $categories;
43
+		return $categories;
44
+	}
45 45
 
46
-    // Редактор
46
+	// Редактор
47 47
 
48
-    /**
49
-     * @param        $caption
50
-     * @param        $name
51
-     * @param string $value
52
-     * @return bool|\XoopsFormEditor
53
-     */
54
-    public static function getWysiwygForm($caption, $name, $value = '')
55
-    {
56
-        $editor                   = false;
57
-        $editor_configs           = [];
58
-        $editor_configs['name']   = $name;
59
-        $editor_configs['value']  = $value;
60
-        $editor_configs['rows']   = 35;
61
-        $editor_configs['cols']   = 60;
62
-        $editor_configs['width']  = '100%';
63
-        $editor_configs['height'] = '350px';
64
-        $editor_configs['editor'] = strtolower(xoops_getModuleOption('form_options', 'instruction'));
48
+	/**
49
+	 * @param        $caption
50
+	 * @param        $name
51
+	 * @param string $value
52
+	 * @return bool|\XoopsFormEditor
53
+	 */
54
+	public static function getWysiwygForm($caption, $name, $value = '')
55
+	{
56
+		$editor                   = false;
57
+		$editor_configs           = [];
58
+		$editor_configs['name']   = $name;
59
+		$editor_configs['value']  = $value;
60
+		$editor_configs['rows']   = 35;
61
+		$editor_configs['cols']   = 60;
62
+		$editor_configs['width']  = '100%';
63
+		$editor_configs['height'] = '350px';
64
+		$editor_configs['editor'] = strtolower(xoops_getModuleOption('form_options', 'instruction'));
65 65
 
66
-        $editor = new \XoopsFormEditor($caption, $name, $editor_configs);
67
-        return $editor;
68
-    }
66
+		$editor = new \XoopsFormEditor($caption, $name, $editor_configs);
67
+		return $editor;
68
+	}
69 69
 
70
-    // Получение значения переменной, переданной через GET или POST запрос
70
+	// Получение значения переменной, переданной через GET или POST запрос
71 71
 
72
-    /**
73
-     * @param        $global
74
-     * @param        $key
75
-     * @param string $default
76
-     * @param string $type
77
-     * @return int|string
78
-     */
79
-    public static function cleanVars(&$global, $key, $default = '', $type = 'int')
80
-    {
81
-        switch ($type) {
82
-            case 'string':
83
-                $ret = isset($global[$key]) ? $global[$key] : $default;
84
-                break;
85
-            case 'int':
86
-            default:
87
-                $ret = isset($global[$key]) ? (int)$global[$key] : (int)$default;
88
-                break;
89
-        }
90
-        if (false === $ret) {
91
-            return $default;
92
-        }
93
-        return $ret;
94
-    }
72
+	/**
73
+	 * @param        $global
74
+	 * @param        $key
75
+	 * @param string $default
76
+	 * @param string $type
77
+	 * @return int|string
78
+	 */
79
+	public static function cleanVars(&$global, $key, $default = '', $type = 'int')
80
+	{
81
+		switch ($type) {
82
+			case 'string':
83
+				$ret = isset($global[$key]) ? $global[$key] : $default;
84
+				break;
85
+			case 'int':
86
+			default:
87
+				$ret = isset($global[$key]) ? (int)$global[$key] : (int)$default;
88
+				break;
89
+		}
90
+		if (false === $ret) {
91
+			return $default;
92
+		}
93
+		return $ret;
94
+	}
95 95
 }
Please login to merge, or discard this patch.
admin/admin_header.php 2 patches
Indentation   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -12,19 +12,19 @@
 block discarded – undo
12 12
 
13 13
 //if (($GLOBALS['xoopsUser'] instanceof \XoopsUser)) {
14 14
 if ($GLOBALS['xoopsUser'] instanceof \XoopsUser) {
15
-    if (!$helper->isUserAdmin()) {
16
-        $helper->redirect(XOOPS_URL . '/', 3, _NOPERM);
17
-    }
15
+	if (!$helper->isUserAdmin()) {
16
+		$helper->redirect(XOOPS_URL . '/', 3, _NOPERM);
17
+	}
18 18
 } else {
19
-    $helper->redirect(XOOPS_URL . '/user.php', 1, _NOPERM);
19
+	$helper->redirect(XOOPS_URL . '/user.php', 1, _NOPERM);
20 20
 }
21 21
 
22 22
 /** @var Xmf\Module\Admin $adminObject */
23 23
 $adminObject = \Xmf\Module\Admin::getInstance();
24 24
 
25 25
 if (!isset($GLOBALS['xoopsTpl']) || !($GLOBALS['xoopsTpl'] instanceof \XoopsTpl)) {
26
-    require_once $GLOBALS['xoops']->path('class/template.php');
27
-    $xoopsTpl = new \XoopsTpl();
26
+	require_once $GLOBALS['xoops']->path('class/template.php');
27
+	$xoopsTpl = new \XoopsTpl();
28 28
 }
29 29
 
30 30
 $pathIcon16    = Xmf\Module\Admin::iconUrl('', 16);
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -12,7 +12,7 @@  discard block
 block discarded – undo
12 12
 
13 13
 //if (($GLOBALS['xoopsUser'] instanceof \XoopsUser)) {
14 14
 if ($GLOBALS['xoopsUser'] instanceof \XoopsUser) {
15
-    if (!$helper->isUserAdmin()) {
15
+    if ( ! $helper->isUserAdmin()) {
16 16
         $helper->redirect(XOOPS_URL . '/', 3, _NOPERM);
17 17
     }
18 18
 } else {
@@ -22,7 +22,7 @@  discard block
 block discarded – undo
22 22
 /** @var Xmf\Module\Admin $adminObject */
23 23
 $adminObject = \Xmf\Module\Admin::getInstance();
24 24
 
25
-if (!isset($GLOBALS['xoopsTpl']) || !($GLOBALS['xoopsTpl'] instanceof \XoopsTpl)) {
25
+if ( ! isset($GLOBALS['xoopsTpl']) || ! ($GLOBALS['xoopsTpl'] instanceof \XoopsTpl)) {
26 26
     require_once $GLOBALS['xoops']->path('class/template.php');
27 27
     $xoopsTpl = new \XoopsTpl();
28 28
 }
Please login to merge, or discard this patch.
admin/ajax.php 2 patches
Indentation   +174 added lines, -174 removed lines patch added patch discarded remove patch
@@ -23,178 +23,178 @@
 block discarded – undo
23 23
 
24 24
 // Выбор
25 25
 switch ($op) {
26
-    // Сохранение страницы
27
-    case 'savepage':
28
-        // Выходной массив
29
-        $ret = [];
30
-
31
-        // Ошибки
32
-        $err         = false;
33
-        $message_err = '';
34
-
35
-        //
36
-        $title       = Request::getString( 'title', '', 'POST');
37
-        $pid         = Request::getInt( 'pid', 0, 'POST');
38
-        $weight      = Request::getInt( 'weight', 0, 'POST');
39
-        $hometext    = Request::getString( 'hometext', '', 'POST');
40
-        $footnote    = Request::getString( 'footnote', '', 'POST');
41
-        $status      = Request::getInt( 'status', 0, 'POST');
42
-        $type        = Request::getInt( 'type', 0, 'POST');
43
-        $keywords    = Request::getString( 'keywords', '', 'POST');
44
-        $description = Request::getString( 'description', '', 'POST');
45
-        $dosmiley    = (Request::getInt( 'dosmiley', 0, 'POST') > 0) ? 1 : 0;
46
-        $doxcode     = (Request::getInt( 'doxcode', 0, 'POST') > 0) ? 1 : 0;
47
-        $dobr        = (Request::getInt( 'dobr', 0, 'POST') > 0) ? 1 : 0;
48
-        $dohtml      = (Request::getInt( 'dohtml', 0, 'POST') > 0) ? 1 : 0;
49
-        //$dohtml      = Request::getInt( 'dohtml', 0, 'POST' );
50
-        //$dosmiley    = Request::getInt( 'dosmiley', 0, 'POST' );
51
-        //$doxcode     = Request::getInt( 'doxcode', 0, 'POST' );
52
-        //$dobr        = Request::getInt( 'dobr', 0, 'POST' );
53
-        $pageid  = Request::getInt( 'pageid', 0, 'POST');
54
-        $instrid = Request::getInt( 'instrid', 0, 'POST');
55
-
56
-        // Проверка
57
-        if (!$GLOBALS['xoopsSecurity']->check()) {
58
-            $err         = true;
59
-            $err_txt     = implode(', ', $GLOBALS['xoopsSecurity']->getErrors());
60
-            $message_err .= $err_txt . '<br>' . _AM_INSTR_TRY_AGAIN . '<br>';
61
-        }
62
-        // =========================
63
-        // Устанавливаем новый token
64
-        $token_name    = 'XOOPS_TOKEN';
65
-        $token_timeout = 0;
66
-        // $token_name . '_REQUEST' - название элемента формы
67
-        $ret['toket'] = $GLOBALS['xoopsSecurity']->createToken($token_timeout, $token_name);
68
-        // =========================
69
-
70
-        // Если мы редактируем
71
-        if ($pageid) {
72
-            $objInspage = $pageHandler->get($pageid);
73
-        } elseif ($instrid) {
74
-            $objInspage = $pageHandler->create();
75
-            // Если мы создаём страницу необходимо указать к какой инструкции
76
-            $objInspage->setVar('instrid', $instrid);
77
-            // Указываем дату создания
78
-            $objInspage->setVar('datecreated', $time);
79
-            // Указываем пользователя
80
-            $objInspage->setVar('uid', $uid);
81
-        } else {
82
-            // Устанавливаем сообщение
83
-            $ret['message'] = _AM_INSTRUCTION_BADREQUEST;
84
-            // Возвращаем ответ скрипту через JSON
85
-            echo json_encode($ret);
86
-            // Прерываем выполнение
87
-            exit();
88
-        }
89
-
90
-        // Родительская страница
91
-        $objInspage->setVar('pid', $pid);
92
-        // Дата обновления
93
-        $objInspage->setVar('dateupdated', $time);
94
-        // Название
95
-        $objInspage->setVar('title', $title);
96
-        // Вес
97
-        $objInspage->setVar('weight', $weight);
98
-        // Текст
99
-        $objInspage->setVar('hometext', $hometext);
100
-        // Сноска
101
-        $objInspage->setVar('footnote', $footnote);
102
-        // Статус
103
-        $objInspage->setVar('status', $status);
104
-        // Тип
105
-        $objInspage->setVar('type', $type);
106
-        // Мета-теги ключевых слов
107
-        $objInspage->setVar('keywords', $keywords);
108
-        // Мета-теги описания
109
-        $objInspage->setVar('description', $description);
110
-        //
111
-        $objInspage->setVar('dohtml', $dohtml);
112
-        $objInspage->setVar('dosmiley', $dosmiley);
113
-        $objInspage->setVar('doxcode', $doxcode);
114
-        $objInspage->setVar('dobr', $dobr);
115
-
116
-        // Проверка категорий
117
-        if (!$pageid && !$instrid) {
118
-            $err         = true;
119
-            $message_err .= _AM_INSTRUCTION_ERR_INSTR . '<br>';
120
-        }
121
-        // Проверка веса
122
-        if (0 == $weight) {
123
-            $err         = true;
124
-            $message_err .= _AM_INSTRUCTION_ERR_WEIGHT . '<br>';
125
-        }
126
-        // Проверка родительской страницы
127
-        if ($pageid && ($pageid == $pid)) {
128
-            $err         = true;
129
-            $message_err .= _AM_INSTRUCTION_ERR_PPAGE . '<br>';
130
-        }
131
-        // Проверка названия
132
-        if (!$title) {
133
-            $err         = true;
134
-            $message_err .= _AM_INSTR_ERR_TITLE . '<br>';
135
-        }
136
-        // Проверка основного текста
137
-        if (!$hometext) {
138
-            $err         = true;
139
-            $message_err .= _AM_INSTR_ERR_HOMETEXT . '<br>';
140
-        }
141
-
142
-        // Если были ошибки
143
-        if (true === $err) {
144
-            //
145
-            $message_err = '<div class="errorMsg" style="text-align: left;">' . $message_err . '</div>';
146
-            // Устанавливаем сообщение
147
-            $ret['message'] = $message_err;
148
-            // Возвращаем ответ скрипту через JSON
149
-            echo json_encode($ret);
150
-            // Прерываем выполнение
151
-            exit();
152
-            // Если небыло ошибок
153
-        } else {
154
-            // Вставляем данные в БД
155
-            if ($pageHandler->insert($objInspage)) {
156
-                // Находим ID созданной записи
157
-                $pageid_new = $pageid ?: $objInspage->getNewInstertId();
158
-                //
159
-                $ret['pageid'] = $pageid_new;
160
-                // Получаем ID инструкции
161
-                $instrid = $objInspage->getInstrid();
162
-                // Обновляем в инструкции число страниц и дату
163
-                $instructionHandler->updatePages($instrid);
164
-                // Если мы редактируем
165
-                if ($pageid) {
166
-                    // Устанавливаем сообщение
167
-                    $ret['message'] = '<div class="successMsg" style="text-align: left;">' . _AM_INSTRUCTION_PAGEMODIFY . '</div>';
168
-                    // Возвращаем ответ скрипту через JSON
169
-                    echo json_encode($ret);
170
-                    // Прерываем выполнение
171
-                    exit();
172
-
173
-                    // Если мы добавляем
174
-                } else {
175
-                    // Инкримент комментов
176
-                    $pageHandler->updateposts($uid, $status, 'add');
177
-
178
-                    // Устанавливаем сообщение
179
-                    $ret['message'] = '<div class="successMsg" style="text-align: left;">' . _AM_INSTRUCTION_PAGEADDED . '</div>';
180
-                    // Возвращаем ответ скрипту через JSON
181
-                    echo json_encode($ret);
182
-                    // Прерываем выполнение
183
-                    exit();
184
-                }
185
-                // Если не получилось вставить данные
186
-            } else {
187
-
188
-                //
189
-                $message_err = '<div class="errorMsg" style="text-align: left;">' . $objInspage->getHtmlErrors() . '</div>';
190
-                // Устанавливаем сообщение
191
-                $ret['message'] = $message_err;
192
-                // Возвращаем ответ скрипту через JSON
193
-                echo json_encode($ret);
194
-                // Прерываем выполнение
195
-                exit();
196
-            }
197
-        }
198
-
199
-        break;
26
+	// Сохранение страницы
27
+	case 'savepage':
28
+		// Выходной массив
29
+		$ret = [];
30
+
31
+		// Ошибки
32
+		$err         = false;
33
+		$message_err = '';
34
+
35
+		//
36
+		$title       = Request::getString( 'title', '', 'POST');
37
+		$pid         = Request::getInt( 'pid', 0, 'POST');
38
+		$weight      = Request::getInt( 'weight', 0, 'POST');
39
+		$hometext    = Request::getString( 'hometext', '', 'POST');
40
+		$footnote    = Request::getString( 'footnote', '', 'POST');
41
+		$status      = Request::getInt( 'status', 0, 'POST');
42
+		$type        = Request::getInt( 'type', 0, 'POST');
43
+		$keywords    = Request::getString( 'keywords', '', 'POST');
44
+		$description = Request::getString( 'description', '', 'POST');
45
+		$dosmiley    = (Request::getInt( 'dosmiley', 0, 'POST') > 0) ? 1 : 0;
46
+		$doxcode     = (Request::getInt( 'doxcode', 0, 'POST') > 0) ? 1 : 0;
47
+		$dobr        = (Request::getInt( 'dobr', 0, 'POST') > 0) ? 1 : 0;
48
+		$dohtml      = (Request::getInt( 'dohtml', 0, 'POST') > 0) ? 1 : 0;
49
+		//$dohtml      = Request::getInt( 'dohtml', 0, 'POST' );
50
+		//$dosmiley    = Request::getInt( 'dosmiley', 0, 'POST' );
51
+		//$doxcode     = Request::getInt( 'doxcode', 0, 'POST' );
52
+		//$dobr        = Request::getInt( 'dobr', 0, 'POST' );
53
+		$pageid  = Request::getInt( 'pageid', 0, 'POST');
54
+		$instrid = Request::getInt( 'instrid', 0, 'POST');
55
+
56
+		// Проверка
57
+		if (!$GLOBALS['xoopsSecurity']->check()) {
58
+			$err         = true;
59
+			$err_txt     = implode(', ', $GLOBALS['xoopsSecurity']->getErrors());
60
+			$message_err .= $err_txt . '<br>' . _AM_INSTR_TRY_AGAIN . '<br>';
61
+		}
62
+		// =========================
63
+		// Устанавливаем новый token
64
+		$token_name    = 'XOOPS_TOKEN';
65
+		$token_timeout = 0;
66
+		// $token_name . '_REQUEST' - название элемента формы
67
+		$ret['toket'] = $GLOBALS['xoopsSecurity']->createToken($token_timeout, $token_name);
68
+		// =========================
69
+
70
+		// Если мы редактируем
71
+		if ($pageid) {
72
+			$objInspage = $pageHandler->get($pageid);
73
+		} elseif ($instrid) {
74
+			$objInspage = $pageHandler->create();
75
+			// Если мы создаём страницу необходимо указать к какой инструкции
76
+			$objInspage->setVar('instrid', $instrid);
77
+			// Указываем дату создания
78
+			$objInspage->setVar('datecreated', $time);
79
+			// Указываем пользователя
80
+			$objInspage->setVar('uid', $uid);
81
+		} else {
82
+			// Устанавливаем сообщение
83
+			$ret['message'] = _AM_INSTRUCTION_BADREQUEST;
84
+			// Возвращаем ответ скрипту через JSON
85
+			echo json_encode($ret);
86
+			// Прерываем выполнение
87
+			exit();
88
+		}
89
+
90
+		// Родительская страница
91
+		$objInspage->setVar('pid', $pid);
92
+		// Дата обновления
93
+		$objInspage->setVar('dateupdated', $time);
94
+		// Название
95
+		$objInspage->setVar('title', $title);
96
+		// Вес
97
+		$objInspage->setVar('weight', $weight);
98
+		// Текст
99
+		$objInspage->setVar('hometext', $hometext);
100
+		// Сноска
101
+		$objInspage->setVar('footnote', $footnote);
102
+		// Статус
103
+		$objInspage->setVar('status', $status);
104
+		// Тип
105
+		$objInspage->setVar('type', $type);
106
+		// Мета-теги ключевых слов
107
+		$objInspage->setVar('keywords', $keywords);
108
+		// Мета-теги описания
109
+		$objInspage->setVar('description', $description);
110
+		//
111
+		$objInspage->setVar('dohtml', $dohtml);
112
+		$objInspage->setVar('dosmiley', $dosmiley);
113
+		$objInspage->setVar('doxcode', $doxcode);
114
+		$objInspage->setVar('dobr', $dobr);
115
+
116
+		// Проверка категорий
117
+		if (!$pageid && !$instrid) {
118
+			$err         = true;
119
+			$message_err .= _AM_INSTRUCTION_ERR_INSTR . '<br>';
120
+		}
121
+		// Проверка веса
122
+		if (0 == $weight) {
123
+			$err         = true;
124
+			$message_err .= _AM_INSTRUCTION_ERR_WEIGHT . '<br>';
125
+		}
126
+		// Проверка родительской страницы
127
+		if ($pageid && ($pageid == $pid)) {
128
+			$err         = true;
129
+			$message_err .= _AM_INSTRUCTION_ERR_PPAGE . '<br>';
130
+		}
131
+		// Проверка названия
132
+		if (!$title) {
133
+			$err         = true;
134
+			$message_err .= _AM_INSTR_ERR_TITLE . '<br>';
135
+		}
136
+		// Проверка основного текста
137
+		if (!$hometext) {
138
+			$err         = true;
139
+			$message_err .= _AM_INSTR_ERR_HOMETEXT . '<br>';
140
+		}
141
+
142
+		// Если были ошибки
143
+		if (true === $err) {
144
+			//
145
+			$message_err = '<div class="errorMsg" style="text-align: left;">' . $message_err . '</div>';
146
+			// Устанавливаем сообщение
147
+			$ret['message'] = $message_err;
148
+			// Возвращаем ответ скрипту через JSON
149
+			echo json_encode($ret);
150
+			// Прерываем выполнение
151
+			exit();
152
+			// Если небыло ошибок
153
+		} else {
154
+			// Вставляем данные в БД
155
+			if ($pageHandler->insert($objInspage)) {
156
+				// Находим ID созданной записи
157
+				$pageid_new = $pageid ?: $objInspage->getNewInstertId();
158
+				//
159
+				$ret['pageid'] = $pageid_new;
160
+				// Получаем ID инструкции
161
+				$instrid = $objInspage->getInstrid();
162
+				// Обновляем в инструкции число страниц и дату
163
+				$instructionHandler->updatePages($instrid);
164
+				// Если мы редактируем
165
+				if ($pageid) {
166
+					// Устанавливаем сообщение
167
+					$ret['message'] = '<div class="successMsg" style="text-align: left;">' . _AM_INSTRUCTION_PAGEMODIFY . '</div>';
168
+					// Возвращаем ответ скрипту через JSON
169
+					echo json_encode($ret);
170
+					// Прерываем выполнение
171
+					exit();
172
+
173
+					// Если мы добавляем
174
+				} else {
175
+					// Инкримент комментов
176
+					$pageHandler->updateposts($uid, $status, 'add');
177
+
178
+					// Устанавливаем сообщение
179
+					$ret['message'] = '<div class="successMsg" style="text-align: left;">' . _AM_INSTRUCTION_PAGEADDED . '</div>';
180
+					// Возвращаем ответ скрипту через JSON
181
+					echo json_encode($ret);
182
+					// Прерываем выполнение
183
+					exit();
184
+				}
185
+				// Если не получилось вставить данные
186
+			} else {
187
+
188
+				//
189
+				$message_err = '<div class="errorMsg" style="text-align: left;">' . $objInspage->getHtmlErrors() . '</div>';
190
+				// Устанавливаем сообщение
191
+				$ret['message'] = $message_err;
192
+				// Возвращаем ответ скрипту через JSON
193
+				echo json_encode($ret);
194
+				// Прерываем выполнение
195
+				exit();
196
+			}
197
+		}
198
+
199
+		break;
200 200
 }
Please login to merge, or discard this patch.
Spacing   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -19,7 +19,7 @@  discard block
 block discarded – undo
19 19
 $time = time();
20 20
 
21 21
 // Опция
22
-$op = Request::getString( 'op', 'main', 'POST');
22
+$op = Request::getString('op', 'main', 'POST');
23 23
 
24 24
 // Выбор
25 25
 switch ($op) {
@@ -33,28 +33,28 @@  discard block
 block discarded – undo
33 33
         $message_err = '';
34 34
 
35 35
         //
36
-        $title       = Request::getString( 'title', '', 'POST');
37
-        $pid         = Request::getInt( 'pid', 0, 'POST');
38
-        $weight      = Request::getInt( 'weight', 0, 'POST');
39
-        $hometext    = Request::getString( 'hometext', '', 'POST');
40
-        $footnote    = Request::getString( 'footnote', '', 'POST');
41
-        $status      = Request::getInt( 'status', 0, 'POST');
42
-        $type        = Request::getInt( 'type', 0, 'POST');
43
-        $keywords    = Request::getString( 'keywords', '', 'POST');
44
-        $description = Request::getString( 'description', '', 'POST');
45
-        $dosmiley    = (Request::getInt( 'dosmiley', 0, 'POST') > 0) ? 1 : 0;
46
-        $doxcode     = (Request::getInt( 'doxcode', 0, 'POST') > 0) ? 1 : 0;
47
-        $dobr        = (Request::getInt( 'dobr', 0, 'POST') > 0) ? 1 : 0;
48
-        $dohtml      = (Request::getInt( 'dohtml', 0, 'POST') > 0) ? 1 : 0;
36
+        $title       = Request::getString('title', '', 'POST');
37
+        $pid         = Request::getInt('pid', 0, 'POST');
38
+        $weight      = Request::getInt('weight', 0, 'POST');
39
+        $hometext    = Request::getString('hometext', '', 'POST');
40
+        $footnote    = Request::getString('footnote', '', 'POST');
41
+        $status      = Request::getInt('status', 0, 'POST');
42
+        $type        = Request::getInt('type', 0, 'POST');
43
+        $keywords    = Request::getString('keywords', '', 'POST');
44
+        $description = Request::getString('description', '', 'POST');
45
+        $dosmiley    = (Request::getInt('dosmiley', 0, 'POST') > 0) ? 1 : 0;
46
+        $doxcode     = (Request::getInt('doxcode', 0, 'POST') > 0) ? 1 : 0;
47
+        $dobr        = (Request::getInt('dobr', 0, 'POST') > 0) ? 1 : 0;
48
+        $dohtml      = (Request::getInt('dohtml', 0, 'POST') > 0) ? 1 : 0;
49 49
         //$dohtml      = Request::getInt( 'dohtml', 0, 'POST' );
50 50
         //$dosmiley    = Request::getInt( 'dosmiley', 0, 'POST' );
51 51
         //$doxcode     = Request::getInt( 'doxcode', 0, 'POST' );
52 52
         //$dobr        = Request::getInt( 'dobr', 0, 'POST' );
53
-        $pageid  = Request::getInt( 'pageid', 0, 'POST');
54
-        $instrid = Request::getInt( 'instrid', 0, 'POST');
53
+        $pageid  = Request::getInt('pageid', 0, 'POST');
54
+        $instrid = Request::getInt('instrid', 0, 'POST');
55 55
 
56 56
         // Проверка
57
-        if (!$GLOBALS['xoopsSecurity']->check()) {
57
+        if ( ! $GLOBALS['xoopsSecurity']->check()) {
58 58
             $err         = true;
59 59
             $err_txt     = implode(', ', $GLOBALS['xoopsSecurity']->getErrors());
60 60
             $message_err .= $err_txt . '<br>' . _AM_INSTR_TRY_AGAIN . '<br>';
@@ -114,28 +114,28 @@  discard block
 block discarded – undo
114 114
         $objInspage->setVar('dobr', $dobr);
115 115
 
116 116
         // Проверка категорий
117
-        if (!$pageid && !$instrid) {
118
-            $err         = true;
117
+        if ( ! $pageid && ! $instrid) {
118
+            $err = true;
119 119
             $message_err .= _AM_INSTRUCTION_ERR_INSTR . '<br>';
120 120
         }
121 121
         // Проверка веса
122 122
         if (0 == $weight) {
123
-            $err         = true;
123
+            $err = true;
124 124
             $message_err .= _AM_INSTRUCTION_ERR_WEIGHT . '<br>';
125 125
         }
126 126
         // Проверка родительской страницы
127 127
         if ($pageid && ($pageid == $pid)) {
128
-            $err         = true;
128
+            $err = true;
129 129
             $message_err .= _AM_INSTRUCTION_ERR_PPAGE . '<br>';
130 130
         }
131 131
         // Проверка названия
132
-        if (!$title) {
133
-            $err         = true;
132
+        if ( ! $title) {
133
+            $err = true;
134 134
             $message_err .= _AM_INSTR_ERR_TITLE . '<br>';
135 135
         }
136 136
         // Проверка основного текста
137
-        if (!$hometext) {
138
-            $err         = true;
137
+        if ( ! $hometext) {
138
+            $err = true;
139 139
             $message_err .= _AM_INSTR_ERR_HOMETEXT . '<br>';
140 140
         }
141 141
 
Please login to merge, or discard this patch.
admin/cat.php 2 patches
Indentation   +259 added lines, -259 removed lines patch added patch discarded remove patch
@@ -29,264 +29,264 @@
 block discarded – undo
29 29
 // Выбор
30 30
 switch ($op) {
31 31
 
32
-    case 'main':
33
-
34
-        // Подключаем трей
35
-
36
-        //        include_once __DIR__  . '/../class/tree.php';
37
-        //include_once $GLOBALS['xoops']->path('modules/instruction/class/tree.php');
38
-
39
-        // Заголовок админки
40
-        xoops_cp_header();
41
-        // Навигация
42
-        $adminObject->displayNavigation(basename(__FILE__));
43
-
44
-        // Находим ID-категории => Число страниц
45
-        $cidinstrids = [];
46
-        $sql         = "SELECT `cid`, COUNT( `instrid` ) FROM {$instructionHandler->table} GROUP BY `cid`";
47
-        $result      = $GLOBALS['xoopsDB']->query($sql);
48
-        while (list($cid, $count) = $GLOBALS['xoopsDB']->fetchRow($result)) {
49
-            // Заполняем массив
50
-            $cidinstrids[$cid] = $count;
51
-        }
52
-
53
-        // Выбираем категории из БД
54
-        $criteria = new \CriteriaCompo();
55
-        $criteria->setSort('weight ASC, title');
56
-        $criteria->setOrder('ASC');
57
-        $ins_cat = $categoryHandler->getall($criteria);
58
-        unset($criteria);
59
-
60
-        // Инициализируем
61
-        $cattree = new instruction\Tree($ins_cat, 'cid', 'pid');
62
-        // Выводим списко категорий в шаблон
63
-        $GLOBALS['xoopsTpl']->assign('insListCat', $cattree->makeCatsAdmin('--', $cidinstrids));
64
-
65
-        // Создание новой категории
66
-        $objInstructioncat = $categoryHandler->create();
67
-        $form              = $objInstructioncat->getForm('cat.php');
68
-        // Форма
69
-        $GLOBALS['xoopsTpl']->assign('insFormCat', $form->render());
70
-        // Выводим шаблон
71
-        $GLOBALS['xoopsTpl']->display('db:admin/instruction_admin_cat.tpl');
72
-
73
-        // Текст внизу админки
74
-        include __DIR__ . '/admin_footer.php';
75
-
76
-        break;
77
-
78
-    // Редактирование категории
79
-    case 'editcat':
80
-
81
-        // Заголовок админки
82
-        xoops_cp_header();
83
-        // Навигация
84
-        $adminObject->displayNavigation(basename(__FILE__));
85
-
86
-        $objInstructioncat = $categoryHandler->get($cid);
87
-        $form              = $objInstructioncat->getForm('cat.php');
88
-        // Форма
89
-        //$GLOBALS['xoopsTpl']->assign( 'insFormCat', $form->render() );
90
-        echo $form->render();
91
-        // Выводим шаблон
92
-        $GLOBALS['xoopsTpl']->display('db:admin/instruction_admin_editcat.tpl');
93
-
94
-        // Текст внизу админки
95
-        include __DIR__ . '/admin_footer.php';
96
-
97
-        break;
98
-
99
-    // Сохранение категорий
100
-    case 'savecat':
101
-
102
-        // Проверка
103
-        if (!$GLOBALS['xoopsSecurity']->check()) {
104
-            redirect_header('cat.php', 3, implode(',', $GLOBALS['xoopsSecurity']->getErrors()));
105
-        }
106
-        // Если мы редактируем
107
-        if ($cid) {
108
-            $objInstructioncat = $categoryHandler->get($cid);
109
-        } else {
110
-            $objInstructioncat = $categoryHandler->create();
111
-            // Указываем дату создания
112
-            $objInstructioncat->setVar('datecreated', $time);
113
-        }
114
-
115
-        $err         = false;
116
-        $message_err = '';
117
-
118
-        // Дата обновления
119
-        $objInstructioncat->setVar('dateupdated', $time);
120
-        $objInstructioncat->setVar('pid', $pid);
121
-        $objInstructioncat->setVar('title', Request::getString( 'title', '', 'POST'));
122
-        $objInstructioncat->setVar('description', Request::getString( 'description', '', 'POST'));
123
-        $objInstructioncat->setVar('weight', $weight);
124
-        $objInstructioncat->setVar('metakeywords', Request::getString( 'metakeywords', '', 'POST'));
125
-        $objInstructioncat->setVar('metadescription', Request::getString( 'metadescription', '', 'POST'));
126
-
127
-        // Проверка веса
128
-        if (0 == $weight) {
129
-            $err         = true;
130
-            $message_err .= _AM_INSTRUCTION_ERR_WEIGHT . '<br>';
131
-        }
132
-        // Проверка категорий
133
-        if ($cid && ($cid == $pid)) {
134
-            $err         = true;
135
-            $message_err .= _AM_INSTRUCTION_ERR_PCAT . '<br>';
136
-        }
137
-        // Если были ошибки
138
-        if (true === $err) {
139
-            xoops_cp_header();
140
-            // Навигация
141
-            $adminObject->displayNavigation(basename(__FILE__));
142
-
143
-            $message_err = '<div class="errorMsg" style="text-align: left;">' . $message_err . '</div>';
144
-            // Выводим ошибки в шаблон
145
-            $GLOBALS['xoopsTpl']->assign('insErrorMsg', $message_err);
146
-            // Если небыло ошибок
147
-        } else {
148
-            // Вставляем данные в БД
149
-            if ($categoryHandler->insert($objInstructioncat)) {
150
-
151
-                // ID категории. Если редактируем - то не изменяется. Если создаём новую - то получаем ID созданной записи.
152
-                $new_cid = $cid ?: $objInstructioncat->getNewInstertId();
153
-
154
-                // ===============
155
-                // ==== Права ====
156
-                // ===============
157
-
158
-                $gpermHandler = xoops_getHandler('groupperm');
159
-
160
-                // Если мы редактируем категорию, то старые права нужно удалить
161
-                if ($cid) {
162
-                    // Права на просмотр
163
-                    $criteria = new\ CriteriaCompo();
164
-                    $criteria->add(new \Criteria('gperm_itemid', $new_cid, '='));
165
-                    $criteria->add(new \Criteria('gperm_modid', $GLOBALS['xoopsModule']->getVar('mid'), '='));
166
-                    $criteria->add(new \Criteria('gperm_name', 'instruction_view', '='));
167
-                    $gpermHandler->deleteAll($criteria);
168
-                    // Права на добавление
169
-                    $criteria = new \CriteriaCompo();
170
-                    $criteria->add(new \Criteria('gperm_itemid', $new_cid, '='));
171
-                    $criteria->add(new \Criteria('gperm_modid', $GLOBALS['xoopsModule']->getVar('mid'), '='));
172
-                    $criteria->add(new \Criteria('gperm_name', 'instruction_submit', '='));
173
-                    $gpermHandler->deleteAll($criteria);
174
-                    // Права на редактирование
175
-                    $criteria = new \CriteriaCompo();
176
-                    $criteria->add(new \Criteria('gperm_itemid', $new_cid, '='));
177
-                    $criteria->add(new \Criteria('gperm_modid', $GLOBALS['xoopsModule']->getVar('mid'), '='));
178
-                    $criteria->add(new \Criteria('gperm_name', 'instruction_edit', '='));
179
-                    $gpermHandler->deleteAll($criteria);
180
-                }
181
-
182
-                // Добавляем права
183
-                // Права на просмотр
184
-                if (Request::hasVar('groups_instr_view', 'POST')) {
185
-                    foreach (Request::getArray('groups_instr_view','', 'POST') as $onegroup_id) {
186
-                        $gpermHandler->addRight('instruction_view', $new_cid, $onegroup_id, $GLOBALS['xoopsModule']->getVar('mid'));
187
-                    }
188
-                }
189
-                // Права на добавление
190
-                if (Request::hasVar('groups_instr_submit', 'POST')) {
191
-                    foreach (Request::getArray('groups_instr_submit','', 'POST') as $onegroup_id) {
192
-                        $gpermHandler->addRight('instruction_submit', $new_cid, $onegroup_id, $GLOBALS['xoopsModule']->getVar('mid'));
193
-                    }
194
-                }
195
-                // Права на редактирование
196
-                if (Request::hasVar('groups_instr_edit', 'POST')) {
197
-                    foreach (Request::getArray('groups_instr_edit','', 'POST') as $onegroup_id) {
198
-                        $gpermHandler->addRight('instruction_edit', $new_cid, $onegroup_id, $GLOBALS['xoopsModule']->getVar('mid'));
199
-                    }
200
-                }
201
-
202
-                //
203
-                redirect_header('cat.php', 3, _AM_INSTRUCTION_NEWCATADDED);
204
-            }
205
-            xoops_cp_header();
206
-            // Навигация
207
-            $adminObject->displayNavigation(basename(__FILE__));
208
-            // Выводим ошибки в шаблон
209
-            $GLOBALS['xoopsTpl']->assign('insErrorMsg', $objInstructioncat->getHtmlErrors());
210
-        }
211
-        // Выводим шаблон
212
-        $GLOBALS['xoopsTpl']->display('db:admin/instruction_admin_savecat.tpl');
213
-        // Выводим форму
214
-        $form = $objInstructioncat->getForm();
215
-        // Форма
216
-        echo $form->render();
217
-        // Текст внизу админки
218
-        include __DIR__ . '/admin_footer.php';
219
-
220
-        break;
221
-
222
-    // Удаление категории
223
-    case 'delcat':
224
-
225
-        // Находим число инструкций в данной категории
226
-        // Критерий выборки
227
-        $criteria = new \CriteriaCompo();
228
-        // Все инструкции в данной категории
229
-        $criteria->add(new \Criteria('cid', $cid, '='));
230
-        $numrows = $instructionHandler->getCount($criteria);
231
-        //
232
-        unset($criteria);
233
-        // Если есть хоть одна инструкция
234
-        if ($numrows) {
235
-            redirect_header('cat.php', 3, _AM_INSTRUCTION_ERR_CATNOTEMPTY);
236
-        }
237
-
238
-        $objInscat = $categoryHandler->get($cid);
239
-        // Если нет такой категории
240
-        if (!is_object($objInscat)) {
241
-            redirect_header('cat.php', 3, _AM_INSTRUCTION_ERR_CATNOTSELECT);
242
-        }
243
-
244
-        // Нельзя удалять пока есть доченрии категории
245
-        // Подключаем трей
246
-        include_once $GLOBALS['xoops']->path('class/tree.php');
247
-        $inscat_arr   = $categoryHandler->getall();
248
-        $mytree       = new \XoopsObjectTree($inscat_arr, 'cid', 'pid');
249
-        $ins_childcat = $mytree->getAllChild($cid);
250
-        // Если есть дочернии категории
251
-        if (count($ins_childcat)) {
252
-            redirect_header('cat.php', 3, _AM_INSTRUCTION_ERR_CATCHILDREN);
253
-        }
254
-
255
-        // Нажали ли мы на кнопку OK
256
-        $ok = Request::getInt( 'ok', 0, 'POST');
257
-        // Если мы нажали на кнопку
258
-        if ($ok) {
259
-
260
-            // Проверка
261
-            if (!$GLOBALS['xoopsSecurity']->check()) {
262
-                redirect_header('cat.php', 3, implode(',', $GLOBALS['xoopsSecurity']->getErrors()));
263
-            }
264
-            // Пытаемся удалить категорию
265
-            if ($categoryHandler->delete($objInscat)) {
266
-
267
-                // Удалить права доступа к категории
268
-                // =================================
269
-
270
-                // Редирект
271
-                redirect_header('cat.php', 3, _AM_INSTRUCTION_CATDELETED);
272
-                // Если не смогли удалить категорию
273
-            } else {
274
-                // Редирект
275
-                redirect_header('cat.php', 3, _AM_INSTRUCTION_ERR_DELCAT);
276
-            }
277
-        } else {
278
-
279
-            // Заголовок админки
280
-            xoops_cp_header();
281
-            // Навигация
282
-            $adminObject->displayNavigation(basename(__FILE__));
283
-
284
-            xoops_confirm(['ok' => 1, 'cid' => $cid, 'op' => 'delcat'], 'cat.php', sprintf(_AM_INSTRUCTION_FORMDELCAT, $objInscat->getVar('title')));
285
-
286
-            // Текст внизу админки
287
-            include __DIR__ . '/admin_footer.php';
288
-        }
289
-
290
-        break;
32
+	case 'main':
33
+
34
+		// Подключаем трей
35
+
36
+		//        include_once __DIR__  . '/../class/tree.php';
37
+		//include_once $GLOBALS['xoops']->path('modules/instruction/class/tree.php');
38
+
39
+		// Заголовок админки
40
+		xoops_cp_header();
41
+		// Навигация
42
+		$adminObject->displayNavigation(basename(__FILE__));
43
+
44
+		// Находим ID-категории => Число страниц
45
+		$cidinstrids = [];
46
+		$sql         = "SELECT `cid`, COUNT( `instrid` ) FROM {$instructionHandler->table} GROUP BY `cid`";
47
+		$result      = $GLOBALS['xoopsDB']->query($sql);
48
+		while (list($cid, $count) = $GLOBALS['xoopsDB']->fetchRow($result)) {
49
+			// Заполняем массив
50
+			$cidinstrids[$cid] = $count;
51
+		}
52
+
53
+		// Выбираем категории из БД
54
+		$criteria = new \CriteriaCompo();
55
+		$criteria->setSort('weight ASC, title');
56
+		$criteria->setOrder('ASC');
57
+		$ins_cat = $categoryHandler->getall($criteria);
58
+		unset($criteria);
59
+
60
+		// Инициализируем
61
+		$cattree = new instruction\Tree($ins_cat, 'cid', 'pid');
62
+		// Выводим списко категорий в шаблон
63
+		$GLOBALS['xoopsTpl']->assign('insListCat', $cattree->makeCatsAdmin('--', $cidinstrids));
64
+
65
+		// Создание новой категории
66
+		$objInstructioncat = $categoryHandler->create();
67
+		$form              = $objInstructioncat->getForm('cat.php');
68
+		// Форма
69
+		$GLOBALS['xoopsTpl']->assign('insFormCat', $form->render());
70
+		// Выводим шаблон
71
+		$GLOBALS['xoopsTpl']->display('db:admin/instruction_admin_cat.tpl');
72
+
73
+		// Текст внизу админки
74
+		include __DIR__ . '/admin_footer.php';
75
+
76
+		break;
77
+
78
+	// Редактирование категории
79
+	case 'editcat':
80
+
81
+		// Заголовок админки
82
+		xoops_cp_header();
83
+		// Навигация
84
+		$adminObject->displayNavigation(basename(__FILE__));
85
+
86
+		$objInstructioncat = $categoryHandler->get($cid);
87
+		$form              = $objInstructioncat->getForm('cat.php');
88
+		// Форма
89
+		//$GLOBALS['xoopsTpl']->assign( 'insFormCat', $form->render() );
90
+		echo $form->render();
91
+		// Выводим шаблон
92
+		$GLOBALS['xoopsTpl']->display('db:admin/instruction_admin_editcat.tpl');
93
+
94
+		// Текст внизу админки
95
+		include __DIR__ . '/admin_footer.php';
96
+
97
+		break;
98
+
99
+	// Сохранение категорий
100
+	case 'savecat':
101
+
102
+		// Проверка
103
+		if (!$GLOBALS['xoopsSecurity']->check()) {
104
+			redirect_header('cat.php', 3, implode(',', $GLOBALS['xoopsSecurity']->getErrors()));
105
+		}
106
+		// Если мы редактируем
107
+		if ($cid) {
108
+			$objInstructioncat = $categoryHandler->get($cid);
109
+		} else {
110
+			$objInstructioncat = $categoryHandler->create();
111
+			// Указываем дату создания
112
+			$objInstructioncat->setVar('datecreated', $time);
113
+		}
114
+
115
+		$err         = false;
116
+		$message_err = '';
117
+
118
+		// Дата обновления
119
+		$objInstructioncat->setVar('dateupdated', $time);
120
+		$objInstructioncat->setVar('pid', $pid);
121
+		$objInstructioncat->setVar('title', Request::getString( 'title', '', 'POST'));
122
+		$objInstructioncat->setVar('description', Request::getString( 'description', '', 'POST'));
123
+		$objInstructioncat->setVar('weight', $weight);
124
+		$objInstructioncat->setVar('metakeywords', Request::getString( 'metakeywords', '', 'POST'));
125
+		$objInstructioncat->setVar('metadescription', Request::getString( 'metadescription', '', 'POST'));
126
+
127
+		// Проверка веса
128
+		if (0 == $weight) {
129
+			$err         = true;
130
+			$message_err .= _AM_INSTRUCTION_ERR_WEIGHT . '<br>';
131
+		}
132
+		// Проверка категорий
133
+		if ($cid && ($cid == $pid)) {
134
+			$err         = true;
135
+			$message_err .= _AM_INSTRUCTION_ERR_PCAT . '<br>';
136
+		}
137
+		// Если были ошибки
138
+		if (true === $err) {
139
+			xoops_cp_header();
140
+			// Навигация
141
+			$adminObject->displayNavigation(basename(__FILE__));
142
+
143
+			$message_err = '<div class="errorMsg" style="text-align: left;">' . $message_err . '</div>';
144
+			// Выводим ошибки в шаблон
145
+			$GLOBALS['xoopsTpl']->assign('insErrorMsg', $message_err);
146
+			// Если небыло ошибок
147
+		} else {
148
+			// Вставляем данные в БД
149
+			if ($categoryHandler->insert($objInstructioncat)) {
150
+
151
+				// ID категории. Если редактируем - то не изменяется. Если создаём новую - то получаем ID созданной записи.
152
+				$new_cid = $cid ?: $objInstructioncat->getNewInstertId();
153
+
154
+				// ===============
155
+				// ==== Права ====
156
+				// ===============
157
+
158
+				$gpermHandler = xoops_getHandler('groupperm');
159
+
160
+				// Если мы редактируем категорию, то старые права нужно удалить
161
+				if ($cid) {
162
+					// Права на просмотр
163
+					$criteria = new\ CriteriaCompo();
164
+					$criteria->add(new \Criteria('gperm_itemid', $new_cid, '='));
165
+					$criteria->add(new \Criteria('gperm_modid', $GLOBALS['xoopsModule']->getVar('mid'), '='));
166
+					$criteria->add(new \Criteria('gperm_name', 'instruction_view', '='));
167
+					$gpermHandler->deleteAll($criteria);
168
+					// Права на добавление
169
+					$criteria = new \CriteriaCompo();
170
+					$criteria->add(new \Criteria('gperm_itemid', $new_cid, '='));
171
+					$criteria->add(new \Criteria('gperm_modid', $GLOBALS['xoopsModule']->getVar('mid'), '='));
172
+					$criteria->add(new \Criteria('gperm_name', 'instruction_submit', '='));
173
+					$gpermHandler->deleteAll($criteria);
174
+					// Права на редактирование
175
+					$criteria = new \CriteriaCompo();
176
+					$criteria->add(new \Criteria('gperm_itemid', $new_cid, '='));
177
+					$criteria->add(new \Criteria('gperm_modid', $GLOBALS['xoopsModule']->getVar('mid'), '='));
178
+					$criteria->add(new \Criteria('gperm_name', 'instruction_edit', '='));
179
+					$gpermHandler->deleteAll($criteria);
180
+				}
181
+
182
+				// Добавляем права
183
+				// Права на просмотр
184
+				if (Request::hasVar('groups_instr_view', 'POST')) {
185
+					foreach (Request::getArray('groups_instr_view','', 'POST') as $onegroup_id) {
186
+						$gpermHandler->addRight('instruction_view', $new_cid, $onegroup_id, $GLOBALS['xoopsModule']->getVar('mid'));
187
+					}
188
+				}
189
+				// Права на добавление
190
+				if (Request::hasVar('groups_instr_submit', 'POST')) {
191
+					foreach (Request::getArray('groups_instr_submit','', 'POST') as $onegroup_id) {
192
+						$gpermHandler->addRight('instruction_submit', $new_cid, $onegroup_id, $GLOBALS['xoopsModule']->getVar('mid'));
193
+					}
194
+				}
195
+				// Права на редактирование
196
+				if (Request::hasVar('groups_instr_edit', 'POST')) {
197
+					foreach (Request::getArray('groups_instr_edit','', 'POST') as $onegroup_id) {
198
+						$gpermHandler->addRight('instruction_edit', $new_cid, $onegroup_id, $GLOBALS['xoopsModule']->getVar('mid'));
199
+					}
200
+				}
201
+
202
+				//
203
+				redirect_header('cat.php', 3, _AM_INSTRUCTION_NEWCATADDED);
204
+			}
205
+			xoops_cp_header();
206
+			// Навигация
207
+			$adminObject->displayNavigation(basename(__FILE__));
208
+			// Выводим ошибки в шаблон
209
+			$GLOBALS['xoopsTpl']->assign('insErrorMsg', $objInstructioncat->getHtmlErrors());
210
+		}
211
+		// Выводим шаблон
212
+		$GLOBALS['xoopsTpl']->display('db:admin/instruction_admin_savecat.tpl');
213
+		// Выводим форму
214
+		$form = $objInstructioncat->getForm();
215
+		// Форма
216
+		echo $form->render();
217
+		// Текст внизу админки
218
+		include __DIR__ . '/admin_footer.php';
219
+
220
+		break;
221
+
222
+	// Удаление категории
223
+	case 'delcat':
224
+
225
+		// Находим число инструкций в данной категории
226
+		// Критерий выборки
227
+		$criteria = new \CriteriaCompo();
228
+		// Все инструкции в данной категории
229
+		$criteria->add(new \Criteria('cid', $cid, '='));
230
+		$numrows = $instructionHandler->getCount($criteria);
231
+		//
232
+		unset($criteria);
233
+		// Если есть хоть одна инструкция
234
+		if ($numrows) {
235
+			redirect_header('cat.php', 3, _AM_INSTRUCTION_ERR_CATNOTEMPTY);
236
+		}
237
+
238
+		$objInscat = $categoryHandler->get($cid);
239
+		// Если нет такой категории
240
+		if (!is_object($objInscat)) {
241
+			redirect_header('cat.php', 3, _AM_INSTRUCTION_ERR_CATNOTSELECT);
242
+		}
243
+
244
+		// Нельзя удалять пока есть доченрии категории
245
+		// Подключаем трей
246
+		include_once $GLOBALS['xoops']->path('class/tree.php');
247
+		$inscat_arr   = $categoryHandler->getall();
248
+		$mytree       = new \XoopsObjectTree($inscat_arr, 'cid', 'pid');
249
+		$ins_childcat = $mytree->getAllChild($cid);
250
+		// Если есть дочернии категории
251
+		if (count($ins_childcat)) {
252
+			redirect_header('cat.php', 3, _AM_INSTRUCTION_ERR_CATCHILDREN);
253
+		}
254
+
255
+		// Нажали ли мы на кнопку OK
256
+		$ok = Request::getInt( 'ok', 0, 'POST');
257
+		// Если мы нажали на кнопку
258
+		if ($ok) {
259
+
260
+			// Проверка
261
+			if (!$GLOBALS['xoopsSecurity']->check()) {
262
+				redirect_header('cat.php', 3, implode(',', $GLOBALS['xoopsSecurity']->getErrors()));
263
+			}
264
+			// Пытаемся удалить категорию
265
+			if ($categoryHandler->delete($objInscat)) {
266
+
267
+				// Удалить права доступа к категории
268
+				// =================================
269
+
270
+				// Редирект
271
+				redirect_header('cat.php', 3, _AM_INSTRUCTION_CATDELETED);
272
+				// Если не смогли удалить категорию
273
+			} else {
274
+				// Редирект
275
+				redirect_header('cat.php', 3, _AM_INSTRUCTION_ERR_DELCAT);
276
+			}
277
+		} else {
278
+
279
+			// Заголовок админки
280
+			xoops_cp_header();
281
+			// Навигация
282
+			$adminObject->displayNavigation(basename(__FILE__));
283
+
284
+			xoops_confirm(['ok' => 1, 'cid' => $cid, 'op' => 'delcat'], 'cat.php', sprintf(_AM_INSTRUCTION_FORMDELCAT, $objInscat->getVar('title')));
285
+
286
+			// Текст внизу админки
287
+			include __DIR__ . '/admin_footer.php';
288
+		}
289
+
290
+		break;
291 291
 
292 292
 }
Please login to merge, or discard this patch.
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -100,7 +100,7 @@  discard block
 block discarded – undo
100 100
     case 'savecat':
101 101
 
102 102
         // Проверка
103
-        if (!$GLOBALS['xoopsSecurity']->check()) {
103
+        if ( ! $GLOBALS['xoopsSecurity']->check()) {
104 104
             redirect_header('cat.php', 3, implode(',', $GLOBALS['xoopsSecurity']->getErrors()));
105 105
         }
106 106
         // Если мы редактируем
@@ -118,20 +118,20 @@  discard block
 block discarded – undo
118 118
         // Дата обновления
119 119
         $objInstructioncat->setVar('dateupdated', $time);
120 120
         $objInstructioncat->setVar('pid', $pid);
121
-        $objInstructioncat->setVar('title', Request::getString( 'title', '', 'POST'));
122
-        $objInstructioncat->setVar('description', Request::getString( 'description', '', 'POST'));
121
+        $objInstructioncat->setVar('title', Request::getString('title', '', 'POST'));
122
+        $objInstructioncat->setVar('description', Request::getString('description', '', 'POST'));
123 123
         $objInstructioncat->setVar('weight', $weight);
124
-        $objInstructioncat->setVar('metakeywords', Request::getString( 'metakeywords', '', 'POST'));
125
-        $objInstructioncat->setVar('metadescription', Request::getString( 'metadescription', '', 'POST'));
124
+        $objInstructioncat->setVar('metakeywords', Request::getString('metakeywords', '', 'POST'));
125
+        $objInstructioncat->setVar('metadescription', Request::getString('metadescription', '', 'POST'));
126 126
 
127 127
         // Проверка веса
128 128
         if (0 == $weight) {
129
-            $err         = true;
129
+            $err = true;
130 130
             $message_err .= _AM_INSTRUCTION_ERR_WEIGHT . '<br>';
131 131
         }
132 132
         // Проверка категорий
133 133
         if ($cid && ($cid == $pid)) {
134
-            $err         = true;
134
+            $err = true;
135 135
             $message_err .= _AM_INSTRUCTION_ERR_PCAT . '<br>';
136 136
         }
137 137
         // Если были ошибки
@@ -182,19 +182,19 @@  discard block
 block discarded – undo
182 182
                 // Добавляем права
183 183
                 // Права на просмотр
184 184
                 if (Request::hasVar('groups_instr_view', 'POST')) {
185
-                    foreach (Request::getArray('groups_instr_view','', 'POST') as $onegroup_id) {
185
+                    foreach (Request::getArray('groups_instr_view', '', 'POST') as $onegroup_id) {
186 186
                         $gpermHandler->addRight('instruction_view', $new_cid, $onegroup_id, $GLOBALS['xoopsModule']->getVar('mid'));
187 187
                     }
188 188
                 }
189 189
                 // Права на добавление
190 190
                 if (Request::hasVar('groups_instr_submit', 'POST')) {
191
-                    foreach (Request::getArray('groups_instr_submit','', 'POST') as $onegroup_id) {
191
+                    foreach (Request::getArray('groups_instr_submit', '', 'POST') as $onegroup_id) {
192 192
                         $gpermHandler->addRight('instruction_submit', $new_cid, $onegroup_id, $GLOBALS['xoopsModule']->getVar('mid'));
193 193
                     }
194 194
                 }
195 195
                 // Права на редактирование
196 196
                 if (Request::hasVar('groups_instr_edit', 'POST')) {
197
-                    foreach (Request::getArray('groups_instr_edit','', 'POST') as $onegroup_id) {
197
+                    foreach (Request::getArray('groups_instr_edit', '', 'POST') as $onegroup_id) {
198 198
                         $gpermHandler->addRight('instruction_edit', $new_cid, $onegroup_id, $GLOBALS['xoopsModule']->getVar('mid'));
199 199
                     }
200 200
                 }
@@ -237,7 +237,7 @@  discard block
 block discarded – undo
237 237
 
238 238
         $objInscat = $categoryHandler->get($cid);
239 239
         // Если нет такой категории
240
-        if (!is_object($objInscat)) {
240
+        if ( ! is_object($objInscat)) {
241 241
             redirect_header('cat.php', 3, _AM_INSTRUCTION_ERR_CATNOTSELECT);
242 242
         }
243 243
 
@@ -253,12 +253,12 @@  discard block
 block discarded – undo
253 253
         }
254 254
 
255 255
         // Нажали ли мы на кнопку OK
256
-        $ok = Request::getInt( 'ok', 0, 'POST');
256
+        $ok = Request::getInt('ok', 0, 'POST');
257 257
         // Если мы нажали на кнопку
258 258
         if ($ok) {
259 259
 
260 260
             // Проверка
261
-            if (!$GLOBALS['xoopsSecurity']->check()) {
261
+            if ( ! $GLOBALS['xoopsSecurity']->check()) {
262 262
                 redirect_header('cat.php', 3, implode(',', $GLOBALS['xoopsSecurity']->getErrors()));
263 263
             }
264 264
             // Пытаемся удалить категорию
Please login to merge, or discard this patch.
admin/instr.php 2 patches
Indentation   +561 added lines, -561 removed lines patch added patch discarded remove patch
@@ -41,566 +41,566 @@
 block discarded – undo
41 41
 // Выбор
42 42
 switch ($op) {
43 43
 
44
-    case 'main':
45
-
46
-        // Заголовок админки
47
-        xoops_cp_header();
48
-        // Меню
49
-        $adminObject->displayNavigation(basename(__FILE__));
50
-        $adminObject->addItemButton(_AM_INSTRUCTION_ADDINSTR, 'instr.php?op=editinstr', 'add');
51
-        $adminObject->displayButton('left', '');
52
-
53
-        //
54
-        $criteria = new \CriteriaCompo();
55
-
56
-        // Если была передана категория
57
-        if ($cid) {
58
-            // Добавляем в выборку ID категории
59
-            $criteria->add(new \Criteria('cid', $cid, '='));
60
-            // Получаем объект категории
61
-            $objInscat = $categoryHandler->get($cid);
62
-            // Если нет такой категории
63
-            if (!is_object($objInscat)) {
64
-                redirect_header('cat.php', 3, _AM_INSTRUCTION_ERR_CATNOTSELECT);
65
-            }
66
-        }
67
-
68
-        // Число инструкций, удовлетворяющих данному условию
69
-        $numrows = $instructionHandler->getCount($criteria);
70
-
71
-        // Число выборки
72
-        $criteria->setLimit($limit);
73
-        // Начинасть с данного элемента
74
-        $criteria->setStart($start);
75
-        // Сортировать по
76
-        $criteria->setSort('instrid');
77
-        // Порядок сортировки
78
-        $criteria->setOrder('DESC');
79
-        // Находим все справки
80
-        $instr_arr = $instructionHandler->getall($criteria);
81
-        // Если записей больше чем $limit, то выводим пагинатор
82
-        if ($numrows > $limit) {
83
-            $pagenav = new \XoopsPageNav($numrows, $limit, $start, 'start', 'op=' . $op . '&amp;cid=' . $cid);
84
-            $pagenav = $pagenav->renderNav(4);
85
-        } else {
86
-            $pagenav = '';
87
-        }
88
-        // Выводим пагинатор в шаблон
89
-        $GLOBALS['xoopsTpl']->assign('insPagenav', $pagenav);
90
-
91
-        // Если есть записи
92
-        if ($numrows > 0) {
93
-            $class = 'odd';
94
-            foreach (array_keys($instr_arr) as $i) {
95
-
96
-                //
97
-                $class = ('even' === $class) ? 'odd' : 'even';
98
-                // ID
99
-                $insinstr_instrid = $instr_arr[$i]->getVar('instrid');
100
-                // Название
101
-                $insinstr_title = $instr_arr[$i]->getVar('title');
102
-                // Статус
103
-                $insinstr_status = $instr_arr[$i]->getVar('status');
104
-                // Количество страниц
105
-                $insinstr_pages = $instr_arr[$i]->getVar('pages');
106
-                // Категория
107
-                $insinstr_cat = $categoryHandler->get($instr_arr[$i]->getVar('cid'));
108
-
109
-                // Выводим в шаблон
110
-                $GLOBALS['xoopsTpl']->append('insListInstr', ['instrid' => $insinstr_instrid, 'title' => $insinstr_title, 'status' => $insinstr_status, 'pages' => $insinstr_pages, 'ctitle' => $insinstr_cat->getVar('title'), 'cid' => $insinstr_cat->getVar('cid'), 'class' => $class]);
111
-            }
112
-
113
-            //
114
-            $inshead = isset($objInscat) && is_object($objInscat) ? sprintf(_AM_INSTR_LISTINSTRINCAT, $objInscat->getVar('title')) : _AM_INSTR_LISTINSTRALL;
115
-            $GLOBALS['xoopsTpl']->assign('insHead', $inshead);
116
-            // Языковые константы
117
-            $GLOBALS['xoopsTpl']->assign('lang_title', _AM_INSTRUCTION_TITLE);
118
-            $GLOBALS['xoopsTpl']->assign('lang_cat', _AM_INSTRUCTION_CAT);
119
-            $GLOBALS['xoopsTpl']->assign('lang_pages', _AM_INSTRUCTION_PAGES);
120
-            $GLOBALS['xoopsTpl']->assign('lang_action', _AM_INSTRUCTION_ACTION);
121
-            $GLOBALS['xoopsTpl']->assign('lang_display', _AM_INSTRUCTION_DISPLAY);
122
-            $GLOBALS['xoopsTpl']->assign('lang_edit', _AM_INSTRUCTION_EDIT);
123
-            $GLOBALS['xoopsTpl']->assign('lang_del', _AM_INSTRUCTION_DEL);
124
-            $GLOBALS['xoopsTpl']->assign('lang_lock', _AM_INSTRUCTION_LOCK);
125
-            $GLOBALS['xoopsTpl']->assign('lang_unlock', _AM_INSTRUCTION_UNLOCK);
126
-            $GLOBALS['xoopsTpl']->assign('lang_addpage', _AM_INSTRUCTION_ADDPAGE);
127
-            $GLOBALS['xoopsTpl']->assign('lang_addinstr', _AM_INSTRUCTION_ADDINSTR);
128
-        }
129
-
130
-        // Выводим шаблон
131
-        $GLOBALS['xoopsTpl']->display('db:admin/instruction_admin_instr.tpl');
132
-
133
-        // Текст внизу админки
134
-        include __DIR__ . '/admin_footer.php';
135
-
136
-        break;
137
-
138
-    // Редактирование категории
139
-    case 'editinstr':
140
-
141
-        // Заголовок админки
142
-        xoops_cp_header();
143
-        // Меню
144
-        $adminObject->displayNavigation(basename(__FILE__));
145
-
146
-        // Если мы редактируем инструкцию
147
-        if ($instrid) {
148
-            $objInsinstr = $instructionHandler->get($instrid);
149
-            // Создание новой страницы
150
-        } else {
151
-            $objInsinstr = $instructionHandler->create();
152
-        }
153
-
154
-        // Выводим шаблон
155
-        $GLOBALS['xoopsTpl']->display('db:admin/instruction_admin_editinstr.tpl');
156
-        $form = $objInsinstr->getForm('instr.php');
157
-        // Форма
158
-        echo $form->render();
159
-
160
-        // Текст внизу админки
161
-        include __DIR__ . '/admin_footer.php';
162
-
163
-        break;
164
-
165
-    // Сохранение инструкций
166
-    case 'saveinstr':
167
-
168
-        // Проверка
169
-        if (!$GLOBALS['xoopsSecurity']->check()) {
170
-            redirect_header('instr.php', 3, implode(',', $GLOBALS['xoopsSecurity']->getErrors()));
171
-        }
172
-        // Если мы редактируем
173
-        if ($instrid) {
174
-            $objInsinstr = $instructionHandler->get($instrid);
175
-        } else {
176
-            $objInsinstr = $instructionHandler->create();
177
-            // Указываем дату создания
178
-            $objInsinstr->setVar('datecreated', $time);
179
-            // Указываем пользователя
180
-            $objInsinstr->setVar('uid', $uid);
181
-        }
182
-
183
-        $err         = false;
184
-        $message_err = '';
185
-        //
186
-        $instr_title       = Request::getString( 'title', '', 'POST');
187
-        $instr_description = Request::getString( 'description', '', 'POST');
188
-
189
-        // Дата обновления
190
-        $objInsinstr->setVar('dateupdated', $time);
191
-        //
192
-        $objInsinstr->setVar('cid', $cid);
193
-        $objInsinstr->setVar('title', $instr_title);
194
-        $objInsinstr->setVar('status', Request::getInt( 'status', 0));
195
-        $objInsinstr->setVar('description', $instr_description);
196
-        $objInsinstr->setVar('metakeywords', Request::getString( 'metakeywords', ''));
197
-        $objInsinstr->setVar('metadescription', Request::getString( 'metadescription', ''));
198
-
199
-        // Проверка категорий
200
-        if (!$cid) {
201
-            $err         = true;
202
-            $message_err .= _AM_INSTRUCTION_ERR_CAT . '<br>';
203
-        }
204
-        // Проверка названия
205
-        if (!$instr_title) {
206
-            $err         = true;
207
-            $message_err .= _AM_INSTR_ERR_TITLE . '<br>';
208
-        }
209
-        // Проверка основного текста
210
-        if (!$instr_description) {
211
-            $err         = true;
212
-            $message_err .= _AM_INSTR_ERR_DESCRIPTION . '<br>';
213
-        }
214
-
215
-        // Если были ошибки
216
-        if (true === $err) {
217
-            xoops_cp_header();
218
-            // Меню страницы
219
-            $adminObject->displayNavigation(basename(__FILE__));
220
-
221
-            $message_err = '<div class="errorMsg" style="text-align: left;">' . $message_err . '</div>';
222
-            // Выводим ошибки в шаблон
223
-            $GLOBALS['xoopsTpl']->assign('insErrorMsg', $message_err);
224
-            // Если небыло ошибок
225
-        } else {
226
-            // Вставляем данные в БД
227
-            if ($instructionHandler->insert($objInsinstr)) {
228
-                // Получаем ID созданной записи
229
-                $instrid_new = $instrid ?: $objInsinstr->getNewInstertId();
230
-                // Обновление даты в категории
231
-                $categoryHandler->updateDateupdated($cid, $time);
232
-                // Тэги
233
-                if (xoops_getModuleOption('usetag', 'instruction')) {
234
-                    $tagHandler = xoops_getModuleHandler('tag', 'tag');
235
-                    $tagHandler->updateByItem(Request::getArray( 'tag', '', 'POST'), $instrid_new, $GLOBALS['xoopsModule']->getVar('dirname'), 0);
236
-                }
237
-
238
-                // Если мы редактируем
239
-                if ($instrid) {
240
-                    redirect_header('instr.php', 3, _AM_INSTRUCTION_INSTRMODIFY);
241
-                } else {
242
-                    redirect_header('instr.php', 3, _AM_INSTRUCTION_INSTRADDED);
243
-                }
244
-            }
245
-            xoops_cp_header();
246
-            // Меню страницы
247
-            $adminObject->displayNavigation(basename(__FILE__));
248
-
249
-            // Выводим ошибки в шаблон
250
-            $GLOBALS['xoopsTpl']->assign('insErrorMsg', $objInstructioncat->getHtmlErrors());
251
-        }
252
-        // Выводим шаблон
253
-        $GLOBALS['xoopsTpl']->display('db:admin/instruction_admin_saveinstr.tpl');
254
-        // Выводим форму
255
-        $form = $objInsinstr->getForm();
256
-        // Форма
257
-        echo $form->render();
258
-        // Текст внизу админки
259
-        include __DIR__ . '/admin_footer.php';
260
-
261
-        break;
262
-
263
-    // Просмотр категории
264
-    case 'viewinstr':
265
-
266
-        // Подключаем трей
267
-        include_once XOOPS_ROOT_PATH . '/modules/instruction/class/tree.php';
268
-
269
-        // Заголовок админки
270
-        xoops_cp_header();
271
-        // Меню
272
-        $adminObject->displayNavigation(basename(__FILE__));
273
-        // Кнопки
274
-        $adminObject->addItemButton(_AM_INSTRUCTION_ADDPAGE, 'instr.php?op=editpage&instrid=' . $instrid, 'add');
275
-        $adminObject->displayButton('left', '');
276
-
277
-        //
278
-        $objInsinstr = $instructionHandler->get($instrid);
279
-
280
-        // Находим все страницы в данной инструкции
281
-        $criteria = new \CriteriaCompo();
282
-        $criteria->add(new \Criteria('instrid', $instrid, '='));
283
-        $criteria->setSort('weight');
284
-        $criteria->setOrder('ASC');
285
-        $ins_page = $pageHandler->getall($criteria);
286
-        //
287
-        unset($criteria);
288
-
289
-        // Инициализируем
290
-        $instree = new instruction\Tree($ins_page, 'pageid', 'pid');
291
-        // Выводим список страниц в шаблон
292
-        $GLOBALS['xoopsTpl']->assign('insListPage', $instree->makePagesAdmin($objInsinstr, '--'));
293
-
294
-        // Выводим шаблон
295
-        $GLOBALS['xoopsTpl']->display('db:admin/instruction_admin_viewinstr.tpl');
296
-
297
-        // Текст внизу админки
298
-        include __DIR__ . '/admin_footer.php';
299
-
300
-        break;
301
-
302
-    // Удаление категории
303
-    case 'delinstr':
304
-
305
-        // Проверка на instrid
306
-        // ==================
307
-        // Объект инструкций
308
-        $objInsinstr = $instructionHandler->get($instrid);
309
-
310
-        // Нажали ли мы на кнопку OK
311
-        $ok = Request::getInt( 'ok', 0, 'POST');
312
-        //
313
-        if ($ok) {
314
-
315
-            // Проверка
316
-            if (!$GLOBALS['xoopsSecurity']->check()) {
317
-                redirect_header('instr.php', 3, implode(',', $GLOBALS['xoopsSecurity']->getErrors()));
318
-            }
319
-            // Находим все страницы, пренадлежащие этой инструкции
320
-            $criteria = new \CriteriaCompo();
321
-            $criteria->add(new \Criteria('instrid', $instrid));
322
-            $ins_page = $pageHandler->getall($criteria);
323
-            //
324
-            unset($criteria);
325
-            // Перебираем все страницы в данной инструкции
326
-            foreach (array_keys($ins_page) as $i) {
327
-                // Декримент комментов
328
-                // Делает дикримент одного коммента, а не всех в цикле...
329
-                // Удаляем комментарии
330
-                xoops_comment_delete($GLOBALS['xoopsModule']->getVar('mid'), $ins_page[$i]->getVar('pageid'));
331
-                // Декримент страниц (Опционально)
332
-                // ==============================
333
-
334
-                // Удаляем страницу
335
-                // Сделать проверку на удалённость страницы
336
-                // ========================================
337
-                $pageHandler->delete($ins_page[$i]);
338
-            }
339
-            // Пытаемся удалить инструкцию
340
-            if ($instructionHandler->delete($objInsinstr)) {
341
-                // Редирект
342
-                redirect_header('instr.php', 3, _AM_INSTRUCTION_INSTRDELETED);
343
-            } else {
344
-                // Редирект
345
-                redirect_header('instr.php', 3, _AM_INSTRUCTION_ERR_DELINSTR);
346
-            }
347
-        } else {
348
-            xoops_cp_header();
349
-
350
-            $adminObject->displayNavigation(basename(__FILE__));
351
-            // Форма
352
-            xoops_confirm(['ok' => 1, 'instrid' => $instrid, 'op' => 'delinstr'], 'instr.php', sprintf(_AM_INSTRUCTION_FORMDELINSTR, $objInsinstr->getVar('title')));
353
-            // Текст внизу админки
354
-            include __DIR__ . '/admin_footer.php';
355
-        }
356
-
357
-        break;
358
-
359
-    // Добавление страницы
360
-    case 'editpage':
361
-
362
-        // Заголовок админки
363
-        xoops_cp_header();
364
-        // Скрипты
365
-        $xoTheme->addScript(XOOPS_URL . '/modules/instruction/assets/js/admin.js');
366
-        // Меню
367
-        $adminObject->displayNavigation(basename(__FILE__));
368
-
369
-        // Если мы редактируем страницу
370
-        if ($pageid) {
371
-            // Получаем объект страницы
372
-            $objInspage = $pageHandler->get($pageid);
373
-            // ID инструкции
374
-            $instrid = $objInspage->getVar('instrid');
375
-            // Создание новой страницы
376
-        } elseif ($instrid) {
377
-            // Создаём объект страницы
378
-            $objInspage = $pageHandler->create();
379
-            // Устанавливаем родительскую страницу
380
-            $objInspage->setVar('pid', $pid);
381
-        } else {
382
-            redirect_header('instr.php', 3, _AM_INSTRUCTION_BADREQUEST);
383
-        }
384
-        // Форма
385
-        $form = $objInspage->getForm('instr.php', $instrid);
386
-        // Форма
387
-        echo $form->render();
388
-        // Выводим шаблон
389
-        $GLOBALS['xoopsTpl']->display('db:admin/instruction_admin_editpage.tpl');
390
-
391
-        // Текст внизу админки
392
-        include __DIR__ . '/admin_footer.php';
393
-
394
-        break;
395
-
396
-    // Сохранение страницы
397
-    case 'savepage':
398
-        // Ошибки
399
-        $err         = false;
400
-        $message_err = '';
401
-
402
-        // Проверка сессии
403
-        if (!$GLOBALS['xoopsSecurity']->check()) {
404
-            $err         = true;
405
-            $err_txt     = implode(', ', $GLOBALS['xoopsSecurity']->getErrors());
406
-            $message_err .= $err_txt . '<br>';
407
-        }
408
-
409
-        // Если мы редактируем
410
-        if ($pageid) {
411
-            $objInspage = $pageHandler->get($pageid);
412
-        } elseif ($instrid) {
413
-            $objInspage = $pageHandler->create();
414
-            // Если мы создаём страницу необходимо указать к какой инструкции
415
-            $objInspage->setVar('instrid', $instrid);
416
-            // Указываем дату создания
417
-            $objInspage->setVar('datecreated', $time);
418
-            // Указываем пользователя
419
-            $objInspage->setVar('uid', $uid);
420
-        } else {
421
-            redirect_header('instr.php', 3, _AM_INSTRUCTION_BADREQUEST);
422
-        }
423
-
424
-        //
425
-        $page_title    = Request::getString( 'title', '', 'POST');
426
-        $page_hometext = Request::getString( 'hometext', '', 'POST');
427
-
428
-        // Родительская страница
429
-        $objInspage->setVar('pid', $pid);
430
-        // Дата обновления
431
-        $objInspage->setVar('dateupdated', $time);
432
-        // Название страницы
433
-        $objInspage->setVar('title', $page_title);
434
-        // Вес страницы
435
-        $objInspage->setVar('weight', $weight);
436
-        // Основной текст
437
-        $objInspage->setVar('hometext', $page_hometext);
438
-        // Сноска
439
-        $objInspage->setVar('footnote', Request::getString( 'footnote', '', 'POST'));
440
-        // Статус
441
-        $objInspage->setVar('status', Request::getInt( 'status', 0, 'POST'));
442
-        // Тип
443
-        $objInspage->setVar('type', Request::getInt( 'type', 0, 'POST'));
444
-        // Мета-теги описания
445
-        $objInspage->setVar('keywords', Request::getString( 'keywords', '', 'POST'));
446
-        // Мета-теги ключевых слов
447
-        $objInspage->setVar('description', Request::getString( 'description', '', 'POST'));
448
-        //
449
-        $dosmiley    = (Request::getInt( 'dosmiley', 0, 'POST') > 0) ? 1 : 0;
450
-        $doxcode     = (Request::getInt( 'doxcode', 0, 'POST') > 0) ? 1 : 0;
451
-        $dobr        = (Request::getInt( 'dobr', 0, 'POST') > 0) ? 1 : 0;
452
-        $dohtml      = (Request::getInt( 'dohtml', 0, 'POST') > 0) ? 1 : 0;
453
-        //$doimage = ( isset( $_POST['doimage'] ) && intval( $_POST['doimage'] ) > 0 ) ? 1 : 0;
454
-        $objInspage->setVar('dohtml', $dohtml);
455
-        $objInspage->setVar('dosmiley', $dosmiley);
456
-        $objInspage->setVar('doxcode', $doxcode);
457
-        //$objInspage->setVar( 'doimage', $doimage );
458
-        $objInspage->setVar('dobr', $dobr);
459
-
460
-        //
461
-        if (!$pageid && !$instrid) {
462
-            $err         = true;
463
-            $message_err .= _AM_INSTRUCTION_ERR_INSTR . '<br>';
464
-        }
465
-        // Проверка веса
466
-        if (0 == $weight) {
467
-            $err         = true;
468
-            $message_err .= _AM_INSTRUCTION_ERR_WEIGHT . '<br>';
469
-        }
470
-        // Проверка родительской страницы
471
-        if ($pageid && ($pageid == $pid)) {
472
-            $err         = true;
473
-            $message_err .= _AM_INSTRUCTION_ERR_PPAGE . '<br>';
474
-        }
475
-        // Проверка названия
476
-        if (!$page_title) {
477
-            $err         = true;
478
-            $message_err .= _AM_INSTR_ERR_TITLE . '<br>';
479
-        }
480
-        // Проверка основного текста
481
-        if (!$page_hometext) {
482
-            $err         = true;
483
-            $message_err .= _AM_INSTR_ERR_HOMETEXT . '<br>';
484
-        }
485
-
486
-        // Если были ошибки
487
-        if (true === $err) {
488
-            xoops_cp_header();
489
-            // Меню страницы
490
-            $adminObject->displayNavigation(basename(__FILE__));
491
-
492
-            $message_err = '<div class="errorMsg" style="text-align: left;">' . $message_err . '</div>';
493
-            // Выводим ошибки в шаблон
494
-            $GLOBALS['xoopsTpl']->assign('insErrorMsg', $message_err);
495
-            // Если небыло ошибок
496
-        } else {
497
-            // Вставляем данные в БД
498
-            if ($pageHandler->insert($objInspage)) {
499
-                // Ссылка для редиректа
500
-                $redirect_url = 'instr.php?op=viewinstr&amp;instrid=' . $instrid . '#pageid_' . $pid;
501
-                // Получаем ID инструкции
502
-                $instrid = $objInspage->getInstrid();
503
-                // Обновляем в инструкции число страниц и дату
504
-                $instructionHandler->updatePages($instrid);
505
-                // Если мы редактируем
506
-                if ($pageid) {
507
-                    // Редирект
508
-                    redirect_header($redirect_url, 3, _AM_INSTRUCTION_PAGEMODIFY);
509
-                    // Если мы добавляем
510
-                } else {
511
-                    // Инкримент комментов
512
-                    $pageHandler->updateposts($uid, Request::getInt( 'status', 0, 'POST'), 'add');
513
-                    // Редирект
514
-                    redirect_header($redirect_url, 3, _AM_INSTRUCTION_PAGEADDED);
515
-                }
516
-            }
517
-            xoops_cp_header();
518
-            // Меню страницы
519
-            $adminObject->displayNavigation(basename(__FILE__));
520
-
521
-            // Выводим ошибки в шаблон
522
-            $GLOBALS['xoopsTpl']->assign('insErrorMsg', $objInspage->getHtmlErrors());
523
-        }
524
-        // Скрипты
525
-        $xoTheme->addScript(XOOPS_URL . '/modules/instruction/assets/js/admin.js');
526
-        // Выводим шаблон
527
-        $GLOBALS['xoopsTpl']->display('db:admin/instruction_admin_savepage.tpl');
528
-        // Выводим форму
529
-        $form = $objInspage->getForm('instr.php', $instrid);
530
-        // Форма
531
-        echo $form->render();
532
-        // Текст внизу админки
533
-        include __DIR__ . '/admin_footer.php';
534
-
535
-        break;
536
-
537
-    // Удаление страницы
538
-    case 'delpage':
539
-
540
-        // Проверка на pageid
541
-        // ==================
542
-
543
-        $objInspage = $pageHandler->get($pageid);
544
-        // Нажали ли мы на кнопку OK
545
-        $ok = Request::getInt( 'ok', 0, 'POST');
546
-        // Если мы нажали на кнопку
547
-        if ($ok) {
548
-
549
-            // Проверка
550
-            if (!$GLOBALS['xoopsSecurity']->check()) {
551
-                redirect_header('instr.php', 3, implode(',', $GLOBALS['xoopsSecurity']->getErrors()));
552
-            }
553
-            // ID инструкции
554
-            $page_instrid = $objInspage->getVar('instrid');
555
-            // Декримент комментов
556
-            $pageHandler->updateposts($objInspage->getVar('uid'), $objInspage->getVar('status'), 'delete');
557
-            // Пытаемся удалить страницу
558
-            if ($pageHandler->delete($objInspage)) {
559
-                // Обновляем в инструкции число страниц и дату
560
-                $instructionHandler->updatePages($page_instrid);
561
-                // Удаляем комментарии
562
-                xoops_comment_delete($GLOBALS['xoopsModule']->getVar('mid'), $pageid);
563
-                //
564
-                redirect_header('instr.php?op=viewinstr&amp;instrid=' . $page_instrid, 3, _AM_INSTRUCTION_PAGEDELETED);
565
-                // Если не смогли удалить страницу
566
-            } else {
567
-                redirect_header('instr.php?op=viewinstr&amp;instrid=' . $page_instrid, 3, _AM_INSTRUCTION_ERR_DELPAGE);
568
-            }
569
-        } else {
570
-
571
-            // Заголовок админки
572
-            xoops_cp_header();
573
-            // Меню
574
-            $adminObject->displayNavigation(basename(__FILE__));
575
-            // Форма
576
-            xoops_confirm(['ok' => 1, 'pageid' => $pageid, 'op' => 'delpage'], 'instr.php', sprintf(_AM_INSTRUCTION_FORMDELPAGE, $objInspage->getVar('title')));
577
-            // Текст внизу админки
578
-            include __DIR__ . '/admin_footer.php';
579
-        }
580
-
581
-        break;
582
-
583
-    // Удаление страницы
584
-    case 'updpage':
585
-
586
-        // Принимаем данные
587
-        $pageids = Request::getArray('pageids', 0, 'POST');
588
-        $weights = Request::getArray('weights', 0, 'POST');
589
-        // Перебираем все значения
590
-        foreach ($pageids as $key => $pageid) {
591
-
592
-            // Объявляем объект
593
-            $objInspage = $pageHandler->get($pageid);
594
-            // Устанавливаем вес
595
-            $objInspage->setVar('weight', $weights[$key]);
596
-            // Вставляем данные в БД
597
-            $pageHandler->insert($objInspage);
598
-            // Удаляем объект
599
-            unset($objInspage);
600
-        }
601
-        // Редирект
602
-        redirect_header('instr.php?op=viewinstr&instrid=' . $instrid, 3, _AM_INSTRUCTION_PAGESUPDATE);
603
-
604
-        break;
44
+	case 'main':
45
+
46
+		// Заголовок админки
47
+		xoops_cp_header();
48
+		// Меню
49
+		$adminObject->displayNavigation(basename(__FILE__));
50
+		$adminObject->addItemButton(_AM_INSTRUCTION_ADDINSTR, 'instr.php?op=editinstr', 'add');
51
+		$adminObject->displayButton('left', '');
52
+
53
+		//
54
+		$criteria = new \CriteriaCompo();
55
+
56
+		// Если была передана категория
57
+		if ($cid) {
58
+			// Добавляем в выборку ID категории
59
+			$criteria->add(new \Criteria('cid', $cid, '='));
60
+			// Получаем объект категории
61
+			$objInscat = $categoryHandler->get($cid);
62
+			// Если нет такой категории
63
+			if (!is_object($objInscat)) {
64
+				redirect_header('cat.php', 3, _AM_INSTRUCTION_ERR_CATNOTSELECT);
65
+			}
66
+		}
67
+
68
+		// Число инструкций, удовлетворяющих данному условию
69
+		$numrows = $instructionHandler->getCount($criteria);
70
+
71
+		// Число выборки
72
+		$criteria->setLimit($limit);
73
+		// Начинасть с данного элемента
74
+		$criteria->setStart($start);
75
+		// Сортировать по
76
+		$criteria->setSort('instrid');
77
+		// Порядок сортировки
78
+		$criteria->setOrder('DESC');
79
+		// Находим все справки
80
+		$instr_arr = $instructionHandler->getall($criteria);
81
+		// Если записей больше чем $limit, то выводим пагинатор
82
+		if ($numrows > $limit) {
83
+			$pagenav = new \XoopsPageNav($numrows, $limit, $start, 'start', 'op=' . $op . '&amp;cid=' . $cid);
84
+			$pagenav = $pagenav->renderNav(4);
85
+		} else {
86
+			$pagenav = '';
87
+		}
88
+		// Выводим пагинатор в шаблон
89
+		$GLOBALS['xoopsTpl']->assign('insPagenav', $pagenav);
90
+
91
+		// Если есть записи
92
+		if ($numrows > 0) {
93
+			$class = 'odd';
94
+			foreach (array_keys($instr_arr) as $i) {
95
+
96
+				//
97
+				$class = ('even' === $class) ? 'odd' : 'even';
98
+				// ID
99
+				$insinstr_instrid = $instr_arr[$i]->getVar('instrid');
100
+				// Название
101
+				$insinstr_title = $instr_arr[$i]->getVar('title');
102
+				// Статус
103
+				$insinstr_status = $instr_arr[$i]->getVar('status');
104
+				// Количество страниц
105
+				$insinstr_pages = $instr_arr[$i]->getVar('pages');
106
+				// Категория
107
+				$insinstr_cat = $categoryHandler->get($instr_arr[$i]->getVar('cid'));
108
+
109
+				// Выводим в шаблон
110
+				$GLOBALS['xoopsTpl']->append('insListInstr', ['instrid' => $insinstr_instrid, 'title' => $insinstr_title, 'status' => $insinstr_status, 'pages' => $insinstr_pages, 'ctitle' => $insinstr_cat->getVar('title'), 'cid' => $insinstr_cat->getVar('cid'), 'class' => $class]);
111
+			}
112
+
113
+			//
114
+			$inshead = isset($objInscat) && is_object($objInscat) ? sprintf(_AM_INSTR_LISTINSTRINCAT, $objInscat->getVar('title')) : _AM_INSTR_LISTINSTRALL;
115
+			$GLOBALS['xoopsTpl']->assign('insHead', $inshead);
116
+			// Языковые константы
117
+			$GLOBALS['xoopsTpl']->assign('lang_title', _AM_INSTRUCTION_TITLE);
118
+			$GLOBALS['xoopsTpl']->assign('lang_cat', _AM_INSTRUCTION_CAT);
119
+			$GLOBALS['xoopsTpl']->assign('lang_pages', _AM_INSTRUCTION_PAGES);
120
+			$GLOBALS['xoopsTpl']->assign('lang_action', _AM_INSTRUCTION_ACTION);
121
+			$GLOBALS['xoopsTpl']->assign('lang_display', _AM_INSTRUCTION_DISPLAY);
122
+			$GLOBALS['xoopsTpl']->assign('lang_edit', _AM_INSTRUCTION_EDIT);
123
+			$GLOBALS['xoopsTpl']->assign('lang_del', _AM_INSTRUCTION_DEL);
124
+			$GLOBALS['xoopsTpl']->assign('lang_lock', _AM_INSTRUCTION_LOCK);
125
+			$GLOBALS['xoopsTpl']->assign('lang_unlock', _AM_INSTRUCTION_UNLOCK);
126
+			$GLOBALS['xoopsTpl']->assign('lang_addpage', _AM_INSTRUCTION_ADDPAGE);
127
+			$GLOBALS['xoopsTpl']->assign('lang_addinstr', _AM_INSTRUCTION_ADDINSTR);
128
+		}
129
+
130
+		// Выводим шаблон
131
+		$GLOBALS['xoopsTpl']->display('db:admin/instruction_admin_instr.tpl');
132
+
133
+		// Текст внизу админки
134
+		include __DIR__ . '/admin_footer.php';
135
+
136
+		break;
137
+
138
+	// Редактирование категории
139
+	case 'editinstr':
140
+
141
+		// Заголовок админки
142
+		xoops_cp_header();
143
+		// Меню
144
+		$adminObject->displayNavigation(basename(__FILE__));
145
+
146
+		// Если мы редактируем инструкцию
147
+		if ($instrid) {
148
+			$objInsinstr = $instructionHandler->get($instrid);
149
+			// Создание новой страницы
150
+		} else {
151
+			$objInsinstr = $instructionHandler->create();
152
+		}
153
+
154
+		// Выводим шаблон
155
+		$GLOBALS['xoopsTpl']->display('db:admin/instruction_admin_editinstr.tpl');
156
+		$form = $objInsinstr->getForm('instr.php');
157
+		// Форма
158
+		echo $form->render();
159
+
160
+		// Текст внизу админки
161
+		include __DIR__ . '/admin_footer.php';
162
+
163
+		break;
164
+
165
+	// Сохранение инструкций
166
+	case 'saveinstr':
167
+
168
+		// Проверка
169
+		if (!$GLOBALS['xoopsSecurity']->check()) {
170
+			redirect_header('instr.php', 3, implode(',', $GLOBALS['xoopsSecurity']->getErrors()));
171
+		}
172
+		// Если мы редактируем
173
+		if ($instrid) {
174
+			$objInsinstr = $instructionHandler->get($instrid);
175
+		} else {
176
+			$objInsinstr = $instructionHandler->create();
177
+			// Указываем дату создания
178
+			$objInsinstr->setVar('datecreated', $time);
179
+			// Указываем пользователя
180
+			$objInsinstr->setVar('uid', $uid);
181
+		}
182
+
183
+		$err         = false;
184
+		$message_err = '';
185
+		//
186
+		$instr_title       = Request::getString( 'title', '', 'POST');
187
+		$instr_description = Request::getString( 'description', '', 'POST');
188
+
189
+		// Дата обновления
190
+		$objInsinstr->setVar('dateupdated', $time);
191
+		//
192
+		$objInsinstr->setVar('cid', $cid);
193
+		$objInsinstr->setVar('title', $instr_title);
194
+		$objInsinstr->setVar('status', Request::getInt( 'status', 0));
195
+		$objInsinstr->setVar('description', $instr_description);
196
+		$objInsinstr->setVar('metakeywords', Request::getString( 'metakeywords', ''));
197
+		$objInsinstr->setVar('metadescription', Request::getString( 'metadescription', ''));
198
+
199
+		// Проверка категорий
200
+		if (!$cid) {
201
+			$err         = true;
202
+			$message_err .= _AM_INSTRUCTION_ERR_CAT . '<br>';
203
+		}
204
+		// Проверка названия
205
+		if (!$instr_title) {
206
+			$err         = true;
207
+			$message_err .= _AM_INSTR_ERR_TITLE . '<br>';
208
+		}
209
+		// Проверка основного текста
210
+		if (!$instr_description) {
211
+			$err         = true;
212
+			$message_err .= _AM_INSTR_ERR_DESCRIPTION . '<br>';
213
+		}
214
+
215
+		// Если были ошибки
216
+		if (true === $err) {
217
+			xoops_cp_header();
218
+			// Меню страницы
219
+			$adminObject->displayNavigation(basename(__FILE__));
220
+
221
+			$message_err = '<div class="errorMsg" style="text-align: left;">' . $message_err . '</div>';
222
+			// Выводим ошибки в шаблон
223
+			$GLOBALS['xoopsTpl']->assign('insErrorMsg', $message_err);
224
+			// Если небыло ошибок
225
+		} else {
226
+			// Вставляем данные в БД
227
+			if ($instructionHandler->insert($objInsinstr)) {
228
+				// Получаем ID созданной записи
229
+				$instrid_new = $instrid ?: $objInsinstr->getNewInstertId();
230
+				// Обновление даты в категории
231
+				$categoryHandler->updateDateupdated($cid, $time);
232
+				// Тэги
233
+				if (xoops_getModuleOption('usetag', 'instruction')) {
234
+					$tagHandler = xoops_getModuleHandler('tag', 'tag');
235
+					$tagHandler->updateByItem(Request::getArray( 'tag', '', 'POST'), $instrid_new, $GLOBALS['xoopsModule']->getVar('dirname'), 0);
236
+				}
237
+
238
+				// Если мы редактируем
239
+				if ($instrid) {
240
+					redirect_header('instr.php', 3, _AM_INSTRUCTION_INSTRMODIFY);
241
+				} else {
242
+					redirect_header('instr.php', 3, _AM_INSTRUCTION_INSTRADDED);
243
+				}
244
+			}
245
+			xoops_cp_header();
246
+			// Меню страницы
247
+			$adminObject->displayNavigation(basename(__FILE__));
248
+
249
+			// Выводим ошибки в шаблон
250
+			$GLOBALS['xoopsTpl']->assign('insErrorMsg', $objInstructioncat->getHtmlErrors());
251
+		}
252
+		// Выводим шаблон
253
+		$GLOBALS['xoopsTpl']->display('db:admin/instruction_admin_saveinstr.tpl');
254
+		// Выводим форму
255
+		$form = $objInsinstr->getForm();
256
+		// Форма
257
+		echo $form->render();
258
+		// Текст внизу админки
259
+		include __DIR__ . '/admin_footer.php';
260
+
261
+		break;
262
+
263
+	// Просмотр категории
264
+	case 'viewinstr':
265
+
266
+		// Подключаем трей
267
+		include_once XOOPS_ROOT_PATH . '/modules/instruction/class/tree.php';
268
+
269
+		// Заголовок админки
270
+		xoops_cp_header();
271
+		// Меню
272
+		$adminObject->displayNavigation(basename(__FILE__));
273
+		// Кнопки
274
+		$adminObject->addItemButton(_AM_INSTRUCTION_ADDPAGE, 'instr.php?op=editpage&instrid=' . $instrid, 'add');
275
+		$adminObject->displayButton('left', '');
276
+
277
+		//
278
+		$objInsinstr = $instructionHandler->get($instrid);
279
+
280
+		// Находим все страницы в данной инструкции
281
+		$criteria = new \CriteriaCompo();
282
+		$criteria->add(new \Criteria('instrid', $instrid, '='));
283
+		$criteria->setSort('weight');
284
+		$criteria->setOrder('ASC');
285
+		$ins_page = $pageHandler->getall($criteria);
286
+		//
287
+		unset($criteria);
288
+
289
+		// Инициализируем
290
+		$instree = new instruction\Tree($ins_page, 'pageid', 'pid');
291
+		// Выводим список страниц в шаблон
292
+		$GLOBALS['xoopsTpl']->assign('insListPage', $instree->makePagesAdmin($objInsinstr, '--'));
293
+
294
+		// Выводим шаблон
295
+		$GLOBALS['xoopsTpl']->display('db:admin/instruction_admin_viewinstr.tpl');
296
+
297
+		// Текст внизу админки
298
+		include __DIR__ . '/admin_footer.php';
299
+
300
+		break;
301
+
302
+	// Удаление категории
303
+	case 'delinstr':
304
+
305
+		// Проверка на instrid
306
+		// ==================
307
+		// Объект инструкций
308
+		$objInsinstr = $instructionHandler->get($instrid);
309
+
310
+		// Нажали ли мы на кнопку OK
311
+		$ok = Request::getInt( 'ok', 0, 'POST');
312
+		//
313
+		if ($ok) {
314
+
315
+			// Проверка
316
+			if (!$GLOBALS['xoopsSecurity']->check()) {
317
+				redirect_header('instr.php', 3, implode(',', $GLOBALS['xoopsSecurity']->getErrors()));
318
+			}
319
+			// Находим все страницы, пренадлежащие этой инструкции
320
+			$criteria = new \CriteriaCompo();
321
+			$criteria->add(new \Criteria('instrid', $instrid));
322
+			$ins_page = $pageHandler->getall($criteria);
323
+			//
324
+			unset($criteria);
325
+			// Перебираем все страницы в данной инструкции
326
+			foreach (array_keys($ins_page) as $i) {
327
+				// Декримент комментов
328
+				// Делает дикримент одного коммента, а не всех в цикле...
329
+				// Удаляем комментарии
330
+				xoops_comment_delete($GLOBALS['xoopsModule']->getVar('mid'), $ins_page[$i]->getVar('pageid'));
331
+				// Декримент страниц (Опционально)
332
+				// ==============================
333
+
334
+				// Удаляем страницу
335
+				// Сделать проверку на удалённость страницы
336
+				// ========================================
337
+				$pageHandler->delete($ins_page[$i]);
338
+			}
339
+			// Пытаемся удалить инструкцию
340
+			if ($instructionHandler->delete($objInsinstr)) {
341
+				// Редирект
342
+				redirect_header('instr.php', 3, _AM_INSTRUCTION_INSTRDELETED);
343
+			} else {
344
+				// Редирект
345
+				redirect_header('instr.php', 3, _AM_INSTRUCTION_ERR_DELINSTR);
346
+			}
347
+		} else {
348
+			xoops_cp_header();
349
+
350
+			$adminObject->displayNavigation(basename(__FILE__));
351
+			// Форма
352
+			xoops_confirm(['ok' => 1, 'instrid' => $instrid, 'op' => 'delinstr'], 'instr.php', sprintf(_AM_INSTRUCTION_FORMDELINSTR, $objInsinstr->getVar('title')));
353
+			// Текст внизу админки
354
+			include __DIR__ . '/admin_footer.php';
355
+		}
356
+
357
+		break;
358
+
359
+	// Добавление страницы
360
+	case 'editpage':
361
+
362
+		// Заголовок админки
363
+		xoops_cp_header();
364
+		// Скрипты
365
+		$xoTheme->addScript(XOOPS_URL . '/modules/instruction/assets/js/admin.js');
366
+		// Меню
367
+		$adminObject->displayNavigation(basename(__FILE__));
368
+
369
+		// Если мы редактируем страницу
370
+		if ($pageid) {
371
+			// Получаем объект страницы
372
+			$objInspage = $pageHandler->get($pageid);
373
+			// ID инструкции
374
+			$instrid = $objInspage->getVar('instrid');
375
+			// Создание новой страницы
376
+		} elseif ($instrid) {
377
+			// Создаём объект страницы
378
+			$objInspage = $pageHandler->create();
379
+			// Устанавливаем родительскую страницу
380
+			$objInspage->setVar('pid', $pid);
381
+		} else {
382
+			redirect_header('instr.php', 3, _AM_INSTRUCTION_BADREQUEST);
383
+		}
384
+		// Форма
385
+		$form = $objInspage->getForm('instr.php', $instrid);
386
+		// Форма
387
+		echo $form->render();
388
+		// Выводим шаблон
389
+		$GLOBALS['xoopsTpl']->display('db:admin/instruction_admin_editpage.tpl');
390
+
391
+		// Текст внизу админки
392
+		include __DIR__ . '/admin_footer.php';
393
+
394
+		break;
395
+
396
+	// Сохранение страницы
397
+	case 'savepage':
398
+		// Ошибки
399
+		$err         = false;
400
+		$message_err = '';
401
+
402
+		// Проверка сессии
403
+		if (!$GLOBALS['xoopsSecurity']->check()) {
404
+			$err         = true;
405
+			$err_txt     = implode(', ', $GLOBALS['xoopsSecurity']->getErrors());
406
+			$message_err .= $err_txt . '<br>';
407
+		}
408
+
409
+		// Если мы редактируем
410
+		if ($pageid) {
411
+			$objInspage = $pageHandler->get($pageid);
412
+		} elseif ($instrid) {
413
+			$objInspage = $pageHandler->create();
414
+			// Если мы создаём страницу необходимо указать к какой инструкции
415
+			$objInspage->setVar('instrid', $instrid);
416
+			// Указываем дату создания
417
+			$objInspage->setVar('datecreated', $time);
418
+			// Указываем пользователя
419
+			$objInspage->setVar('uid', $uid);
420
+		} else {
421
+			redirect_header('instr.php', 3, _AM_INSTRUCTION_BADREQUEST);
422
+		}
423
+
424
+		//
425
+		$page_title    = Request::getString( 'title', '', 'POST');
426
+		$page_hometext = Request::getString( 'hometext', '', 'POST');
427
+
428
+		// Родительская страница
429
+		$objInspage->setVar('pid', $pid);
430
+		// Дата обновления
431
+		$objInspage->setVar('dateupdated', $time);
432
+		// Название страницы
433
+		$objInspage->setVar('title', $page_title);
434
+		// Вес страницы
435
+		$objInspage->setVar('weight', $weight);
436
+		// Основной текст
437
+		$objInspage->setVar('hometext', $page_hometext);
438
+		// Сноска
439
+		$objInspage->setVar('footnote', Request::getString( 'footnote', '', 'POST'));
440
+		// Статус
441
+		$objInspage->setVar('status', Request::getInt( 'status', 0, 'POST'));
442
+		// Тип
443
+		$objInspage->setVar('type', Request::getInt( 'type', 0, 'POST'));
444
+		// Мета-теги описания
445
+		$objInspage->setVar('keywords', Request::getString( 'keywords', '', 'POST'));
446
+		// Мета-теги ключевых слов
447
+		$objInspage->setVar('description', Request::getString( 'description', '', 'POST'));
448
+		//
449
+		$dosmiley    = (Request::getInt( 'dosmiley', 0, 'POST') > 0) ? 1 : 0;
450
+		$doxcode     = (Request::getInt( 'doxcode', 0, 'POST') > 0) ? 1 : 0;
451
+		$dobr        = (Request::getInt( 'dobr', 0, 'POST') > 0) ? 1 : 0;
452
+		$dohtml      = (Request::getInt( 'dohtml', 0, 'POST') > 0) ? 1 : 0;
453
+		//$doimage = ( isset( $_POST['doimage'] ) && intval( $_POST['doimage'] ) > 0 ) ? 1 : 0;
454
+		$objInspage->setVar('dohtml', $dohtml);
455
+		$objInspage->setVar('dosmiley', $dosmiley);
456
+		$objInspage->setVar('doxcode', $doxcode);
457
+		//$objInspage->setVar( 'doimage', $doimage );
458
+		$objInspage->setVar('dobr', $dobr);
459
+
460
+		//
461
+		if (!$pageid && !$instrid) {
462
+			$err         = true;
463
+			$message_err .= _AM_INSTRUCTION_ERR_INSTR . '<br>';
464
+		}
465
+		// Проверка веса
466
+		if (0 == $weight) {
467
+			$err         = true;
468
+			$message_err .= _AM_INSTRUCTION_ERR_WEIGHT . '<br>';
469
+		}
470
+		// Проверка родительской страницы
471
+		if ($pageid && ($pageid == $pid)) {
472
+			$err         = true;
473
+			$message_err .= _AM_INSTRUCTION_ERR_PPAGE . '<br>';
474
+		}
475
+		// Проверка названия
476
+		if (!$page_title) {
477
+			$err         = true;
478
+			$message_err .= _AM_INSTR_ERR_TITLE . '<br>';
479
+		}
480
+		// Проверка основного текста
481
+		if (!$page_hometext) {
482
+			$err         = true;
483
+			$message_err .= _AM_INSTR_ERR_HOMETEXT . '<br>';
484
+		}
485
+
486
+		// Если были ошибки
487
+		if (true === $err) {
488
+			xoops_cp_header();
489
+			// Меню страницы
490
+			$adminObject->displayNavigation(basename(__FILE__));
491
+
492
+			$message_err = '<div class="errorMsg" style="text-align: left;">' . $message_err . '</div>';
493
+			// Выводим ошибки в шаблон
494
+			$GLOBALS['xoopsTpl']->assign('insErrorMsg', $message_err);
495
+			// Если небыло ошибок
496
+		} else {
497
+			// Вставляем данные в БД
498
+			if ($pageHandler->insert($objInspage)) {
499
+				// Ссылка для редиректа
500
+				$redirect_url = 'instr.php?op=viewinstr&amp;instrid=' . $instrid . '#pageid_' . $pid;
501
+				// Получаем ID инструкции
502
+				$instrid = $objInspage->getInstrid();
503
+				// Обновляем в инструкции число страниц и дату
504
+				$instructionHandler->updatePages($instrid);
505
+				// Если мы редактируем
506
+				if ($pageid) {
507
+					// Редирект
508
+					redirect_header($redirect_url, 3, _AM_INSTRUCTION_PAGEMODIFY);
509
+					// Если мы добавляем
510
+				} else {
511
+					// Инкримент комментов
512
+					$pageHandler->updateposts($uid, Request::getInt( 'status', 0, 'POST'), 'add');
513
+					// Редирект
514
+					redirect_header($redirect_url, 3, _AM_INSTRUCTION_PAGEADDED);
515
+				}
516
+			}
517
+			xoops_cp_header();
518
+			// Меню страницы
519
+			$adminObject->displayNavigation(basename(__FILE__));
520
+
521
+			// Выводим ошибки в шаблон
522
+			$GLOBALS['xoopsTpl']->assign('insErrorMsg', $objInspage->getHtmlErrors());
523
+		}
524
+		// Скрипты
525
+		$xoTheme->addScript(XOOPS_URL . '/modules/instruction/assets/js/admin.js');
526
+		// Выводим шаблон
527
+		$GLOBALS['xoopsTpl']->display('db:admin/instruction_admin_savepage.tpl');
528
+		// Выводим форму
529
+		$form = $objInspage->getForm('instr.php', $instrid);
530
+		// Форма
531
+		echo $form->render();
532
+		// Текст внизу админки
533
+		include __DIR__ . '/admin_footer.php';
534
+
535
+		break;
536
+
537
+	// Удаление страницы
538
+	case 'delpage':
539
+
540
+		// Проверка на pageid
541
+		// ==================
542
+
543
+		$objInspage = $pageHandler->get($pageid);
544
+		// Нажали ли мы на кнопку OK
545
+		$ok = Request::getInt( 'ok', 0, 'POST');
546
+		// Если мы нажали на кнопку
547
+		if ($ok) {
548
+
549
+			// Проверка
550
+			if (!$GLOBALS['xoopsSecurity']->check()) {
551
+				redirect_header('instr.php', 3, implode(',', $GLOBALS['xoopsSecurity']->getErrors()));
552
+			}
553
+			// ID инструкции
554
+			$page_instrid = $objInspage->getVar('instrid');
555
+			// Декримент комментов
556
+			$pageHandler->updateposts($objInspage->getVar('uid'), $objInspage->getVar('status'), 'delete');
557
+			// Пытаемся удалить страницу
558
+			if ($pageHandler->delete($objInspage)) {
559
+				// Обновляем в инструкции число страниц и дату
560
+				$instructionHandler->updatePages($page_instrid);
561
+				// Удаляем комментарии
562
+				xoops_comment_delete($GLOBALS['xoopsModule']->getVar('mid'), $pageid);
563
+				//
564
+				redirect_header('instr.php?op=viewinstr&amp;instrid=' . $page_instrid, 3, _AM_INSTRUCTION_PAGEDELETED);
565
+				// Если не смогли удалить страницу
566
+			} else {
567
+				redirect_header('instr.php?op=viewinstr&amp;instrid=' . $page_instrid, 3, _AM_INSTRUCTION_ERR_DELPAGE);
568
+			}
569
+		} else {
570
+
571
+			// Заголовок админки
572
+			xoops_cp_header();
573
+			// Меню
574
+			$adminObject->displayNavigation(basename(__FILE__));
575
+			// Форма
576
+			xoops_confirm(['ok' => 1, 'pageid' => $pageid, 'op' => 'delpage'], 'instr.php', sprintf(_AM_INSTRUCTION_FORMDELPAGE, $objInspage->getVar('title')));
577
+			// Текст внизу админки
578
+			include __DIR__ . '/admin_footer.php';
579
+		}
580
+
581
+		break;
582
+
583
+	// Удаление страницы
584
+	case 'updpage':
585
+
586
+		// Принимаем данные
587
+		$pageids = Request::getArray('pageids', 0, 'POST');
588
+		$weights = Request::getArray('weights', 0, 'POST');
589
+		// Перебираем все значения
590
+		foreach ($pageids as $key => $pageid) {
591
+
592
+			// Объявляем объект
593
+			$objInspage = $pageHandler->get($pageid);
594
+			// Устанавливаем вес
595
+			$objInspage->setVar('weight', $weights[$key]);
596
+			// Вставляем данные в БД
597
+			$pageHandler->insert($objInspage);
598
+			// Удаляем объект
599
+			unset($objInspage);
600
+		}
601
+		// Редирект
602
+		redirect_header('instr.php?op=viewinstr&instrid=' . $instrid, 3, _AM_INSTRUCTION_PAGESUPDATE);
603
+
604
+		break;
605 605
 
606 606
 }
Please login to merge, or discard this patch.
Spacing   +46 added lines, -46 removed lines patch added patch discarded remove patch
@@ -22,21 +22,21 @@  discard block
 block discarded – undo
22 22
 $time = time();
23 23
 
24 24
 // ID инструкции
25
-$instrid = Request::getInt( 'instrid', 0);
25
+$instrid = Request::getInt('instrid', 0);
26 26
 // ID страницы
27
-$pageid = Request::getInt( 'pageid', 0);
27
+$pageid = Request::getInt('pageid', 0);
28 28
 // ID категории
29
-$cid = Request::getInt( 'cid', 0);
29
+$cid = Request::getInt('cid', 0);
30 30
 // Вес
31
-$weight = Request::getInt( 'weight', 0, 'POST');
31
+$weight = Request::getInt('weight', 0, 'POST');
32 32
 //
33
-$pid = Request::getInt( 'pid', 0);
33
+$pid = Request::getInt('pid', 0);
34 34
 //
35
-$start = Request::getInt( 'start', 0, 'GET');
35
+$start = Request::getInt('start', 0, 'GET');
36 36
 //
37 37
 $limit = xoops_getModuleOption('perpageadmin', 'instruction');
38 38
 
39
-$op  = Request::getString('op', Request::getString('op', 'main', 'GET'), 'POST');
39
+$op = Request::getString('op', Request::getString('op', 'main', 'GET'), 'POST');
40 40
 
41 41
 // Выбор
42 42
 switch ($op) {
@@ -60,7 +60,7 @@  discard block
 block discarded – undo
60 60
             // Получаем объект категории
61 61
             $objInscat = $categoryHandler->get($cid);
62 62
             // Если нет такой категории
63
-            if (!is_object($objInscat)) {
63
+            if ( ! is_object($objInscat)) {
64 64
                 redirect_header('cat.php', 3, _AM_INSTRUCTION_ERR_CATNOTSELECT);
65 65
             }
66 66
         }
@@ -166,7 +166,7 @@  discard block
 block discarded – undo
166 166
     case 'saveinstr':
167 167
 
168 168
         // Проверка
169
-        if (!$GLOBALS['xoopsSecurity']->check()) {
169
+        if ( ! $GLOBALS['xoopsSecurity']->check()) {
170 170
             redirect_header('instr.php', 3, implode(',', $GLOBALS['xoopsSecurity']->getErrors()));
171 171
         }
172 172
         // Если мы редактируем
@@ -183,32 +183,32 @@  discard block
 block discarded – undo
183 183
         $err         = false;
184 184
         $message_err = '';
185 185
         //
186
-        $instr_title       = Request::getString( 'title', '', 'POST');
187
-        $instr_description = Request::getString( 'description', '', 'POST');
186
+        $instr_title       = Request::getString('title', '', 'POST');
187
+        $instr_description = Request::getString('description', '', 'POST');
188 188
 
189 189
         // Дата обновления
190 190
         $objInsinstr->setVar('dateupdated', $time);
191 191
         //
192 192
         $objInsinstr->setVar('cid', $cid);
193 193
         $objInsinstr->setVar('title', $instr_title);
194
-        $objInsinstr->setVar('status', Request::getInt( 'status', 0));
194
+        $objInsinstr->setVar('status', Request::getInt('status', 0));
195 195
         $objInsinstr->setVar('description', $instr_description);
196
-        $objInsinstr->setVar('metakeywords', Request::getString( 'metakeywords', ''));
197
-        $objInsinstr->setVar('metadescription', Request::getString( 'metadescription', ''));
196
+        $objInsinstr->setVar('metakeywords', Request::getString('metakeywords', ''));
197
+        $objInsinstr->setVar('metadescription', Request::getString('metadescription', ''));
198 198
 
199 199
         // Проверка категорий
200
-        if (!$cid) {
201
-            $err         = true;
200
+        if ( ! $cid) {
201
+            $err = true;
202 202
             $message_err .= _AM_INSTRUCTION_ERR_CAT . '<br>';
203 203
         }
204 204
         // Проверка названия
205
-        if (!$instr_title) {
206
-            $err         = true;
205
+        if ( ! $instr_title) {
206
+            $err = true;
207 207
             $message_err .= _AM_INSTR_ERR_TITLE . '<br>';
208 208
         }
209 209
         // Проверка основного текста
210
-        if (!$instr_description) {
211
-            $err         = true;
210
+        if ( ! $instr_description) {
211
+            $err = true;
212 212
             $message_err .= _AM_INSTR_ERR_DESCRIPTION . '<br>';
213 213
         }
214 214
 
@@ -232,7 +232,7 @@  discard block
 block discarded – undo
232 232
                 // Тэги
233 233
                 if (xoops_getModuleOption('usetag', 'instruction')) {
234 234
                     $tagHandler = xoops_getModuleHandler('tag', 'tag');
235
-                    $tagHandler->updateByItem(Request::getArray( 'tag', '', 'POST'), $instrid_new, $GLOBALS['xoopsModule']->getVar('dirname'), 0);
235
+                    $tagHandler->updateByItem(Request::getArray('tag', '', 'POST'), $instrid_new, $GLOBALS['xoopsModule']->getVar('dirname'), 0);
236 236
                 }
237 237
 
238 238
                 // Если мы редактируем
@@ -308,12 +308,12 @@  discard block
 block discarded – undo
308 308
         $objInsinstr = $instructionHandler->get($instrid);
309 309
 
310 310
         // Нажали ли мы на кнопку OK
311
-        $ok = Request::getInt( 'ok', 0, 'POST');
311
+        $ok = Request::getInt('ok', 0, 'POST');
312 312
         //
313 313
         if ($ok) {
314 314
 
315 315
             // Проверка
316
-            if (!$GLOBALS['xoopsSecurity']->check()) {
316
+            if ( ! $GLOBALS['xoopsSecurity']->check()) {
317 317
                 redirect_header('instr.php', 3, implode(',', $GLOBALS['xoopsSecurity']->getErrors()));
318 318
             }
319 319
             // Находим все страницы, пренадлежащие этой инструкции
@@ -400,7 +400,7 @@  discard block
 block discarded – undo
400 400
         $message_err = '';
401 401
 
402 402
         // Проверка сессии
403
-        if (!$GLOBALS['xoopsSecurity']->check()) {
403
+        if ( ! $GLOBALS['xoopsSecurity']->check()) {
404 404
             $err         = true;
405 405
             $err_txt     = implode(', ', $GLOBALS['xoopsSecurity']->getErrors());
406 406
             $message_err .= $err_txt . '<br>';
@@ -422,8 +422,8 @@  discard block
 block discarded – undo
422 422
         }
423 423
 
424 424
         //
425
-        $page_title    = Request::getString( 'title', '', 'POST');
426
-        $page_hometext = Request::getString( 'hometext', '', 'POST');
425
+        $page_title    = Request::getString('title', '', 'POST');
426
+        $page_hometext = Request::getString('hometext', '', 'POST');
427 427
 
428 428
         // Родительская страница
429 429
         $objInspage->setVar('pid', $pid);
@@ -436,20 +436,20 @@  discard block
 block discarded – undo
436 436
         // Основной текст
437 437
         $objInspage->setVar('hometext', $page_hometext);
438 438
         // Сноска
439
-        $objInspage->setVar('footnote', Request::getString( 'footnote', '', 'POST'));
439
+        $objInspage->setVar('footnote', Request::getString('footnote', '', 'POST'));
440 440
         // Статус
441
-        $objInspage->setVar('status', Request::getInt( 'status', 0, 'POST'));
441
+        $objInspage->setVar('status', Request::getInt('status', 0, 'POST'));
442 442
         // Тип
443
-        $objInspage->setVar('type', Request::getInt( 'type', 0, 'POST'));
443
+        $objInspage->setVar('type', Request::getInt('type', 0, 'POST'));
444 444
         // Мета-теги описания
445
-        $objInspage->setVar('keywords', Request::getString( 'keywords', '', 'POST'));
445
+        $objInspage->setVar('keywords', Request::getString('keywords', '', 'POST'));
446 446
         // Мета-теги ключевых слов
447
-        $objInspage->setVar('description', Request::getString( 'description', '', 'POST'));
447
+        $objInspage->setVar('description', Request::getString('description', '', 'POST'));
448 448
         //
449
-        $dosmiley    = (Request::getInt( 'dosmiley', 0, 'POST') > 0) ? 1 : 0;
450
-        $doxcode     = (Request::getInt( 'doxcode', 0, 'POST') > 0) ? 1 : 0;
451
-        $dobr        = (Request::getInt( 'dobr', 0, 'POST') > 0) ? 1 : 0;
452
-        $dohtml      = (Request::getInt( 'dohtml', 0, 'POST') > 0) ? 1 : 0;
449
+        $dosmiley    = (Request::getInt('dosmiley', 0, 'POST') > 0) ? 1 : 0;
450
+        $doxcode     = (Request::getInt('doxcode', 0, 'POST') > 0) ? 1 : 0;
451
+        $dobr        = (Request::getInt('dobr', 0, 'POST') > 0) ? 1 : 0;
452
+        $dohtml      = (Request::getInt('dohtml', 0, 'POST') > 0) ? 1 : 0;
453 453
         //$doimage = ( isset( $_POST['doimage'] ) && intval( $_POST['doimage'] ) > 0 ) ? 1 : 0;
454 454
         $objInspage->setVar('dohtml', $dohtml);
455 455
         $objInspage->setVar('dosmiley', $dosmiley);
@@ -458,28 +458,28 @@  discard block
 block discarded – undo
458 458
         $objInspage->setVar('dobr', $dobr);
459 459
 
460 460
         //
461
-        if (!$pageid && !$instrid) {
462
-            $err         = true;
461
+        if ( ! $pageid && ! $instrid) {
462
+            $err = true;
463 463
             $message_err .= _AM_INSTRUCTION_ERR_INSTR . '<br>';
464 464
         }
465 465
         // Проверка веса
466 466
         if (0 == $weight) {
467
-            $err         = true;
467
+            $err = true;
468 468
             $message_err .= _AM_INSTRUCTION_ERR_WEIGHT . '<br>';
469 469
         }
470 470
         // Проверка родительской страницы
471 471
         if ($pageid && ($pageid == $pid)) {
472
-            $err         = true;
472
+            $err = true;
473 473
             $message_err .= _AM_INSTRUCTION_ERR_PPAGE . '<br>';
474 474
         }
475 475
         // Проверка названия
476
-        if (!$page_title) {
477
-            $err         = true;
476
+        if ( ! $page_title) {
477
+            $err = true;
478 478
             $message_err .= _AM_INSTR_ERR_TITLE . '<br>';
479 479
         }
480 480
         // Проверка основного текста
481
-        if (!$page_hometext) {
482
-            $err         = true;
481
+        if ( ! $page_hometext) {
482
+            $err = true;
483 483
             $message_err .= _AM_INSTR_ERR_HOMETEXT . '<br>';
484 484
         }
485 485
 
@@ -509,7 +509,7 @@  discard block
 block discarded – undo
509 509
                     // Если мы добавляем
510 510
                 } else {
511 511
                     // Инкримент комментов
512
-                    $pageHandler->updateposts($uid, Request::getInt( 'status', 0, 'POST'), 'add');
512
+                    $pageHandler->updateposts($uid, Request::getInt('status', 0, 'POST'), 'add');
513 513
                     // Редирект
514 514
                     redirect_header($redirect_url, 3, _AM_INSTRUCTION_PAGEADDED);
515 515
                 }
@@ -542,12 +542,12 @@  discard block
 block discarded – undo
542 542
 
543 543
         $objInspage = $pageHandler->get($pageid);
544 544
         // Нажали ли мы на кнопку OK
545
-        $ok = Request::getInt( 'ok', 0, 'POST');
545
+        $ok = Request::getInt('ok', 0, 'POST');
546 546
         // Если мы нажали на кнопку
547 547
         if ($ok) {
548 548
 
549 549
             // Проверка
550
-            if (!$GLOBALS['xoopsSecurity']->check()) {
550
+            if ( ! $GLOBALS['xoopsSecurity']->check()) {
551 551
                 redirect_header('instr.php', 3, implode(',', $GLOBALS['xoopsSecurity']->getErrors()));
552 552
             }
553 553
             // ID инструкции
Please login to merge, or discard this patch.
include/plugin.tag.php 1 patch
Indentation   +55 added lines, -55 removed lines patch added patch discarded remove patch
@@ -7,37 +7,37 @@  discard block
 block discarded – undo
7 7
  */
8 8
 function instruction_tag_iteminfo(&$items)
9 9
 {
10
-    if (empty($items) || !is_array($items)) {
11
-        return false;
12
-    }
10
+	if (empty($items) || !is_array($items)) {
11
+		return false;
12
+	}
13 13
 
14
-    $items_id = [];
15
-    foreach (array_keys($items) as $cat_id) {
16
-        foreach (array_keys($items[$cat_id]) as $item_id) {
17
-            $items_id[] = (int)$item_id;
18
-        }
19
-    }
14
+	$items_id = [];
15
+	foreach (array_keys($items) as $cat_id) {
16
+		foreach (array_keys($items[$cat_id]) as $item_id) {
17
+			$items_id[] = (int)$item_id;
18
+		}
19
+	}
20 20
 
21
-    $itemHandler = xoops_getModuleHandler('instruction', 'instruction');
22
-    $items_obj   = $itemHandler->getObjects(new \Criteria('instrid', '(' . implode(', ', $items_id) . ')', 'IN'), true);
21
+	$itemHandler = xoops_getModuleHandler('instruction', 'instruction');
22
+	$items_obj   = $itemHandler->getObjects(new \Criteria('instrid', '(' . implode(', ', $items_id) . ')', 'IN'), true);
23 23
 
24
-    foreach (array_keys($items) as $cat_id) {
25
-        foreach (array_keys($items[$cat_id]) as $item_id) {
26
-            if (isset($items_obj[$item_id])) {
27
-                $item_obj                 = $items_obj[$item_id];
28
-                $items[$cat_id][$item_id] = [
29
-                    'title'   => $item_obj->getVar('title'),
30
-                    'uid'     => $item_obj->getVar('uid'),
31
-                    'link'    => "instr.php?id={$item_id}",
32
-                    'time'    => $item_obj->getVar('datecreated'),
33
-                    'tags'    => '',
34
-                    'content' => '',
35
-                ];
36
-            }
37
-        }
38
-    }
39
-    unset($items_obj);
40
-    return '';
24
+	foreach (array_keys($items) as $cat_id) {
25
+		foreach (array_keys($items[$cat_id]) as $item_id) {
26
+			if (isset($items_obj[$item_id])) {
27
+				$item_obj                 = $items_obj[$item_id];
28
+				$items[$cat_id][$item_id] = [
29
+					'title'   => $item_obj->getVar('title'),
30
+					'uid'     => $item_obj->getVar('uid'),
31
+					'link'    => "instr.php?id={$item_id}",
32
+					'time'    => $item_obj->getVar('datecreated'),
33
+					'tags'    => '',
34
+					'content' => '',
35
+				];
36
+			}
37
+		}
38
+	}
39
+	unset($items_obj);
40
+	return '';
41 41
 }
42 42
 
43 43
 // Синхронизация тегов
@@ -46,32 +46,32 @@  discard block
 block discarded – undo
46 46
  */
47 47
 function instruction_tag_synchronization($mid)
48 48
 {
49
-    $itemHandler = xoops_getModuleHandler('instruction', 'instruction');
50
-    $linkHandler = xoops_getModuleHandler('link', 'tag');
49
+	$itemHandler = xoops_getModuleHandler('instruction', 'instruction');
50
+	$linkHandler = xoops_getModuleHandler('link', 'tag');
51 51
 
52
-    /* clear tag-item links */
53
-    if (version_compare($GLOBALS['xoopsDB']->getServerVersion(), '4.1.0', 'ge')):
54
-        $sql = "    DELETE FROM {$linkHandler->table}"
55
-               . '    WHERE '
56
-               . "        tag_modid = {$mid}"
57
-               . '        AND '
58
-               . '        ( tag_itemid NOT IN '
59
-               . "            ( SELECT DISTINCT {$itemHandler->keyName} "
60
-               . "                FROM {$itemHandler->table} "
61
-               . "                WHERE {$itemHandler->table}.status > 0"
62
-               . '            ) '
63
-               . '        )';
64
-    else:
65
-        $sql = "    DELETE {$linkHandler->table} FROM {$linkHandler->table}"
66
-               . "    LEFT JOIN {$itemHandler->table} AS aa ON {$linkHandler->table}.tag_itemid = aa.{$itemHandler->keyName} "
67
-               . '    WHERE '
68
-               . "        tag_modid = {$mid}"
69
-               . '        AND '
70
-               . "        ( aa.{$itemHandler->keyName} IS NULL"
71
-               . '            OR aa.status < 1'
72
-               . '        )';
73
-    endif;
74
-    if (!$result = $linkHandler->db->queryF($sql)) {
75
-        //xoops_error($linkHandler->db->error());
76
-    }
52
+	/* clear tag-item links */
53
+	if (version_compare($GLOBALS['xoopsDB']->getServerVersion(), '4.1.0', 'ge')):
54
+		$sql = "    DELETE FROM {$linkHandler->table}"
55
+			   . '    WHERE '
56
+			   . "        tag_modid = {$mid}"
57
+			   . '        AND '
58
+			   . '        ( tag_itemid NOT IN '
59
+			   . "            ( SELECT DISTINCT {$itemHandler->keyName} "
60
+			   . "                FROM {$itemHandler->table} "
61
+			   . "                WHERE {$itemHandler->table}.status > 0"
62
+			   . '            ) '
63
+			   . '        )';
64
+	else:
65
+		$sql = "    DELETE {$linkHandler->table} FROM {$linkHandler->table}"
66
+			   . "    LEFT JOIN {$itemHandler->table} AS aa ON {$linkHandler->table}.tag_itemid = aa.{$itemHandler->keyName} "
67
+			   . '    WHERE '
68
+			   . "        tag_modid = {$mid}"
69
+			   . '        AND '
70
+			   . "        ( aa.{$itemHandler->keyName} IS NULL"
71
+			   . '            OR aa.status < 1'
72
+			   . '        )';
73
+	endif;
74
+	if (!$result = $linkHandler->db->queryF($sql)) {
75
+		//xoops_error($linkHandler->db->error());
76
+	}
77 77
 }
Please login to merge, or discard this patch.
include/search.inc.php 1 patch
Indentation   +39 added lines, -39 removed lines patch added patch discarded remove patch
@@ -13,46 +13,46 @@
 block discarded – undo
13 13
  */
14 14
 function instruction_search($queryarray, $andor, $limit, $offset, $userid)
15 15
 {
16
-    // Подключаем функции
17
-    $moduleDirName = basename(dirname(__DIR__));
18
-    include_once $GLOBALS['xoops']->path('modules/' . $moduleDirName . '/class/utility.php');
16
+	// Подключаем функции
17
+	$moduleDirName = basename(dirname(__DIR__));
18
+	include_once $GLOBALS['xoops']->path('modules/' . $moduleDirName . '/class/utility.php');
19 19
 
20
-    $sql = 'SELECT p.pageid, p.title, p.uid, p.datecreated, i.title FROM ' . $GLOBALS['xoopsDB']->prefix('instruction_page') . ' p, ' . $GLOBALS['xoopsDB']->prefix('instruction_instr') . ' i WHERE i.instrid = p.instrid AND i.status > 0 AND p.status > 0 AND p.type > 0';
21
-    if (0 != $userid) {
22
-        $sql .= ' AND p.uid = ' . (int)$userid . ' ';
23
-        //return NULL;
24
-    }
20
+	$sql = 'SELECT p.pageid, p.title, p.uid, p.datecreated, i.title FROM ' . $GLOBALS['xoopsDB']->prefix('instruction_page') . ' p, ' . $GLOBALS['xoopsDB']->prefix('instruction_instr') . ' i WHERE i.instrid = p.instrid AND i.status > 0 AND p.status > 0 AND p.type > 0';
21
+	if (0 != $userid) {
22
+		$sql .= ' AND p.uid = ' . (int)$userid . ' ';
23
+		//return NULL;
24
+	}
25 25
 
26
-    // Права на просмотр
27
-    $categories = Xoopsmodules\instruction\Utility::getItemIds();
28
-    if (is_array($categories) && count($categories) > 0) {
29
-        $sql .= ' AND i.cid IN ( ' . implode(', ', $categories) . ' ) ';
30
-        // Если пользователь не имеет прав просмотра ни одной категории
31
-    } else {
32
-        return null;
33
-    }
26
+	// Права на просмотр
27
+	$categories = Xoopsmodules\instruction\Utility::getItemIds();
28
+	if (is_array($categories) && count($categories) > 0) {
29
+		$sql .= ' AND i.cid IN ( ' . implode(', ', $categories) . ' ) ';
30
+		// Если пользователь не имеет прав просмотра ни одной категории
31
+	} else {
32
+		return null;
33
+	}
34 34
 
35
-    // Добавляем в условие ключевые слова поиска
36
-    if (is_array($queryarray) && $count = count($queryarray)) {
37
-        $sql .= " AND ( ( p.title LIKE '%$queryarray[0]%' OR p.hometext LIKE '%$queryarray[0]%' )";
38
-        for ($i = 1; $i < $count; $i++) {
39
-            $sql .= " $andor ";
40
-            $sql .= "( p.title LIKE '%$queryarray[$i]%' OR p.hometext LIKE '%$queryarray[$i]%' )";
41
-        }
42
-        $sql .= ' ) ';
43
-    }
44
-    //$sql .= "ORDER BY date DESC";
45
-    $result = $GLOBALS['xoopsDB']->query($sql, $limit, $offset);
46
-    $ret    = [];
47
-    $i      = 0;
48
-    // Перебираем все результаты
49
-    while (list($pageid, $ptitle, $puid, $pdatecreated, $ititle) = $GLOBALS['xoopsDB']->fetchRow($result)) {
50
-        $ret[$i]['image'] = 'assets/images/size2.gif';
51
-        $ret[$i]['link']  = 'page.php?id=' . $pageid;
52
-        $ret[$i]['title'] = $ititle . ': ' . $ptitle;
53
-        $ret[$i]['time']  = $pdatecreated;
54
-        $ret[$i]['uid']   = $puid;
55
-        $i++;
56
-    }
57
-    return $ret;
35
+	// Добавляем в условие ключевые слова поиска
36
+	if (is_array($queryarray) && $count = count($queryarray)) {
37
+		$sql .= " AND ( ( p.title LIKE '%$queryarray[0]%' OR p.hometext LIKE '%$queryarray[0]%' )";
38
+		for ($i = 1; $i < $count; $i++) {
39
+			$sql .= " $andor ";
40
+			$sql .= "( p.title LIKE '%$queryarray[$i]%' OR p.hometext LIKE '%$queryarray[$i]%' )";
41
+		}
42
+		$sql .= ' ) ';
43
+	}
44
+	//$sql .= "ORDER BY date DESC";
45
+	$result = $GLOBALS['xoopsDB']->query($sql, $limit, $offset);
46
+	$ret    = [];
47
+	$i      = 0;
48
+	// Перебираем все результаты
49
+	while (list($pageid, $ptitle, $puid, $pdatecreated, $ititle) = $GLOBALS['xoopsDB']->fetchRow($result)) {
50
+		$ret[$i]['image'] = 'assets/images/size2.gif';
51
+		$ret[$i]['link']  = 'page.php?id=' . $pageid;
52
+		$ret[$i]['title'] = $ititle . ': ' . $ptitle;
53
+		$ret[$i]['time']  = $pdatecreated;
54
+		$ret[$i]['uid']   = $puid;
55
+		$i++;
56
+	}
57
+	return $ret;
58 58
 }
Please login to merge, or discard this patch.
instr.php 2 patches
Indentation   +33 added lines, -33 removed lines patch added patch discarded remove patch
@@ -19,8 +19,8 @@  discard block
 block discarded – undo
19 19
 $criteria->add(new \Criteria('instrid', $instrid));
20 20
 $criteria->add(new \Criteria('status ', '0', '>'));
21 21
 if (0 == $instructionHandler->getCount($criteria)) {
22
-    redirect_header('index.php', 3, _MD_INSTRUCTION_INSTRNOTEXIST);
23
-    exit();
22
+	redirect_header('index.php', 3, _MD_INSTRUCTION_INSTRNOTEXIST);
23
+	exit();
24 24
 }
25 25
 //
26 26
 unset($criteria);
@@ -42,8 +42,8 @@  discard block
 block discarded – undo
42 42
 // Права на просмотр инструкции
43 43
 $categories = Xoopsmodules\instruction\Utility::getItemIds();
44 44
 if (!in_array($objInsinstr->getVar('cid'), $categories)) {
45
-    redirect_header(XOOPS_URL . '/modules/' . $moduleDirName . '/', 3, _NOPERM);
46
-    exit();
45
+	redirect_header(XOOPS_URL . '/modules/' . $moduleDirName . '/', 3, _NOPERM);
46
+	exit();
47 47
 }
48 48
 
49 49
 // Массив данных об инструкции
@@ -56,29 +56,29 @@  discard block
 block discarded – undo
56 56
 $instrs['description'] = $objInsinstr->getVar('description');
57 57
 // Если админ, рисуем админлинк
58 58
 if (($GLOBALS['xoopsUser'] instanceof \XoopsUser) && $GLOBALS['xoopsUser']->isAdmin($GLOBALS['xoopsModule']->mid())) {
59
-    $instrs['adminlink'] = '&nbsp;<a href="'
60
-                           . XOOPS_URL
61
-                           . '/modules/'
62
-                           . $moduleDirName
63
-                           . '/admin/instr.php?op=editinstr&instrid='
64
-                           . $instrid
65
-                           . '"><img style="width:16px;" src="./assets/icons/edit_mini.png" alt='
66
-                           . _EDIT
67
-                           . ' title='
68
-                           . _EDIT
69
-                           . '></a>&nbsp;<a href="'
70
-                           . XOOPS_URL
71
-                           . '/modules/'
72
-                           . $moduleDirName
73
-                           . '/admin/instr.php?op=delinstr&instrid='
74
-                           . $instrid
75
-                           . '"><img style="width:16px;" src="./assets/icons/delete_mini.png" alt='
76
-                           . _DELETE
77
-                           . ' title='
78
-                           . _DELETE
79
-                           . '></a>&nbsp;';
59
+	$instrs['adminlink'] = '&nbsp;<a href="'
60
+						   . XOOPS_URL
61
+						   . '/modules/'
62
+						   . $moduleDirName
63
+						   . '/admin/instr.php?op=editinstr&instrid='
64
+						   . $instrid
65
+						   . '"><img style="width:16px;" src="./assets/icons/edit_mini.png" alt='
66
+						   . _EDIT
67
+						   . ' title='
68
+						   . _EDIT
69
+						   . '></a>&nbsp;<a href="'
70
+						   . XOOPS_URL
71
+						   . '/modules/'
72
+						   . $moduleDirName
73
+						   . '/admin/instr.php?op=delinstr&instrid='
74
+						   . $instrid
75
+						   . '"><img style="width:16px;" src="./assets/icons/delete_mini.png" alt='
76
+						   . _DELETE
77
+						   . ' title='
78
+						   . _DELETE
79
+						   . '></a>&nbsp;';
80 80
 } else {
81
-    $instrs['adminlink'] = '';
81
+	$instrs['adminlink'] = '';
82 82
 }
83 83
 
84 84
 // Выводим в шаблон
@@ -102,7 +102,7 @@  discard block
 block discarded – undo
102 102
 $nav_parent_id = array_reverse($nav_parent_id);
103 103
 $navigation    = '<a href="' . XOOPS_URL . '/modules/' . $moduleDirName . '/">' . $GLOBALS['xoopsModule']->name() . '</a>&nbsp;:&nbsp;';
104 104
 foreach (array_keys($nav_parent_id) as $i) {
105
-    $navigation .= '<a href="' . XOOPS_URL . '/modules/' . $moduleDirName . '/index.php?cid=' . $nav_parent_id[$i]->getVar('cid') . '">' . $nav_parent_id[$i]->getVar('title') . '</a>&nbsp;:&nbsp;';
105
+	$navigation .= '<a href="' . XOOPS_URL . '/modules/' . $moduleDirName . '/index.php?cid=' . $nav_parent_id[$i]->getVar('cid') . '">' . $nav_parent_id[$i]->getVar('title') . '</a>&nbsp;:&nbsp;';
106 106
 }
107 107
 $navigation .= '<a href="' . XOOPS_URL . '/modules/' . $moduleDirName . '/index.php?cid=' . $objInscat->getVar('cid') . '">' . $objInscat->getVar('title') . '</a>&nbsp;:&nbsp;';
108 108
 $navigation .= $objInsinstr->getVar('title');
@@ -129,18 +129,18 @@  discard block
 block discarded – undo
129 129
 
130 130
 // Теги
131 131
 if (xoops_getModuleOption('usetag', 'instruction')) {
132
-    include_once $GLOBALS['xoops']->path('modules/tag/include/tagbar.php');
133
-    $xoopsTpl->assign('tags', true);
134
-    $xoopsTpl->assign('tagbar', tagBar($instrid, 0));
132
+	include_once $GLOBALS['xoops']->path('modules/tag/include/tagbar.php');
133
+	$xoopsTpl->assign('tags', true);
134
+	$xoopsTpl->assign('tagbar', tagBar($instrid, 0));
135 135
 } else {
136
-    $xoopsTpl->assign('tags', false);
136
+	$xoopsTpl->assign('tags', false);
137 137
 }
138 138
 
139 139
 // Рейтинг
140 140
 if (xoops_getModuleOption('userat', 'instruction')) {
141
-    $xoopsTpl->assign('insUserat', true);
141
+	$xoopsTpl->assign('insUserat', true);
142 142
 } else {
143
-    $xoopsTpl->assign('insUserat', false);
143
+	$xoopsTpl->assign('insUserat', false);
144 144
 }
145 145
 
146 146
 // Подвал
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -41,7 +41,7 @@
 block discarded – undo
41 41
 
42 42
 // Права на просмотр инструкции
43 43
 $categories = Xoopsmodules\instruction\Utility::getItemIds();
44
-if (!in_array($objInsinstr->getVar('cid'), $categories)) {
44
+if ( ! in_array($objInsinstr->getVar('cid'), $categories)) {
45 45
     redirect_header(XOOPS_URL . '/modules/' . $moduleDirName . '/', 3, _NOPERM);
46 46
     exit();
47 47
 }
Please login to merge, or discard this patch.