<?php /** * @author ThemePunch <info@themepunch.com> * @link http://www.themepunch.com/ * @copyright 2015 ThemePunch */ if( !defined( 'ABSPATH') ) exit(); class RevSliderDB{ private $lastRowID; /** * * constructor - set database object */ public function __construct(){ } /** * * throw error */ private function throwError($message,$code=-1){ RevSliderFunctions::throwError($message,$code); } //------------------------------------------------------------ // validate for errors private function checkForErrors($prefix = ""){ global $wpdb; if($wpdb->last_error !== ''){ $query = $wpdb->last_query; $message = $wpdb->last_error; if($prefix) $message = $prefix.' - <b>'.$message.'</b>'; if($query) $message .= '<br>---<br> Query: ' . esc_attr($query); $this->throwError($message); } } /** * * insert variables to some table */ public function insert($table,$arrItems){ global $wpdb; $wpdb->insert($table, $arrItems); $this->checkForErrors("Insert query error"); $this->lastRowID = $wpdb->insert_id; return($this->lastRowID); } /** * * get last insert id */ public function getLastInsertID(){ global $wpdb; $this->lastRowID = $wpdb->insert_id; return($this->lastRowID); } /** * * delete rows */ public function delete($table,$where){ global $wpdb; RevSliderFunctions::validateNotEmpty($table,"table name"); RevSliderFunctions::validateNotEmpty($where,"where"); $query = "delete from $table where $where"; $wpdb->query($query); $this->checkForErrors("Delete query error"); } /** * * run some sql query */ public function runSql($query){ global $wpdb; $wpdb->query($query); $this->checkForErrors("Regular query error"); } /** * * run some sql query */ public function runSqlR($query){ global $wpdb; $return = $wpdb->get_results($query, ARRAY_A); return $return; } /** * * insert variables to some table */ public function update($table,$arrItems,$where){ global $wpdb; $response = $wpdb->update($table, $arrItems, $where); return($wpdb->num_rows); } /** * * get data array from the database * */ public function fetch($tableName,$where="",$orderField="",$groupByField="",$sqlAddon=""){ global $wpdb; $query = "select * from $tableName"; if($where) $query .= " where $where"; if($orderField) $query .= " order by $orderField"; if($groupByField) $query .= " group by $groupByField"; if($sqlAddon) $query .= " ".$sqlAddon; $response = $wpdb->get_results($query,ARRAY_A); $this->checkForErrors("fetch"); return($response); } /** * * fetch only one item. if not found - throw error */ public function fetchSingle($tableName,$where="",$orderField="",$groupByField="",$sqlAddon=""){ $response = $this->fetch($tableName, $where, $orderField, $groupByField, $sqlAddon); if(empty($response)) $this->throwError("Record not found"); $record = $response[0]; return($record); } /** * prepare statement to avoid sql injections */ public function prepare($query, $array){ global $wpdb; $query = $wpdb->prepare($query, $array); return($query); } } /** * old classname extends new one (old classnames will be obsolete soon) * @since: 5.0 **/ class UniteDBRev extends RevSliderDB {} ?>