Advertisement
Guest User

Untitled

a guest
Oct 31st, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.41 KB | None | 0 0
  1. class storage{
  2. static $pdo=null;
  3. }
  4. storage::$pdo=sql::getConnection();
  5. class sql{
  6. public static function getConnection(){
  7. $dbHost=MySQL::$HOST;
  8. $dbName=MySQL::$DB;
  9. $dbUser=MySQL::$USERNAME;
  10. $dbPass=MySQL::$PASSWORD;
  11.  
  12. $opt=[
  13. PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
  14. PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ
  15. ];
  16. try{
  17. $pdo=new PDO("mysql:host={$dbHost};dbname={$dbName};charset=utf8",$dbUser,$dbPass,$opt);
  18. $pdo->exec("set names utf8");
  19. }catch(PDOException $e){
  20. echo "Невозможно подключиться к базе данных";
  21. exit();
  22. }
  23.  
  24. return $pdo;
  25. }
  26.  
  27. public static function returnPageOptions($id){
  28. if(!is_array($id)){
  29. $pages=sql::returnObjectData(dataTables::returnTables()->SystemPages,["Title","MenuTitle","Description","MetaTitle","MetaDescription","MetaKeywords"],"`Id`={$id}","`Position`",null);
  30. }else{
  31. $pages=[];
  32. foreach($id as $pageID){
  33. $pageID=(int)$pageID;
  34. $pages[$pageID]=sql::returnObjectData(dataTables::returnTables()->SystemPages,["Title","MenuTitle","Description","MetaTitle","MetaDescription","MetaKeywords"],"`Id`={$pageID}");
  35. }
  36. }
  37. return $pages;
  38. }
  39.  
  40. public static function returnObjectData($tableName,$languageFields=[],$where="`Status`='Y'",$orderBy="`Position`",$sortBy="Id",$limit=null,$inEachRecord=[],$selectWhat="*",$showSQL=false){
  41. if(!empty(storage::$pdo)){
  42. $pdo=storage::$pdo;
  43. }else{
  44. $pdo=self::getConnection();
  45. }
  46. $activeLanguage=storage::$activeLanguage;
  47. $allData=[];
  48. $SQL=[];
  49. $SQL[]="SELECT {$selectWhat}";
  50. if(!empty($languageFields)){
  51. foreach($languageFields as $field){
  52. $SQL[]="{$field}_{$activeLanguage->Prefix} AS {$field}";
  53. unset($field);
  54. }
  55. unset($languageFields);
  56. }
  57. $orderBy=!empty($orderBy)?" ORDER BY {$orderBy}":"";
  58. $limit=!empty($limit)?" {$limit}":"";
  59. $SQL=join(",",$SQL);
  60. $objectSQL="{$SQL} FROM {$tableName} WHERE {$where}{$orderBy}{$limit};";
  61. if($showSQL){
  62. echo $objectSQL;
  63. }
  64.  
  65. $pdoQuery=$pdo->query($objectSQL);
  66. if($pdoQuery){
  67. while($query=$pdoQuery->fetchObject()){
  68. if(!empty($inEachRecord)){
  69. $query->data=$inEachRecord;
  70. }
  71. if(!empty($sortBy)){
  72. $allData[$query->$sortBy]=$query;
  73. }else{
  74. $allData=$query;
  75. }
  76. unset($query);
  77. }
  78. }
  79. return $allData;
  80. }
  81.  
  82. public static function createRecord($tableName,$setFields,$showSQL=false){
  83. if(!empty(storage::$pdo)){
  84. $pdo=storage::$pdo;
  85. }else{
  86. $pdo=self::getConnection();
  87. }
  88. if(is_array($setFields)){
  89. $set=[];
  90. foreach($setFields as $key=>$value){
  91. if(is_string($value)){
  92. $value="'{$value}'";
  93. }else{
  94. $value=(int)$value;
  95. }
  96. $set[]="`{$key}`={$value}";
  97. unset($key);
  98. unset($value);
  99. }
  100. unset($setFields);
  101. $set=join(",",$set);
  102. }else{
  103. $set=$setFields;
  104. }
  105. $querySQL="INSERT INTO {$tableName} SET {$set};";
  106. if($showSQL){
  107. echo $querySQL;
  108. }else{
  109. $pdo->query($querySQL);
  110. return $pdo->lastInsertId();
  111. }
  112. return null;
  113. }
  114.  
  115. public static function updateRecord($tableName,$setFields,$where,$showSQL=false){
  116. if(!empty(storage::$pdo)){
  117. $pdo=storage::$pdo;
  118. }else{
  119. $pdo=self::getConnection();
  120. }
  121. if(is_array($setFields)){
  122. $set=[];
  123. foreach($setFields as $key=>$value){
  124. if(is_string($value)){
  125. $value="'{$value}'";
  126. }else{
  127. $value=(int)$value;
  128. }
  129. $set[]="`{$key}`={$value}";
  130. unset($key);
  131. unset($value);
  132. }
  133. unset($setFields);
  134. $set=join(",",$set);
  135. }else{
  136. $set=$setFields;
  137. }
  138. $querySQL="UPDATE {$tableName} SET {$set} WHERE {$where};";
  139. if($showSQL){
  140. echo $querySQL;
  141. }else{
  142. $pdo->query($querySQL);
  143. }
  144. }
  145.  
  146.  
  147. public static function deleteRecord($tableName,$where,$showSQL=false){
  148. if(!empty(storage::$pdo)){
  149. $pdo=storage::$pdo;
  150. }else{
  151. $pdo=self::getConnection();
  152. }
  153. $querySQL="DELETE FROM {$tableName} WHERE {$where};";
  154. if($showSQL){
  155. echo $querySQL;
  156. }else{
  157. $pdo->query($querySQL);
  158. }
  159. }
  160.  
  161. public static function getRecordPosition($tableName){
  162. if(!empty(storage::$pdo)){
  163. $pdo=storage::$pdo;
  164. }else{
  165. $pdo=self::getConnection();
  166. }
  167. $position=0;
  168. $pdoQuery=$pdo->query("SELECT MAX(Position) AS Position FROM {$tableName};");
  169. if($pdoQuery){
  170. while($query=$pdoQuery->fetch()){
  171. $position=$query->Position+1;
  172. unset($query);
  173. }
  174. return $position;
  175. }else{
  176. return null;
  177. }
  178. }
  179. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement