public function getTrainings() { $items = ClassSoldier2Training::sqlGetSoldierTrainings($this->id); if ($items && is_array($items) && count($items) > 0) { $array = false; foreach ($items as $key => $item) { if ($item['returned'] == '1' || $item['date_end_tmp'] !== NULL && $item['date_end_tmp'] != '0000-00-00 00:00:00' && strtotime($item['date_end_tmp']) < strtotime("now")) { continue; } $array[$key] = $item; } if ($array) { return $array; } } return false; }
public function addCustomValidate() { if ($this->id_soldier_tmp != $this->id_soldier) { $this->errors = "Niepoprawny żołnierz."; return false; } // sprawdzanie czy szkolenie istnieje i jest aktywna $item = new ClassTraining($this->id_training); if (!$item->load_class) { $this->errors = "Szkolenie nie istnieje."; return false; } if ($item->active != '1') { $this->errors = "Szkolenie jest wyłączone."; return false; } // sprawdzenie czy zolnierz posiada szkolenia $soldier_trainings = ClassSoldier2Training::sqlGetSoldierTrainings($this->id_soldier); if ($soldier_trainings) { foreach ($soldier_trainings as $soldier_training) { // sprawdzenie czy zolnierz chce 2x do tej samej misji zostac przypisany if ($soldier_training['id_training'] == $this->id_training && $soldier_training['returned'] == '0') { $this->errors = "Żołnierz posiada już te szkolenie."; return false; } // sprawdzanie czy nowa misja koliduje z jakas inna misja, na ktorej zolnierz jest if ($soldier_training['returned'] == '0' && self::checkInterferingDates($soldier_training['date_start'], $item->date_start, $soldier_training['date_end'], $item->date_end)) { $this->errors = "Szkolenie <b>{$item->name}</b> koliduje czasowo ze szkoleniem <b>{$soldier_training['name']}</b>."; return false; } } } // sprawdzenie czy zolnierz posiada misje $soldier_missions = ClassSoldier2Mission::sqlGetSoldierMissions($this->id_soldier); if ($soldier_missions) { foreach ($soldier_missions as $soldier_mission) { // sprawdzanie czy nowe szkolenie koliduje z jakas inna misja, na ktorej zolnierz jest if ($soldier_mission['detached'] == '0' && self::checkInterferingDates($soldier_mission['date_start'], $item->date_start, $soldier_mission['date_end'], $item->date_end)) { $this->errors = "Szkolenie <b>{$item->name}</b> koliduje czasowo z misją <b>{$soldier_mission['name']}</b>."; return false; } } } $this->date_training_add = date('Y-m-d H:i:s', strtotime($this->date_training_add)); return false; return true; }
protected function trainingReturn() { // ladowanie klasy $item = new ClassSoldier2Training(ClassTools::getValue('id_soldier2trainings')); // sprawdza czy klasa zostala poprawnie zaladowana if (!$item->load_class) { $this->alerts['danger'] = "Szkolenie żołnierza nie istnieje."; return; } $item->id_soldier = ClassTools::getValue('id_soldier'); $item->id_training = ClassTools::getValue('id_training'); $item->description_return = ClassTools::getValue('form_description_return'); $item->date_training_return = ClassTools::getValue('form_date'); $item->id_user = ClassAuth::getCurrentUserId(); // komunikaty bledu if (!$item->trainingReturn()) { $this->alerts['danger'] = $item->errors; return; } // komunikat $this->alerts['success'] = "Poprawnie odesłano żołnierza ze szkolenia."; // czyszczeie zmiennych wyswietlania $this->tpl_values = ''; $_POST = array(); return; }