18 parent::__construct($oConfig,
$oDb);
23 $sBaseUrl = CH_WSB_URL_ROOT . $this->_oConfig->getBaseUri() .
'action_get_page_';
25 $this->
addAdminCss(array(
'tabs.css',
'admin.css',
'forms_adv.css'));
26 $this->
addAdminJs(array(
'jquery.ui.core.min.js',
'jquery.ui.widget.min.js',
'jquery.ui.tabs.min.js',
'main.js'));
29 'ch_repeat:page_tabs' => array(
31 'page_url' => $sBaseUrl.
'rules',
32 'page_name' =>
_t(
'_ch_pageac_rules_page')
35 'page_url' => $sBaseUrl.
'top_menu',
36 'page_name' =>
_t(
'_ch_pageac_topmenu_page')
39 'page_url' => $sBaseUrl.
'member_menu',
40 'page_name' =>
_t(
'_ch_pageac_membermenu_page')
43 'page_url' => $sBaseUrl.
'page_blocks',
44 'page_name' =>
_t(
'_ch_pageac_page_blocks_page')
47 'base_url' => CH_WSB_URL_ROOT . $this->_oConfig->getBaseUri()
54 $aResult[
'ch_if:rules_not_exist'] = array(
55 'condition' => count($aRules) == 0,
57 'no_rules' =>
MsgBox(
_t(
'_ch_pageac_no_rules_admin'))
61 $aResult[
'ch_if:rules_exist'] = array(
62 'condition' => count($aRules) > 0,
66 $aRulesList = array();
67 if (count($aRules) > 0)
68 foreach ($aRules
as $aRule) {
69 $aForbiddenGroups = array();
70 foreach ($this->_oConfig->_aMemberships
as $iMemLevelID => $sMemLevelName) {
71 $aForbiddenGroups[] = array(
72 'checked' => $aRule[
'MemLevels'][$iMemLevelID] ?
'checked="checked"' :
'',
73 'rule_id' => $aRule[
'ID'],
74 'memlevel_id' => $iMemLevelID,
75 'memlevel_name' => $sMemLevelName
79 $aRulesList[] = array(
80 'rule_id' => $aRule[
'ID'],
81 'rule_text' => htmlentities($aRule[
'Rule']),
82 'ch_repeat:forbidden_groups' => $aForbiddenGroups
86 $aResult[
'ch_if:rules_exist'][
'content'][
'ch_repeat:rules'] = $aRulesList;
93 $sBaseUrl = CH_WSB_URL_ROOT . $this->_oConfig->getBaseUri();
95 $this->_aNewRuleForm = array(
96 'form_attrs' => array(
97 'id' =>
'new_rule_form',
98 'name' =>
'new_rule_form',
99 'action' => $sBaseUrl .
'action_new_rule/',
101 'onsubmit' =>
'oChPageACMain.addNewRule(this); return false;'
104 'rule_text' => array(
107 'caption' =>
_t(
'_ch_pageac_page_url'),
108 'info' =>
_t(
'_ch_pageac_page_url_descr'),
110 'rule_advanced' => array(
111 'type' =>
'checkbox',
112 'name' =>
'advanced',
113 'caption' =>
_t(
'_ch_pageac_advanced'),
114 'info' =>
_t(
'_ch_pageac_advanced_descr'),
116 'rule_access' => array(
117 'type' =>
'checkbox_set',
118 'name' =>
'memlevels',
119 'caption' =>
_t(
'_ch_pageac_forbidden_groups'),
120 'value' => array_keys($this->_oConfig->_aMemberships),
121 'values' => $this->_oConfig->_aMemberships
123 'rule_submit' => array(
125 'name' =>
'add_rule',
126 'value' =>
_t(
'_ch_pageac_add_rule')
138 foreach ($aTopMenuArray[
'TopItems']
as $iItemID => $sItemName) {
139 $aCustomItems = array();
140 foreach ($aTopMenuArray[
'CustomItems'][$iItemID]
as $iCustomItemID => $sCustomItemName) {
141 $aCustomItems[] = array(
142 'custom_item_id' => $iCustomItemID,
143 'custom_item_caption' => $sCustomItemName
147 'item_id' => $iItemID,
148 'item_caption' => $sItemName,
149 'ch_repeat:custom_items' => $aCustomItems
153 $aSystemItems = array();
154 foreach ($aTopMenuArray[
'SystemItems']
as $iItemID => $sItemName) {
155 $aCustomItems = array();
156 foreach ($aTopMenuArray[
'CustomItems'][$iItemID]
as $iCustomItemID => $sCustomItemName) {
157 $aCustomItems[] = array(
158 'custom_item_id' => $iCustomItemID,
159 'custom_item_caption' => $sCustomItemName
162 $aSystemItems[] = array(
163 'item_id' => $iItemID,
164 'item_caption' => $sItemName,
165 'ch_repeat:custom_items' => $aCustomItems
170 'parser_url' => CH_WSB_URL_ROOT . $this->_oConfig->getBaseUri().
'action_top_menu/',
172 'ch_repeat:system_items' => $aSystemItems,
180 foreach ($aItemsArray
as $iItemID => $sItemName) {
182 'item_id' => $iItemID,
183 'item_caption' => $sItemName
188 'parser_url' => CH_WSB_URL_ROOT . $this->_oConfig->getBaseUri().
'action_member_menu/',
189 'ch_repeat:top_items' => $aItems,
196 $sBaseUrl = CH_WSB_URL_ROOT . $this->_oConfig->getBaseUri();
198 $aMemLevelValues = array();
199 $aMemLevelCheckedValues = array();
200 $aMemLevelValues[-1] =
_t(
'_ch_pageac_visible_for_all');
201 if (
empty($aMenuItemVisibility)) $aMemLevelCheckedValues[] = -1;
202 foreach ($this->_oConfig->_aMemberships
as $iID =>
$sName) {
203 if ($iID == 1)
continue;
204 $aMemLevelValues[$iID] =
$sName;
205 if ($aMenuItemVisibility[$iID] ||
empty($aMenuItemVisibility)) $aMemLevelCheckedValues[] = $iID;
208 $aMenuItemEditForm = array(
209 'form_attrs' => array(
211 'name' =>
'item_edit',
212 'action' => $sBaseUrl .
'action_'.$sMenuType.
'_menu/save/'.$iMenuItem,
214 'onsubmit' =>
'oChPageACMain.saveItem(this); return false;'
217 'mlv_visible_to' => array(
218 'type' =>
'checkbox_set',
219 'caption' =>
_t(
'_ch_pageac_visible_for'),
220 'name' =>
'mlv_visible_to',
221 'value' => $aMemLevelCheckedValues,
222 'values' => $aMemLevelValues
226 'name' =>
'add_rule',
227 'value' =>
_t(
'_Save Changes')
237 $sBaseUrl = CH_WSB_URL_ROOT . $this->_oConfig->getBaseUri();
239 $aMemLevelValues = array();
240 $aMemLevelCheckedValues = array();
241 $aMemLevelValues[-1] =
_t(
'_ch_pageac_visible_for_all');
242 if (
empty($aMenuItemVisibility)) $aMemLevelCheckedValues[] = -1;
243 foreach ($this->_oConfig->_aMemberships
as $iID =>
$sName) {
244 if ($iID == 1)
continue;
245 $aMemLevelValues[$iID] =
$sName;
246 if ($aMenuItemVisibility[$iID] ||
empty($aMenuItemVisibility)) $aMemLevelCheckedValues[] = $iID;
249 $aMenuItemEditForm = array(
250 'form_attrs' => array(
252 'name' =>
'item_edit',
253 'action' => $sBaseUrl .
'action_page_block/save/'.$iMenuItem,
255 'onsubmit' =>
'oChPageACMain.saveItem(this); return false;'
258 'mlv_visible_to' => array(
259 'type' =>
'checkbox_set',
260 'caption' =>
_t(
'_ch_pageac_visible_for'),
261 'name' =>
'mlv_visible_to',
262 'value' => $aMemLevelCheckedValues,
263 'values' => $aMemLevelValues
267 'name' =>
'add_rule',
268 'value' =>
_t(
'_Save Changes')
279 $aPagesTempl = array();
281 $sTitle = htmlspecialchars( $aPage[
'Title'] ? $aPage[
'Title'] : $aPage[
'Name'] );
282 $aPagesTempl[] = array(
289 'update_url' => CH_WSB_URL_ROOT . $this->_oConfig->getBaseUri().
'action_get_page_page_blocks/',
290 'ch_repeat:pages' => $aPagesTempl
296 $sParseUrl = CH_WSB_URL_ROOT . $this->_oConfig->getBaseUri().
'action_page_block/edit/';
299 'ch_repeat:pages' => $aPagesTempl
302 foreach ($aColumns
as $iColumn => $aBlocks) {
303 $aBlocksTmpl = array();
304 foreach ($aBlocks
as $aBlock) {
305 $aBlocksTmpl[] = array(
306 'block_caption' =>
_t( $aBlock[
'Caption'] ),
307 'edit_block_url' => $sParseUrl.$aBlock[
'ID']
310 $aResult[
'ch_repeat:columns'][] = array(
311 'column' => $iColumn,
312 'ch_repeat:blocks' => $aBlocksTmpl