function onsubmit($data = null) { global $lang, $panel, $action; $result = 0; $dummyarr = array(); $errors = array(); $content = array(); $lang_loaded = false; $l = null; foreach ($this->validators as $valid_arr) { # array('subject', 'subject', 'notEmpty', false, false, 'func1,func2'); list($vid, $field, $validatorname, $empty, $halt, $funcs) = $valid_arr; $includepath = SMARTY_DIR . 'plugins/'; $string = @$_POST[$field]; // execute functions on string if ($string) { $func_arr = explode(',', $funcs); foreach ($func_arr as $f) { $string = @$f($string); } } include_once $includepath . 'validate_criteria.' . $validatorname . '.php'; # smarty_validate_criteria_notEmpty $valid_f = 'smarty_validate_criteria_' . $validatorname; if (!$valid_f($string, $empty, $dummyarr, $dummyarr)) { if (!$lang_loaded) { $lang = lang_load('admin.' . ADMIN_PANEL); $l = $lang['admin'][ADMIN_PANEL][ADMIN_PANEL_ACTION]; } $errors[$field] = isset($l['error'][$field]) ? $l['error'][$field] : htmlspecialchars($field); if ($halt) { break; } } else { $content[$field] = $string; } } if (!$errors) { $result = parent::onsubmit($content); } else { $this->smarty->assign('error', $errors); $result = apply_filters("admin_{$panel}_{$action}_onerror", $this->onerror()); } return $result; }