PageRenderTime 43ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/src/BITM/SEIP143203/Hobbies/Hobbies.php

https://gitlab.com/sumonaliza12/ATOMIC_PROJECT_SEIP143203_SUMONA_SEIP143203
PHP | 391 lines | 318 code | 67 blank | 6 comment | 15 complexity | a580d13b1439732fdedb99bbaf0583c7 MD5 | raw file
  1. <?php
  2. namespace App\BITM\SEIP143203\Hobbies;
  3. use App\BITM\SEIP143203\Message\Message;
  4. use App\BITM\SEIP143203\Utility\Utility;
  5. use App\BITM\SEIP143203\Model\Database as DB;
  6. use PDO;
  7. class Hobbies extends DB{
  8. public $id="";
  9. public $name="";
  10. public $hobbies="";
  11. public function __construct(){
  12. parent::__construct();
  13. }
  14. public function index($fetchMode='ASSOC'){
  15. $fetchMode = strtoupper($fetchMode);
  16. $DBH=$this->connection;
  17. $sth=$DBH->prepare("select * from hobbies where is_deleted='0'");
  18. $sth->execute();
  19. if(substr_count($fetchMode,'OBJ') > 0)
  20. $sth->setFetchMode(PDO::FETCH_OBJ);
  21. else
  22. $sth->setFetchMode(PDO::FETCH_ASSOC);
  23. $all_hobbies=$sth->fetchAll();
  24. return $all_hobbies;
  25. }
  26. public function view($id){
  27. $DBH=$this->connection;
  28. $sth=$DBH->prepare("select * from hobbies Where id=$id");
  29. $sth->execute();
  30. $sth->setFetchMode(PDO::FETCH_ASSOC);
  31. $selected_person=$sth->fetch();
  32. return $selected_person;
  33. }
  34. public function update(){
  35. $dbh=$this->connection;
  36. $values=array($this->name,$this->hobbies);
  37. //var_dump($values);
  38. $query='UPDATE hobbies SET name = ? , hobbies= ? where id ='.$this->id;
  39. // $query='UPDATE book_title SET book_title = ? , author_name = ? where id ='.$this->id;
  40. $sth=$dbh->prepare($query);
  41. $sth->execute($values);
  42. if($sth)
  43. { Message::message("<div id='msg'><h3 align='center'>[ name: $this->name ] ,
  44. [ Hobbies: $this->hobbies ] <br> Data Has Been Updated Successfully!</h3></div>");
  45. }
  46. else
  47. Message::message("<div id='msg'></div><h3 align='center'> <br> Data Hasn't Been Updated !</h3></div>");
  48. Utility::redirect('index.php');
  49. }
  50. public function delete($id){
  51. $DBH=$this->connection;
  52. $sth=$DBH->prepare("delete from hobbies Where id=$id");
  53. $sth->execute();
  54. if($sth)
  55. { Message::message("<div id='msg'><h3 align='center'>
  56. <br> Data Has deleted Successfully!</h3></div>");
  57. }
  58. else
  59. Message::message("<div id='msg'></div><h3 align='center'> <br> Data Hasn't Been Inserted !</h3></div>");
  60. Utility::redirect('index.php');
  61. }
  62. public function setData($data=null){
  63. if(array_key_exists('id',$data)){
  64. $this->id=$data['id'];
  65. }
  66. if(array_key_exists('name',$data)){
  67. $this->name=$data['name'];
  68. }
  69. if(array_key_exists('hobbies',$data)){
  70. $this->hobbies=$data['hobbies'];
  71. }
  72. if(array_key_exists('checkbox',$data))
  73. {
  74. $this->checkbox = $data['checkbox'];
  75. }
  76. }
  77. public function store(){
  78. $dbh=$this->connection;
  79. $values=array($this->name,$this->hobbies);
  80. $query="insert into hobbies(name,hobbies) VALUES (?,?)";
  81. $sth=$dbh->prepare($query);
  82. $sth->execute($values);
  83. if($sth)
  84. Message::message("<div id='msg'></div><h3 align='center'>[ Name: $this->name ] , [Hobbies: $this->hobbies ] <br> Data Has Been Inserted Successfully!</h3></div>");
  85. else
  86. Message::message("<div id='msg'></div><h3 align='center'>[ Name: $this->name ] , [Hobbies: $this->hobbies ] <br> Data Hasn't Been Inserted Successfully!</h3></div>");
  87. Utility::redirect('create.php');
  88. }
  89. public function trash($id){
  90. $dbh=$this->connection;
  91. //var_dump($values);
  92. $query='UPDATE hobbies SET is_deleted = "1" where id ='.$id;
  93. $sth=$dbh->prepare($query);
  94. $sth->execute();
  95. if($sth)
  96. { Message::message("<div id='msg'><h3 align='center'>
  97. <br> Data Has Been trashed Successfully!</h3></div>");
  98. }
  99. else
  100. Message::message("<div id='msg'></div><h3 align='center'> <br> Data Hasn't Been trashed !</h3></div>");
  101. Utility::redirect('index.php');
  102. }
  103. //method 8
  104. public function trashed($fetchMode='ASSOC'){
  105. $fetchMode = strtoupper($fetchMode);
  106. $DBH=$this->connection;
  107. $sth=$DBH->prepare("select * from hobbies WHERE is_deleted='1'");
  108. $sth->execute();
  109. if(substr_count($fetchMode,'OBJ') > 0)
  110. $sth->setFetchMode(PDO::FETCH_OBJ);
  111. else
  112. $sth->setFetchMode(PDO::FETCH_ASSOC);
  113. $allData=$sth->fetchAll();
  114. return $allData;
  115. }//end of trashed method which show the trashed list
  116. public function count($fetchMode='ASSOC'){
  117. $DBH=$this->connection;
  118. $query="SELECT COUNT(*) AS totalItem FROM `atomic_project_b37`.`hobbies` WHERE `is_deleted`=0 ";
  119. $sth=$DBH->prepare($query);
  120. $sth->execute();
  121. if(substr_count($fetchMode,'OBJ') > 0)
  122. $sth->setFetchMode(PDO::FETCH_OBJ);
  123. else
  124. $sth->setFetchMode(PDO::FETCH_ASSOC);
  125. $row=$sth->fetchAll();
  126. /* $result=mysqli_query($this->conn,$query);*/
  127. /* $row= mysqli_fetch_assoc($sth);*/
  128. return $row['totalItem'];
  129. }//end of count
  130. public function mulSoftDelete()
  131. {
  132. $checkbox = $_POST['checkbox'];
  133. for ($i = 0; $i < count($checkbox);$i++) {
  134. $query = $this->connection->prepare("UPDATE hobbies SET is_deleted='1' WHERE id='$checkbox[$i]'");
  135. var_dump($query);
  136. $query->execute();
  137. if ($query) {
  138. Message::message("<div class='alert alert-success' id='msg'><h3 align='center'> Data Has Been Deleted Successfully!</h3></div>");
  139. } else {
  140. Message::message("<div class='alert alert-danger' id='msg'><h3 align='center'> Data Has Not Been Deleted Successfully!</h3></div>");
  141. }
  142. Utility::redirect("multipleDelete.php");
  143. }
  144. }//end of multiple trash delete
  145. public function deleteMultiple($id)
  146. {
  147. $checkbox = $_POST['checkbox'];
  148. for ($i = 0; $i < count($checkbox);$i++)
  149. {
  150. $query =$this->connection->prepare("delete from hobbies WHERE id='$checkbox[$i]'");
  151. var_dump($query);
  152. $query->execute();
  153. if ($query)
  154. {
  155. Message::message("<div class=\"alert alert-info\"><strong>Deleted!</strong> Selected Data has been deleted successfully.</div>");
  156. Utility::redirect("index.php");
  157. }
  158. else
  159. {
  160. Message::message("<div class=\"alert alert-info\"> <strong>Deleted!</strong> Selected Data has not been deleted successfully.</div>");
  161. Utility::redirect("index.php");
  162. }
  163. }
  164. }
  165. public function recover($id){
  166. $dbh=$this->connection;
  167. //var_dump($values);
  168. $query='UPDATE hobbies SET is_deleted = "0" where id ='.$id;
  169. $sth=$dbh->prepare($query);
  170. $sth->execute();
  171. if($sth)
  172. { Message::message("<div id='msg'><h3 align='center'>
  173. <br> Data Has Been recovered Successfully!</h3></div>");
  174. }
  175. else
  176. Message::message("<div id='msg'></div><h3 align='center'> <br> Data Hasn't Been recovered !</h3></div>");
  177. Utility::redirect('recovery.php');
  178. }///EOF recover
  179. public function mulRecover()
  180. {
  181. $checkbox = $_POST['checkbox'];
  182. /* var_dump($checkbox);die();*/
  183. for ($i = 0; $i < count($checkbox);$i++) {
  184. $query = $this->connection->prepare("UPDATE hobbies SET is_deleted='0' WHERE id='$checkbox[$i]'");
  185. var_dump($query);
  186. $query->execute();
  187. if ($query) {
  188. Message::message("<div class='alert alert-success' id='msg'><h3 align='center'> Data Has Been Recoverd Successfully!</h3></div>");
  189. } else {
  190. Message::message("<div class='alert alert-danger' id='msg'><h3 align='center'>[ BookTitle: $this->book_title ] , [ AuthorName: $this->author_name ] <br> Data Has Not Been Deleted Successfully!</h3></div>");
  191. }
  192. Utility::redirect("recovery.php");
  193. }
  194. }//EOF mulRecover
  195. public function indexPaginator($page=0,$itemsPerPage=3){
  196. $start = (($page-1) * $itemsPerPage);
  197. $sql = "SELECT * from hobbies WHERE is_deleted = '0' LIMIT $start,$itemsPerPage";
  198. $STH = $this->connection->query($sql);
  199. $STH->setFetchMode(PDO::FETCH_OBJ);
  200. $arrSomeData = $STH->fetchAll();
  201. return $arrSomeData;
  202. }// end of indexPaginator()
  203. public function search($requestArray){
  204. $sql = "";
  205. if( isset($requestArray['byName']) ) $sql = "SELECT * FROM `hobbies` WHERE `is_deleted` ='0' AND (`name` LIKE '%".$requestArray['search'].$requestArray['search']."%')";
  206. if(isset($requestArray['byName']) ) $sql = "SELECT * FROM `hobbies` WHERE `is_deleted` ='0' AND `name` LIKE '%".$requestArray['search']."%'";
  207. if(!isset($requestArray['byName']) ) $sql = "SELECT * FROM `hobbies` WHERE `is_deleted` ='0' AND `name` LIKE '%".$requestArray['search']."%'";
  208. $STH = $this->connection->query($sql);
  209. $STH->setFetchMode(PDO::FETCH_OBJ);
  210. $allData = $STH->fetchAll();
  211. return $allData;
  212. }// end of search()
  213. public function getAllKeywords()
  214. {
  215. $_allKeywords = array();
  216. $WordsArr = array();
  217. $sql = "SELECT * FROM `hobbies` WHERE `is_deleted` ='0'";
  218. $STH = $this->connection->query($sql);
  219. $STH->setFetchMode(PDO::FETCH_OBJ);
  220. // for each search field block start
  221. $allData= $STH->fetchAll();
  222. foreach ($allData as $oneData) {
  223. $_allKeywords[] = trim($oneData->name);
  224. }
  225. $STH = $this->connection->query($sql);
  226. $STH->setFetchMode(PDO::FETCH_OBJ);
  227. $allData= $STH->fetchAll();
  228. foreach ($allData as $oneData) {
  229. $eachString= strip_tags($oneData->name);
  230. $eachString=trim( $eachString);
  231. $eachString= preg_replace( "/\r|\n/", " ", $eachString);
  232. $eachString= str_replace("&nbsp;","", $eachString);
  233. $WordsArr = explode(" ", $eachString);
  234. foreach ($WordsArr as $eachWord){
  235. $_allKeywords[] = trim($eachWord);
  236. }
  237. }
  238. // for each search field block end
  239. /*// for each search field block start
  240. $STH = $this->connection->query($sql);
  241. $STH->setFetchMode(PDO::FETCH_OBJ);
  242. $allData= $STH->fetchAll();
  243. foreach ($allData as $oneData) {
  244. $_allKeywords[] = trim($oneData->author_name);
  245. }
  246. $STH = $this->connection->query($sql);
  247. $STH->setFetchMode(PDO::FETCH_OBJ);
  248. $all_books= $STH->fetchAll();
  249. foreach ($all_books as $oneData) {
  250. $eachString= strip_tags($oneData->author_name);
  251. $eachString=trim( $eachString);
  252. $eachString= preg_replace( "/\r|\n/", " ", $eachString);
  253. $eachString= str_replace("&nbsp;","", $eachString);
  254. $WordsArr = explode(" ", $eachString);
  255. foreach ($WordsArr as $eachWord){
  256. $_allKeywords[] = trim($eachWord);
  257. }
  258. }
  259. // for each search field block end*/
  260. return array_unique($_allKeywords);
  261. }// get all keywords
  262. }