Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class storage{
- static $pdo=null;
- }
- storage::$pdo=sql::getConnection();
- class sql{
- public static function getConnection(){
- $dbHost=MySQL::$HOST;
- $dbName=MySQL::$DB;
- $dbUser=MySQL::$USERNAME;
- $dbPass=MySQL::$PASSWORD;
- $opt=[
- PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
- PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ
- ];
- try{
- $pdo=new PDO("mysql:host={$dbHost};dbname={$dbName};charset=utf8",$dbUser,$dbPass,$opt);
- $pdo->exec("set names utf8");
- }catch(PDOException $e){
- echo "Невозможно подключиться к базе данных";
- exit();
- }
- return $pdo;
- }
- public static function returnPageOptions($id){
- if(!is_array($id)){
- $pages=sql::returnObjectData(dataTables::returnTables()->SystemPages,["Title","MenuTitle","Description","MetaTitle","MetaDescription","MetaKeywords"],"`Id`={$id}","`Position`",null);
- }else{
- $pages=[];
- foreach($id as $pageID){
- $pageID=(int)$pageID;
- $pages[$pageID]=sql::returnObjectData(dataTables::returnTables()->SystemPages,["Title","MenuTitle","Description","MetaTitle","MetaDescription","MetaKeywords"],"`Id`={$pageID}");
- }
- }
- return $pages;
- }
- public static function returnObjectData($tableName,$languageFields=[],$where="`Status`='Y'",$orderBy="`Position`",$sortBy="Id",$limit=null,$inEachRecord=[],$selectWhat="*",$showSQL=false){
- if(!empty(storage::$pdo)){
- $pdo=storage::$pdo;
- }else{
- $pdo=self::getConnection();
- }
- $activeLanguage=storage::$activeLanguage;
- $allData=[];
- $SQL=[];
- $SQL[]="SELECT {$selectWhat}";
- if(!empty($languageFields)){
- foreach($languageFields as $field){
- $SQL[]="{$field}_{$activeLanguage->Prefix} AS {$field}";
- unset($field);
- }
- unset($languageFields);
- }
- $orderBy=!empty($orderBy)?" ORDER BY {$orderBy}":"";
- $limit=!empty($limit)?" {$limit}":"";
- $SQL=join(",",$SQL);
- $objectSQL="{$SQL} FROM {$tableName} WHERE {$where}{$orderBy}{$limit};";
- if($showSQL){
- echo $objectSQL;
- }
- $pdoQuery=$pdo->query($objectSQL);
- if($pdoQuery){
- while($query=$pdoQuery->fetchObject()){
- if(!empty($inEachRecord)){
- $query->data=$inEachRecord;
- }
- if(!empty($sortBy)){
- $allData[$query->$sortBy]=$query;
- }else{
- $allData=$query;
- }
- unset($query);
- }
- }
- return $allData;
- }
- public static function createRecord($tableName,$setFields,$showSQL=false){
- if(!empty(storage::$pdo)){
- $pdo=storage::$pdo;
- }else{
- $pdo=self::getConnection();
- }
- if(is_array($setFields)){
- $set=[];
- foreach($setFields as $key=>$value){
- if(is_string($value)){
- $value="'{$value}'";
- }else{
- $value=(int)$value;
- }
- $set[]="`{$key}`={$value}";
- unset($key);
- unset($value);
- }
- unset($setFields);
- $set=join(",",$set);
- }else{
- $set=$setFields;
- }
- $querySQL="INSERT INTO {$tableName} SET {$set};";
- if($showSQL){
- echo $querySQL;
- }else{
- $pdo->query($querySQL);
- return $pdo->lastInsertId();
- }
- return null;
- }
- public static function updateRecord($tableName,$setFields,$where,$showSQL=false){
- if(!empty(storage::$pdo)){
- $pdo=storage::$pdo;
- }else{
- $pdo=self::getConnection();
- }
- if(is_array($setFields)){
- $set=[];
- foreach($setFields as $key=>$value){
- if(is_string($value)){
- $value="'{$value}'";
- }else{
- $value=(int)$value;
- }
- $set[]="`{$key}`={$value}";
- unset($key);
- unset($value);
- }
- unset($setFields);
- $set=join(",",$set);
- }else{
- $set=$setFields;
- }
- $querySQL="UPDATE {$tableName} SET {$set} WHERE {$where};";
- if($showSQL){
- echo $querySQL;
- }else{
- $pdo->query($querySQL);
- }
- }
- public static function deleteRecord($tableName,$where,$showSQL=false){
- if(!empty(storage::$pdo)){
- $pdo=storage::$pdo;
- }else{
- $pdo=self::getConnection();
- }
- $querySQL="DELETE FROM {$tableName} WHERE {$where};";
- if($showSQL){
- echo $querySQL;
- }else{
- $pdo->query($querySQL);
- }
- }
- public static function getRecordPosition($tableName){
- if(!empty(storage::$pdo)){
- $pdo=storage::$pdo;
- }else{
- $pdo=self::getConnection();
- }
- $position=0;
- $pdoQuery=$pdo->query("SELECT MAX(Position) AS Position FROM {$tableName};");
- if($pdoQuery){
- while($query=$pdoQuery->fetch()){
- $position=$query->Position+1;
- unset($query);
- }
- return $position;
- }else{
- return null;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement