PHP Classes
elePHPant
Icontem

File: storage/storageObject.mysql.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Aziz S. Hussain  >  Netflix API Wrapper  >  storage/storageObject.mysql.php  >  Download  
File: storage/storageObject.mysql.php
Role: Class source
Content type: text/plain
Description: MySQL Storage Object
Class: Netflix API Wrapper
Retrieve NetFlix Web services using its API
Author: By
Last change:
Date: 4 years ago
Size: 4,336 bytes
 

Contents

Class file image Download
<?php
/**
 * This is a sample implementation for storage of keys
 * In MySQL database.
 *
 * NOTE: If you are using any other DB than MySQL, you can resuse this file,
 * just make sure that all methods are implemented using your fav DB object
 *
 * License: LGPL
 *
 * @copyright 2011 Aziz Hussain
 * @version 1.0
 * @link http://azizsaleh.com
 * @email azizsaleh@gmail.com
 */


class storageObject
{
   
/* Variable holders */
   
private $db_handler;
    private
$table_name;
    private
$user_field;
    private
$token_field;
    private
$db_step_id;
    private
$db_netflix_id;
   
   
/*
    Construct DB
   
    @param array configs
   
    @return null
    */
   
public function __construct($configs)
    {
       
$this->db_handler = mysql_connect($configs->db_hostname, $configs->db_username, $configs->db_password);
        if (!
$this->db_handler) {
            die(
'Can not connect to database : ' . mysql_error());
        }

       
$db_selected = mysql_select_db($configs->db_database, $this->db_handler);
        if (!
$db_selected) {
            die (
'Can not connect to database : ' . mysql_error());
        }
       
/* Set variables */
       
$this->table_name = $configs->db_table;
       
$this->user_field = $configs->db_user_id;
       
$this->token_field = $configs->db_token;
       
$this->token_secret_field = $configs->db_token_secret;
       
$this->db_step_id = $configs->db_step_id;
       
$this->db_netflix_id = $configs->db_netflix_id;
    }
   
   
/*
    Function to add user token record
   
    @param string user_token
    @param string token_secret
    @param int step_id
    @param string netflix_user_id
   
    @return boolean
    */
   
public function addUserToken($user_token = '', $token_secret = '', $step_id = 1, $netflix_user_id = '')
    {
       
settype($step_id, "integer");
       
       
$user_token = $this->escape_string($user_token);
       
$token_secret = $this->escape_string($token_secret);
       
        if (!isset(
$netflix_userid)) {
           
$netflix_userid = '';
        }
       
       
$query = "REPLACE INTO
            `
{$this->table_name}` (`{$this->user_field}`, `{$this->token_field}`,
            `
{$this->token_secret_field}`,`{$this->db_step_id}`,`{$this->db_netflix_id}`)
            VALUES ('"
. USER_ID . "', '$user_token', '$token_secret','$step_id','$netflix_userid')";
       
        return
mysql_query($query, $this->db_handler);
    }
   
   
/*
    Function to retrieve user token
   
    @return array | boolean=false
    */
   
public function getUserToken()
    {
       
$query = "SELECT `{$this->token_field}`,
                `
{$this->token_secret_field}`, `{$this->db_step_id}`,
                `
{$this->user_field}`, `{$this->db_netflix_id}`
                FROM `
{$this->table_name}` " .
               
" WHERE `{$this->user_field}` = '" . USER_ID . "'";

       
$user_token = mysql_fetch_assoc (mysql_query ($query, $this->db_handler));
       
        if (
strlen ($user_token[$this->token_field]) > 0 ) {
            return array(
$user_token[$this->token_field],
               
$user_token[$this->token_secret_field], $user_token[$this->db_step_id],
               
$user_token[$this->user_field], $user_token[$this->db_netflix_id]);
        } else {
            return
false;
        }
    }
   
   
/*
    Remove user token
   
    @return boolean
    */
   
public function removeUserToken()
    {
       
$query = "DELETE FROM `{$this->table_name}`
                WHERE `
{$this->user_field}` = '" . USER_ID . "'";
        return
mysql_query($query, $this->db_handler);
    }

   
   
/*
    Get step id for a user
       
    @return int
    */
   
public function getStepID()
    {
       
$query = "SELECT `{$this->db_step_id}`
                FROM `
{$this->table_name}`
                WHERE `
{$this->user_field}` = '" . USER_ID . "'";
       
$user_token = mysql_fetch_assoc (mysql_query ($query, $this->db_handler));
       
        if (
strlen ($user_token[$this->db_step_id]) > 0 ) {
            return
$user_token[$this->db_step_id];
        } else {
            return
false;
        }
    }
   
   
/*
    Set step id for a user
   
    @param int step_id
   
    @return boolean
    */
   
public function setStepID($step_id)
    {
       
settype($step_id, "integer");
       
       
$query = "UPDATE `{$this->table_name}`
                SET `
{$this->db_step_id}` = '$step_id'
                WHERE `
{$this->user_field}` = '" . USER_ID . "'";
        return
mysql_query($query, $this->db_handler);
    }
   
   
/*
    This function escapes inputs before inserting
   
    @param string variable
   
    @return string
    */
   
private function escape_string($variable)
    {
        return
mysql_real_escape_string($variable, $this->db_handler);
    }
}