Completed
Push — master ( 84b3aa...54f5d2 )
by Michael
02:01
created
include/plugin.tag.php 2 patches
Braces   +4 added lines, -2 removed lines patch added patch discarded remove patch
@@ -52,7 +52,8 @@  discard block
 block discarded – undo
52 52
                . "                FROM {$itemHandler->table} "
53 53
                . "                WHERE {$itemHandler->table}.status > 0"
54 54
                . '            ) '
55
-               . '        )'; else:
55
+               . '        )'; else {
56
+               	:
56 57
         $sql = "    DELETE {$linkHandler->table} FROM {$linkHandler->table}"
57 58
                . "    LEFT JOIN {$itemHandler->table} AS aa ON {$linkHandler->table}.tag_itemid = aa.{$itemHandler->keyName} "
58 59
                . '    WHERE '
@@ -60,7 +61,8 @@  discard block
 block discarded – undo
60 61
                . '        AND '
61 62
                . "        ( aa.{$itemHandler->keyName} IS NULL"
62 63
                . '            OR aa.status < 1'
63
-               . '        )';
64
+               . '        )';
65
+               }
64 66
     endif;
65 67
     if (!$result = $linkHandler->db->queryF($sql)) {
66 68
         //xoops_error($linkHandler->db->error());
Please login to merge, or discard this patch.
Indentation   +54 added lines, -54 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,31 +46,31 @@  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
-               . '        )'; else:
64
-        $sql = "    DELETE {$linkHandler->table} FROM {$linkHandler->table}"
65
-               . "    LEFT JOIN {$itemHandler->table} AS aa ON {$linkHandler->table}.tag_itemid = aa.{$itemHandler->keyName} "
66
-               . '    WHERE '
67
-               . "        tag_modid = {$mid}"
68
-               . '        AND '
69
-               . "        ( aa.{$itemHandler->keyName} IS NULL"
70
-               . '            OR aa.status < 1'
71
-               . '        )';
72
-    endif;
73
-    if (!$result = $linkHandler->db->queryF($sql)) {
74
-        //xoops_error($linkHandler->db->error());
75
-    }
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
+			   . '        )'; else:
64
+		$sql = "    DELETE {$linkHandler->table} FROM {$linkHandler->table}"
65
+			   . "    LEFT JOIN {$itemHandler->table} AS aa ON {$linkHandler->table}.tag_itemid = aa.{$itemHandler->keyName} "
66
+			   . '    WHERE '
67
+			   . "        tag_modid = {$mid}"
68
+			   . '        AND '
69
+			   . "        ( aa.{$itemHandler->keyName} IS NULL"
70
+			   . '            OR aa.status < 1'
71
+			   . '        )';
72
+	endif;
73
+	if (!$result = $linkHandler->db->queryF($sql)) {
74
+		//xoops_error($linkHandler->db->error());
75
+	}
76 76
 }
Please login to merge, or discard this patch.
index.php 1 patch
Indentation   +56 added lines, -56 removed lines patch added patch discarded remove patch
@@ -48,11 +48,11 @@  discard block
 block discarded – undo
48 48
 $module = $helper->getModule();
49 49
 
50 50
 if (Xoopsmodules\instruction\Utility::checkVerXoops($module, '2.5.9')) {
51
-    $cat_select = $mytree->makeSelectElement('cid', 'title', '--', $cid, true, 0, "onChange='javascript: document.insformselcat.submit()'", '');
52
-    $GLOBALS['xoopsTpl']->assign('insFormSelCat', $cat_select->render());
51
+	$cat_select = $mytree->makeSelectElement('cid', 'title', '--', $cid, true, 0, "onChange='javascript: document.insformselcat.submit()'", '');
52
+	$GLOBALS['xoopsTpl']->assign('insFormSelCat', $cat_select->render());
53 53
 } else {
54
-    $cat_select = $mytree->makeSelBox('cid', 'title', '--', $cid, true, 0, "onChange='javascript: document.insformselcat.submit()'");
55
-    $GLOBALS['xoopsTpl']->assign('insFormSelCat', $cat_select);
54
+	$cat_select = $mytree->makeSelBox('cid', 'title', '--', $cid, true, 0, "onChange='javascript: document.insformselcat.submit()'");
55
+	$GLOBALS['xoopsTpl']->assign('insFormSelCat', $cat_select);
56 56
 }
57 57
 
58 58
 // Находим список всех инструкций
@@ -62,14 +62,14 @@  discard block
 block discarded – undo
62 62
 $criteria->add(new \Criteria('status', '0', '>'));
63 63
 // Если есть категория
64 64
 if ($cid) {
65
-    // Если нельзя просматривать эту категорию
66
-    if (!in_array($cid, $categories)) {
67
-        redirect_header('index.php', 3, _MD_INSTRUCTION_NOPERM_CAT);
68
-    }
69
-    $criteria->add(new \Criteria('cid', $cid, '='));
70
-    // Иначе находим список всех
65
+	// Если нельзя просматривать эту категорию
66
+	if (!in_array($cid, $categories)) {
67
+		redirect_header('index.php', 3, _MD_INSTRUCTION_NOPERM_CAT);
68
+	}
69
+	$criteria->add(new \Criteria('cid', $cid, '='));
70
+	// Иначе находим список всех
71 71
 } else {
72
-    $criteria->add(new \Criteria('cid', '( ' . implode(', ', $categories) . ' )', 'IN'));
72
+	$criteria->add(new \Criteria('cid', '( ' . implode(', ', $categories) . ' )', 'IN'));
73 73
 }
74 74
 
75 75
 // Число инструкций, удовлетворяющих данному условию
@@ -86,10 +86,10 @@  discard block
 block discarded – undo
86 86
 $instr_arr = $instructionHandler->getall($criteria);
87 87
 // Если записей больше чем $limit, то выводим пагинатор
88 88
 if ($numrows > $limit) {
89
-    $pagenav = new \XoopsPageNav($numrows, $limit, $start, 'start', 'cid=' . $cid);
90
-    $pagenav = $pagenav->renderNav(4);
89
+	$pagenav = new \XoopsPageNav($numrows, $limit, $start, 'start', 'cid=' . $cid);
90
+	$pagenav = $pagenav->renderNav(4);
91 91
 } else {
92
-    $pagenav = '';
92
+	$pagenav = '';
93 93
 }
94 94
 // Выводим пагинатор в шаблон
95 95
 $GLOBALS['xoopsTpl']->assign('insPagenav', $pagenav);
@@ -100,54 +100,54 @@  discard block
 block discarded – undo
100 100
 
101 101
 // Если есть записи
102 102
 if ($numrows > 0) {
103
-    $class = 'odd';
104
-    foreach (array_keys($instr_arr) as $i) {
105
-
106
-        //
107
-        $class = ('even' === $class) ? 'odd' : 'even';
108
-        // ID
109
-        $insinstr_instrid = $instr_arr[$i]->getVar('instrid');
110
-        // Название
111
-        $insinstr_title = $instr_arr[$i]->getVar('title');
112
-        // Статус
113
-        $insinstr_status = $instr_arr[$i]->getVar('status');
114
-        // Количество страниц
115
-        $insinstr_pages = $instr_arr[$i]->getVar('pages');
116
-        // Категория
117
-        $insinstr_cid = $instr_arr[$i]->getVar('cid');
118
-        $insinstr_cat = $categoryHandler->get($insinstr_cid);
119
-        // Права на добавление
120
-        $perm_submit = in_array($insinstr_cid, $cat_submit) ? true : false;
121
-        // Права на редактирование
122
-        $perm_edit = in_array($insinstr_cid, $cat_edit) ? true : false;
123
-        //Мета-теги ключевых слов
124
-        $insinstr_metakeywords = $instr_arr[$i]->getVar('metakeywords');
125
-        // Если есть - добавляем в мета-теги страницы
126
-        if ($insinstr_metakeywords) {
127
-            $index_metakeywords[] = $insinstr_metakeywords;
128
-        }
129
-        // Мета-теги описания
130
-        $insinstr_metadescript = $instr_arr[$i]->getVar('metadescription');
131
-        // Если есть - добавляем в мета-теги страницы
132
-        if ($insinstr_metadescript) {
133
-            $index_metadescript[] = $insinstr_metadescript;
134
-        }
135
-
136
-        // Выводим в шаблон
137
-        $GLOBALS['xoopsTpl']->append('insListInstr',
138
-                                     ['instrid' => $insinstr_instrid, 'title' => $insinstr_title, 'status' => $insinstr_status, 'pages' => $insinstr_pages, 'ctitle' => $insinstr_cat->getVar('title'), 'cid' => $insinstr_cid, 'permsubmit' => $perm_submit, 'permedit' => $perm_edit, 'class' => $class]
139
-        );
140
-    }
141
-
142
-    // Языковые константы
103
+	$class = 'odd';
104
+	foreach (array_keys($instr_arr) as $i) {
105
+
106
+		//
107
+		$class = ('even' === $class) ? 'odd' : 'even';
108
+		// ID
109
+		$insinstr_instrid = $instr_arr[$i]->getVar('instrid');
110
+		// Название
111
+		$insinstr_title = $instr_arr[$i]->getVar('title');
112
+		// Статус
113
+		$insinstr_status = $instr_arr[$i]->getVar('status');
114
+		// Количество страниц
115
+		$insinstr_pages = $instr_arr[$i]->getVar('pages');
116
+		// Категория
117
+		$insinstr_cid = $instr_arr[$i]->getVar('cid');
118
+		$insinstr_cat = $categoryHandler->get($insinstr_cid);
119
+		// Права на добавление
120
+		$perm_submit = in_array($insinstr_cid, $cat_submit) ? true : false;
121
+		// Права на редактирование
122
+		$perm_edit = in_array($insinstr_cid, $cat_edit) ? true : false;
123
+		//Мета-теги ключевых слов
124
+		$insinstr_metakeywords = $instr_arr[$i]->getVar('metakeywords');
125
+		// Если есть - добавляем в мета-теги страницы
126
+		if ($insinstr_metakeywords) {
127
+			$index_metakeywords[] = $insinstr_metakeywords;
128
+		}
129
+		// Мета-теги описания
130
+		$insinstr_metadescript = $instr_arr[$i]->getVar('metadescription');
131
+		// Если есть - добавляем в мета-теги страницы
132
+		if ($insinstr_metadescript) {
133
+			$index_metadescript[] = $insinstr_metadescript;
134
+		}
135
+
136
+		// Выводим в шаблон
137
+		$GLOBALS['xoopsTpl']->append('insListInstr',
138
+									 ['instrid' => $insinstr_instrid, 'title' => $insinstr_title, 'status' => $insinstr_status, 'pages' => $insinstr_pages, 'ctitle' => $insinstr_cat->getVar('title'), 'cid' => $insinstr_cid, 'permsubmit' => $perm_submit, 'permedit' => $perm_edit, 'class' => $class]
139
+		);
140
+	}
141
+
142
+	// Языковые константы
143 143
 }
144 144
 
145 145
 // Если есть мета-теги
146 146
 if (count($index_metakeywords)) {
147
-    $xoTheme->addMeta('meta', 'keywords', implode(', ', $index_metakeywords));
147
+	$xoTheme->addMeta('meta', 'keywords', implode(', ', $index_metakeywords));
148 148
 }
149 149
 if (count($index_metadescript)) {
150
-    $xoTheme->addMeta('meta', 'description', implode(', ', $index_metadescript));
150
+	$xoTheme->addMeta('meta', 'description', implode(', ', $index_metadescript));
151 151
 }
152 152
 
153 153
 // Подвал
Please login to merge, or discard this patch.
class/Page.php 1 patch
Indentation   +170 added lines, -170 removed lines patch added patch discarded remove patch
@@ -12,174 +12,174 @@
 block discarded – undo
12 12
  */
13 13
 class Page extends \XoopsObject
14 14
 {
15
-    // constructor
16
-    public function __construct()
17
-    {
18
-        //	$this->XoopsObject();
19
-        $this->initVar('pageid', XOBJ_DTYPE_INT, null, false, 11);
20
-        $this->initVar('pid', XOBJ_DTYPE_INT, 0, false, 11);
21
-        $this->initVar('instrid', XOBJ_DTYPE_INT, 0, false, 11);
22
-        $this->initVar('uid', XOBJ_DTYPE_INT, 0, false, 11);
23
-        $this->initVar('title', XOBJ_DTYPE_TXTBOX, '', false, 255);
24
-        $this->initVar('status', XOBJ_DTYPE_INT, 1, false, 1);
25
-        $this->initVar('type', XOBJ_DTYPE_INT, 1, false, 1);
26
-        $this->initVar('hometext', XOBJ_DTYPE_TXTAREA, null, false);
27
-        $this->initVar('footnote', XOBJ_DTYPE_TXTAREA, '', false);
28
-        $this->initVar('weight', XOBJ_DTYPE_INT, 0, false, 11);
29
-        $this->initVar('keywords', XOBJ_DTYPE_TXTBOX, '', false, 255);
30
-        $this->initVar('description', XOBJ_DTYPE_TXTBOX, '', false, 255);
31
-        $this->initVar('comments', XOBJ_DTYPE_INT, 0, false, 11);
32
-        $this->initVar('datecreated', XOBJ_DTYPE_INT, 0, false, 10);
33
-        $this->initVar('dateupdated', XOBJ_DTYPE_INT, 0, false, 10);
34
-        $this->initVar('dohtml', XOBJ_DTYPE_INT, 1, false, 1);
35
-        $this->initVar('dosmiley', XOBJ_DTYPE_INT, 0, false, 1);
36
-        $this->initVar('doxcode', XOBJ_DTYPE_INT, 1, false, 1);
37
-        $this->initVar('dobr', XOBJ_DTYPE_INT, 0, false, 1);
38
-    }
39
-
40
-    /**
41
-     * @return mixed
42
-     */
43
-    public function getNewInstertId()
44
-    {
45
-        $newEnreg = $GLOBALS['xoopsDB']->getInsertId();
46
-        return $newEnreg;
47
-    }
48
-
49
-    // Получаем форму
50
-
51
-    /**
52
-     * @param bool|null|string $action
53
-     * @param int              $instrid
54
-     * @return \XoopsThemeForm
55
-     */
56
-    public function getForm($action = false, $instrid = 0)
57
-    {
58
-        // Если нет $action
59
-        if (false === $action) {
60
-            $action = xoops_getenv('REQUEST_URI');
61
-        }
62
-
63
-        // Подключаем формы
64
-        include_once $GLOBALS['xoops']->path('class/xoopsformloader.php');
65
-        // Подключаем типы страниц
66
-        $pagetypes = include $GLOBALS['xoops']->path('modules/instruction/include/pagetypes.inc.php');
67
-
68
-        // Название формы
69
-        $title = $this->isNew() ? sprintf(_AM_INSTRUCTION_FORMADDPAGE) : sprintf(_AM_INSTRUCTION_FORMEDITPAGE);
70
-
71
-        // Форма
72
-        $form = new \XoopsThemeForm($title, 'instr_form_page', $action, 'post', true);
73
-        // Название
74
-        $form->addElement(new \XoopsFormText(_AM_INSTRUCTION_TITLEC, 'title', 50, 255, $this->getVar('title')), true);
75
-
76
-        // Родительская страница
77
-        //        $pageHandler = xoops_getModuleHandler('page', 'instruction');
78
-        $pageHandler = new PageHandler;
79
-
80
-        $criteria = new \CriteriaCompo();
81
-        // ID инструкции в которой данная страница
82
-        $instrid_page = $this->isNew() ? $instrid : $this->getVar('instrid');
83
-        // Находим все страницы данной инструкции
84
-        $criteria->add(new \Criteria('instrid', $instrid_page, '='));
85
-        // Если мы редактируем, то убрать текущую страницу из списка выбора родительской
86
-        if (!$this->isNew()) {
87
-            $criteria->add(new \Criteria('pageid', $this->getVar('pageid'), '<>'));
88
-        }
89
-        $criteria->setSort('weight');
90
-        $criteria->setOrder('ASC');
91
-        $inspage_arr = $pageHandler->getall($criteria);
92
-        unset($criteria);
93
-        // Подключаем трей
94
-        include_once $GLOBALS['xoops']->path('class/tree.php');
95
-        $mytree = new \XoopsObjectTree($inspage_arr, 'pageid', 'pid');
96
-
97
-        // $form->addElement(new XoopsFormLabel(_AM_INSTRUCTION_PPAGEC, $mytree->makeSelBox('pid', 'title', '--', $this->getVar('pid'), true)));
98
-        $helper = Helper::getInstance();
99
-        $module = $helper->getModule();
100
-
101
-        if (Utility::checkVerXoops($module, '2.5.9')) {
102
-            $mytree_select = $mytree->makeSelectElement('pid', 'title', '--', $this->getVar('pid'), true, 0, '', _AM_INSTRUCTION_PPAGEC);
103
-            $form->addElement($mytree_select);
104
-        } else {
105
-            $form->addElement(new \XoopsFormLabel(_AM_INSTRUCTION_PPAGEC, $mytree->makeSelBox('pid', 'title', '--', $this->getVar('pid'), true)));
106
-        }
107
-
108
-        // Вес
109
-        $form->addElement(new \XoopsFormText(_AM_INSTRUCTION_WEIGHTC, 'weight', 5, 5, $this->getVar('weight')), true);
110
-        // Основной текст
111
-        $form->addElement(Utility::getWysiwygForm(_AM_INSTRUCTION_HOMETEXTC, 'hometext', $this->getVar('hometext', 'e')), true);
112
-        // Сноска
113
-        $form_footnote = new \XoopsFormTextArea(_AM_INSTRUCTION_FOOTNOTEC, 'footnote', $this->getVar('footnote', 'e'));
114
-        $form_footnote->setDescription(_AM_INSTRUCTION_FOOTNOTE_DSC);
115
-        $form->addElement($form_footnote, false);
116
-        unset($form_footnote);
117
-        // Статус
118
-        $form->addElement(new \XoopsFormRadioYN(_AM_INSTRUCTION_ACTIVEC, 'status', $this->getVar('status')), false);
119
-        // Тип страницы
120
-        $form_type = new \XoopsFormSelect(_AM_INSTR_PAGETYPEC, 'type', $this->getVar('type'));
121
-        $form_type->setDescription(_AM_INSTR_PAGETYPEC_DESC);
122
-        $form_type->addOptionArray($pagetypes);
123
-        $form->addElement($form_type, false);
124
-        // Мета-теги ключевых слов
125
-        $form->addElement(new \XoopsFormText(_AM_INSTRUCTION_METAKEYWORDSC, 'keywords', 50, 255, $this->getVar('keywords')), false);
126
-        // Мета-теги описания
127
-        $form->addElement(new \XoopsFormText(_AM_INSTRUCTION_METADESCRIPTIONC, 'description', 50, 255, $this->getVar('description')), false);
128
-
129
-        // Настройки
130
-        $option_tray = new \XoopsFormElementTray(_OPTIONS, '<br>');
131
-        // HTML
132
-        $html_checkbox = new \XoopsFormCheckBox('', 'dohtml', $this->getVar('dohtml'));
133
-        $html_checkbox->addOption(1, _AM_INSTR_DOHTML);
134
-        $option_tray->addElement($html_checkbox);
135
-        // Смайлы
136
-        $smiley_checkbox = new \XoopsFormCheckBox('', 'dosmiley', $this->getVar('dosmiley'));
137
-        $smiley_checkbox->addOption(1, _AM_INSTR_DOSMILEY);
138
-        $option_tray->addElement($smiley_checkbox);
139
-        // ББ коды
140
-        $xcode_checkbox = new \XoopsFormCheckBox('', 'doxcode', $this->getVar('doxcode'));
141
-        $xcode_checkbox->addOption(1, _AM_INSTR_DOXCODE);
142
-        $option_tray->addElement($xcode_checkbox);
143
-        //
144
-        $br_checkbox = new \XoopsFormCheckBox('', 'dobr', $this->getVar('dobr'));
145
-        $br_checkbox->addOption(1, _AM_INSTR_DOAUTOWRAP);
146
-        $option_tray->addElement($br_checkbox);
147
-        //
148
-        $form->addElement($option_tray);
149
-
150
-        // Если мы редактируем страницу
151
-        if (!$this->isNew()) {
152
-            $form->addElement(new \XoopsFormHidden('pageid', $this->getVar('pageid')));
153
-        } else {
154
-            $form->addElement(new \XoopsFormHidden('pageid', 0));
155
-        }
156
-        // ID инструкции
157
-        if ($instrid) {
158
-            $form->addElement(new \XoopsFormHidden('instrid', $instrid));
159
-        } else {
160
-            $form->addElement(new \XoopsFormHidden('instrid', 0));
161
-        }
162
-        //
163
-        $form->addElement(new \XoopsFormHidden('op', 'savepage'));
164
-        // Кнопка
165
-        $button_tray = new \XoopsFormElementTray('', '');
166
-        $button_tray->addElement(new \XoopsFormButton('', 'submit', _SUBMIT, 'submit'));
167
-        $save_btn = new \XoopsFormButton('', 'cancel', _AM_INSTR_SAVEFORM);
168
-        $save_btn->setExtra('onclick="instrSavePage();"');
169
-        $button_tray->addElement($save_btn);
170
-        $form->addElement($button_tray);
171
-
172
-        return $form;
173
-    }
174
-
175
-    //
176
-
177
-    /**
178
-     * @return mixed
179
-     */
180
-    public function getInstrid()
181
-    {
182
-        // Возвращаем ID инструкции
183
-        return $this->getVar('instrid');
184
-    }
15
+	// constructor
16
+	public function __construct()
17
+	{
18
+		//	$this->XoopsObject();
19
+		$this->initVar('pageid', XOBJ_DTYPE_INT, null, false, 11);
20
+		$this->initVar('pid', XOBJ_DTYPE_INT, 0, false, 11);
21
+		$this->initVar('instrid', XOBJ_DTYPE_INT, 0, false, 11);
22
+		$this->initVar('uid', XOBJ_DTYPE_INT, 0, false, 11);
23
+		$this->initVar('title', XOBJ_DTYPE_TXTBOX, '', false, 255);
24
+		$this->initVar('status', XOBJ_DTYPE_INT, 1, false, 1);
25
+		$this->initVar('type', XOBJ_DTYPE_INT, 1, false, 1);
26
+		$this->initVar('hometext', XOBJ_DTYPE_TXTAREA, null, false);
27
+		$this->initVar('footnote', XOBJ_DTYPE_TXTAREA, '', false);
28
+		$this->initVar('weight', XOBJ_DTYPE_INT, 0, false, 11);
29
+		$this->initVar('keywords', XOBJ_DTYPE_TXTBOX, '', false, 255);
30
+		$this->initVar('description', XOBJ_DTYPE_TXTBOX, '', false, 255);
31
+		$this->initVar('comments', XOBJ_DTYPE_INT, 0, false, 11);
32
+		$this->initVar('datecreated', XOBJ_DTYPE_INT, 0, false, 10);
33
+		$this->initVar('dateupdated', XOBJ_DTYPE_INT, 0, false, 10);
34
+		$this->initVar('dohtml', XOBJ_DTYPE_INT, 1, false, 1);
35
+		$this->initVar('dosmiley', XOBJ_DTYPE_INT, 0, false, 1);
36
+		$this->initVar('doxcode', XOBJ_DTYPE_INT, 1, false, 1);
37
+		$this->initVar('dobr', XOBJ_DTYPE_INT, 0, false, 1);
38
+	}
39
+
40
+	/**
41
+	 * @return mixed
42
+	 */
43
+	public function getNewInstertId()
44
+	{
45
+		$newEnreg = $GLOBALS['xoopsDB']->getInsertId();
46
+		return $newEnreg;
47
+	}
48
+
49
+	// Получаем форму
50
+
51
+	/**
52
+	 * @param bool|null|string $action
53
+	 * @param int              $instrid
54
+	 * @return \XoopsThemeForm
55
+	 */
56
+	public function getForm($action = false, $instrid = 0)
57
+	{
58
+		// Если нет $action
59
+		if (false === $action) {
60
+			$action = xoops_getenv('REQUEST_URI');
61
+		}
62
+
63
+		// Подключаем формы
64
+		include_once $GLOBALS['xoops']->path('class/xoopsformloader.php');
65
+		// Подключаем типы страниц
66
+		$pagetypes = include $GLOBALS['xoops']->path('modules/instruction/include/pagetypes.inc.php');
67
+
68
+		// Название формы
69
+		$title = $this->isNew() ? sprintf(_AM_INSTRUCTION_FORMADDPAGE) : sprintf(_AM_INSTRUCTION_FORMEDITPAGE);
70
+
71
+		// Форма
72
+		$form = new \XoopsThemeForm($title, 'instr_form_page', $action, 'post', true);
73
+		// Название
74
+		$form->addElement(new \XoopsFormText(_AM_INSTRUCTION_TITLEC, 'title', 50, 255, $this->getVar('title')), true);
75
+
76
+		// Родительская страница
77
+		//        $pageHandler = xoops_getModuleHandler('page', 'instruction');
78
+		$pageHandler = new PageHandler;
79
+
80
+		$criteria = new \CriteriaCompo();
81
+		// ID инструкции в которой данная страница
82
+		$instrid_page = $this->isNew() ? $instrid : $this->getVar('instrid');
83
+		// Находим все страницы данной инструкции
84
+		$criteria->add(new \Criteria('instrid', $instrid_page, '='));
85
+		// Если мы редактируем, то убрать текущую страницу из списка выбора родительской
86
+		if (!$this->isNew()) {
87
+			$criteria->add(new \Criteria('pageid', $this->getVar('pageid'), '<>'));
88
+		}
89
+		$criteria->setSort('weight');
90
+		$criteria->setOrder('ASC');
91
+		$inspage_arr = $pageHandler->getall($criteria);
92
+		unset($criteria);
93
+		// Подключаем трей
94
+		include_once $GLOBALS['xoops']->path('class/tree.php');
95
+		$mytree = new \XoopsObjectTree($inspage_arr, 'pageid', 'pid');
96
+
97
+		// $form->addElement(new XoopsFormLabel(_AM_INSTRUCTION_PPAGEC, $mytree->makeSelBox('pid', 'title', '--', $this->getVar('pid'), true)));
98
+		$helper = Helper::getInstance();
99
+		$module = $helper->getModule();
100
+
101
+		if (Utility::checkVerXoops($module, '2.5.9')) {
102
+			$mytree_select = $mytree->makeSelectElement('pid', 'title', '--', $this->getVar('pid'), true, 0, '', _AM_INSTRUCTION_PPAGEC);
103
+			$form->addElement($mytree_select);
104
+		} else {
105
+			$form->addElement(new \XoopsFormLabel(_AM_INSTRUCTION_PPAGEC, $mytree->makeSelBox('pid', 'title', '--', $this->getVar('pid'), true)));
106
+		}
107
+
108
+		// Вес
109
+		$form->addElement(new \XoopsFormText(_AM_INSTRUCTION_WEIGHTC, 'weight', 5, 5, $this->getVar('weight')), true);
110
+		// Основной текст
111
+		$form->addElement(Utility::getWysiwygForm(_AM_INSTRUCTION_HOMETEXTC, 'hometext', $this->getVar('hometext', 'e')), true);
112
+		// Сноска
113
+		$form_footnote = new \XoopsFormTextArea(_AM_INSTRUCTION_FOOTNOTEC, 'footnote', $this->getVar('footnote', 'e'));
114
+		$form_footnote->setDescription(_AM_INSTRUCTION_FOOTNOTE_DSC);
115
+		$form->addElement($form_footnote, false);
116
+		unset($form_footnote);
117
+		// Статус
118
+		$form->addElement(new \XoopsFormRadioYN(_AM_INSTRUCTION_ACTIVEC, 'status', $this->getVar('status')), false);
119
+		// Тип страницы
120
+		$form_type = new \XoopsFormSelect(_AM_INSTR_PAGETYPEC, 'type', $this->getVar('type'));
121
+		$form_type->setDescription(_AM_INSTR_PAGETYPEC_DESC);
122
+		$form_type->addOptionArray($pagetypes);
123
+		$form->addElement($form_type, false);
124
+		// Мета-теги ключевых слов
125
+		$form->addElement(new \XoopsFormText(_AM_INSTRUCTION_METAKEYWORDSC, 'keywords', 50, 255, $this->getVar('keywords')), false);
126
+		// Мета-теги описания
127
+		$form->addElement(new \XoopsFormText(_AM_INSTRUCTION_METADESCRIPTIONC, 'description', 50, 255, $this->getVar('description')), false);
128
+
129
+		// Настройки
130
+		$option_tray = new \XoopsFormElementTray(_OPTIONS, '<br>');
131
+		// HTML
132
+		$html_checkbox = new \XoopsFormCheckBox('', 'dohtml', $this->getVar('dohtml'));
133
+		$html_checkbox->addOption(1, _AM_INSTR_DOHTML);
134
+		$option_tray->addElement($html_checkbox);
135
+		// Смайлы
136
+		$smiley_checkbox = new \XoopsFormCheckBox('', 'dosmiley', $this->getVar('dosmiley'));
137
+		$smiley_checkbox->addOption(1, _AM_INSTR_DOSMILEY);
138
+		$option_tray->addElement($smiley_checkbox);
139
+		// ББ коды
140
+		$xcode_checkbox = new \XoopsFormCheckBox('', 'doxcode', $this->getVar('doxcode'));
141
+		$xcode_checkbox->addOption(1, _AM_INSTR_DOXCODE);
142
+		$option_tray->addElement($xcode_checkbox);
143
+		//
144
+		$br_checkbox = new \XoopsFormCheckBox('', 'dobr', $this->getVar('dobr'));
145
+		$br_checkbox->addOption(1, _AM_INSTR_DOAUTOWRAP);
146
+		$option_tray->addElement($br_checkbox);
147
+		//
148
+		$form->addElement($option_tray);
149
+
150
+		// Если мы редактируем страницу
151
+		if (!$this->isNew()) {
152
+			$form->addElement(new \XoopsFormHidden('pageid', $this->getVar('pageid')));
153
+		} else {
154
+			$form->addElement(new \XoopsFormHidden('pageid', 0));
155
+		}
156
+		// ID инструкции
157
+		if ($instrid) {
158
+			$form->addElement(new \XoopsFormHidden('instrid', $instrid));
159
+		} else {
160
+			$form->addElement(new \XoopsFormHidden('instrid', 0));
161
+		}
162
+		//
163
+		$form->addElement(new \XoopsFormHidden('op', 'savepage'));
164
+		// Кнопка
165
+		$button_tray = new \XoopsFormElementTray('', '');
166
+		$button_tray->addElement(new \XoopsFormButton('', 'submit', _SUBMIT, 'submit'));
167
+		$save_btn = new \XoopsFormButton('', 'cancel', _AM_INSTR_SAVEFORM);
168
+		$save_btn->setExtra('onclick="instrSavePage();"');
169
+		$button_tray->addElement($save_btn);
170
+		$form->addElement($button_tray);
171
+
172
+		return $form;
173
+	}
174
+
175
+	//
176
+
177
+	/**
178
+	 * @return mixed
179
+	 */
180
+	public function getInstrid()
181
+	{
182
+		// Возвращаем ID инструкции
183
+		return $this->getVar('instrid');
184
+	}
185 185
 }
Please login to merge, or discard this patch.
class/InstructionHandler.php 1 patch
Indentation   +43 added lines, -43 removed lines patch added patch discarded remove patch
@@ -14,52 +14,52 @@
 block discarded – undo
14 14
  */
15 15
 class InstructionHandler extends \XoopsPersistableObjectHandler
16 16
 {
17
-    /**
18
-     * @param null|mixed $db
19
-     */
20
-    public function __construct(\XoopsDatabase $db = null)
21
-    {
22
-        parent::__construct($db, 'instruction_instr', Instruction::class, 'instrid', 'title');
23
-    }
17
+	/**
18
+	 * @param null|mixed $db
19
+	 */
20
+	public function __construct(\XoopsDatabase $db = null)
21
+	{
22
+		parent::__construct($db, 'instruction_instr', Instruction::class, 'instrid', 'title');
23
+	}
24 24
 
25
-    // Обновление даты обновления инструкций
25
+	// Обновление даты обновления инструкций
26 26
 
27
-    /**
28
-     * @param int      $instrid
29
-     * @param bool|int $time
30
-     * @return mixed
31
-     */
32
-    public function updateDateupdated($instrid = 0, $time = null)
33
-    {
34
-        // Если не передали время
35
-        $time = null === $time ? time() : (int)$time;
36
-        //
37
-        $sql = sprintf('UPDATE `%s` SET `dateupdated` = %u WHERE `instrid` = %u', $this->table, $time, (int)$instrid);
38
-        //
39
-        return $this->db->query($sql);
40
-    }
27
+	/**
28
+	 * @param int      $instrid
29
+	 * @param bool|int $time
30
+	 * @return mixed
31
+	 */
32
+	public function updateDateupdated($instrid = 0, $time = null)
33
+	{
34
+		// Если не передали время
35
+		$time = null === $time ? time() : (int)$time;
36
+		//
37
+		$sql = sprintf('UPDATE `%s` SET `dateupdated` = %u WHERE `instrid` = %u', $this->table, $time, (int)$instrid);
38
+		//
39
+		return $this->db->query($sql);
40
+	}
41 41
 
42
-    // Обновление числа страниц
42
+	// Обновление числа страниц
43 43
 
44
-    /**
45
-     * @param int $instrid
46
-     * @return mixed
47
-     */
48
-    public function updatePages($instrid = 0)
49
-    {
50
-        //        $pageHandler = xoops_getModuleHandler('page', 'instruction');
51
-        $pageHandler = new PageHandler;
52
-        // Находим число активных страниц
53
-        $criteria = new \CriteriaCompo();
54
-        $criteria->add(new \Criteria('instrid', $instrid, '='));
55
-        $criteria->add(new \Criteria('status ', '0', '>'));
56
-        // Число страниц
57
-        $pages = $pageHandler->getCount($criteria);
58
-        unset($criteria);
44
+	/**
45
+	 * @param int $instrid
46
+	 * @return mixed
47
+	 */
48
+	public function updatePages($instrid = 0)
49
+	{
50
+		//        $pageHandler = xoops_getModuleHandler('page', 'instruction');
51
+		$pageHandler = new PageHandler;
52
+		// Находим число активных страниц
53
+		$criteria = new \CriteriaCompo();
54
+		$criteria->add(new \Criteria('instrid', $instrid, '='));
55
+		$criteria->add(new \Criteria('status ', '0', '>'));
56
+		// Число страниц
57
+		$pages = $pageHandler->getCount($criteria);
58
+		unset($criteria);
59 59
 
60
-        // Сохраняем это число
61
-        $sql = sprintf('UPDATE `%s` SET `pages` = %u, `dateupdated` = %u WHERE `instrid` = %u', $this->table, $pages, time(), $instrid);
62
-        //
63
-        return $this->db->query($sql);
64
-    }
60
+		// Сохраняем это число
61
+		$sql = sprintf('UPDATE `%s` SET `pages` = %u, `dateupdated` = %u WHERE `instrid` = %u', $this->table, $pages, time(), $instrid);
62
+		//
63
+		return $this->db->query($sql);
64
+	}
65 65
 }
Please login to merge, or discard this patch.
class/Instruction.php 1 patch
Indentation   +98 added lines, -98 removed lines patch added patch discarded remove patch
@@ -12,114 +12,114 @@
 block discarded – undo
12 12
  */
13 13
 class Instruction extends \XoopsObject
14 14
 {
15
-    // constructor
16
-    public function __construct()
17
-    {
18
-        //		$this->XoopsObject();
19
-        $this->initVar('instrid', XOBJ_DTYPE_INT, null, false, 11);
20
-        $this->initVar('cid', XOBJ_DTYPE_INT, 0, false, 5);
21
-        $this->initVar('uid', XOBJ_DTYPE_INT, 0, false, 11);
22
-        $this->initVar('title', XOBJ_DTYPE_TXTBOX, '', false);
23
-        $this->initVar('status', XOBJ_DTYPE_INT, 0, false, 1);
24
-        $this->initVar('pages', XOBJ_DTYPE_INT, 0, false, 11);
25
-        $this->initVar('description', XOBJ_DTYPE_TXTAREA, null, false);
26
-        $this->initVar('datecreated', XOBJ_DTYPE_INT, 0, false, 10);
27
-        $this->initVar('dateupdated', XOBJ_DTYPE_INT, 0, false, 10);
28
-        $this->initVar('metakeywords', XOBJ_DTYPE_TXTBOX, '', false);
29
-        $this->initVar('metadescription', XOBJ_DTYPE_TXTBOX, '', false);
15
+	// constructor
16
+	public function __construct()
17
+	{
18
+		//		$this->XoopsObject();
19
+		$this->initVar('instrid', XOBJ_DTYPE_INT, null, false, 11);
20
+		$this->initVar('cid', XOBJ_DTYPE_INT, 0, false, 5);
21
+		$this->initVar('uid', XOBJ_DTYPE_INT, 0, false, 11);
22
+		$this->initVar('title', XOBJ_DTYPE_TXTBOX, '', false);
23
+		$this->initVar('status', XOBJ_DTYPE_INT, 0, false, 1);
24
+		$this->initVar('pages', XOBJ_DTYPE_INT, 0, false, 11);
25
+		$this->initVar('description', XOBJ_DTYPE_TXTAREA, null, false);
26
+		$this->initVar('datecreated', XOBJ_DTYPE_INT, 0, false, 10);
27
+		$this->initVar('dateupdated', XOBJ_DTYPE_INT, 0, false, 10);
28
+		$this->initVar('metakeywords', XOBJ_DTYPE_TXTBOX, '', false);
29
+		$this->initVar('metadescription', XOBJ_DTYPE_TXTBOX, '', false);
30 30
 
31
-        // Нет в таблице
32
-        $this->initVar('dohtml', XOBJ_DTYPE_INT, 1, false);
33
-        $this->initVar('dobr', XOBJ_DTYPE_INT, 0, false);
34
-    }
31
+		// Нет в таблице
32
+		$this->initVar('dohtml', XOBJ_DTYPE_INT, 1, false);
33
+		$this->initVar('dobr', XOBJ_DTYPE_INT, 0, false);
34
+	}
35 35
 
36
-    /**
37
-     * @return mixed
38
-     */
39
-    public function getNewInstertId()
40
-    {
41
-        $newEnreg = $GLOBALS['xoopsDB']->getInsertId();
42
-        return $newEnreg;
43
-    }
36
+	/**
37
+	 * @return mixed
38
+	 */
39
+	public function getNewInstertId()
40
+	{
41
+		$newEnreg = $GLOBALS['xoopsDB']->getInsertId();
42
+		return $newEnreg;
43
+	}
44 44
 
45
-    // Получаем форму
45
+	// Получаем форму
46 46
 
47
-    /**
48
-     * @param bool|null|string $action
49
-     * @return \XoopsThemeForm
50
-     */
51
-    public function getForm($action = false)
52
-    {
53
-        global $xoopsDB, $xoopsModule, $xoopsModuleConfig;
54
-        // Если нет $action
55
-        if (false === $action) {
56
-            $action = xoops_getenv('REQUEST_URI');
57
-        }
58
-        // Подключаем формы
59
-        include_once $GLOBALS['xoops']->path('class/xoopsformloader.php');
47
+	/**
48
+	 * @param bool|null|string $action
49
+	 * @return \XoopsThemeForm
50
+	 */
51
+	public function getForm($action = false)
52
+	{
53
+		global $xoopsDB, $xoopsModule, $xoopsModuleConfig;
54
+		// Если нет $action
55
+		if (false === $action) {
56
+			$action = xoops_getenv('REQUEST_URI');
57
+		}
58
+		// Подключаем формы
59
+		include_once $GLOBALS['xoops']->path('class/xoopsformloader.php');
60 60
 
61
-        // Название формы
62
-        $title = $this->isNew() ? sprintf(_AM_INSTRUCTION_FORMADDINSTR) : sprintf(_AM_INSTRUCTION_FORMEDITINSTR);
61
+		// Название формы
62
+		$title = $this->isNew() ? sprintf(_AM_INSTRUCTION_FORMADDINSTR) : sprintf(_AM_INSTRUCTION_FORMEDITINSTR);
63 63
 
64
-        // Форма
65
-        $form = new \XoopsThemeForm($title, 'forminstr', $action, 'post', true);
66
-        //$form->setExtra('enctype="multipart/form-data"');
67
-        // Название инструкции
68
-        $form->addElement(new \XoopsFormText(_AM_INSTRUCTION_TITLEC, 'title', 50, 255, $this->getVar('title')), true);
69
-        // Категория
70
-        $categoryHandler = new CategoryHandler;
71
-        $criteria        = new \CriteriaCompo();
72
-        $criteria->setSort('weight ASC, title');
73
-        $criteria->setOrder('ASC');
74
-        $instructioncat_arr = $categoryHandler->getall($criteria);
75
-        unset($criteria);
76
-        // Подключаем трей
77
-        include_once $GLOBALS['xoops']->path('class/tree.php');
78
-        $mytree = new \XoopsObjectTree($instructioncat_arr, 'cid', 'pid');
64
+		// Форма
65
+		$form = new \XoopsThemeForm($title, 'forminstr', $action, 'post', true);
66
+		//$form->setExtra('enctype="multipart/form-data"');
67
+		// Название инструкции
68
+		$form->addElement(new \XoopsFormText(_AM_INSTRUCTION_TITLEC, 'title', 50, 255, $this->getVar('title')), true);
69
+		// Категория
70
+		$categoryHandler = new CategoryHandler;
71
+		$criteria        = new \CriteriaCompo();
72
+		$criteria->setSort('weight ASC, title');
73
+		$criteria->setOrder('ASC');
74
+		$instructioncat_arr = $categoryHandler->getall($criteria);
75
+		unset($criteria);
76
+		// Подключаем трей
77
+		include_once $GLOBALS['xoops']->path('class/tree.php');
78
+		$mytree = new \XoopsObjectTree($instructioncat_arr, 'cid', 'pid');
79 79
 
80
-        // $form->addElement(new XoopsFormLabel(_AM_INSTRUCTION_CATC, $mytree->makeSelBox('cid', 'title', '--', $this->getVar('cid'), true)));
81
-        $helper = Helper::getInstance();
82
-        $module = $helper->getModule();
80
+		// $form->addElement(new XoopsFormLabel(_AM_INSTRUCTION_CATC, $mytree->makeSelBox('cid', 'title', '--', $this->getVar('cid'), true)));
81
+		$helper = Helper::getInstance();
82
+		$module = $helper->getModule();
83 83
 
84
-        if (Utility::checkVerXoops($module, '2.5.9')) {
85
-            $mytree_select = $mytree->makeSelectElement('cid', 'title', '--', $this->getVar('cid'), true, 0, '', _AM_INSTRUCTION_CATC);
86
-            $form->addElement($mytree_select);
87
-        } else {
88
-            $form->addElement(new \XoopsFormLabel(_AM_INSTRUCTION_CATC, $mytree->makeSelBox('cid', 'title', '--', $this->getVar('cid'), true)));
89
-        }
84
+		if (Utility::checkVerXoops($module, '2.5.9')) {
85
+			$mytree_select = $mytree->makeSelectElement('cid', 'title', '--', $this->getVar('cid'), true, 0, '', _AM_INSTRUCTION_CATC);
86
+			$form->addElement($mytree_select);
87
+		} else {
88
+			$form->addElement(new \XoopsFormLabel(_AM_INSTRUCTION_CATC, $mytree->makeSelBox('cid', 'title', '--', $this->getVar('cid'), true)));
89
+		}
90 90
 
91
-        // Описание
92
-        $form->addElement(Utility::getWysiwygForm(_AM_INSTRUCTION_DESCRIPTIONC, 'description', $this->getVar('description', 'e')), true);
93
-        // Статус
94
-        $form->addElement(new \XoopsFormRadioYN(_AM_INSTRUCTION_ACTIVEC, 'status', $this->getVar('status')), false);
91
+		// Описание
92
+		$form->addElement(Utility::getWysiwygForm(_AM_INSTRUCTION_DESCRIPTIONC, 'description', $this->getVar('description', 'e')), true);
93
+		// Статус
94
+		$form->addElement(new \XoopsFormRadioYN(_AM_INSTRUCTION_ACTIVEC, 'status', $this->getVar('status')), false);
95 95
 
96
-        // Теги
97
-        $dir_tag_ok = false;
98
-        if (is_dir('../../tag') || is_dir('../tag')) {
99
-            $dir_tag_ok = true;
100
-        }
101
-        // Если влючена поддержка тегов и есть модуль tag
102
-        if (xoops_getModuleOption('usetag', 'instruction') && $dir_tag_ok) {
103
-            $itemIdForTag = $this->isNew() ? 0 : $this->getVar('instrid');
104
-            // Подключаем форму тегов
105
-            include_once $GLOBALS['xoops']->path('modules/tag/include/formtag.php');
106
-            // Добавляем элемент в форму
107
-            $form->addElement(new \XoopsFormTag('tag', 60, 255, $itemIdForTag, 0));
108
-        }
96
+		// Теги
97
+		$dir_tag_ok = false;
98
+		if (is_dir('../../tag') || is_dir('../tag')) {
99
+			$dir_tag_ok = true;
100
+		}
101
+		// Если влючена поддержка тегов и есть модуль tag
102
+		if (xoops_getModuleOption('usetag', 'instruction') && $dir_tag_ok) {
103
+			$itemIdForTag = $this->isNew() ? 0 : $this->getVar('instrid');
104
+			// Подключаем форму тегов
105
+			include_once $GLOBALS['xoops']->path('modules/tag/include/formtag.php');
106
+			// Добавляем элемент в форму
107
+			$form->addElement(new \XoopsFormTag('tag', 60, 255, $itemIdForTag, 0));
108
+		}
109 109
 
110
-        // Мета-теги ключевых слов
111
-        $form->addElement(new \XoopsFormText(_AM_INSTRUCTION_METAKEYWORDSC, 'metakeywords', 50, 255, $this->getVar('metakeywords')), false);
112
-        // Мета-теги описания
113
-        $form->addElement(new \XoopsFormText(_AM_INSTRUCTION_METADESCRIPTIONC, 'metadescription', 50, 255, $this->getVar('metadescription')), false);
110
+		// Мета-теги ключевых слов
111
+		$form->addElement(new \XoopsFormText(_AM_INSTRUCTION_METAKEYWORDSC, 'metakeywords', 50, 255, $this->getVar('metakeywords')), false);
112
+		// Мета-теги описания
113
+		$form->addElement(new \XoopsFormText(_AM_INSTRUCTION_METADESCRIPTIONC, 'metadescription', 50, 255, $this->getVar('metadescription')), false);
114 114
 
115
-        // Если мы редактируем категорию
116
-        if (!$this->isNew()) {
117
-            $form->addElement(new \XoopsFormHidden('instrid', $this->getVar('instrid')));
118
-        }
119
-        //
120
-        $form->addElement(new \XoopsFormHidden('op', 'saveinstr'));
121
-        // Кнопка
122
-        $form->addElement(new \XoopsFormButton('', 'submit', _SUBMIT, 'submit'));
123
-        return $form;
124
-    }
115
+		// Если мы редактируем категорию
116
+		if (!$this->isNew()) {
117
+			$form->addElement(new \XoopsFormHidden('instrid', $this->getVar('instrid')));
118
+		}
119
+		//
120
+		$form->addElement(new \XoopsFormHidden('op', 'saveinstr'));
121
+		// Кнопка
122
+		$form->addElement(new \XoopsFormButton('', 'submit', _SUBMIT, 'submit'));
123
+		return $form;
124
+	}
125 125
 }
Please login to merge, or discard this patch.
class/CategoryHandler.php 1 patch
Indentation   +22 added lines, -22 removed lines patch added patch discarded remove patch
@@ -14,28 +14,28 @@
 block discarded – undo
14 14
  */
15 15
 class CategoryHandler extends \XoopsPersistableObjectHandler
16 16
 {
17
-    /**
18
-     * @param null|mixed $db
19
-     */
20
-    public function __construct(\XoopsDatabase $db = null)
21
-    {
22
-        parent::__construct($db, 'instruction_cat', Category::class, 'cid', 'title');
23
-    }
17
+	/**
18
+	 * @param null|mixed $db
19
+	 */
20
+	public function __construct(\XoopsDatabase $db = null)
21
+	{
22
+		parent::__construct($db, 'instruction_cat', Category::class, 'cid', 'title');
23
+	}
24 24
 
25
-    // Обновление даты обновления категории
25
+	// Обновление даты обновления категории
26 26
 
27
-    /**
28
-     * @param int      $cid
29
-     * @param null|int $time
30
-     * @return mixed
31
-     */
32
-    public function updateDateupdated($cid = 0, $time = null)
33
-    {
34
-        // Если не передали время
35
-        $time = null === $time ? time() : (int)$time;
36
-        //
37
-        $sql = sprintf('UPDATE `%s` SET `dateupdated` = %u WHERE `cid` = %u', $this->table, $time, (int)$cid);
38
-        //
39
-        return $this->db->query($sql);
40
-    }
27
+	/**
28
+	 * @param int      $cid
29
+	 * @param null|int $time
30
+	 * @return mixed
31
+	 */
32
+	public function updateDateupdated($cid = 0, $time = null)
33
+	{
34
+		// Если не передали время
35
+		$time = null === $time ? time() : (int)$time;
36
+		//
37
+		$sql = sprintf('UPDATE `%s` SET `dateupdated` = %u WHERE `cid` = %u', $this->table, $time, (int)$cid);
38
+		//
39
+		return $this->db->query($sql);
40
+	}
41 41
 }
Please login to merge, or discard this patch.
class/Category.php 1 patch
Indentation   +157 added lines, -157 removed lines patch added patch discarded remove patch
@@ -16,60 +16,60 @@  discard block
 block discarded – undo
16 16
  */
17 17
 class Category extends \XoopsObject
18 18
 {
19
-    // constructor
20
-    public function __construct()
21
-    {
22
-        //		$this->XoopsObject();
23
-        $this->initVar('cid', XOBJ_DTYPE_INT, null, false, 5);
24
-        $this->initVar('pid', XOBJ_DTYPE_INT, 0, false, 5);
25
-        $this->initVar('title', XOBJ_DTYPE_TXTBOX, '', false);
26
-        $this->initVar('imgurl', XOBJ_DTYPE_TXTBOX, '', false);
27
-        $this->initVar('description', XOBJ_DTYPE_TXTAREA, null, false);
28
-        $this->initVar('weight', XOBJ_DTYPE_INT, 0, false, 11);
29
-        $this->initVar('datecreated', XOBJ_DTYPE_INT, 0, false, 10);
30
-        $this->initVar('dateupdated', XOBJ_DTYPE_INT, 0, false, 10);
31
-        $this->initVar('metakeywords', XOBJ_DTYPE_TXTBOX, '', false);
32
-        $this->initVar('metadescription', XOBJ_DTYPE_TXTBOX, '', false);
33
-    }
34
-
35
-    /**
36
-     * @return mixed
37
-     */
38
-    public function getNewInstertId()
39
-    {
40
-        $newEnreg = $GLOBALS['xoopsDB']->getInsertId();
41
-        return $newEnreg;
42
-    }
43
-
44
-    // Получаем форму
45
-
46
-    /**
47
-     * @param bool|null|string $action
48
-     * @return \XoopsThemeForm
49
-     */
50
-    public function getForm($action = false)
51
-    {
52
-        //global $xoopsDB, $xoopsModule, $xoopsModuleConfig;
53
-        require_once __DIR__ . '/../include/common.php';
54
-        // Если нет $action
55
-        if (false === $action) {
56
-            $action = xoops_getenv('REQUEST_URI');
57
-        }
58
-        // Подключаем формы
59
-        include_once $GLOBALS['xoops']->path('class/xoopsformloader.php');
60
-
61
-        // Название формы
62
-        $title = $this->isNew() ? sprintf(_AM_INSTRUCTION_FORMADDCAT) : sprintf(_AM_INSTRUCTION_FORMEDITCAT);
63
-
64
-        // Форма
65
-        $form = new \XoopsThemeForm($title, 'formcat', $action, 'post', true);
66
-        //$form->setExtra('enctype="multipart/form-data"');
67
-        // Название категории
68
-        $form->addElement(new \XoopsFormText(_AM_INSTRUCTION_TITLEC, 'title', 50, 255, $this->getVar('title')), true);
69
-        // Редактор
70
-        $form->addElement(new \XoopsFormTextArea(_AM_INSTRUCTION_DSCC, 'description', $this->getVar('description', 'e')), true);
71
-        //image
72
-        /*
19
+	// constructor
20
+	public function __construct()
21
+	{
22
+		//		$this->XoopsObject();
23
+		$this->initVar('cid', XOBJ_DTYPE_INT, null, false, 5);
24
+		$this->initVar('pid', XOBJ_DTYPE_INT, 0, false, 5);
25
+		$this->initVar('title', XOBJ_DTYPE_TXTBOX, '', false);
26
+		$this->initVar('imgurl', XOBJ_DTYPE_TXTBOX, '', false);
27
+		$this->initVar('description', XOBJ_DTYPE_TXTAREA, null, false);
28
+		$this->initVar('weight', XOBJ_DTYPE_INT, 0, false, 11);
29
+		$this->initVar('datecreated', XOBJ_DTYPE_INT, 0, false, 10);
30
+		$this->initVar('dateupdated', XOBJ_DTYPE_INT, 0, false, 10);
31
+		$this->initVar('metakeywords', XOBJ_DTYPE_TXTBOX, '', false);
32
+		$this->initVar('metadescription', XOBJ_DTYPE_TXTBOX, '', false);
33
+	}
34
+
35
+	/**
36
+	 * @return mixed
37
+	 */
38
+	public function getNewInstertId()
39
+	{
40
+		$newEnreg = $GLOBALS['xoopsDB']->getInsertId();
41
+		return $newEnreg;
42
+	}
43
+
44
+	// Получаем форму
45
+
46
+	/**
47
+	 * @param bool|null|string $action
48
+	 * @return \XoopsThemeForm
49
+	 */
50
+	public function getForm($action = false)
51
+	{
52
+		//global $xoopsDB, $xoopsModule, $xoopsModuleConfig;
53
+		require_once __DIR__ . '/../include/common.php';
54
+		// Если нет $action
55
+		if (false === $action) {
56
+			$action = xoops_getenv('REQUEST_URI');
57
+		}
58
+		// Подключаем формы
59
+		include_once $GLOBALS['xoops']->path('class/xoopsformloader.php');
60
+
61
+		// Название формы
62
+		$title = $this->isNew() ? sprintf(_AM_INSTRUCTION_FORMADDCAT) : sprintf(_AM_INSTRUCTION_FORMEDITCAT);
63
+
64
+		// Форма
65
+		$form = new \XoopsThemeForm($title, 'formcat', $action, 'post', true);
66
+		//$form->setExtra('enctype="multipart/form-data"');
67
+		// Название категории
68
+		$form->addElement(new \XoopsFormText(_AM_INSTRUCTION_TITLEC, 'title', 50, 255, $this->getVar('title')), true);
69
+		// Редактор
70
+		$form->addElement(new \XoopsFormTextArea(_AM_INSTRUCTION_DSCC, 'description', $this->getVar('description', 'e')), true);
71
+		//image
72
+		/*
73 73
         $downloadscat_img = $this->getVar('imgurl') ? $this->getVar('imgurl') : 'blank.gif';
74 74
         $uploadirectory='/uploads/tdmdownloads/images/cats';
75 75
         $imgtray = new \XoopsFormElementTray(_AM_TDMDOWNLOADS_FORMIMG,'<br>');
@@ -88,107 +88,107 @@  discard block
 block discarded – undo
88 88
         $imgtray->addElement($fileseltray);
89 89
         $form->addElement($imgtray);
90 90
         */
91
-        // Родительская категория
92
-        //        $categoryHandler = xoops_getModuleHandler('category', 'instruction');
93
-        $criteria = new \CriteriaCompo();
94
-        // Если мы редактируем, то убрать текущую категорию из списка выбора родительской
95
-        if (!$this->isNew()) {
96
-            $criteria->add(new \Criteria('cid', $this->getVar('cid'), '<>'));
97
-        }
98
-        $criteria->setSort('weight ASC, title');
99
-        $criteria->setOrder('ASC');
100
-
101
-        $categoryHandler    = new CategoryHandler;
102
-        $instructioncat_arr = $categoryHandler->getall($criteria);
103
-        unset($criteria);
104
-        // Подключаем трей
105
-        include_once $GLOBALS['xoops']->path('class/tree.php');
106
-        $mytree = new \XoopsObjectTree($instructioncat_arr, 'cid', 'pid');
107
-
108
-        // $form->addElement(new \XoopsFormLabel(_AM_INSTRUCTION_PCATC, $mytree->makeSelBox('pid', 'title', '--', $this->getVar('pid'), true)));
109
-
110
-        $helper = Helper::getInstance();
111
-        $module = $helper->getModule();
112
-
113
-        if (Utility::checkVerXoops($module, '2.5.9')) {
114
-            $mytree_select = $mytree->makeSelectElement('pid', 'title', '--', $this->getVar('pid'), true, 0, '', _AM_INSTRUCTION_PCATC);
115
-            $form->addElement($mytree_select);
116
-        } else {
117
-            $form->addElement(new \XoopsFormLabel(_AM_INSTRUCTION_PCATC, $mytree->makeSelBox('pid', 'title', '--', $this->getVar('pid'), true)));
118
-        }
119
-
120
-        // Вес
121
-        $form->addElement(new \XoopsFormText(_AM_INSTRUCTION_WEIGHTC, 'weight', 5, 5, $this->getVar('weight')), true);
122
-        // Мета-теги ключевых слов
123
-        $form->addElement(new \XoopsFormText(_AM_INSTRUCTION_METAKEYWORDSC, 'metakeywords', 50, 255, $this->getVar('metakeywords')), false);
124
-        // Мета-теги описания
125
-        $form->addElement(new \XoopsFormText(_AM_INSTRUCTION_METADESCRIPTIONC, 'metadescription', 50, 255, $this->getVar('metadescription')), false);
126
-
127
-        // ==========================================================
128
-        // ==========================================================
129
-
130
-        // Права
131
-        $memberHandler = xoops_getHandler('member');
132
-        $group_list    = $memberHandler->getGroupList();
133
-        $gpermHandler  = xoops_getHandler('groupperm');
134
-        $full_list     = array_keys($group_list);
135
-
136
-        // Права на просмотр
137
-        $groups_ids = [];
138
-        // Если мы редактируем
139
-        if (!$this->isNew()) {
140
-            $groups_ids        = $gpermHandler->getGroupIds('instruction_view', $this->getVar('cid'), $GLOBALS['xoopsModule']->getVar('mid'));
141
-            $groups_ids        = array_values($groups_ids);
142
-            $groups_instr_view = new \XoopsFormCheckBox(_AM_INSTRUCTION_PERM_VIEW, 'groups_instr_view', $groups_ids);
143
-        } else {
144
-            $groups_instr_view = new \XoopsFormCheckBox(_AM_INSTRUCTION_PERM_VIEW, 'groups_instr_view', $full_list);
145
-        }
146
-        $groups_instr_view->addOptionArray($group_list);
147
-        $form->addElement($groups_instr_view);
148
-
149
-        // Права на отправку
150
-        $groups_ids = [];
151
-        if (!$this->isNew()) {
152
-            $groups_ids          = $gpermHandler->getGroupIds('instruction_submit', $this->getVar('cid'), $GLOBALS['xoopsModule']->getVar('mid'));
153
-            $groups_ids          = array_values($groups_ids);
154
-            $groups_instr_submit = new \XoopsFormCheckBox(_AM_INSTRUCTION_PERM_SUBMIT, 'groups_instr_submit', $groups_ids);
155
-        } else {
156
-            $groups_instr_submit = new \XoopsFormCheckBox(_AM_INSTRUCTION_PERM_SUBMIT, 'groups_instr_submit', $full_list);
157
-        }
158
-        $groups_instr_submit->addOptionArray($group_list);
159
-        $form->addElement($groups_instr_submit);
160
-
161
-        // Права на редактирование
162
-        $groups_ids = [];
163
-        if (!$this->isNew()) {
164
-            $groups_ids        = $gpermHandler->getGroupIds('instruction_edit', $this->getVar('cid'), $GLOBALS['xoopsModule']->getVar('mid'));
165
-            $groups_ids        = array_values($groups_ids);
166
-            $groups_instr_edit = new \XoopsFormCheckBox(_AM_INSTRUCTION_PERM_EDIT, 'groups_instr_edit', $groups_ids);
167
-        } else {
168
-            $groups_instr_edit = new \XoopsFormCheckBox(_AM_INSTRUCTION_PERM_EDIT, 'groups_instr_edit', $full_list);
169
-        }
170
-        $groups_instr_edit->addOptionArray($group_list);
171
-        $form->addElement($groups_instr_edit);
172
-
173
-        // ==========================================================
174
-        // ==========================================================
175
-
176
-        // Если мы редактируем категорию
177
-        if (!$this->isNew()) {
178
-            $form->addElement(new \XoopsFormHidden('cid', $this->getVar('cid')));
179
-            //$form->addElement( new \XoopsFormHidden( 'catmodify', true));
180
-        }
181
-        //
182
-        $form->addElement(new \XoopsFormHidden('op', 'savecat'));
183
-        // Кнопка
184
-        $button_tray = new \XoopsFormElementTray('', '');
185
-        $submit_btn  = new \XoopsFormButton('', 'submit', _SUBMIT, 'submit');
186
-        $button_tray->addElement($submit_btn);
187
-        $cancel_btn = new \XoopsFormButton('', 'cancel', _CANCEL, 'cancel');
188
-        $cancel_btn->setExtra('onclick="javascript:history.go(-1);"');
189
-        $button_tray->addElement($cancel_btn);
190
-        $form->addElement($button_tray);
191
-
192
-        return $form;
193
-    }
91
+		// Родительская категория
92
+		//        $categoryHandler = xoops_getModuleHandler('category', 'instruction');
93
+		$criteria = new \CriteriaCompo();
94
+		// Если мы редактируем, то убрать текущую категорию из списка выбора родительской
95
+		if (!$this->isNew()) {
96
+			$criteria->add(new \Criteria('cid', $this->getVar('cid'), '<>'));
97
+		}
98
+		$criteria->setSort('weight ASC, title');
99
+		$criteria->setOrder('ASC');
100
+
101
+		$categoryHandler    = new CategoryHandler;
102
+		$instructioncat_arr = $categoryHandler->getall($criteria);
103
+		unset($criteria);
104
+		// Подключаем трей
105
+		include_once $GLOBALS['xoops']->path('class/tree.php');
106
+		$mytree = new \XoopsObjectTree($instructioncat_arr, 'cid', 'pid');
107
+
108
+		// $form->addElement(new \XoopsFormLabel(_AM_INSTRUCTION_PCATC, $mytree->makeSelBox('pid', 'title', '--', $this->getVar('pid'), true)));
109
+
110
+		$helper = Helper::getInstance();
111
+		$module = $helper->getModule();
112
+
113
+		if (Utility::checkVerXoops($module, '2.5.9')) {
114
+			$mytree_select = $mytree->makeSelectElement('pid', 'title', '--', $this->getVar('pid'), true, 0, '', _AM_INSTRUCTION_PCATC);
115
+			$form->addElement($mytree_select);
116
+		} else {
117
+			$form->addElement(new \XoopsFormLabel(_AM_INSTRUCTION_PCATC, $mytree->makeSelBox('pid', 'title', '--', $this->getVar('pid'), true)));
118
+		}
119
+
120
+		// Вес
121
+		$form->addElement(new \XoopsFormText(_AM_INSTRUCTION_WEIGHTC, 'weight', 5, 5, $this->getVar('weight')), true);
122
+		// Мета-теги ключевых слов
123
+		$form->addElement(new \XoopsFormText(_AM_INSTRUCTION_METAKEYWORDSC, 'metakeywords', 50, 255, $this->getVar('metakeywords')), false);
124
+		// Мета-теги описания
125
+		$form->addElement(new \XoopsFormText(_AM_INSTRUCTION_METADESCRIPTIONC, 'metadescription', 50, 255, $this->getVar('metadescription')), false);
126
+
127
+		// ==========================================================
128
+		// ==========================================================
129
+
130
+		// Права
131
+		$memberHandler = xoops_getHandler('member');
132
+		$group_list    = $memberHandler->getGroupList();
133
+		$gpermHandler  = xoops_getHandler('groupperm');
134
+		$full_list     = array_keys($group_list);
135
+
136
+		// Права на просмотр
137
+		$groups_ids = [];
138
+		// Если мы редактируем
139
+		if (!$this->isNew()) {
140
+			$groups_ids        = $gpermHandler->getGroupIds('instruction_view', $this->getVar('cid'), $GLOBALS['xoopsModule']->getVar('mid'));
141
+			$groups_ids        = array_values($groups_ids);
142
+			$groups_instr_view = new \XoopsFormCheckBox(_AM_INSTRUCTION_PERM_VIEW, 'groups_instr_view', $groups_ids);
143
+		} else {
144
+			$groups_instr_view = new \XoopsFormCheckBox(_AM_INSTRUCTION_PERM_VIEW, 'groups_instr_view', $full_list);
145
+		}
146
+		$groups_instr_view->addOptionArray($group_list);
147
+		$form->addElement($groups_instr_view);
148
+
149
+		// Права на отправку
150
+		$groups_ids = [];
151
+		if (!$this->isNew()) {
152
+			$groups_ids          = $gpermHandler->getGroupIds('instruction_submit', $this->getVar('cid'), $GLOBALS['xoopsModule']->getVar('mid'));
153
+			$groups_ids          = array_values($groups_ids);
154
+			$groups_instr_submit = new \XoopsFormCheckBox(_AM_INSTRUCTION_PERM_SUBMIT, 'groups_instr_submit', $groups_ids);
155
+		} else {
156
+			$groups_instr_submit = new \XoopsFormCheckBox(_AM_INSTRUCTION_PERM_SUBMIT, 'groups_instr_submit', $full_list);
157
+		}
158
+		$groups_instr_submit->addOptionArray($group_list);
159
+		$form->addElement($groups_instr_submit);
160
+
161
+		// Права на редактирование
162
+		$groups_ids = [];
163
+		if (!$this->isNew()) {
164
+			$groups_ids        = $gpermHandler->getGroupIds('instruction_edit', $this->getVar('cid'), $GLOBALS['xoopsModule']->getVar('mid'));
165
+			$groups_ids        = array_values($groups_ids);
166
+			$groups_instr_edit = new \XoopsFormCheckBox(_AM_INSTRUCTION_PERM_EDIT, 'groups_instr_edit', $groups_ids);
167
+		} else {
168
+			$groups_instr_edit = new \XoopsFormCheckBox(_AM_INSTRUCTION_PERM_EDIT, 'groups_instr_edit', $full_list);
169
+		}
170
+		$groups_instr_edit->addOptionArray($group_list);
171
+		$form->addElement($groups_instr_edit);
172
+
173
+		// ==========================================================
174
+		// ==========================================================
175
+
176
+		// Если мы редактируем категорию
177
+		if (!$this->isNew()) {
178
+			$form->addElement(new \XoopsFormHidden('cid', $this->getVar('cid')));
179
+			//$form->addElement( new \XoopsFormHidden( 'catmodify', true));
180
+		}
181
+		//
182
+		$form->addElement(new \XoopsFormHidden('op', 'savecat'));
183
+		// Кнопка
184
+		$button_tray = new \XoopsFormElementTray('', '');
185
+		$submit_btn  = new \XoopsFormButton('', 'submit', _SUBMIT, 'submit');
186
+		$button_tray->addElement($submit_btn);
187
+		$cancel_btn = new \XoopsFormButton('', 'cancel', _CANCEL, 'cancel');
188
+		$cancel_btn->setExtra('onclick="javascript:history.go(-1);"');
189
+		$button_tray->addElement($cancel_btn);
190
+		$form->addElement($button_tray);
191
+
192
+		return $form;
193
+	}
194 194
 }
Please login to merge, or discard this patch.
class/common/Breadcrumb.php 1 patch
Indentation   +39 added lines, -39 removed lines patch added patch discarded remove patch
@@ -33,48 +33,48 @@
 block discarded – undo
33 33
  */
34 34
 class Breadcrumb
35 35
 {
36
-    public $dirname;
37
-    private $bread = [];
36
+	public $dirname;
37
+	private $bread = [];
38 38
 
39
-    /**
40
-     *
41
-     */
42
-    public function __construct()
43
-    {
44
-        $this->dirname = basename(dirname(dirname(__DIR__)));
45
-    }
39
+	/**
40
+	 *
41
+	 */
42
+	public function __construct()
43
+	{
44
+		$this->dirname = basename(dirname(dirname(__DIR__)));
45
+	}
46 46
 
47
-    /**
48
-     * Add link to breadcrumb
49
-     *
50
-     * @param string $title
51
-     * @param string $link
52
-     */
53
-    public function addLink($title = '', $link = '')
54
-    {
55
-        $this->bread[] = [
56
-            'link'  => $link,
57
-            'title' => $title
58
-        ];
59
-    }
47
+	/**
48
+	 * Add link to breadcrumb
49
+	 *
50
+	 * @param string $title
51
+	 * @param string $link
52
+	 */
53
+	public function addLink($title = '', $link = '')
54
+	{
55
+		$this->bread[] = [
56
+			'link'  => $link,
57
+			'title' => $title
58
+		];
59
+	}
60 60
 
61
-    /**
62
-     * Render BreadCrumb
63
-     *
64
-     */
65
-    public function render()
66
-    {
67
-        if (!isset($GLOBALS['xoTheme']) || !is_object($GLOBALS['xoTheme'])) {
68
-            require_once $GLOBALS['xoops']->path('class/theme.php');
69
-            $GLOBALS['xoTheme'] = new xos_opal_Theme();
70
-        }
61
+	/**
62
+	 * Render BreadCrumb
63
+	 *
64
+	 */
65
+	public function render()
66
+	{
67
+		if (!isset($GLOBALS['xoTheme']) || !is_object($GLOBALS['xoTheme'])) {
68
+			require_once $GLOBALS['xoops']->path('class/theme.php');
69
+			$GLOBALS['xoTheme'] = new xos_opal_Theme();
70
+		}
71 71
 
72
-        require_once $GLOBALS['xoops']->path('class/template.php');
73
-        $breadcrumbTpl = new \XoopsTpl();
74
-        $breadcrumbTpl->assign('breadcrumb', $this->bread);
75
-        $html = $breadcrumbTpl->fetch('db:' . $this->dirname . '_common_breadcrumb.tpl');
76
-        unset($breadcrumbTpl);
72
+		require_once $GLOBALS['xoops']->path('class/template.php');
73
+		$breadcrumbTpl = new \XoopsTpl();
74
+		$breadcrumbTpl->assign('breadcrumb', $this->bread);
75
+		$html = $breadcrumbTpl->fetch('db:' . $this->dirname . '_common_breadcrumb.tpl');
76
+		unset($breadcrumbTpl);
77 77
 
78
-        return $html;
79
-    }
78
+		return $html;
79
+	}
80 80
 }
Please login to merge, or discard this patch.
class/common/FilesManagement.php 1 patch
Indentation   +226 added lines, -226 removed lines patch added patch discarded remove patch
@@ -17,230 +17,230 @@
 block discarded – undo
17 17
  */
18 18
 trait FilesManagement
19 19
 {
20
-    /**
21
-     * Function responsible for checking if a directory exists, we can also write in and create an index.html file
22
-     *
23
-     * @param string $folder The full path of the directory to check
24
-     *
25
-     * @return void
26
-     * @throws \RuntimeException
27
-     */
28
-    public static function createFolder($folder)
29
-    {
30
-        try {
31
-            if (!file_exists($folder)) {
32
-                if (!mkdir($folder) && !is_dir($folder)) {
33
-                    throw new \RuntimeException(sprintf('Unable to create the %s directory', $folder));
34
-                }
35
-
36
-                file_put_contents($folder . '/index.html', '<script>history.go(-1);</script>');
37
-            }
38
-        } catch (\Exception $e) {
39
-            echo 'Caught exception: ', $e->getMessage(), "\n", '<br>';
40
-        }
41
-    }
42
-
43
-    /**
44
-     * @param $file
45
-     * @param $folder
46
-     * @return bool
47
-     */
48
-    public static function copyFile($file, $folder)
49
-    {
50
-        return copy($file, $folder);
51
-    }
52
-
53
-    /**
54
-     * @param $src
55
-     * @param $dst
56
-     * @throws \RuntimeException
57
-     */
58
-    public static function recurseCopy($src, $dst)
59
-    {
60
-        $dir = opendir($src);
61
-        if (!mkdir($dst) && !is_dir($dst)) {
62
-            throw new \RuntimeException('The directory ' . $dst . ' could not be created.');
63
-        }
64
-        while (false !== ($file = readdir($dir))) {
65
-            if (('.' !== $file) && ('..' !== $file)) {
66
-                if (is_dir($src . '/' . $file)) {
67
-                    self::recurseCopy($src . '/' . $file, $dst . '/' . $file);
68
-                } else {
69
-                    copy($src . '/' . $file, $dst . '/' . $file);
70
-                }
71
-            }
72
-        }
73
-        closedir($dir);
74
-    }
75
-
76
-    /**
77
-     *
78
-     * Remove files and (sub)directories
79
-     *
80
-     * @param string $src source directory to delete
81
-     *
82
-     * @uses \Xmf\Module\Helper::getHelper()
83
-     * @uses \Xmf\Module\Helper::isUserAdmin()
84
-     *
85
-     * @return bool true on success
86
-     */
87
-    public static function deleteDirectory($src)
88
-    {
89
-        // Only continue if user is a 'global' Admin
90
-        if (!($GLOBALS['xoopsUser'] instanceof \XoopsUser) || !$GLOBALS['xoopsUser']->isAdmin()) {
91
-            return false;
92
-        }
93
-
94
-        $success = true;
95
-        // remove old files
96
-        $dirInfo = new \SplFileInfo($src);
97
-        // validate is a directory
98
-        if ($dirInfo->isDir()) {
99
-            $fileList = array_diff(scandir($src, SCANDIR_SORT_NONE), ['..', '.']);
100
-            foreach ($fileList as $k => $v) {
101
-                $fileInfo = new \SplFileInfo("{$src}/{$v}");
102
-                if ($fileInfo->isDir()) {
103
-                    // recursively handle subdirectories
104
-                    if (!$success = self::deleteDirectory($fileInfo->getRealPath())) {
105
-                        break;
106
-                    }
107
-                } else {
108
-                    // delete the file
109
-                    if (!($success = unlink($fileInfo->getRealPath()))) {
110
-                        break;
111
-                    }
112
-                }
113
-            }
114
-            // now delete this (sub)directory if all the files are gone
115
-            if ($success) {
116
-                $success = rmdir($dirInfo->getRealPath());
117
-            }
118
-        } else {
119
-            // input is not a valid directory
120
-            $success = false;
121
-        }
122
-        return $success;
123
-    }
124
-
125
-    /**
126
-     *
127
-     * Recursively remove directory
128
-     *
129
-     * @todo currently won't remove directories with hidden files, should it?
130
-     *
131
-     * @param string $src directory to remove (delete)
132
-     *
133
-     * @return bool true on success
134
-     */
135
-    public static function rrmdir($src)
136
-    {
137
-        // Only continue if user is a 'global' Admin
138
-        if (!($GLOBALS['xoopsUser'] instanceof \XoopsUser) || !$GLOBALS['xoopsUser']->isAdmin()) {
139
-            return false;
140
-        }
141
-
142
-        // If source is not a directory stop processing
143
-        if (!is_dir($src)) {
144
-            return false;
145
-        }
146
-
147
-        $success = true;
148
-
149
-        // Open the source directory to read in files
150
-        $iterator = new \DirectoryIterator($src);
151
-        foreach ($iterator as $fObj) {
152
-            if ($fObj->isFile()) {
153
-                $filename = $fObj->getPathname();
154
-                $fObj     = null; // clear this iterator object to close the file
155
-                if (!unlink($filename)) {
156
-                    return false; // couldn't delete the file
157
-                }
158
-            } elseif (!$fObj->isDot() && $fObj->isDir()) {
159
-                // Try recursively on directory
160
-                self::rrmdir($fObj->getPathname());
161
-            }
162
-        }
163
-        $iterator = null;   // clear iterator Obj to close file/directory
164
-        return rmdir($src); // remove the directory & return results
165
-    }
166
-
167
-    /**
168
-     * Recursively move files from one directory to another
169
-     *
170
-     * @param string $src  - Source of files being moved
171
-     * @param string $dest - Destination of files being moved
172
-     *
173
-     * @return bool true on success
174
-     */
175
-    public static function rmove($src, $dest)
176
-    {
177
-        // Only continue if user is a 'global' Admin
178
-        if (!($GLOBALS['xoopsUser'] instanceof \XoopsUser) || !$GLOBALS['xoopsUser']->isAdmin()) {
179
-            return false;
180
-        }
181
-
182
-        // If source is not a directory stop processing
183
-        if (!is_dir($src)) {
184
-            return false;
185
-        }
186
-
187
-        // If the destination directory does not exist and could not be created stop processing
188
-        if (!is_dir($dest) && !mkdir($dest, 0755)) {
189
-            return false;
190
-        }
191
-
192
-        // Open the source directory to read in files
193
-        $iterator = new \DirectoryIterator($src);
194
-        foreach ($iterator as $fObj) {
195
-            if ($fObj->isFile()) {
196
-                rename($fObj->getPathname(), "{$dest}/" . $fObj->getFilename());
197
-            } elseif (!$fObj->isDot() && $fObj->isDir()) {
198
-                // Try recursively on directory
199
-                self::rmove($fObj->getPathname(), "{$dest}/" . $fObj->getFilename());
200
-                //                rmdir($fObj->getPath()); // now delete the directory
201
-            }
202
-        }
203
-        $iterator = null;   // clear iterator Obj to close file/directory
204
-        return rmdir($src); // remove the directory & return results
205
-    }
206
-
207
-    /**
208
-     * Recursively copy directories and files from one directory to another
209
-     *
210
-     * @param string $src  - Source of files being moved
211
-     * @param string $dest - Destination of files being moved
212
-     *
213
-     * @uses \Xmf\Module\Helper::getHelper()
214
-     * @uses \Xmf\Module\Helper::isUserAdmin()
215
-     *
216
-     * @return bool true on success
217
-     */
218
-    public static function rcopy($src, $dest)
219
-    {
220
-        // Only continue if user is a 'global' Admin
221
-        if (!($GLOBALS['xoopsUser'] instanceof \XoopsUser) || !$GLOBALS['xoopsUser']->isAdmin()) {
222
-            return false;
223
-        }
224
-
225
-        // If source is not a directory stop processing
226
-        if (!is_dir($src)) {
227
-            return false;
228
-        }
229
-
230
-        // If the destination directory does not exist and could not be created stop processing
231
-        if (!is_dir($dest) && !mkdir($dest, 0755)) {
232
-            return false;
233
-        }
234
-
235
-        // Open the source directory to read in files
236
-        $iterator = new \DirectoryIterator($src);
237
-        foreach ($iterator as $fObj) {
238
-            if ($fObj->isFile()) {
239
-                copy($fObj->getPathname(), "{$dest}/" . $fObj->getFilename());
240
-            } elseif (!$fObj->isDot() && $fObj->isDir()) {
241
-                self::rcopy($fObj->getPathname(), "{$dest}/" . $fObj->getFilename());
242
-            }
243
-        }
244
-        return true;
245
-    }
20
+	/**
21
+	 * Function responsible for checking if a directory exists, we can also write in and create an index.html file
22
+	 *
23
+	 * @param string $folder The full path of the directory to check
24
+	 *
25
+	 * @return void
26
+	 * @throws \RuntimeException
27
+	 */
28
+	public static function createFolder($folder)
29
+	{
30
+		try {
31
+			if (!file_exists($folder)) {
32
+				if (!mkdir($folder) && !is_dir($folder)) {
33
+					throw new \RuntimeException(sprintf('Unable to create the %s directory', $folder));
34
+				}
35
+
36
+				file_put_contents($folder . '/index.html', '<script>history.go(-1);</script>');
37
+			}
38
+		} catch (\Exception $e) {
39
+			echo 'Caught exception: ', $e->getMessage(), "\n", '<br>';
40
+		}
41
+	}
42
+
43
+	/**
44
+	 * @param $file
45
+	 * @param $folder
46
+	 * @return bool
47
+	 */
48
+	public static function copyFile($file, $folder)
49
+	{
50
+		return copy($file, $folder);
51
+	}
52
+
53
+	/**
54
+	 * @param $src
55
+	 * @param $dst
56
+	 * @throws \RuntimeException
57
+	 */
58
+	public static function recurseCopy($src, $dst)
59
+	{
60
+		$dir = opendir($src);
61
+		if (!mkdir($dst) && !is_dir($dst)) {
62
+			throw new \RuntimeException('The directory ' . $dst . ' could not be created.');
63
+		}
64
+		while (false !== ($file = readdir($dir))) {
65
+			if (('.' !== $file) && ('..' !== $file)) {
66
+				if (is_dir($src . '/' . $file)) {
67
+					self::recurseCopy($src . '/' . $file, $dst . '/' . $file);
68
+				} else {
69
+					copy($src . '/' . $file, $dst . '/' . $file);
70
+				}
71
+			}
72
+		}
73
+		closedir($dir);
74
+	}
75
+
76
+	/**
77
+	 *
78
+	 * Remove files and (sub)directories
79
+	 *
80
+	 * @param string $src source directory to delete
81
+	 *
82
+	 * @uses \Xmf\Module\Helper::getHelper()
83
+	 * @uses \Xmf\Module\Helper::isUserAdmin()
84
+	 *
85
+	 * @return bool true on success
86
+	 */
87
+	public static function deleteDirectory($src)
88
+	{
89
+		// Only continue if user is a 'global' Admin
90
+		if (!($GLOBALS['xoopsUser'] instanceof \XoopsUser) || !$GLOBALS['xoopsUser']->isAdmin()) {
91
+			return false;
92
+		}
93
+
94
+		$success = true;
95
+		// remove old files
96
+		$dirInfo = new \SplFileInfo($src);
97
+		// validate is a directory
98
+		if ($dirInfo->isDir()) {
99
+			$fileList = array_diff(scandir($src, SCANDIR_SORT_NONE), ['..', '.']);
100
+			foreach ($fileList as $k => $v) {
101
+				$fileInfo = new \SplFileInfo("{$src}/{$v}");
102
+				if ($fileInfo->isDir()) {
103
+					// recursively handle subdirectories
104
+					if (!$success = self::deleteDirectory($fileInfo->getRealPath())) {
105
+						break;
106
+					}
107
+				} else {
108
+					// delete the file
109
+					if (!($success = unlink($fileInfo->getRealPath()))) {
110
+						break;
111
+					}
112
+				}
113
+			}
114
+			// now delete this (sub)directory if all the files are gone
115
+			if ($success) {
116
+				$success = rmdir($dirInfo->getRealPath());
117
+			}
118
+		} else {
119
+			// input is not a valid directory
120
+			$success = false;
121
+		}
122
+		return $success;
123
+	}
124
+
125
+	/**
126
+	 *
127
+	 * Recursively remove directory
128
+	 *
129
+	 * @todo currently won't remove directories with hidden files, should it?
130
+	 *
131
+	 * @param string $src directory to remove (delete)
132
+	 *
133
+	 * @return bool true on success
134
+	 */
135
+	public static function rrmdir($src)
136
+	{
137
+		// Only continue if user is a 'global' Admin
138
+		if (!($GLOBALS['xoopsUser'] instanceof \XoopsUser) || !$GLOBALS['xoopsUser']->isAdmin()) {
139
+			return false;
140
+		}
141
+
142
+		// If source is not a directory stop processing
143
+		if (!is_dir($src)) {
144
+			return false;
145
+		}
146
+
147
+		$success = true;
148
+
149
+		// Open the source directory to read in files
150
+		$iterator = new \DirectoryIterator($src);
151
+		foreach ($iterator as $fObj) {
152
+			if ($fObj->isFile()) {
153
+				$filename = $fObj->getPathname();
154
+				$fObj     = null; // clear this iterator object to close the file
155
+				if (!unlink($filename)) {
156
+					return false; // couldn't delete the file
157
+				}
158
+			} elseif (!$fObj->isDot() && $fObj->isDir()) {
159
+				// Try recursively on directory
160
+				self::rrmdir($fObj->getPathname());
161
+			}
162
+		}
163
+		$iterator = null;   // clear iterator Obj to close file/directory
164
+		return rmdir($src); // remove the directory & return results
165
+	}
166
+
167
+	/**
168
+	 * Recursively move files from one directory to another
169
+	 *
170
+	 * @param string $src  - Source of files being moved
171
+	 * @param string $dest - Destination of files being moved
172
+	 *
173
+	 * @return bool true on success
174
+	 */
175
+	public static function rmove($src, $dest)
176
+	{
177
+		// Only continue if user is a 'global' Admin
178
+		if (!($GLOBALS['xoopsUser'] instanceof \XoopsUser) || !$GLOBALS['xoopsUser']->isAdmin()) {
179
+			return false;
180
+		}
181
+
182
+		// If source is not a directory stop processing
183
+		if (!is_dir($src)) {
184
+			return false;
185
+		}
186
+
187
+		// If the destination directory does not exist and could not be created stop processing
188
+		if (!is_dir($dest) && !mkdir($dest, 0755)) {
189
+			return false;
190
+		}
191
+
192
+		// Open the source directory to read in files
193
+		$iterator = new \DirectoryIterator($src);
194
+		foreach ($iterator as $fObj) {
195
+			if ($fObj->isFile()) {
196
+				rename($fObj->getPathname(), "{$dest}/" . $fObj->getFilename());
197
+			} elseif (!$fObj->isDot() && $fObj->isDir()) {
198
+				// Try recursively on directory
199
+				self::rmove($fObj->getPathname(), "{$dest}/" . $fObj->getFilename());
200
+				//                rmdir($fObj->getPath()); // now delete the directory
201
+			}
202
+		}
203
+		$iterator = null;   // clear iterator Obj to close file/directory
204
+		return rmdir($src); // remove the directory & return results
205
+	}
206
+
207
+	/**
208
+	 * Recursively copy directories and files from one directory to another
209
+	 *
210
+	 * @param string $src  - Source of files being moved
211
+	 * @param string $dest - Destination of files being moved
212
+	 *
213
+	 * @uses \Xmf\Module\Helper::getHelper()
214
+	 * @uses \Xmf\Module\Helper::isUserAdmin()
215
+	 *
216
+	 * @return bool true on success
217
+	 */
218
+	public static function rcopy($src, $dest)
219
+	{
220
+		// Only continue if user is a 'global' Admin
221
+		if (!($GLOBALS['xoopsUser'] instanceof \XoopsUser) || !$GLOBALS['xoopsUser']->isAdmin()) {
222
+			return false;
223
+		}
224
+
225
+		// If source is not a directory stop processing
226
+		if (!is_dir($src)) {
227
+			return false;
228
+		}
229
+
230
+		// If the destination directory does not exist and could not be created stop processing
231
+		if (!is_dir($dest) && !mkdir($dest, 0755)) {
232
+			return false;
233
+		}
234
+
235
+		// Open the source directory to read in files
236
+		$iterator = new \DirectoryIterator($src);
237
+		foreach ($iterator as $fObj) {
238
+			if ($fObj->isFile()) {
239
+				copy($fObj->getPathname(), "{$dest}/" . $fObj->getFilename());
240
+			} elseif (!$fObj->isDot() && $fObj->isDir()) {
241
+				self::rcopy($fObj->getPathname(), "{$dest}/" . $fObj->getFilename());
242
+			}
243
+		}
244
+		return true;
245
+	}
246 246
 }
Please login to merge, or discard this patch.