/** * Return error message * * @param mixed $fields Form array or boolean * @param string $title Dialog title * @param boolean $session If true save message in a session var * @return void */ public function notice($fields, $title = '_form_not_valid', $session = false) { $dict = new X4Dict_model(X4Route_core::$folder, X4Route_core::$lang); $error = $dict->get_word($title, 'form'); $fields = X4Utils_helper::normalize_form($fields); foreach ($fields as $i) { if (isset($i['error'])) { foreach ($i['error'] as $ii) { // set the available label $label = is_null($i['label']) && isset($i['alabel']) || isset($i['alabel']) ? $i['alabel'] : $i['label']; // for related fields if (isset($i['related'][$i['name']])) { $src = array('XXXRELATEDXXX'); $rpl = array(); $related = $i['related'][$i['name']]; if (isset($fields[$related])) { // if is a related field $rpl[] = is_null($fields[$related]['label']) && isset($fields[$related]['alabel']) || isset($fields[$related]['alabel']) ? $fields[$related]['alabel'] : $fields[$related]['label']; } else { // if is a related value $rpl[] = $related; } if (isset($i['relatedvalue'][$i['name']])) { $src[] = 'XXXVALUEXXX'; $rpl[] = $i['relatedvalue'][$i['name']]; } $error .= '<br /><u>' . $label . '</u> ' . str_replace($src, $rpl, $dict->get_word($ii, 'form')); } else { $error .= '<br /><u>' . $label . '</u> ' . $dict->get_word($ii, 'form'); } } } } if ($session) { $_SESSION['msg'] = $error; } else { // set message $msg = AdmUtils_helper::set_msg(false, $error, $error); $this->response($msg); } }