Beispiel #1
0
 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;
 }