Cheetah
privacy.php
Go to the documentation of this file.
1 <?php
2 
8 require_once( '../inc/header.inc.php' );
9 
10 $GLOBALS['iAdminPage'] = 1;
11 
12 require_once( CH_DIRECTORY_PATH_INC . 'profiles.inc.php' );
13 require_once( CH_DIRECTORY_PATH_INC . 'design.inc.php' );
14 require_once( CH_DIRECTORY_PATH_INC . 'admin_design.inc.php' );
15 require_once( CH_DIRECTORY_PATH_INC . 'utils.inc.php' );
16 
17 ch_import('ChWsbPrivacy');
18 ch_import('ChWsbAdminSettings');
19 ch_import('ChTemplSearchResult');
20 
21 $logged['admin'] = member_auth( 1, true, true );
22 
24 
25 //--- Process submit ---//
26 $aResults = array();
27 
28 if(isset($_POST['save']) && isset($_POST['cat'])) {
29  $aResults['settings'] = $oSettings->saveChanges($_POST);
30 }
31 
33 
34 $_page = array(
35  'name_index' => $iNameIndex,
36  'css_name' => array('forms_adv.css', 'settings.css'),
37  'js_name' => array('privacy.js'),
38  'header' => _t('_adm_page_cpt_privacy'),
39 );
40 
42  'page_main_code' => PageCodeMain($aResults)
43 );
44 
46 
48 {
49  $aTopItems = array(
50  'adm-pvc-btn-defaults' => array('href' => 'javascript:void(0)', 'onclick' => 'javascript:onChangeType(this)', 'title' => _t('_adm_txt_pvc_defaults'), 'active' => empty($aResults) ? 1 : 0),
51  'adm-pvc-btn-settings' => array('href' => 'javascript:void(0)', 'onclick' => 'javascript:onChangeType(this)', 'title' => _t('_adm_txt_pvc_settings'), 'active' => isset($aResults['settings']) ? 1 : 0)
52  );
53 
54  $sResult = $GLOBALS['oAdmTemplate']->parseHtmlByName('privacy.html', array(
55  'content_defaults' => _getDefaults(isset($aResults['defaults']) ? $aResults['defaults'] : true, empty($aResults)),
56  'content_settings' => _getSettings(isset($aResults['settings']) ? $aResults['settings'] : true),
57  ));
58 
59  return DesignBoxAdmin(_t('_adm_box_cpt_privacy'), $sResult, $aTopItems);
60 }
61 
62 function _getSettings($mixedResult, $bActive = false)
63 {
64  $sResult = $GLOBALS['oSettings']->getForm();
65  if($mixedResult !== true && !empty($mixedResult)) {
66  $bActive = true;
67  $sResult = $mixedResult . $sResult;
68  }
69 
70  return $GLOBALS['oAdmTemplate']->parseHtmlByName('privacy_settings.html', array(
71  'display' => $bActive ? 'block' : 'none',
72  'form' => $sResult
73  ));
74 }
75 
76 function _getDefaults($mixedResult, $bActive = false)
77 {
78  $sNamePrefix = 'adm-pvc-action-';
79 
80  $aForm = array(
81  'form_attrs' => array(
82  'id' => 'adm-pvc-defaults',
83  'action' => $GLOBALS['site']['url_admin'] . 'privacy.php',
84  'method' => 'post',
85  'enctype' => 'multipart/form-data',
86  ),
87  'params' => array (
88  'db' => array(
89  'table' => 'sys_privacy_actions',
90  'key' => 'ID',
91  'uri' => '',
92  'uri_title' => '',
93  'submit_name' => 'adm-pvc-defaults-save'
94  ),
95  ),
96  'inputs' => array ()
97  );
98 
99  $aValues = array();
100 
101  $aGroupIds = $GLOBALS['MySQL']->getColumn("SELECT `id` FROM `sys_privacy_groups` WHERE `owner_id`='0' AND `id` NOT IN('" . implode("','", array(CH_WSB_PG_DEFAULT, CH_WSB_PG_HIDDEN)) . "')");
102  foreach($aGroupIds as $iGroupId)
103  if(getParam('sys_ps_enabled_group_' . $iGroupId) == 'on')
104  $aValues[$iGroupId] = _t('_ps_group_' . $iGroupId . '_title');
105 
106  $sModule = '';
107  $aActions = $GLOBALS['MySQL']->getAll("SELECT `id` AS `id`, `module_uri` AS `module`, `title` AS `title`, `default_group` AS `default_group` FROM `sys_privacy_actions` WHERE 1 ORDER BY `module_uri` ASC");
108  foreach($aActions as $aAction) {
109  $sName = $sNamePrefix . $aAction['id'];
110  $sValue = $aAction['default_group'];
111 
112  if($aAction['module'] != $sModule) {
113  if(!empty($sModule))
114  $aForm['inputs'][$sModule . '_end'] = array(
115  'type' => 'block_end'
116  );
117 
118  $sModule = $aAction['module'];
119 
120  $aForm['inputs'][$sModule . '_beg'] = array(
121  'type' => 'block_header',
122  'caption' => _t('_sys_module_' . $sModule),
123  'collapsable' => true,
124  'collapsed' => true
125  );
126  }
127 
128  if(!in_array($sValue, $aGroupIds))
129  continue;
130 
131  $aForm['inputs'][$sName] = array(
132  'type' => 'select',
133  'name' => $sName,
134  'caption' => _t($aAction['title']),
135  'value' => (int)$sValue,
136  'values' => $aValues,
137  'db' => array (
138  'pass' => 'Int',
139  )
140  );
141  }
142 
143  $aForm['inputs'][$sModule . '_end'] = array(
144  'type' => 'block_end'
145  );
146  $aForm['inputs']['adm-pvc-defaults-save'] = array(
147  'type' => 'submit',
148  'name' => 'adm-pvc-defaults-save',
149  'value' => _t('_adm_btn_pvc_save'),
150  );
151 
153  $oForm->initChecker();
154 
155  $sResult = "";
156  if($oForm->isSubmittedAndValid()) {
157  $iResult = 0;
158  foreach($aActions as $aAction) {
159  $sName = $sNamePrefix . $aAction['id'];
160  $sValueOld = $aAction['default_group'];
161 
162  if(!in_array($sValueOld, $aGroupIds))
163  continue;
164 
165  $sValueNew = ch_get($sName);
166  if($sValueNew === false || (int)$sValueNew == (int)$sValueOld)
167  continue;
168 
169  $iResult += (int)$GLOBALS['MySQL']->query("UPDATE `sys_privacy_actions` SET `default_group`='" . (int)$sValueNew . "' WHERE `id`='" . $aAction['id'] . "'");
170  }
171 
172  $bActive = true;
173  $sResult .= MsgBox(_t($iResult > 0 ? "_adm_txt_pvc_success_save" : "_adm_txt_pvc_nothing_changed"), 3);
174  }
175  $sResult .= $oForm->getCode();
176 
177  return $GLOBALS['oAdmTemplate']->parseHtmlByName('privacy_defaults.html', array(
178  'display' => $bActive ? 'block' : 'none',
179  'form' => stripslashes($sResult)
180  ));
181 }
ChTemplFormView
Definition: ChTemplFormView.php:11
MsgBox
MsgBox($sText, $iTimer=0)
Definition: design.inc.php:175
$GLOBALS
$GLOBALS['iAdminPage']
Definition: privacy.php:10
$sResult
$sResult
Definition: advanced_settings.php:26
_getSettings
_getSettings($mixedResult, $bActive=false)
Definition: privacy.php:62
ch_import
ch_import($sClassName, $aModule=array())
Definition: utils.inc.php:1218
ch_get
ch_get($sName)
Definition: utils.inc.php:1664
php
CH_WSB_PG_HIDDEN
const CH_WSB_PG_HIDDEN
Definition: ChWsbPrivacy.php:17
$_page
$_page
Definition: privacy.php:34
PageCodeMain
PageCodeMain($aResults)
Definition: privacy.php:47
$sModule
if(!file_exists($sRayHeaderPath)) $sModule
Definition: index.php:14
_getDefaults
_getDefaults($mixedResult, $bActive=false)
Definition: privacy.php:76
$oForm
$oForm
Definition: host_tools.php:42
$oSettings
$oSettings
Definition: privacy.php:23
DesignBoxAdmin
DesignBoxAdmin($sTitle, $sContent, $mixedTopItems='', $sBottomItems='', $iIndex=1)
Definition: admin_design.inc.php:50
$iNameIndex
if(isset($_POST['save']) &&isset($_POST['cat'])) $iNameIndex
Definition: privacy.php:32
$aTopItems
$aTopItems
Definition: antispam.php:366
$logged
$logged['admin']
Definition: privacy.php:21
getParam
getParam($sParamName, $bUseCache=true)
Definition: db.inc.php:130
$_page_cont
$_page_cont[$iNameIndex]
Definition: privacy.php:41
PageCodeAdmin
PageCodeAdmin($oTemplate=null)
Definition: admin_design.inc.php:45
_t
_t($key, $arg0="", $arg1="", $arg2="")
Definition: languages.inc.php:509
member_auth
member_auth($member=0, $error_handle=true, $bAjx=false)
Definition: admin.inc.php:262
ChWsbAdminSettings
Definition: ChWsbAdminSettings.php:35
$aResults
$aResults
Definition: privacy.php:26
$aForm
$aForm
Definition: forgot.php:43
empty
Attr AllowedRel this is empty
Definition: Attr.AllowedRel.txt:7
as
as
Definition: Filter.ExtractStyleBlocks.Escaping.txt:10
$sName
$sName
Definition: ChWsbAdminTools.php:853
CH_WSB_PG_DEFAULT
const CH_WSB_PG_DEFAULT
Definition: ChWsbPrivacy.php:10