/src/BITM/SEIP146574/ProfilePicture/ProfilePicture.php

https://gitlab.com/israt12/AtomicProject_IsratJerin_146574_CRUD_Create_Read_update_delete · PHP · 253 lines · 190 code · 58 blank · 5 comment · 15 complexity · 60184ce2ffd2409ca85a38a1b1f0029c MD5 · raw file

  1. <?php
  2. namespace App\ProfilePicture;
  3. use App\Message\Message;
  4. use App\Model\Database as DB;
  5. use App\Utility\Utility;
  6. use PDO;
  7. class ProfilePicture extends DB
  8. {
  9. public $id;
  10. public $name;
  11. public $image;
  12. public function __construct()
  13. {
  14. parent::__construct();
  15. }
  16. public function setData($postVariableData=Null)
  17. {
  18. if(array_key_exists('id',$postVariableData))
  19. {
  20. $this->id=$postVariableData['id'];
  21. }
  22. if(array_key_exists('name',$postVariableData))
  23. {
  24. $this->name=$postVariableData['name'];
  25. }
  26. if(array_key_exists('image',$postVariableData))
  27. {
  28. $this->image=$postVariableData['image'];
  29. }
  30. }
  31. public function store()
  32. {
  33. $arrData =array($this->name,$this->image);
  34. $sql="INSERT INTO profile_picture(name,image) VALUES (?,?)";
  35. $STH = $this->DBH->prepare($sql);
  36. $result = $STH->execute($arrData);
  37. if($result)
  38. Message::setMessage("Success!Data has been inserted successfully");
  39. else
  40. Message::setMessage("Failed!Data has been inserted successfully");
  41. Utility::redirect('create.php');
  42. }
  43. public function index($fetchMode='ASSOC')
  44. {
  45. $sql = "SELECT * from profile_picture where is_deleted = 0 ";
  46. $STH = $this->DBH->query($sql);
  47. $fetchMode = strtoupper($fetchMode);
  48. if (substr_count($fetchMode, 'OBJ') > 0)
  49. $STH->setFetchMode(PDO::FETCH_OBJ);
  50. else
  51. $STH->setFetchMode(PDO::FETCH_ASSOC);
  52. $arrAllData = $STH->fetchAll();
  53. return $arrAllData;
  54. }
  55. // end of index();
  56. public function view($fetchMode='ASSOC')
  57. {
  58. $STH = $this->DBH->query('SELECT * from profile_picture where id='.$this->id);
  59. $fetchMode = strtoupper($fetchMode);
  60. if(substr_count($fetchMode,'OBJ') > 0)
  61. $STH->setFetchMode(PDO::FETCH_OBJ);
  62. else
  63. $STH->setFetchMode(PDO::FETCH_ASSOC);
  64. $arrOneData = $STH->fetch();
  65. return $arrOneData;
  66. }
  67. public function update()
  68. {
  69. if(!empty($this->image)){
  70. $arrData =array($this->name,$this->image);
  71. $sql = "UPDATE profile_picture set name =?,image=? where id=".$this->id;
  72. }
  73. else{
  74. $arrData =array($this->name);
  75. $sql = "UPDATE profile_picture set name =? where id=".$this->id;
  76. }
  77. $STH = $this->DBH->prepare($sql);
  78. $STH->execute($arrData);
  79. Utility::redirect('index.php');
  80. }
  81. public function delete()
  82. {
  83. $sql="Delete from profile_picture where id=".$this->id;
  84. $STH = $this->DBH->prepare($sql);
  85. $result=$STH->execute();
  86. if($result)
  87. Message::message("Success!Data has been deleted successfully");
  88. else
  89. Message::message("Failed!Data has been deleted successfully");
  90. Utility::redirect('index.php');
  91. }
  92. public function trash()
  93. {
  94. $arrData =array($this->name,$this->image);
  95. $sql = "UPDATE profile_picture set is_deleted=1 where id=".$this->id;
  96. $STH = $this->DBH->prepare($sql);
  97. $STH->execute($arrData);
  98. Utility::redirect('index.php');
  99. }
  100. public function trashList($fetchMode='ASSOC')
  101. {
  102. $sql = "SELECT * from profile_picture where is_deleted = 1 ";
  103. $STH = $this->DBH->query($sql);
  104. $fetchMode = strtoupper($fetchMode);
  105. if (substr_count($fetchMode, 'OBJ') > 0)
  106. $STH->setFetchMode(PDO::FETCH_OBJ);
  107. else
  108. $STH->setFetchMode(PDO::FETCH_ASSOC);
  109. $arrAllData = $STH->fetchAll();
  110. return $arrAllData;
  111. }
  112. public function restore()
  113. {
  114. $arrData =array($this->name,$this->image);
  115. $sql = "UPDATE profile_picture set is_deleted=0 where id=".$this->id;
  116. $STH = $this->DBH->prepare($sql);
  117. $STH->execute($arrData);
  118. Utility::redirect('trashList.php');
  119. }
  120. public function indexPaginator($page=1,$itemsPerPage=3){
  121. $start = (($page-1) * $itemsPerPage);
  122. $sql = "SELECT * from profile_picture WHERE is_deleted = 0 LIMIT $start,$itemsPerPage";
  123. $STH = $this->DBH->query($sql);
  124. $STH->setFetchMode(PDO::FETCH_OBJ);
  125. $arrSomeData = $STH->fetchAll();
  126. return $arrSomeData;
  127. }// end of indexPaginator();
  128. public function trashedPaginator($page=0,$itemsPerPage=3){
  129. $start = (($page-1) * $itemsPerPage);
  130. $sql = "SELECT * from profile_picture WHERE is_deleted <> 0 LIMIT $start,$itemsPerPage";
  131. $STH = $this->DBH->query($sql);
  132. $STH->setFetchMode(PDO::FETCH_OBJ);
  133. $arrSomeData = $STH->fetchAll();
  134. return $arrSomeData;
  135. }// end of trashedPaginator();
  136. public function search($requestArray){
  137. $sql = "";
  138. if( isset($requestArray['byName']) && isset($requestArray['byHobbies']) ) $sql = "SELECT * FROM `profile_picture` WHERE `is_deleted` =0 AND (`name` LIKE '%".$requestArray['search']."%' OR `image` LIKE '%".$requestArray['search']."%')";
  139. if(isset($requestArray['byName']) && !isset($requestArray['byHobbies']) ) $sql = "SELECT * FROM `profile_picture` WHERE `is_deleted` =0 AND `name` LIKE '%".$requestArray['search']."%'";
  140. if(!isset($requestArray['byName']) && isset($requestArray['byHobbies']) ) $sql = "SELECT * FROM `profile_picture` WHERE `is_deleted` =0 AND `image` LIKE '%".$requestArray['search']."%'";
  141. $STH = $this->DBH->query($sql);
  142. $STH->setFetchMode(PDO::FETCH_OBJ);
  143. $allData = $STH->fetchAll();
  144. return $allData;
  145. }
  146. public function getAllKeywords()
  147. {
  148. $_allKeywords = array();
  149. $WordsArr = array();
  150. $sql = "SELECT * FROM `profile_picture` WHERE `is_deleted` =0";
  151. $STH = $this->DBH->query($sql);
  152. $STH->setFetchMode(PDO::FETCH_OBJ);
  153. // for each search field block start
  154. $allData= $STH->fetchAll();
  155. foreach ($allData as $oneData) {
  156. $_allKeywords[] = trim($oneData->name);
  157. }
  158. $STH = $this->DBH->query($sql);
  159. $STH->setFetchMode(PDO::FETCH_OBJ);
  160. $allData= $STH->fetchAll();
  161. foreach ($allData as $oneData) {
  162. $eachString= strip_tags($oneData->image);
  163. $eachString=trim( $eachString);
  164. $eachString= preg_replace( "/\r|\n/", " ", $eachString);
  165. $eachString= str_replace("&nbsp;","", $eachString);
  166. $WordsArr = explode(" ", $eachString);
  167. foreach ($WordsArr as $eachWord){
  168. $_allKeywords[] = trim($eachWord);
  169. }
  170. }
  171. // for each search field block end
  172. // for each search field block start
  173. $STH = $this->DBH->query($sql);
  174. $STH->setFetchMode(PDO::FETCH_OBJ);
  175. $allData= $STH->fetchAll();
  176. foreach ($allData as $oneData) {
  177. $_allKeywords[] = trim($oneData->image);
  178. }
  179. $STH = $this->DBH->query($sql);
  180. $STH->setFetchMode(PDO::FETCH_OBJ);
  181. $allData= $STH->fetchAll();
  182. foreach ($allData as $oneData) {
  183. $eachString= strip_tags($oneData->image);
  184. $eachString=trim( $eachString);
  185. $eachString= preg_replace( "/\r|\n/", " ", $eachString);
  186. $eachString= str_replace("&nbsp;","", $eachString);
  187. $WordsArr = explode(" ", $eachString);
  188. foreach ($WordsArr as $eachWord){
  189. $_allKeywords[] = trim($eachWord);
  190. }
  191. }
  192. // for each search field block end
  193. return array_unique($_allKeywords);
  194. }
  195. }