PageRenderTime 25ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/src/BITM/SEIP137417/City/City.php

https://gitlab.com/Nilufarjahan/LabExam8
PHP | 268 lines | 174 code | 90 blank | 4 comment | 19 complexity | f6d84f795cb6fbe5aa293a83827d3e24 MD5 | raw file
  1. <?php
  2. namespace App\City;
  3. use App\Model\database as DB;
  4. use App\Message\Message;
  5. use App\Utility\Utility;
  6. use PDO;
  7. class City extends DB
  8. {
  9. public $id="";
  10. public $name="";
  11. public $city="";
  12. public $country="";
  13. public function __construct(){
  14. parent::__construct();
  15. }
  16. public function setData($data=NULL){
  17. if (array_key_exists('id',$data))
  18. {
  19. $this->id=$data['id'];
  20. }
  21. if (array_key_exists('name',$data))
  22. {
  23. $this->name=$data['name'];
  24. }
  25. if (array_key_exists('country',$data))
  26. {
  27. $this->country=$data['country'];
  28. }
  29. if (array_key_exists('city',$data))
  30. {
  31. $this->city=$data['city'];
  32. }
  33. }
  34. public function store(){
  35. $arrData = array($this->name,$this->country,$this->city);
  36. $sql = "INSERT INTO city( name,country,city) VALUES ( ?,?,?)";
  37. $STH = $this->DBH->prepare($sql);
  38. $result=$STH->execute($arrData);
  39. var_dump($result);
  40. if($result)
  41. Message::message("<div id='msg'></div><h5 align='center'>[ Name: $this->name ] ,[ Country: $this->country ], [ City: $this->city ] <br> Data Has Been Inserted Successfully!</h5></div>");
  42. else
  43. Message::message("<div id='msg'></div><h5 align='center'>[ Name: $this->name ] ,[ Country: $this->country ], [ City: $this->city ] <br> Data Has not Been Inserted Successfully!</h5></div>");
  44. Utility::redirect('create.php');
  45. }
  46. public function index($mode="ASSOC"){
  47. $mode=strtoupper($mode);
  48. $STH = $this->DBH->query('SELECT * from city WHERE is_delete=0');
  49. if($mode=="OBJ") $STH->setFetchMode(PDO::FETCH_OBJ);
  50. else $STH->setFetchMode(PDO::FETCH_ASSOC);
  51. $arrAllData = $STH->fetchAll();
  52. return $arrAllData;
  53. }
  54. public function view($fetchMode="ASSOC"){
  55. $STH = $this->DBH->query('SELECT * from city where id='.$this->id);
  56. $fetchMode = strtoupper($fetchMode);
  57. if(substr_count($fetchMode, "OBJ")>0) $STH->setFetchMode(PDO::FETCH_OBJ);
  58. else $STH->setFetchMode(PDO::FETCH_ASSOC);
  59. $arrOneData = $STH->fetch();
  60. return $arrOneData;
  61. }// end of view()
  62. public function update(){
  63. $arrData = array($this->name,$this->country,$this->city);
  64. $sql = 'UPDATE city SET name = ? , country = ? , city = ? where id ='.$this->id;
  65. $STH = $this->DBH->prepare($sql);
  66. $result = $STH->execute($arrData);
  67. if($result)
  68. Message::message("<div id='message'><h3 align='center'> Success! Data Has Been Updated Successfully!</h3></div>");
  69. else
  70. Message::message("<div id='message'><h3 align='center'> Failed! Data Has Not Been Updated Successfully!</h3></div>");
  71. Utility::redirect('index.php');
  72. }// end of update()
  73. public function delete(){
  74. $sql='DELETE FROM city WHERE id = '.$this->id;
  75. $STH = $this->DBH->prepare($sql);
  76. $result = $STH->execute();
  77. if($result)
  78. Message::message("<div id='message'><h3 align='center'> Success! Data Has Been Deleted Successfully!</h3></div>");
  79. else
  80. Message::message("<div id='message'><h3 align='center'> Failed! Data Has Not Been Deleted Successfully!</h3></div>");
  81. Utility::redirect('index.php');
  82. }
  83. public function trash(){
  84. $arrData = array('true1'=>'1');
  85. $sql = 'UPDATE city SET is_delete=true where id ='.$this->id;
  86. $STH = $this->DBH->prepare($sql);
  87. $result = $STH->execute($arrData);
  88. if($result)
  89. Message::message("<div id='message'><h3 align='center'> Success! Data Has Been Trashed Successfully!</h3></div>");
  90. else
  91. Message::message("<div id='message'><h3 align='center'> Failed! Data Has Not Been Trashed Successfully!</h3></div>");
  92. Utility::redirect('index.php');
  93. }// end of trash()
  94. public function recover(){
  95. $sql = "Update city SET is_delete='No' where id=".$this->id;
  96. $STH = $this->DBH->prepare($sql);
  97. $STH->execute();
  98. Utility::redirect('trashed.php');
  99. }// end of recover();
  100. public function indexPaginator($page=0,$itemsPerPage=3){
  101. $start = (($page-1) * $itemsPerPage);
  102. $sql = "SELECT * from city WHERE is_delete = 'No' LIMIT $start,$itemsPerPage";
  103. $STH = $this->DBH->query($sql);
  104. $STH->setFetchMode(PDO::FETCH_OBJ);
  105. $arrSomeData = $STH->fetchAll();
  106. return $arrSomeData;
  107. }// end of indexPaginator();
  108. public function search($requestArray){
  109. $sql = "";
  110. if( isset($requestArray['byTitle']) && isset($requestArray['byAuthor']) ) $sql = "SELECT * FROM `city` WHERE `is_delete` ='No' AND (`name` LIKE '%".$requestArray['search']."%' OR `city` LIKE '%".$requestArray['search']."%')";
  111. if(isset($requestArray['byTitle']) && !isset($requestArray['byAuthor']) ) $sql = "SELECT * FROM `city` WHERE `is_delete` ='No' AND `name` LIKE '%".$requestArray['search']."%'";
  112. if(!isset($requestArray['byTitle']) && isset($requestArray['byAuthor']) ) $sql = "SELECT * FROM `city` WHERE `is_delete` ='No' AND `city` LIKE '%".$requestArray['search']."%'";
  113. $STH = $this->DBH->query($sql);
  114. $STH->setFetchMode(PDO::FETCH_OBJ);
  115. $allData = $STH->fetchAll();
  116. return $allData;
  117. }// end of search()
  118. public function getAllKeywords()
  119. {
  120. $_allKeywords = array();
  121. $WordsArr = array();
  122. $sql = "SELECT * FROM `city` WHERE `is_delete` ='No'";
  123. $STH = $this->DBH->query($sql);
  124. $STH->setFetchMode(PDO::FETCH_OBJ);
  125. // for each search field block start
  126. $allData= $STH->fetchAll();
  127. foreach ($allData as $oneData) {
  128. $_allKeywords[] = trim($oneData->name);
  129. }
  130. $STH = $this->DBH->query($sql);
  131. $STH->setFetchMode(PDO::FETCH_OBJ);
  132. $allData= $STH->fetchAll();
  133. foreach ($allData as $oneData) {
  134. $eachString= strip_tags($oneData->name);
  135. $eachString=trim( $eachString);
  136. $eachString= preg_replace( "/\r|\n/", " ", $eachString);
  137. $eachString= str_replace("&nbsp;","", $eachString);
  138. $WordsArr = explode(" ", $eachString);
  139. foreach ($WordsArr as $eachWord){
  140. $_allKeywords[] = trim($eachWord);
  141. }
  142. }
  143. // for each search field block end
  144. // for each search field block start
  145. $STH = $this->DBH->query($sql);
  146. $STH->setFetchMode(PDO::FETCH_OBJ);
  147. $allData= $STH->fetchAll();
  148. foreach ($allData as $oneData) {
  149. $_allKeywords[] = trim($oneData->city);
  150. }
  151. $STH = $this->DBH->query($sql);
  152. $STH->setFetchMode(PDO::FETCH_OBJ);
  153. $allData= $STH->fetchAll();
  154. foreach ($allData as $oneData) {
  155. $eachString= strip_tags($oneData->city);
  156. $eachString=trim( $eachString);
  157. $eachString= preg_replace( "/\r|\n/", " ", $eachString);
  158. $eachString= str_replace("&nbsp;","", $eachString);
  159. $WordsArr = explode(" ", $eachString);
  160. foreach ($WordsArr as $eachWord){
  161. $_allKeywords[] = trim($eachWord);
  162. }
  163. }
  164. // for each search field block end
  165. return array_unique($_allKeywords);
  166. }// get all keywords
  167. public function trashed($fetchMode='ASSOC'){
  168. $sql = "SELECT * from city where is_deleted <> 'No' ";
  169. $STH = $this->DBH->query($sql);
  170. $fetchMode = strtoupper($fetchMode);
  171. if(substr_count($fetchMode,'OBJ') > 0)
  172. $STH->setFetchMode(PDO::FETCH_OBJ);
  173. else
  174. $STH->setFetchMode(PDO::FETCH_ASSOC);
  175. $arrAllData = $STH->fetchAll();
  176. return $arrAllData;
  177. }// end of trashed();
  178. }