35 private function unusedFields()
39 $defaultFields = array(
'url',
'last_edit');
40 $storedFields = $pd_router->storedFields();
41 $currentFields = $pd_router->getCurrentInterests();
42 $unusedFields = array_diff($storedFields, $currentFields, $defaultFields);
43 $unusedFields = array_values($unusedFields);
55 private function deleteFields()
59 $fields = $_POST[
'xh_fields'];
63 foreach ($fields as $field) {
64 $pd_router->removeInterest($field);
67 return $ok ? count($fields) :
false;
77 private function renderField($field)
80 .
'<input type="checkbox" name="xh_fields[]" value="' . $field .
'">' 96 private function renderMessage($deleted)
100 $ptx = $tx[
'pagedata'];
101 if (isset($deleted)) {
102 if ($deleted ===
false) {
103 return XH_message(
'fail', $ptx[
'fail'], $pth[
'file'][
'content']);
104 } elseif ($deleted === 0) {
107 $suffix = $deleted == 1 ?
'1' : ($deleted >= 5 ?
'5' :
'2_4');
108 return XH_message(
'success', $ptx[
'deleted_' . $suffix], $deleted);
125 private function render($deleted = null)
129 if (!isset($deleted) && isset($_GET[
'xh_success'])) {
130 $deleted = $_GET[
'xh_success'];
132 $o = $this->renderMessage($deleted);
133 if ($deleted ===
false) {
136 $unusedFields = $this->unusedFields();
137 if (empty($unusedFields)) {
138 $o .=
'<p>' . $tx[
'pagedata'][
'ok'] .
'</p>';
140 $action = $sn .
'?&xh_pagedata&edit';
141 $o .=
'<form id="xh_pagedata" action="' .
$action .
'" method="post">' 142 .
'<p>' . $tx[
'pagedata'][
'info'] .
'</p>' 144 foreach ($unusedFields as $field) {
145 $o .= $this->renderField($field);
148 .
'<input type="submit" class="submit" name="xh_pagedata_delete"' 149 .
' value="' . $tx[
'action'][
'delete'] .
'">' 150 . $_XH_csrfProtection->tokenInput()
167 if (isset($_POST[
'xh_pagedata_delete'])) {
168 $_XH_csrfProtection->check();
169 $deleted = $this->deleteFields();
171 return $this->render($deleted);
173 $location =
CMSIMPLE_URL .
'?&xh_pagedata&xh_success=' . $deleted;
174 header(
'Location: ' . $location,
true, 303);
178 return $this->render();
foreach(XH_plugins() as $plugin) $_XH_csrfProtection
XH_message($type, $message)