Guest User

Untitled

a guest
Dec 15th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.63 KB | None | 0 0
  1. <?php
  2.  
  3.  
  4.  
  5. /**
  6. * Ukoly model.
  7. */
  8. class Ukoly extends BaseObject
  9. {
  10. public function __construct()
  11. {
  12. parent::__construct();
  13. $this->table = "ukoly";
  14. $this->table_view = "ukoly_prehled";
  15. $this->table_detail_view = "ukoly_detail";
  16. $this->id = "id_ukolu";
  17. $this->condition_array = array();
  18. }
  19.  
  20. public function findAllByView($id_uzivatele = null)
  21. {
  22. $condition_array = $this->condition_array;
  23. $session_ukoly = Environment::getSession()->getNamespace('ukoly');
  24. switch ($session_ukoly->typ){
  25. case 'ke-splneni': array_push($condition_array,'id_resitele = '.$id_uzivatele);
  26. array_push($condition_array,'stav IN (2,4)');
  27. array_push($condition_array,'NOW() > datum_zobrazeni');
  28. break;
  29.  
  30. case 'splnene': array_push($condition_array,'id_resitele = '.$id_uzivatele);
  31. array_push($condition_array,'stav IN (3)');
  32. break;
  33.  
  34. case 'zadane': array_push($condition_array,'id_zadavatele = '.$id_uzivatele);
  35. array_push($condition_array,'stav IN (1,2,4)');
  36. array_push($condition_array,'NOW() > datum_zobrazeni');
  37. break;
  38.  
  39. case 'k-akceptaci': array_push($condition_array,'id_zadavatele = '.$id_uzivatele);
  40. array_push($condition_array,'stav IN (3)');
  41. break;
  42.  
  43. case 'na-vedomi':
  44. $condition[] = 'stav != 5';
  45. $condition[] = 'id_uzivatele = '.$id_uzivatele;
  46. $condition[] = 'typ = 3';
  47. $ukoly_array = array();
  48. $result = $this->connection->select('id_ukolu')->from('ukoly_podilnici')->where($condition);
  49. $ukoly_result = $result->fetchAll();
  50. foreach ($ukoly_result as $ukol) {
  51. $ukoly_array[] = $ukol->id_ukolu;
  52. }
  53. // array_push($condition_array,'id_zadavatele = '.$id_uzivatele);
  54. array_push($condition_array,'NOW() > datum_zobrazeni');
  55. if (count($ukoly_array)) {
  56. array_push($condition_array,'id_ukolu IN ( '.join(',',$ukoly_array).')');
  57. }
  58. else {
  59. array_push($condition_array,'id_ukolu = 0');
  60. }
  61. break;
  62.  
  63. case 'vyresene':
  64. $condition[] = 'stav = 5';
  65. $condition[] = 'id_uzivatele = '.$id_uzivatele;
  66. $ukoly_array = array();
  67. $result = $this->connection->select('id_ukolu')->from('ukoly_podilnici')->where($condition);
  68. $ukoly_result = $result->fetchAll();
  69. foreach ($ukoly_result as $ukol) {
  70. $ukoly_array[] = $ukol->id_ukolu;
  71. }
  72. // array_push($condition_array,'id_zadavatele = '.$id_uzivatele);
  73. if (count($ukoly_array)) {
  74. array_push($condition_array,'id_ukolu IN ( '.join(',',$ukoly_array).')');
  75. }
  76. else {
  77. array_push($condition_array,'id_ukolu = 0');
  78. }
  79.  
  80. break;
  81.  
  82. case 'vyhledane': $vyhledavani = $this->findVyhledavani($session_ukoly->id, $id_uzivatele)->fetch();
  83. $condition = explode('; ',$vyhledavani->hledani);
  84. if (!empty($condition)) {
  85. $condition_array = array_merge($condition_array,$condition);
  86. }
  87. break;
  88.  
  89. default : array_push($condition_array,'id_resitele = '.$id_uzivatele);
  90. array_push($condition_array,'stav IN (2,4)');
  91. }
  92.  
  93. return $this->connection->select('*')->from($this->table_view)->where($condition_array) ;
  94. }
  95.  
  96. public function findTaskByConstract($id_zakazky)
  97. {
  98. $condition_array = $this->condition_array;
  99. array_push($condition_array,'id_zakazky = '.$id_zakazky);
  100. return $this->connection->select('*')->from($this->table_detail_view)->where($condition_array);
  101. }
  102.  
  103.  
  104. public function findAllComments($id_ukolu)
  105. {
  106. $condition_array = $this->condition_array;
  107. array_push($condition_array,'id_ukolu = '.$id_ukolu);
  108. return $this->connection->select('*')->from('ukoly_komentare_prehled')->where($condition_array)->orderBy('cas','DESC');
  109. }
  110.  
  111. public function findAllHistory($id_ukolu)
  112. {
  113. $condition_array = $this->condition_array;
  114. array_push($condition_array,'id_ukolu = '.$id_ukolu);
  115. return $this->connection->select('*')->from('ukoly_historie_prehled')->where($condition_array)->orderBy('cas','DESC');
  116. }
  117.  
  118. public function findAllSubByView($id_ukol_parent)
  119. {
  120. $condition_array = $this->condition_array;
  121. array_push($condition_array,'id_ukol_parent='.$id_ukol_parent);
  122. return $this->connection->select('*')->from($this->table_detail_view)->where($condition_array);
  123. }
  124.  
  125. public function findResitele($id_ukolu)
  126. {
  127. $condition_array = $this->condition_array;
  128. array_push($condition_array,"id_ukolu = $id_ukolu");
  129. array_push($condition_array,"typ = 2");
  130. return $this->connection->select('*')->from('ukoly_podilnici')->where($condition_array);
  131. }
  132.  
  133. public function findZadavatele($id_ukolu)
  134. {
  135. $condition_array = $this->condition_array;
  136. array_push($condition_array,"id_ukolu = $id_ukolu");
  137. array_push($condition_array,"typ = 1");
  138. return $this->connection->select('*')->from('ukoly_podilnici')->where($condition_array);
  139. }
  140.  
  141.  
  142. public function findNaVedomi($id_ukolu)
  143. {
  144. $condition_array = $this->condition_array;
  145. array_push($condition_array,"id_ukolu = $id_ukolu");
  146. array_push($condition_array,"typ = 3");
  147. return $this->connection->select('*')->from('ukoly_podilnici')->where($condition_array);
  148. }
  149.  
  150. public function findVsechnyPodilniky($id_ukolu, $id_uzivatele)
  151. {
  152. $condition_array = $this->condition_array;
  153. array_push($condition_array,"id_ukolu = $id_ukolu");
  154. array_push($condition_array,"id_uzivatele <> $id_uzivatele");
  155. return $this->connection->select('DISTINCT mail')->from('ukoly_podilnici')->where($condition_array);
  156. }
  157.  
  158. public function insertPodilnik($id_uzivatele, $id_ukolu, $typ = 3)
  159. {
  160. if ($typ == 2) {
  161. $values["stav"] = 2;
  162. $this->update($id_ukolu,$values);
  163. }
  164. $data = array ( 'id_uzivatele' => $id_uzivatele, 'id_ukolu' => $id_ukolu, 'typ' => $typ );
  165. return $this->connection->insert('ukoly_uzivatele', $data)->execute();
  166. }
  167.  
  168. public function insertLog($id_uzivatele, $id_ukolu, $text, $typ)
  169. {
  170. $data = array ( 'provedl' => $id_uzivatele, 'id_ukolu' => $id_ukolu, 'typ' => $typ, 'text' => $text );
  171. return $this->connection->insert('ukoly_log', $data)->execute();
  172. }
  173.  
  174. public function insertKomentar($data)
  175. {
  176. return $this->connection->insert('ukoly_komentare', $data)->execute(dibi::IDENTIFIER);
  177. }
  178.  
  179. public function deletePodilnik($id_uzivatele, $id_ukolu, $typ = 3)
  180. {
  181. if ($typ == 2) {
  182. $values["stav"] = 1;
  183. $this->update($id_ukolu,$values);
  184. }
  185.  
  186. $conditions = array ( 'id_uzivatele ='. $id_uzivatele, 'id_ukolu ='.$id_ukolu, 'typ='.$typ );
  187.  
  188. //var_dump($conditions);
  189. return $this->connection->delete('ukoly_uzivatele')->where($conditions)->execute();
  190. }
  191.  
  192. }
Add Comment
Please, Sign In to add comment