protected function search() { if (!$this->checkSearchDefinition()) { return; } $ClassModel = new ClassModel(); $session_old = false; $session = array(); $class = $this->search_definition['class']; $definition = $class::$definition['fields']; if (isset($_SESSION['search'][$this->search_definition['controller']])) { $session_old = $_SESSION['search'][$this->search_definition['controller']]; } foreach ($_POST as $key => $val) { if ($key == 'form_action_search') { continue; } $value = ClassTools::getValue($key) !== false && ClassTools::getValue($key) != '' ? ClassTools::getValue($key) : false; if ($value === false) { continue; } if (isset($this->search_definition['form'][$key])) { if (isset($definition[$key]) && isset($definition[$key]['validate'])) { foreach ($definition[$key]['validate'] as $validate_method) { $value = $ClassModel->validByMethod($validate_method, $value, $definition[$key]['name'], $key); if ($ClassModel->errors && count($ClassModel->errors) > 0) { $this->alerts['danger search'][] = $ClassModel->errors['0']; $ClassModel->errors = array(); } else { $session[$key] = $value; } } } else { $session[$key] = $value; } } } $_SESSION['search'][$this->search_definition['controller']] = $session; return; }