You are here

class OAuthStoreMySQL in Lingotek Translation 7.3

Same name and namespace in other branches
  1. 7.7 lib/oauth-php/library/store/OAuthStoreMySQL.php \OAuthStoreMySQL
  2. 7.2 lib/oauth-php/library/store/OAuthStoreMySQL.php \OAuthStoreMySQL
  3. 7.4 lib/oauth-php/library/store/OAuthStoreMySQL.php \OAuthStoreMySQL
  4. 7.5 lib/oauth-php/library/store/OAuthStoreMySQL.php \OAuthStoreMySQL
  5. 7.6 lib/oauth-php/library/store/OAuthStoreMySQL.php \OAuthStoreMySQL

Hierarchy

Expanded class hierarchy of OAuthStoreMySQL

File

lib/oauth-php/library/store/OAuthStoreMySQL.php, line 39

View source
class OAuthStoreMySQL extends OAuthStoreSQL {

  /**
   * The MySQL connection
   */
  protected $conn;

  /**
   * Initialise the database
   */
  public function install() {
    require_once dirname(__FILE__) . '/mysql/install.php';
  }

  /* ** Some simple helper functions for querying the mysql db ** */

  /**
   * Perform a query, ignore the results
   *
   * @param string sql
   * @param vararg arguments (for sprintf)
   */
  protected function query($sql) {
    $sql = $this
      ->sql_printf(func_get_args());
    if (!($res = mysql_query($sql, $this->conn))) {
      $this
        ->sql_errcheck($sql);
    }
    if (is_resource($res)) {
      mysql_free_result($res);
    }
  }

  /**
   * Perform a query, ignore the results
   *
   * @param string sql
   * @param vararg arguments (for sprintf)
   * @return array
   */
  protected function query_all_assoc($sql) {
    $sql = $this
      ->sql_printf(func_get_args());
    if (!($res = mysql_query($sql, $this->conn))) {
      $this
        ->sql_errcheck($sql);
    }
    $rs = array();
    while ($row = mysql_fetch_assoc($res)) {
      $rs[] = $row;
    }
    mysql_free_result($res);
    return $rs;
  }

  /**
   * Perform a query, return the first row
   *
   * @param string sql
   * @param vararg arguments (for sprintf)
   * @return array
   */
  protected function query_row_assoc($sql) {
    $sql = $this
      ->sql_printf(func_get_args());
    if (!($res = mysql_query($sql, $this->conn))) {
      $this
        ->sql_errcheck($sql);
    }
    if ($row = mysql_fetch_assoc($res)) {
      $rs = $row;
    }
    else {
      $rs = false;
    }
    mysql_free_result($res);
    return $rs;
  }

  /**
   * Perform a query, return the first row
   *
   * @param string sql
   * @param vararg arguments (for sprintf)
   * @return array
   */
  protected function query_row($sql) {
    $sql = $this
      ->sql_printf(func_get_args());
    if (!($res = mysql_query($sql, $this->conn))) {
      $this
        ->sql_errcheck($sql);
    }
    if ($row = mysql_fetch_array($res)) {
      $rs = $row;
    }
    else {
      $rs = false;
    }
    mysql_free_result($res);
    return $rs;
  }

  /**
   * Perform a query, return the first column of the first row
   *
   * @param string sql
   * @param vararg arguments (for sprintf)
   * @return mixed
   */
  protected function query_one($sql) {
    $sql = $this
      ->sql_printf(func_get_args());
    if (!($res = mysql_query($sql, $this->conn))) {
      $this
        ->sql_errcheck($sql);
    }
    $val = @mysql_result($res, 0, 0);
    mysql_free_result($res);
    return $val;
  }

  /**
   * Return the number of rows affected in the last query
   */
  protected function query_affected_rows() {
    return mysql_affected_rows($this->conn);
  }

  /**
   * Return the id of the last inserted row
   *
   * @return int
   */
  protected function query_insert_id() {
    return mysql_insert_id($this->conn);
  }
  protected function sql_printf($args) {
    $sql = array_shift($args);
    if (count($args) == 1 && is_array($args[0])) {
      $args = $args[0];
    }
    $args = array_map(array(
      $this,
      'sql_escape_string',
    ), $args);
    return vsprintf($sql, $args);
  }
  protected function sql_escape_string($s) {
    if (is_string($s)) {
      return mysql_real_escape_string($s, $this->conn);
    }
    else {
      if (is_null($s)) {
        return NULL;
      }
      else {
        if (is_bool($s)) {
          return intval($s);
        }
        else {
          if (is_int($s) || is_float($s)) {
            return $s;
          }
          else {
            return mysql_real_escape_string(strval($s), $this->conn);
          }
        }
      }
    }
  }
  protected function sql_errcheck($sql) {
    if (mysql_errno($this->conn)) {
      $msg = "SQL Error in OAuthStoreMySQL: " . mysql_error($this->conn) . "\n\n" . $sql;
      throw new OAuthException2($msg);
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
OAuthStoreAbstract::generateKey public function * Generate a unique key * *
OAuthStoreAbstract::isUTF8 protected function * Check to see if a string is valid utf8 * *
OAuthStoreAbstract::makeUTF8 protected function * Make a string utf8, replacing all non-utf8 chars with a '.' * *
OAuthStoreMySQL::$conn protected property * The MySQL connection
OAuthStoreMySQL::install public function * Initialise the database Overrides OAuthStoreAbstract::install 2
OAuthStoreMySQL::query protected function * Perform a query, ignore the results * * Overrides OAuthStoreSQL::query 2
OAuthStoreMySQL::query_affected_rows protected function * Return the number of rows affected in the last query Overrides OAuthStoreSQL::query_affected_rows 2
OAuthStoreMySQL::query_all_assoc protected function * Perform a query, ignore the results * * Overrides OAuthStoreSQL::query_all_assoc 2
OAuthStoreMySQL::query_insert_id protected function * Return the id of the last inserted row * * Overrides OAuthStoreSQL::query_insert_id 2
OAuthStoreMySQL::query_one protected function * Perform a query, return the first column of the first row * * Overrides OAuthStoreSQL::query_one 2
OAuthStoreMySQL::query_row protected function * Perform a query, return the first row * * Overrides OAuthStoreSQL::query_row 2
OAuthStoreMySQL::query_row_assoc protected function * Perform a query, return the first row * * Overrides OAuthStoreSQL::query_row_assoc 2
OAuthStoreMySQL::sql_errcheck protected function Overrides OAuthStoreSQL::sql_errcheck 1
OAuthStoreMySQL::sql_escape_string protected function Overrides OAuthStoreSQL::sql_escape_string 1
OAuthStoreMySQL::sql_printf protected function Overrides OAuthStoreSQL::sql_printf 1
OAuthStoreSQL::$max_request_token_ttl protected property * Default ttl for request tokens
OAuthStoreSQL::$max_timestamp_skew protected property * Maximum delta a timestamp may be off from a previous timestamp. * Allows multiple consumers with some clock skew to work with the same token. * Unit is seconds, default max skew is 10 minutes.
OAuthStoreSQL::addConsumerRequestToken public function * Add an unautorized request token to our server. * * Overrides OAuthStoreAbstract::addConsumerRequestToken
OAuthStoreSQL::addLog public function * Add an entry to the log table * * Overrides OAuthStoreAbstract::addLog 1
OAuthStoreSQL::addServerToken public function * Add a request token we obtained from a server. * * @todo remove old tokens for this user and this ocr_id * Overrides OAuthStoreAbstract::addServerToken
OAuthStoreSQL::authorizeConsumerRequestToken public function * Upgrade a request token to be an authorized request token. * * Overrides OAuthStoreAbstract::authorizeConsumerRequestToken
OAuthStoreSQL::checkServerNonce public function * Check an nonce/timestamp combination. Clears any nonce combinations * that are older than the one received. * * Overrides OAuthStoreAbstract::checkServerNonce
OAuthStoreSQL::countConsumerAccessTokens public function * Count the consumer access tokens for the given consumer. * * Overrides OAuthStoreAbstract::countConsumerAccessTokens
OAuthStoreSQL::countServerTokens public function * Count how many tokens we have for the given server * * Overrides OAuthStoreAbstract::countServerTokens
OAuthStoreSQL::deleteConsumer public function * Delete a consumer key. This removes access to our site for all applications using this key. * * Overrides OAuthStoreAbstract::deleteConsumer
OAuthStoreSQL::deleteConsumerAccessToken public function * Delete a consumer access token. * * Overrides OAuthStoreAbstract::deleteConsumerAccessToken
OAuthStoreSQL::deleteConsumerRequestToken public function * Delete a consumer token. The token must be a request or authorized token. * * Overrides OAuthStoreAbstract::deleteConsumerRequestToken
OAuthStoreSQL::deleteServer public function * Delete a server key. This removes access to that site. * * Overrides OAuthStoreAbstract::deleteServer
OAuthStoreSQL::deleteServerToken public function * Delete a token we obtained from a server. * * Overrides OAuthStoreAbstract::deleteServerToken
OAuthStoreSQL::exchangeConsumerRequestForAccessToken public function * Exchange an authorized request token for new access token. * * Overrides OAuthStoreAbstract::exchangeConsumerRequestForAccessToken
OAuthStoreSQL::getConsumer public function * Fetch a consumer of this server, by consumer_key. * * Overrides OAuthStoreAbstract::getConsumer
OAuthStoreSQL::getConsumerAccessToken public function * Fetch the consumer access token, by access token. * * Overrides OAuthStoreAbstract::getConsumerAccessToken
OAuthStoreSQL::getConsumerRequestToken public function * Fetch the consumer request token, by request token. * * Overrides OAuthStoreAbstract::getConsumerRequestToken
OAuthStoreSQL::getConsumerStatic public function * Fetch the static consumer key for this provider. The user for the static consumer * key is NULL (no user, shared key). If the key did not exist then the key is created. * * Overrides OAuthStoreAbstract::getConsumerStatic
OAuthStoreSQL::getSecretsForSignature public function * Find the server details for signing a request, always looks for an access token. * The returned credentials depend on which local user is making the request. * * The consumer_key must belong to the user or be public (user id is null) * *… Overrides OAuthStoreAbstract::getSecretsForSignature
OAuthStoreSQL::getSecretsForVerify public function * Find stored credentials for the consumer key and token. Used by an OAuth server * when verifying an OAuth request. * * Overrides OAuthStoreAbstract::getSecretsForVerify
OAuthStoreSQL::getServer public function * Get a server from the consumer registry using the consumer key * * Overrides OAuthStoreAbstract::getServer
OAuthStoreSQL::getServerForUri public function * Find the server details that might be used for a request * * The consumer_key must belong to the user or be public (user id is null) * * Overrides OAuthStoreAbstract::getServerForUri
OAuthStoreSQL::getServerToken public function * Get a specific server token for the given user * * Overrides OAuthStoreAbstract::getServerToken
OAuthStoreSQL::getServerTokenSecrets public function * Get the token and token secret we obtained from a server. * * Overrides OAuthStoreAbstract::getServerTokenSecrets
OAuthStoreSQL::listConsumerApplications public function * List of all registered applications. Data returned has not sensitive * information and therefore is suitable for public displaying. * * Overrides OAuthStoreAbstract::listConsumerApplications
OAuthStoreSQL::listConsumers public function * Fetch a list of all consumer keys, secrets etc. * Returns the public (user_id is null) and the keys owned by the user * * Overrides OAuthStoreAbstract::listConsumers
OAuthStoreSQL::listConsumerTokens public function * Fetch a list of all consumer tokens accessing the account of the given user. * * Overrides OAuthStoreAbstract::listConsumerTokens
OAuthStoreSQL::listLog public function * Get a page of entries from the log. Returns the last 100 records * matching the options given. * * Overrides OAuthStoreAbstract::listLog 1
OAuthStoreSQL::listServers public function * Get a list of all consumers from the consumer registry. * The consumer keys belong to the user or are public (user id is null) * * Overrides OAuthStoreAbstract::listServers
OAuthStoreSQL::listServerTokens public function * Get a list of all server token this user has access to. * * Overrides OAuthStoreAbstract::listServerTokens
OAuthStoreSQL::setConsumerAccessTokenTtl public function * Set the ttl of a consumer access token. This is done when the * server receives a valid request with a xoauth_token_ttl parameter in it. * * Overrides OAuthStoreAbstract::setConsumerAccessTokenTtl
OAuthStoreSQL::setServerTokenTtl public function * Set the ttl of a server access token. This is done when the * server receives a valid request with a xoauth_token_ttl parameter in it. * *
OAuthStoreSQL::updateConsumer public function * Insert/update a new consumer with this server (we will be the server) * When this is a new consumer, then also generate the consumer key and secret. * Never updates the consumer key and secret. * When the id is set, then the key and secret… Overrides OAuthStoreAbstract::updateConsumer
OAuthStoreSQL::updateServer public function * Register or update a server for our site (we will be the consumer) * * (This is the registry at the consumers, registering servers ;-) ) * * Overrides OAuthStoreAbstract::updateServer
OAuthStoreSQL::__construct function * Construct the OAuthStoreMySQL. * In the options you have to supply either: * - server, username, password and database (for a mysql_connect) * - conn (for the connection to be used) * * 3