1
0
mirror of https://github.com/e107inc/e107.git synced 2025-07-31 20:00:37 +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

@@ -5947,8 +5947,17 @@ class e_admin_ui extends e_admin_controller_ui
}
/**
* User defined error handling, return true to suppress model messages
*/
* 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
*/
public function onUpdateError($new_data, $old_data, $id)
{
}
@@ -6007,6 +6016,16 @@ class e_admin_ui extends e_admin_controller_ui
{
$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.
{
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');
}
$id = null;
$forms[$id] = array(
'id' => $this->getElementId(), // unique string used for building element ids, REQUIRED
'url' => e_REQUEST_SELF, // default

View File

@@ -296,6 +296,11 @@ class plugin_blank_admin_ui extends e_admin_ui
$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