Advertisement
Guest User

Untitled

a guest
May 24th, 2017
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.59 KB | None | 0 0
  1. <?php
  2.     class database extends login {
  3.  
  4.     const HOST     = "localhost";
  5.     const DATABASE = "db";
  6.     const USERNAME = "root";
  7.     const PASSWORD = "";
  8.  
  9.     private $_db = NULL;
  10.     private $_currentPath = NULL;
  11.  
  12.     public function __construct() {
  13.  
  14.         $this->dbconnection();
  15.  
  16.     }
  17.  
  18.     public function login($username = NULL,$password = NULL) {
  19.  
  20.         parent::__construct($username,$password);
  21.  
  22.         if($this->_return == true) {
  23.  
  24.             $userData = $this->getUserData();
  25.  
  26.             if($this->existInTable($userData["id"],"users")) {
  27.  
  28.                 $this->update($userData,"users");
  29.  
  30.                 $this->unlinkOldCookie($this->_currentPath);
  31.  
  32.             } else {
  33.  
  34.                 $userData["credit"] = "50";
  35.                 $this->insert($userData,"users");
  36.  
  37.             }
  38.  
  39.             $_SESSION["username"] = $userData["username"];
  40.             $_SESSION["token"] = md5($userData["password"]);
  41.             $_SESSION["profilePic"] = $this->_profilePic;
  42.  
  43.         }
  44.  
  45.  
  46.     }
  47.  
  48.     private function dbconnection() {
  49.  
  50.         try {
  51.             $this->_db = new PDO('mysql:host='.self::HOST.';dbname='.self::DATABASE,self::USERNAME,self::PASSWORD,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
  52.         } catch(PDOException $e){
  53.             die($e->getMessage());
  54.         }
  55.  
  56.     }
  57.  
  58.     private function insert($array,$table) {
  59.  
  60.         foreach($array as $key => $value)
  61.             $array[$key] = ($value == NULL) ? "" : $value;
  62.  
  63.         $query = $this->_db->prepare('INSERT INTO '.$table.' ('.implode(",", array_keys($array)).') VALUES (?'.str_repeat(",?", count($array)-1).')');
  64.         $query->execute(array_values($array));
  65.  
  66.     }
  67.  
  68.     private function update($array,$table) {
  69.  
  70.         $sets = "";
  71.  
  72.         foreach($array as $key => $value)
  73.             $sets .= $key."=? ,";
  74.  
  75.         $sets = substr($sets, 0, -1);
  76.  
  77.         $update = $this->_db->prepare("UPDATE ".$table." SET ".$sets." WHERE id='".$array["id"]."'");
  78.         $update->execute(array_values($array));
  79.  
  80.     }
  81.  
  82.     private function existInTable($uniqueId,$table) {
  83.  
  84.         $query = $this->_db->query("SELECT COUNT(id) as exist,path FROM ".$table." WHERE id='".$uniqueId."'")->fetch(PDO::FETCH_ASSOC);
  85.  
  86.         if($query["exist"] == 1) {
  87.             $this->_currentPath = $query["path"];
  88.             return true;
  89.         } else
  90.             return false;
  91.     }
  92.  
  93.     public function sessionCheck() {
  94.  
  95.         $query = $this->_db->query("SELECT COUNT(id) as exist,password FROM users WHERE username='".$_SESSION["username"]."'")->fetch(PDO::FETCH_ASSOC);
  96.  
  97.         if($query["exist"] != 1 && md5($query["password"]) != $_SESSION["token"]) {
  98.  
  99.             session_destroy();
  100.             $this->redirect("index.php");
  101.         }
  102.     }
  103.  
  104.     public function authCheckLogin() {
  105.  
  106.         if(is_array($_SESSION)) {
  107.  
  108.             if(!empty($_SESSION["username"]) && !empty($_SESSION["token"]))
  109.                 $this->redirect("home.php");
  110.         }
  111.  
  112.     }
  113.  
  114.     public function getPrivateData() {
  115.  
  116.         $query = $this->_db->query("SELECT name,credit,id,spendCredits FROM users WHERE username='".$_SESSION["username"]."'")->fetch(PDO::FETCH_ASSOC);
  117.  
  118.         return array(
  119.             "id" => $query["id"],
  120.             "name" => $query["name"],
  121.             "credit" => $query["credit"],
  122.             "spendCredits" => $query["spendCredits"]
  123.         );
  124.  
  125.     }
  126.  
  127.     private function redirect($php) {
  128.  
  129.         if(!headers_sent()) {
  130.             header("Location: ".$php);
  131.         } else {
  132.             echo '<meta http-equiv="refresh" content="0;URL='.$php.'">';
  133.         }
  134.         exit();
  135.     }
  136.  
  137.     public function getRandomUsers($userId,$limit) {
  138.  
  139.         $query = $this->_db->query("SELECT id,path,gender,username FROM users WHERE id<>'".$userId."' ORDER BY RAND() LIMIT ".$limit)->fetchAll(PDO::FETCH_ASSOC);
  140.  
  141.         return $query;
  142.     }
  143.  
  144.     public function getRandomPaths($userId,$limit) {
  145.  
  146.         $query = $this->_db->query("SELECT path FROM users WHERE id<>'".$userId."' ORDER BY RAND() LIMIT ".$limit)->fetchAll(PDO::FETCH_ASSOC);
  147.  
  148.         return $query;
  149.     }
  150.  
  151.     public function useCredit($userId,$spend = 1) {
  152.  
  153.         if($spend >= 1) {
  154.             $update = $this->_db->prepare("UPDATE users SET credit=credit-".$spend.", spendCredits=spendCredits+".$spend." WHERE id='".$userId."'");
  155.             $update->execute();
  156.         }
  157.     }
  158.     public function getCredit() {
  159.  
  160.         $query = $this->_db->query("SELECT credit FROM users WHERE username='".$_SESSION["username"]."'")->fetch(PDO::FETCH_ASSOC);
  161.         return $query["credit"];
  162.     }
  163.  
  164.     public function buyCredits($amount,$paymentMethod,$paid,$instaId) {
  165.  
  166.         $array = array(
  167.             "instagramId" => $instaId,
  168.             "purchasedCredits" => $amount,
  169.             "paid" => $paid,
  170.             "paymentMethod" => $paymentMethod
  171.         );
  172.  
  173.         $this->insert($array,"payments");
  174.  
  175.     }
  176.  
  177.     public function waitingPayment($instagramId) {
  178.  
  179.         $query = $this->_db->query("SELECT id FROM payments WHERE instagramId='".$instagramId."' and confirmed='0'")->fetch(PDO::FETCH_ASSOC);
  180.         return ($query["id"] > 0) ? true : false;
  181.     }
  182.  
  183.     public function accounts($acc) {
  184.  
  185.         $accounts = array("isbankasi","vakifbank","paypal");
  186.  
  187.         return in_array($acc,$accounts);
  188.     }
  189.  
  190.     public function paymentHistory($instagramId) {
  191.  
  192.         $query = $this->_db->query("SELECT id,paid,purchasedCredits,paymentMethod,confirmed FROM payments WHERE instagramId='".$instagramId."' ORDER BY id DESC")->fetchAll(PDO::FETCH_ASSOC);
  193.         return $query;
  194.     }
  195.  
  196.  
  197. }
  198. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement