1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-03 21:27:25 +02:00

Admin-ui: New method: beforePrefsSave($new_data, $old_data);

This commit is contained in:
Cameron
2018-09-10 10:42:54 -07:00
parent 310b7e84e1
commit 688db76a96
2 changed files with 27 additions and 2 deletions

View File

@@ -5946,6 +5946,15 @@ class e_admin_ui extends e_admin_controller_ui
{ {
} }
/**
* User defined before pref saving logic
* @param $new_data
* @param $old_data
*/
public function beforePrefsSave($new_data, $old_data)
{
}
/** /**
* User defined error handling, return true to suppress model messages * User defined error handling, return true to suppress model messages
*/ */
@@ -6007,6 +6016,16 @@ class e_admin_ui extends e_admin_controller_ui
{ {
$data = $this->getPosted(); $data = $this->getPosted();
$beforePref = $data;
unset($beforePref['e-token'],$beforePref['etrigger_save']);
$tmp = $this->beforePrefsSave($beforePref, $this->getConfig()->getPref());
if(!empty($tmp))
{
$data = $tmp;
}
foreach($this->prefs as $k=>$v) // fix for empty checkboxes - need to save a value. foreach($this->prefs as $k=>$v) // fix for empty checkboxes - need to save a value.
{ {
if(!isset($data[$k]) && $v['data'] !== false && ($v['type'] === 'checkboxes' || $v['type'] === 'checkbox')) if(!isset($data[$k]) && $v['data'] !== false && ($v['type'] === 'checkboxes' || $v['type'] === 'checkbox'))
@@ -6704,6 +6723,7 @@ class e_admin_form_ui extends e_form
$fieldsets['confirm']['triggers']['hidden'] = $this->hidden('etrigger_batch', 'delete'); $fieldsets['confirm']['triggers']['hidden'] = $this->hidden('etrigger_batch', 'delete');
} }
$id = null;
$forms[$id] = array( $forms[$id] = array(
'id' => $this->getElementId(), // unique string used for building element ids, REQUIRED 'id' => $this->getElementId(), // unique string used for building element ids, REQUIRED
'url' => e_REQUEST_SELF, // default 'url' => e_REQUEST_SELF, // default

View File

@@ -296,6 +296,11 @@ class plugin_blank_admin_ui extends e_admin_ui
$ns->tablerender("Hello",$text); $ns->tablerender("Hello",$text);
} }
public function beforePrefsSave($new_data, $old_data)
{
// return $new_data;
}
} }
class plugin_blank_admin_form_ui extends e_admin_form_ui class plugin_blank_admin_form_ui extends e_admin_form_ui