Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class database extends login {
- const HOST = "localhost";
- const DATABASE = "db";
- const USERNAME = "root";
- const PASSWORD = "";
- private $_db = NULL;
- private $_currentPath = NULL;
- public function __construct() {
- $this->dbconnection();
- }
- public function login($username = NULL,$password = NULL) {
- parent::__construct($username,$password);
- if($this->_return == true) {
- $userData = $this->getUserData();
- if($this->existInTable($userData["id"],"users")) {
- $this->update($userData,"users");
- $this->unlinkOldCookie($this->_currentPath);
- } else {
- $userData["credit"] = "50";
- $this->insert($userData,"users");
- }
- $_SESSION["username"] = $userData["username"];
- $_SESSION["token"] = md5($userData["password"]);
- $_SESSION["profilePic"] = $this->_profilePic;
- }
- }
- private function dbconnection() {
- try {
- $this->_db = new PDO('mysql:host='.self::HOST.';dbname='.self::DATABASE,self::USERNAME,self::PASSWORD,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
- } catch(PDOException $e){
- die($e->getMessage());
- }
- }
- private function insert($array,$table) {
- foreach($array as $key => $value)
- $array[$key] = ($value == NULL) ? "" : $value;
- $query = $this->_db->prepare('INSERT INTO '.$table.' ('.implode(",", array_keys($array)).') VALUES (?'.str_repeat(",?", count($array)-1).')');
- $query->execute(array_values($array));
- }
- private function update($array,$table) {
- $sets = "";
- foreach($array as $key => $value)
- $sets .= $key."=? ,";
- $sets = substr($sets, 0, -1);
- $update = $this->_db->prepare("UPDATE ".$table." SET ".$sets." WHERE id='".$array["id"]."'");
- $update->execute(array_values($array));
- }
- private function existInTable($uniqueId,$table) {
- $query = $this->_db->query("SELECT COUNT(id) as exist,path FROM ".$table." WHERE id='".$uniqueId."'")->fetch(PDO::FETCH_ASSOC);
- if($query["exist"] == 1) {
- $this->_currentPath = $query["path"];
- return true;
- } else
- return false;
- }
- public function sessionCheck() {
- $query = $this->_db->query("SELECT COUNT(id) as exist,password FROM users WHERE username='".$_SESSION["username"]."'")->fetch(PDO::FETCH_ASSOC);
- if($query["exist"] != 1 && md5($query["password"]) != $_SESSION["token"]) {
- session_destroy();
- $this->redirect("index.php");
- }
- }
- public function authCheckLogin() {
- if(is_array($_SESSION)) {
- if(!empty($_SESSION["username"]) && !empty($_SESSION["token"]))
- $this->redirect("home.php");
- }
- }
- public function getPrivateData() {
- $query = $this->_db->query("SELECT name,credit,id,spendCredits FROM users WHERE username='".$_SESSION["username"]."'")->fetch(PDO::FETCH_ASSOC);
- return array(
- "id" => $query["id"],
- "name" => $query["name"],
- "credit" => $query["credit"],
- "spendCredits" => $query["spendCredits"]
- );
- }
- private function redirect($php) {
- if(!headers_sent()) {
- header("Location: ".$php);
- } else {
- echo '<meta http-equiv="refresh" content="0;URL='.$php.'">';
- }
- exit();
- }
- public function getRandomUsers($userId,$limit) {
- $query = $this->_db->query("SELECT id,path,gender,username FROM users WHERE id<>'".$userId."' ORDER BY RAND() LIMIT ".$limit)->fetchAll(PDO::FETCH_ASSOC);
- return $query;
- }
- public function getRandomPaths($userId,$limit) {
- $query = $this->_db->query("SELECT path FROM users WHERE id<>'".$userId."' ORDER BY RAND() LIMIT ".$limit)->fetchAll(PDO::FETCH_ASSOC);
- return $query;
- }
- public function useCredit($userId,$spend = 1) {
- if($spend >= 1) {
- $update = $this->_db->prepare("UPDATE users SET credit=credit-".$spend.", spendCredits=spendCredits+".$spend." WHERE id='".$userId."'");
- $update->execute();
- }
- }
- public function getCredit() {
- $query = $this->_db->query("SELECT credit FROM users WHERE username='".$_SESSION["username"]."'")->fetch(PDO::FETCH_ASSOC);
- return $query["credit"];
- }
- public function buyCredits($amount,$paymentMethod,$paid,$instaId) {
- $array = array(
- "instagramId" => $instaId,
- "purchasedCredits" => $amount,
- "paid" => $paid,
- "paymentMethod" => $paymentMethod
- );
- $this->insert($array,"payments");
- }
- public function waitingPayment($instagramId) {
- $query = $this->_db->query("SELECT id FROM payments WHERE instagramId='".$instagramId."' and confirmed='0'")->fetch(PDO::FETCH_ASSOC);
- return ($query["id"] > 0) ? true : false;
- }
- public function accounts($acc) {
- $accounts = array("isbankasi","vakifbank","paypal");
- return in_array($acc,$accounts);
- }
- public function paymentHistory($instagramId) {
- $query = $this->_db->query("SELECT id,paid,purchasedCredits,paymentMethod,confirmed FROM payments WHERE instagramId='".$instagramId."' ORDER BY id DESC")->fetchAll(PDO::FETCH_ASSOC);
- return $query;
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement