Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Ukoly model.
- */
- class Ukoly extends BaseObject
- {
- public function __construct()
- {
- parent::__construct();
- $this->table = "ukoly";
- $this->table_view = "ukoly_prehled";
- $this->table_detail_view = "ukoly_detail";
- $this->id = "id_ukolu";
- $this->condition_array = array();
- }
- public function findAllByView($id_uzivatele = null)
- {
- $condition_array = $this->condition_array;
- $session_ukoly = Environment::getSession()->getNamespace('ukoly');
- switch ($session_ukoly->typ){
- case 'ke-splneni': array_push($condition_array,'id_resitele = '.$id_uzivatele);
- array_push($condition_array,'stav IN (2,4)');
- array_push($condition_array,'NOW() > datum_zobrazeni');
- break;
- case 'splnene': array_push($condition_array,'id_resitele = '.$id_uzivatele);
- array_push($condition_array,'stav IN (3)');
- break;
- case 'zadane': array_push($condition_array,'id_zadavatele = '.$id_uzivatele);
- array_push($condition_array,'stav IN (1,2,4)');
- array_push($condition_array,'NOW() > datum_zobrazeni');
- break;
- case 'k-akceptaci': array_push($condition_array,'id_zadavatele = '.$id_uzivatele);
- array_push($condition_array,'stav IN (3)');
- break;
- case 'na-vedomi':
- $condition[] = 'stav != 5';
- $condition[] = 'id_uzivatele = '.$id_uzivatele;
- $condition[] = 'typ = 3';
- $ukoly_array = array();
- $result = $this->connection->select('id_ukolu')->from('ukoly_podilnici')->where($condition);
- $ukoly_result = $result->fetchAll();
- foreach ($ukoly_result as $ukol) {
- $ukoly_array[] = $ukol->id_ukolu;
- }
- // array_push($condition_array,'id_zadavatele = '.$id_uzivatele);
- array_push($condition_array,'NOW() > datum_zobrazeni');
- if (count($ukoly_array)) {
- array_push($condition_array,'id_ukolu IN ( '.join(',',$ukoly_array).')');
- }
- else {
- array_push($condition_array,'id_ukolu = 0');
- }
- break;
- case 'vyresene':
- $condition[] = 'stav = 5';
- $condition[] = 'id_uzivatele = '.$id_uzivatele;
- $ukoly_array = array();
- $result = $this->connection->select('id_ukolu')->from('ukoly_podilnici')->where($condition);
- $ukoly_result = $result->fetchAll();
- foreach ($ukoly_result as $ukol) {
- $ukoly_array[] = $ukol->id_ukolu;
- }
- // array_push($condition_array,'id_zadavatele = '.$id_uzivatele);
- if (count($ukoly_array)) {
- array_push($condition_array,'id_ukolu IN ( '.join(',',$ukoly_array).')');
- }
- else {
- array_push($condition_array,'id_ukolu = 0');
- }
- break;
- case 'vyhledane': $vyhledavani = $this->findVyhledavani($session_ukoly->id, $id_uzivatele)->fetch();
- $condition = explode('; ',$vyhledavani->hledani);
- if (!empty($condition)) {
- $condition_array = array_merge($condition_array,$condition);
- }
- break;
- default : array_push($condition_array,'id_resitele = '.$id_uzivatele);
- array_push($condition_array,'stav IN (2,4)');
- }
- return $this->connection->select('*')->from($this->table_view)->where($condition_array) ;
- }
- public function findTaskByConstract($id_zakazky)
- {
- $condition_array = $this->condition_array;
- array_push($condition_array,'id_zakazky = '.$id_zakazky);
- return $this->connection->select('*')->from($this->table_detail_view)->where($condition_array);
- }
- public function findAllComments($id_ukolu)
- {
- $condition_array = $this->condition_array;
- array_push($condition_array,'id_ukolu = '.$id_ukolu);
- return $this->connection->select('*')->from('ukoly_komentare_prehled')->where($condition_array)->orderBy('cas','DESC');
- }
- public function findAllHistory($id_ukolu)
- {
- $condition_array = $this->condition_array;
- array_push($condition_array,'id_ukolu = '.$id_ukolu);
- return $this->connection->select('*')->from('ukoly_historie_prehled')->where($condition_array)->orderBy('cas','DESC');
- }
- public function findAllSubByView($id_ukol_parent)
- {
- $condition_array = $this->condition_array;
- array_push($condition_array,'id_ukol_parent='.$id_ukol_parent);
- return $this->connection->select('*')->from($this->table_detail_view)->where($condition_array);
- }
- public function findResitele($id_ukolu)
- {
- $condition_array = $this->condition_array;
- array_push($condition_array,"id_ukolu = $id_ukolu");
- array_push($condition_array,"typ = 2");
- return $this->connection->select('*')->from('ukoly_podilnici')->where($condition_array);
- }
- public function findZadavatele($id_ukolu)
- {
- $condition_array = $this->condition_array;
- array_push($condition_array,"id_ukolu = $id_ukolu");
- array_push($condition_array,"typ = 1");
- return $this->connection->select('*')->from('ukoly_podilnici')->where($condition_array);
- }
- public function findNaVedomi($id_ukolu)
- {
- $condition_array = $this->condition_array;
- array_push($condition_array,"id_ukolu = $id_ukolu");
- array_push($condition_array,"typ = 3");
- return $this->connection->select('*')->from('ukoly_podilnici')->where($condition_array);
- }
- public function findVsechnyPodilniky($id_ukolu, $id_uzivatele)
- {
- $condition_array = $this->condition_array;
- array_push($condition_array,"id_ukolu = $id_ukolu");
- array_push($condition_array,"id_uzivatele <> $id_uzivatele");
- return $this->connection->select('DISTINCT mail')->from('ukoly_podilnici')->where($condition_array);
- }
- public function insertPodilnik($id_uzivatele, $id_ukolu, $typ = 3)
- {
- if ($typ == 2) {
- $values["stav"] = 2;
- $this->update($id_ukolu,$values);
- }
- $data = array ( 'id_uzivatele' => $id_uzivatele, 'id_ukolu' => $id_ukolu, 'typ' => $typ );
- return $this->connection->insert('ukoly_uzivatele', $data)->execute();
- }
- public function insertLog($id_uzivatele, $id_ukolu, $text, $typ)
- {
- $data = array ( 'provedl' => $id_uzivatele, 'id_ukolu' => $id_ukolu, 'typ' => $typ, 'text' => $text );
- return $this->connection->insert('ukoly_log', $data)->execute();
- }
- public function insertKomentar($data)
- {
- return $this->connection->insert('ukoly_komentare', $data)->execute(dibi::IDENTIFIER);
- }
- public function deletePodilnik($id_uzivatele, $id_ukolu, $typ = 3)
- {
- if ($typ == 2) {
- $values["stav"] = 1;
- $this->update($id_ukolu,$values);
- }
- $conditions = array ( 'id_uzivatele ='. $id_uzivatele, 'id_ukolu ='.$id_ukolu, 'typ='.$typ );
- //var_dump($conditions);
- return $this->connection->delete('ukoly_uzivatele')->where($conditions)->execute();
- }
- }
Add Comment
Please, Sign In to add comment