Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- session_start();
- $GLOBALS ['config'] = array(
- 'mysql' => array(
- 'host' => '127.0.0.1',
- 'username' => 'root',
- 'password' => '',
- 'db' => 'rikars'
- ),
- 'remember' => array(
- 'cookie_name' => 'hash',
- 'cookie_expiry' => 604800
- ),
- 'session' => array(
- 'session_name' => 'user',
- 'token_name' => 'token'
- )
- );
- spl_autoload_register(function($class) {
- require_once 'classes/' . $class . '.php';
- });
- require_once 'functions/sanitize.php';
- if(Cookie::exists(Config::get('remember/cookie_name')) && Session::exists(Config::get('session/session_name'))) {
- $hash = Cookie::get(Config::get('remember/cookie_name'));
- $hashCheck = DB::getInstance()->get('users_sessions', array('hash', '=', $hash));
- if($hashCheck->count()) {
- echo 'asass';
- }
- }
- <?php
- class DB {
- private static $_instance = null;
- private $_pdo,
- $_query,
- $_error = false,
- $_result,
- $_count = 0;
- private function __construct() {
- try {
- $this->_pdo = new PDO('mysql:host=' . Config::get('mysql/host') . ';dbname=' . Config::get('mysql/db'), Config::get('mysql/username'), Config::get('mysql/password'));
- } catch(PDOException $e) {
- die($e->getMessage());
- }
- }
- public static function getInstance() {
- if(!isset(self::$_instance)) {
- self::$_instance = new DB();
- }
- return self::$_instance;
- }
- public function query($sql, $params = array()) {
- $this->_error = false;
- if($this->_query = $this->_pdo->prepare($sql)) {
- $x = 1;
- if(count($params)){
- foreach($params as $param){
- $this->_query->bindValue($x, $param);
- $x++;
- }
- }
- if($this->_query->execute()){
- $this->_results = $this->_query->fetchAll(PDO::FETCH_OBJ);
- $this->_count = $this->_query->rowCount();
- } else {
- $this->_error = true;
- }
- }
- return $this;
- }
- public function action($action, $table, $where = array()) {
- if(count($where) === 3) {
- $operators = array('=', '>', '<', '>=', '<=');
- $field = $where[0];
- $operator = $where[1];
- $value = $where[2];
- if(in_array($operator, $operators)) {
- $sql = "{$action} FROM {$table} WHERE {$field} {$operator} ?";
- if(!$this->query($sql, array($value))->error()) {
- return $this;
- }
- }
- }
- return false;
- }
- public function get($table, $where) {
- return $this->action('SELECT *', $table, $where);
- }
- public function delete($table, $where) {
- return $this->action('DELETE *', $table, $where);
- }
- public function insert($table, $fields = array()) {
- $keys = array_keys($fields);
- $values = null;
- $x = 1;
- foreach($fields as $field) {
- $values .= '?';
- if($x < count($fields)) {
- $values .= ', ';
- }
- $x++;
- }
- $sql = "INSERT INTO {$table} (`" . implode('`, `', $keys) . "`) VALUES ({$values})";
- if(!$this->query($sql, $fields)->error()) {
- return true;
- }
- return false;
- }
- public function update($table, $id, $fields) {
- $set = '';
- $x= 1;
- foreach ($fields as $name => $value) {
- $set .= "{$name} = ?";
- if($x < count($fields)) {
- $set .= ', ';
- }
- $x++;
- }
- $sql = "UPDATE {$table} SET {$set} WHERE id = {$id}";
- if($this->query($sql, $fields)->error()) {
- return true;
- }
- return false;
- }
- public function results() {
- return $this->_results;
- }
- public function first() {
- return $this->results()[0];
- }
- public function error() {
- return $this->_error;
- }
- public function count() {
- return $this->_count;
- }
- public function ins() {
- $instance = DB::getInstance();
- $instance->get('users',array('user_id','=','1'));
- if (!$instance->Count()) {
- echo 'No user';
- } else {
- echo 'User exists';
- }
- }
- }
- ?>
- if(Cookie::exists(Config::get('remember/cookie_name')) && Session::exists(Config::get('session/session_name'))) {
- $hash = Cookie::get(Config::get('remember/cookie_name'));
- $hashCheck = DB::getInstance()->get('users_sessions', array('hash', '=', $hash));
- if($hashCheck === false) {
- echo 'Action return false';
- } else {
- $count = $hashCheck->count();
- if($count) {
- echo 'Its object and count ='.$count;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement