Login   Register  
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: 3 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]) > ) {
            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]) > ) {
            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);
    }
}