diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..475c754 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "sys/db"] + path = sys/db + url = git://github.com/aviat4ion/Query.git diff --git a/sys/db b/sys/db new file mode 160000 index 0000000..f555b17 --- /dev/null +++ b/sys/db @@ -0,0 +1 @@ +Subproject commit f555b179b4d025316bb87cfe44c18f5593507b70 diff --git a/sys/db/.gitignore b/sys/db/.gitignore deleted file mode 100644 index e4c8234..0000000 --- a/sys/db/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -test_config.json -index.html -tests/db_files/* -._* -tests/settings.json \ No newline at end of file diff --git a/sys/db/.travis.yml b/sys/db/.travis.yml deleted file mode 100644 index f7735a4..0000000 --- a/sys/db/.travis.yml +++ /dev/null @@ -1,13 +0,0 @@ -language: php - -php: - - 5.2 - - 5.3 - - 5.4 - -before_script: - - sh -c "psql -c 'DROP DATABASE IF EXISTS test;' -U postgres" - - sh -c "psql -c 'create database test;' -U postgres" - - sh -c "mysql -e 'create database IF NOT EXISTS test;'" - -script: php ./tests/index.php \ No newline at end of file diff --git a/sys/db/autoload.php b/sys/db/autoload.php deleted file mode 100644 index 83df138..0000000 --- a/sys/db/autoload.php +++ /dev/null @@ -1,86 +0,0 @@ -sql = new $class(); - - // Load the util class for the driver - $class = get_class($this)."_util"; - $this->util = new $class($this); - - $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); - } - - // -------------------------------------------------------------------------- - // ! Concrete functions that can be overridden in child classes - // -------------------------------------------------------------------------- - - /** - * Simplifies prepared statements for database queries - * - * @param string $sql - * @param array $data - * @return mixed PDOStatement / FALSE - */ - public function prepare_query($sql, $data) - { - // Prepare the sql - $query = $this->prepare($sql); - - if( ! (is_object($query) || is_resource($query))) - { - $this->get_last_error(); - return FALSE; - } - - // Set the statement in the class variable for easy later access - $this->statement =& $query; - - - if( ! (is_array($data) || is_object($data))) - { - trigger_error("Invalid data argument"); - return FALSE; - } - - // Bind the parameters - foreach($data as $k => &$value) - { - if(is_numeric($k)) - { - $k++; - } - - $res = $query->bindValue($k, $value); - - if( ! $res) - { - trigger_error("Parameter not successfully bound"); - return FALSE; - } - } - - return $query; - - } - - // ------------------------------------------------------------------------- - - /** - * Create and execute a prepared statement with the provided parameters - * - * @param string $sql - * @param array $params - * @return PDOStatement - */ - public function prepare_execute($sql, $params) - { - $this->statement = $this->prepare_query($sql, $params); - $this->statement->execute(); - - return $this->statement; - } - - // ------------------------------------------------------------------------- - - /** - * Retreives the data from a select query - * - * @param PDOStatement $statement - * @return array - */ - public function get_query_data($statement) - { - $this->statement =& $statement; - - // Execute the query - $this->statement->execute(); - - // Return the data array fetched - return $this->statement->fetchAll(PDO::FETCH_ASSOC); - } - - // ------------------------------------------------------------------------- - - /** - * Returns number of rows affected by an INSERT, UPDATE, DELETE type query - * - * @param PDOStatement $statement - * @return int - */ - public function affected_rows($statement='') - { - if ( ! empty($statement)) - { - $this->statement = $statement; - } - - // Return number of rows affected - return $this->statement->rowCount(); - } - - // -------------------------------------------------------------------------- - - /** - * Return the last error for the current database connection - * - * @return string - */ - public function get_last_error() - { - list($i1, $i2, $i3) = $this->errorInfo(); - - echo "Error:
{$i1}:{$i2}\n{$i3}"; - } - - // -------------------------------------------------------------------------- - - /** - * Surrounds the string with the databases identifier escape characters - * - * @param mixed $ident - * @return string - */ - public function quote_ident($ident) - { - if (is_array($ident)) - { - return array_map(array($this, 'quote_ident'), $ident); - } - - // If the string is already quoted, return the string - if (($pos = strpos($ident, $this->escape_char)) !== FALSE && $pos === 0) - { - return $ident; - } - - // Split each identifier by the period - $hiers = explode('.', $ident); - - // Return the re-compiled string - return implode('.', array_map(array($this, '_quote'), $hiers)); - } - - // -------------------------------------------------------------------------- - - /** - * Helper method for quote_ident - * - * @param mixed $str - * @return mixed - */ - protected function _quote($str) - { - if ( ! is_string($str) && is_numeric($str)) - { - return $str; - } - - return "{$this->escape_char}{$str}{$this->escape_char}"; - } - - // ------------------------------------------------------------------------- - - /** - * Deletes all the rows from a table. Does the same as the truncate - * method if the database does not support 'TRUNCATE'; - * - * @param string $table - * @return mixed - */ - public function empty_table($table) - { - $sql = 'DELETE FROM '.$this->quote_ident($table); - - return $this->query($sql); - } - - // ------------------------------------------------------------------------- - - /** - * Return schemas for databases that list them - * - * @return array - */ - public function get_schemas() - { - return FALSE; - } - - // ------------------------------------------------------------------------- - - /** - * Return list of tables for the current database - * - * @return array - */ - public function get_tables() - { - return $this->driver_query($this->sql->table_list()); - } - - // ------------------------------------------------------------------------- - - /** - * Return list of dbs for the current connection, if possible - * - * @return array - */ - public function get_dbs() - { - return $this->driver_query($this->sql->db_list()); - } - - // ------------------------------------------------------------------------- - - /** - * Return list of views for the current database - * - * @return array - */ - public function get_views() - { - return $this->driver_query($this->sql->view_list()); - } - - // ------------------------------------------------------------------------- - - /** - * Return list of sequences for the current database, if they exist - * - * @return array - */ - public function get_sequences() - { - return $this->driver_query($this->sql->sequence_list()); - } - - // ------------------------------------------------------------------------- - - /** - * Return list of function for the current database - * - * @return array - */ - public function get_functions() - { - return $this->driver_query($this->sql->function_list(), FALSE); - } - - // ------------------------------------------------------------------------- - - /** - * Return list of stored procedures for the current database - * - * @return array - */ - public function get_procedures() - { - return $this->driver_query($this->sql->procedure_list(), FALSE); - } - - // ------------------------------------------------------------------------- - - /** - * Return list of triggers for the current database - * - * @return array - */ - public function get_triggers() - { - return $this->driver_query($this->sql->trigger_list(), FALSE); - } - - // ------------------------------------------------------------------------- - - /** - * Retreives an array of non-user-created tables for - * the connection/database - * - * @return array - */ - public function get_system_tables() - { - return $this->driver_query($this->sql->system_table_list()); - } - - // -------------------------------------------------------------------------- - - /** - * Retrieve column information for the current database table - * - * @param string $table - * @return array - */ - public function get_columns($table) - { - return $this->driver_query($this->sql->column_list($table), FALSE); - } - - // -------------------------------------------------------------------------- - - /** - * Retrieve list of data types for the database - * - * @return array - */ - public function get_types() - { - return $this->driver_query($this->sql->type_list(), FALSE); - } - - // ------------------------------------------------------------------------- - - /** - * Method to simplify retreiving db results for meta-data queries - * - * @param string $sql - * @param bool $filtered_index - * @return mixed - */ - protected function driver_query($sql, $filtered_index=TRUE) - { - // Return if the query doesn't apply to the driver - if ($sql === FALSE) - { - return FALSE; - } - - // Return predefined data - if (is_array($sql)) - { - return $sql; - } - - $res = $this->query($sql); - - $flag = ($filtered_index) ? PDO::FETCH_NUM : PDO::FETCH_ASSOC; - $all = $res->fetchAll($flag); - - return ($filtered_index) ? db_filter($all, 0) : $all; - } - - // -------------------------------------------------------------------------- - - /** - * Return the number of rows returned for a SELECT query - * - * @return int - */ - public function num_rows() - { - return isset($this->statement) && is_object($this->statement) - ? $this->statement->rowCount() - : FALSE; - } - - // ------------------------------------------------------------------------- - // ! Abstract public functions to implement in child classes - // ------------------------------------------------------------------------- - - /** - * Empty the passed table - * - * @param string $table - * - * @return void - */ - abstract public function truncate($table); - - /** - * Connect to a different database - * - * @param string $name - * @return void - */ - abstract public function switch_db($name); -} -// End of db_pdo.php \ No newline at end of file diff --git a/sys/db/classes/db_reg.php b/sys/db/classes/db_reg.php deleted file mode 100644 index 2b82459..0000000 --- a/sys/db/classes/db_reg.php +++ /dev/null @@ -1,89 +0,0 @@ -get_db($key); - - // Set the current key in the registry - self::$instance[$key] = new Query_Builder($db_params); - } - - // -------------------------------------------------------------------------- - - /** - * Return exiting connections - * - * @return array - */ - public static function get_connections() - { - return array_keys(self::$instance); - } - - // -------------------------------------------------------------------------- - - /** - * Remove a database connection - * - * @param string $key - * @return void - */ - public static function remove_db($key) - { - unset(self::$instance[$key]); - } -} -// End of dbreg.php \ No newline at end of file diff --git a/sys/db/classes/db_sql.php b/sys/db/classes/db_sql.php deleted file mode 100644 index 016b530..0000000 --- a/sys/db/classes/db_sql.php +++ /dev/null @@ -1,181 +0,0 @@ -conn =& $conn; - } - - // -------------------------------------------------------------------------- - - /** - * Enable calling driver methods - * - * @param string $method - * @param array $args - */ - public function __call($method, $args) - { - if (method_exists($this->conn, $method)) - { - return call_user_func_array(array($this->conn, $method), $args); - } - - return NULL; - } - - // -------------------------------------------------------------------------- - // ! Abstract Methods - // -------------------------------------------------------------------------- - - /** - * Get database-specific sql to create a new table - * - * @abstract - * @param string $name - * @param array $columns - * @param array $constraints - * @param array $indexes - * @return string - */ - abstract public function create_table($name, $columns, array $constraints=array(), array $indexes=array()); - - /** - * Get database-specific sql to drop a table - * - * @abstract - * @param string $name - * @return string - */ - abstract public function delete_table($name); - - /** - * Return an SQL file with the database table structure - * - * @abstract - * @return string - */ - abstract public function backup_structure(); - - /** - * Return an SQL file with the database data as insert statements - * - * @abstract - * @return string - */ - abstract public function backup_data(); - -} \ No newline at end of file diff --git a/sys/db/classes/query_builder.php b/sys/db/classes/query_builder.php deleted file mode 100644 index 679c26c..0000000 --- a/sys/db/classes/query_builder.php +++ /dev/null @@ -1,1343 +0,0 @@ -db->sql - * - * @var DB_PDO - */ - public $sql; - - /** - * Query component order mapping - * for complex select queries - * - * Format: - * - * array( - * 'type' => 'where', - * 'conjunction' => ' AND ', - * 'string' => 'k=?' - * ) - * - * @var array - */ - private $query_map; - - /** - * Map for having clause - * - * @var array - */ - private $having_map; - - /** - * Convenience property for connection management - * - * @var string - */ - public $conn_name = ""; - - /** - * Constructor - * - * @param object $params - the connection parametere - */ - public function __construct($params) - { - // Convert array to object - if (is_array($params)) - { - $p = new ArrayObject($params, ArrayObject::ARRAY_AS_PROPS); - $params = $p; - } - - // Let the connection work with 'conn_db' or 'database' - if (isset($params->database)) - { - $params->conn_db = $params->database; - } - - - $params->type = strtolower($params->type); - $dbtype = ($params->type !== 'postgresql') ? $params->type : 'pgsql'; - - // Create the dsn for the database to connect to - switch($dbtype) - { - default: - $dsn = "dbname={$params->conn_db}"; - - if ( ! empty($params->host)) - { - $dsn .= ";host={$params->host}"; - } - - if ( ! empty($params->port)) - { - $dsn .= ";port={$params->port}"; - } - - break; - - case "sqlite": - $dsn = $params->file; - break; - - case "firebird": - $dsn = "{$params->host}:{$params->file}"; - break; - } - - // Create the database connection - if ( ! empty($params->user)) - { - $this->db = new $dbtype($dsn, $params->user, $params->pass); - } - else - { - $this->db = new $dbtype($dsn); - } - - // Set the connection name property, if applicable - if (isset($params->name)) - { - $this->conn_name = $params->name; - } - - - // Make things just slightly shorter - $this->sql =& $this->db->sql; - } - - // -------------------------------------------------------------------------- - // ! Select Queries - // -------------------------------------------------------------------------- - - /** - * Specifies rows to select in a query - * - * @param string $fields - * @return $this - */ - public function select($fields) - { - // Split fields by comma - $fields_array = explode(",", $fields); - $fields_array = array_map('trim', $fields_array); - - // Split on 'As' - foreach ($fields_array as $key => &$field) - { - if (stripos($field, 'as') !== FALSE) - { - $fields_array[$key] = preg_split('`as`i', $field); - $fields_array[$key] = array_map('trim', $fields_array[$key]); - } - } - - // Quote the identifiers - $safe_array = array_map(array($this->db, 'quote_ident'), $fields_array); - - unset($fields_array); - - // Join the strings back together - for($i = 0, $c = count($safe_array); $i < $c; $i++) - { - if (is_array($safe_array[$i])) - { - $safe_array[$i] = implode(' AS ', $safe_array[$i]); - } - } - - $this->select_string .= implode(', ', $safe_array); - - unset($safe_array); - - return $this; - } - - // -------------------------------------------------------------------------- - - /** - * Method to simplify select_ methods - * - * @param string $field - * @param string $as - * @return string - */ - private function _select($field, $as = FALSE) - { - // Escape the identifiers - $field = $this->quote_ident($field); - - $as = ($as !== FALSE) - ? $this->quote_ident($as) - : $field; - - return "({$field}) AS {$as} "; - } - - // -------------------------------------------------------------------------- - - /** - * Selects the maximum value of a field from a query - * - * @param string $field - * @param string $as - * @return $this - */ - public function select_max($field, $as=FALSE) - { - // Create the select string - $this->select_string .= $this->sql->max().$this->_select($field, $as); - return $this; - } - - // -------------------------------------------------------------------------- - - /** - * Selects the minimum value of a field from a query - * - * @param string $field - * @param string $as - * @return $this - */ - public function select_min($field, $as=FALSE) - { - // Create the select string - $this->select_string .= $this->sql->min().$this->_select($field, $as); - return $this; - } - - // -------------------------------------------------------------------------- - - /** - * Selects the average value of a field from a query - * - * @param string $field - * @param string $as - * @return $this - */ - public function select_avg($field, $as=FALSE) - { - // Create the select string - $this->select_string .= $this->sql->avg().$this->_select($field, $as); - return $this; - } - - // -------------------------------------------------------------------------- - - /** - * Selects the sum of a field from a query - * - * @param string $field - * @param string $as - * @return $this - */ - public function select_sum($field, $as=FALSE) - { - // Create the select string - $this->select_string .= $this->sql->sum().$this->_select($field, $as); - return $this; - } - - // -------------------------------------------------------------------------- - - /** - * Adds the 'distinct' keyword to a query - * - * @return $this - */ - public function distinct() - { - // Prepend the keyword to the select string - $this->select_string = $this->sql->distinct() . $this->select_string; - return $this; - } - - // -------------------------------------------------------------------------- - - /** - * Specify the database table to select from - * - * @param string $dbname - * @return $this - */ - public function from($dbname) - { - // Split identifiers on spaces - $ident_array = explode(' ', trim($dbname)); - $ident_array = array_map('trim', $ident_array); - - // Quote the identifiers - $ident_array = array_map(array($this->db, 'quote_ident'), $ident_array); - - // Paste it back together - $this->from_string = implode(' ', $ident_array); - - return $this; - } - - // -------------------------------------------------------------------------- - // ! 'Like' methods - // -------------------------------------------------------------------------- - - /** - * Simplify 'like' methods - * - * @param string $field - * @param mixed $val - * @param string $pos - * @param string $like - * @param string $conj - * @return $this - */ - private function _like($field, $val, $pos, $like='LIKE', $conj='AND') - { - $field = $this->quote_ident($field); - - // Add the like string into the order map - $l = $field. " {$like} ?"; - - if ($pos == 'before') - { - $val = "%{$val}"; - } - elseif ($pos == 'after') - { - $val = "{$val}%"; - } - else - { - $val = "%{$val}%"; - } - - $this->query_map[] = array( - 'type' => 'like', - 'conjunction' => (empty($this->query_map)) ? ' WHERE ' : " {$conj} ", - 'string' => $l - ); - - // Add to the values array - $this->values[] = $val; - - return $this; - } - - // -------------------------------------------------------------------------- - - /** - * Creates a Like clause in the sql statement - * - * @param string $field - * @param mixed $val - * @param string $pos - * @return $this - */ - public function like($field, $val, $pos='both') - { - return $this->_like($field, $val, $pos, 'LIKE', 'AND'); - } - - // -------------------------------------------------------------------------- - - /** - * Generates an OR Like clause - * - * @param string $field - * @param mixed $val - * @param string $pos - * @return $this - */ - public function or_like($field, $val, $pos='both') - { - return $this->_like($field, $val, $pos, 'LIKE', 'OR'); - } - - // -------------------------------------------------------------------------- - - /** - * Generates a NOT LIKE clause - * - * @param string $field - * @param mixed $val - * @param string $pos - * @return $this - */ - public function not_like($field, $val, $pos='both') - { - return $this->_like($field, $val, $pos, 'NOT LIKE', 'AND'); - } - - // -------------------------------------------------------------------------- - - /** - * Generates a OR NOT LIKE clause - * - * @param string $field - * @param mixed $val - * @param string $pos - * @return $this - */ - public function or_not_like($field, $val, $pos='both') - { - return $this->_like($field, $val, $pos, 'NOT LIKE', 'OR'); - } - - // -------------------------------------------------------------------------- - // ! Having methods - // -------------------------------------------------------------------------- - - /** - * Simplify building having clauses - * - * @param mixed $key - * @param mixed $val - * @param string $conj - * @return $this - */ - private function _having($key, $val=array(), $conj='AND') - { - $where = $this->_where($key, $val); - - // Create key/value placeholders - foreach($where as $f => &$val) - { - // Split each key by spaces, in case there - // is an operator such as >, <, !=, etc. - $f_array = explode(' ', trim($f)); - - $item = $this->quote_ident($f_array[0]); - - // Simple key value, or an operator - $item .= (count($f_array) === 1) ? '= ?' : " {$f_array[1]} ?"; - - // Put in the query map for select statements - $this->having_map[] = array( - 'conjunction' => ( ! empty($this->having_map)) ? " {$conj} " : ' HAVING ', - 'string' => $item - ); - } - - return $this; - } - - // -------------------------------------------------------------------------- - - /** - * Generates a 'Having' clause - * - * @param mixed $key - * @param mixed $val - * @return $this - */ - public function having($key, $val=array()) - { - return $this->_having($key, $val, 'AND'); - } - - // -------------------------------------------------------------------------- - - /** - * Generates a 'Having' clause prefixed with 'OR' - * - * @param mixed $key - * @param mixed $val - * @return $this - */ - public function or_having($key, $val=array()) - { - return $this->_having($key, $val, 'OR'); - } - - // -------------------------------------------------------------------------- - // ! 'Where' methods - // -------------------------------------------------------------------------- - - /** - * Do all the repeditive stuff for where/having type methods - * - * @param mixed $key - * @param mixed $val - * @return array - */ - private function _where($key, $val=array()) - { - $where = array(); - - // Key and value passed? Add them to the where array - if (is_scalar($key) && is_scalar($val)) - { - $where[$key] = $val; - $this->values[] = $val; - } - // Array or object, loop through and add to the where array - elseif ( ! is_scalar($key)) - { - foreach($key as $k => &$v) - { - $where[$k] = $v; - $this->values[] = $v; - } - } - - return $where; - } - - // -------------------------------------------------------------------------- - - /** - * Simplify generating where string - * - * @param mixed $key - * @param mixed $val - * @param string $conj - * @return $this - */ - private function _where_string($key, $val=array(), $conj='AND') - { - $where = $this->_where($key, $val); - - // Create key/value placeholders - foreach($where as $f => &$val) - { - // Split each key by spaces, in case there - // is an operator such as >, <, !=, etc. - $f_array = explode(' ', trim($f)); - - $item = $this->quote_ident($f_array[0]); - - // Simple key value, or an operator - $item .= (count($f_array) === 1) ? '= ?' : " {$f_array[1]} ?"; - - // Put in the query map for select statements - $this->query_map[] = array( - 'type' => 'where', - 'conjunction' => ( ! empty($this->query_map)) ? " {$conj} " : ' WHERE ', - 'string' => $item - ); - } - - return $this; - } - - // -------------------------------------------------------------------------- - - /** - * Simplify where_in methods - * - * @param mixed $key - * @param mixed $val - * @param string - * @param string - * @return $this - */ - private function _where_in($key, $val=array(), $in='IN', $conj='AND') - { - $key = $this->quote_ident($key); - $params = array_fill(0, count($val), '?'); - - foreach($val as &$v) - { - $this->values[] = $v; - } - - $string = $key . " {$in} ".implode(',', $params).') '; - - $this->query_map[] = array( - 'type' => 'where_in', - 'conjunction' => ( ! empty($this->query_map)) ? " {$conj} " : ' WHERE ', - 'string' => $string - ); - - return $this; - } - - // -------------------------------------------------------------------------- - - /** - * Specify condition(s) in the where clause of a query - * Note: this function works with key / value, or a - * passed array with key / value pairs - * - * @param mixed $key - * @param mixed $val - * @return $this - */ - public function where($key, $val=array()) - { - return $this->_where_string($key, $val, 'AND'); - } - - // -------------------------------------------------------------------------- - - /** - * Where clause prefixed with "OR" - * - * @param string $key - * @param mixed $val - * @return $this - */ - public function or_where($key, $val=array()) - { - return $this->_where_string($key, $val, 'OR'); - } - - // -------------------------------------------------------------------------- - - /** - * Where clause with 'IN' statement - * - * @param mixed $field - * @param mixed $val - * @return $this - */ - public function where_in($field, $val=array()) - { - return $this->_where_in($field, $val); - } - - // -------------------------------------------------------------------------- - - /** - * Where in statement prefixed with "or" - * - * @param string $field - * @param mixed $val - * @return $this - */ - public function or_where_in($field, $val=array()) - { - return $this->_where_in($field, $val, 'IN', 'OR'); - } - - // -------------------------------------------------------------------------- - - /** - * WHERE NOT IN (FOO) clause - * - * @param string $field - * @param mixed $val - * @return $this - */ - public function where_not_in($field, $val=array()) - { - return $this->_where_in($field, $val, 'NOT IN', 'AND'); - } - - // -------------------------------------------------------------------------- - - /** - * OR WHERE NOT IN (FOO) clause - * - * @param string $field - * @param mixed $val - * @return $this - */ - public function or_where_not_in($field, $val=array()) - { - return $this->_where_in($field, $val, 'NOT IN', 'OR'); - } - - // -------------------------------------------------------------------------- - // ! Other Query Modifier methods - // -------------------------------------------------------------------------- - - /** - * Sets values for inserts / updates / deletes - * - * @param mixed $key - * @param mixed $val - * @return $this - */ - public function set($key, $val = NULL) - { - // Plain key, value pair - if (is_scalar($key) && is_scalar($val)) - { - $this->set_array_keys[] = $key; - $this->values[] = $val; - } - // Object or array - elseif ( ! is_scalar($key)) - { - foreach($key as $k => &$v) - { - $this->set_array_keys[] = $k; - $this->values[] = $v; - } - } - - // Use the keys of the array to make the insert/update string - // Escape the field names - $this->set_array_keys = array_map(array($this->db, 'quote_ident'), $this->set_array_keys); - - // Generate the "set" string - $this->set_string = implode('=?, ', $this->set_array_keys); - $this->set_string .= '=?'; - - return $this; - } - - // -------------------------------------------------------------------------- - - /** - * Creates a join phrase in a compiled query - * - * @param string $table - * @param string $condition - * @param string $type - * @return $this - */ - public function join($table, $condition, $type='') - { - // TODO make able to handle operators without spaces - - $table = implode(" ", array_map(array($this->db, 'quote_ident'), explode(' ', trim($table)))); - //$condition = preg_replace('`(\W)`', " $1 ", $condition); - $cond_array = explode(' ', trim($condition)); - $cond_array = array_map('trim', $cond_array); - - $condition = $table . ' ON ' . $this->quote_ident($cond_array[0]) . $cond_array[1] . - ' ' . $this->quote_ident($cond_array[2]); - - $this->query_map[] = array( - 'type' => 'join', - 'conjunction' => strtoupper($type).' JOIN ', - 'string' => $condition, - ); - - return $this; - } - - // -------------------------------------------------------------------------- - - /** - * Group the results by the selected field(s) - * - * @param mixed $field - * @return $this - */ - public function group_by($field) - { - if ( ! is_scalar($field)) - { - $this->group_array = array_map(array($this->db, 'quote_ident'), $field); - } - else - { - $this->group_array[] = $this->quote_ident($field); - } - - $this->group_string = ' GROUP BY ' . implode(', ', $this->group_array); - - return $this; - } - - // -------------------------------------------------------------------------- - - /** - * Order the results by the selected field(s) - * - * @param string $field - * @param string $type - * @return $this - */ - public function order_by($field, $type="") - { - // Random case - if (stripos($type, 'rand') !== FALSE) - { - $type = (($rand = $this->sql->random()) !== FALSE ) ? $rand : 'ASC'; - } - - // Set fields for later manipulation - $field = $this->quote_ident($field); - $this->order_array[$field] = $type; - - $order_clauses = array(); - - // Flatten key/val pairs into an array of space-separated pairs - foreach($this->order_array as $k => &$v) - { - $order_clauses[] = $k . ' ' . strtoupper($v); - } - - // Set the final string - $this->order_string = (empty($rand)) - ? ' ORDER BY '.implode(',', $order_clauses) - : ' ORDER BY'.$rand; - - return $this; - } - - // -------------------------------------------------------------------------- - - /** - * Set a limit on the current sql statement - * - * @param int $limit - * @param int $offset - * @return string - */ - public function limit($limit, $offset=FALSE) - { - $this->limit = $limit; - $this->offset = $offset; - - return $this; - } - - // -------------------------------------------------------------------------- - // ! Query Grouping Methods - // -------------------------------------------------------------------------- - - /** - * Adds a paren to the current query for query grouping - * - * @return $this - */ - public function group_start() - { - $this->query_map[] = array( - 'type' => 'group_start', - 'conjunction' => '', - 'string' => ' (' - ); - - return $this; - } - - // -------------------------------------------------------------------------- - - /** - * Adds a paren to the current query for query grouping, - * prefixed with 'OR' - * - * @return $this - */ - public function or_group_start() - { - $this->query_map[] = array( - 'type' => 'group_start', - 'conjunction' => '', - 'string' => ' OR (' - ); - - return $this; - } - - // -------------------------------------------------------------------------- - - /** - * Adds a paren to the current query for query grouping, - * prefixed with 'OR NOT' - * - * @return $this - */ - public function or_not_group_start() - { - $this->query_map[] = array( - 'type' => 'group_start', - 'conjunction' => '', - 'string' => ' OR NOT (' - ); - - return $this; - } - - // -------------------------------------------------------------------------- - - /** - * Ends a query group - * - * @return $this - */ - public function group_end() - { - $this->query_map[] = array( - 'type' => 'group_end', - 'conjunction' => '', - 'string' => ' ) ' - ); - - return $this; - } - - // -------------------------------------------------------------------------- - // ! Query execution methods - // -------------------------------------------------------------------------- - - /** - * Select and retrieve all records from the current table, and/or - * execute current compiled query - * - * @param $table - * @param int $limit - * @param int $offset - * @return object - */ - public function get($table='', $limit=FALSE, $offset=FALSE) - { - // Set the table - if ( ! empty($table)) - { - $this->from($table); - } - - // Set the limit, if it exists - if ($limit !== FALSE) - { - $this->limit($limit, $offset); - } - - $sql = $this->_compile(); - - // Do prepared statements for anything involving a "where" clause - if ( ! empty($this->query_map) || ! empty($this->having_map)) - { - $result = $this->prepare_execute($sql, $this->values); - } - else - { - // Otherwise, a simple query will do. - $result = $this->query($sql); - } - - // Reset for next query - $this->_reset(); - - return $result; - } - - // -------------------------------------------------------------------------- - - /** - * Convience method for get() with a where clause - * - * @param string $table - * @param array $where - * @param int $limit - * @param int $offset - * @return object - */ - public function get_where($table, $where=array(), $limit=FALSE, $offset=FALSE) - { - // Create the where clause - $this->where($where); - - // Return the result - return $this->get($table, $limit, $offset); - } - - // -------------------------------------------------------------------------- - - /** - * Retreive the number of rows in the selected table - * - * @param string $table - * @return int - */ - public function count_all($table) - { - $sql = 'SELECT * FROM '.$this->quote_ident($table); - $res = $this->query($sql); - return (int) count($res->fetchAll()); - } - - // -------------------------------------------------------------------------- - - /** - * Retrieve the number of results for the generated query - used - * in place of the get() method - * - * @param string $table - * @return int - */ - public function count_all_results($table='') - { - // Set the table - if ( ! empty($table)) - { - $this->from($table); - } - - $sql = $this->_compile(); - - // Do prepared statements for anything involving a "where" clause - if ( ! empty($this->query_map)) - { - $result = $this->prepare_execute($sql, $this->values); - } - else - { - // Otherwise, a simple query will do. - $result = $this->query($sql); - } - - // Reset for next query - $this->_reset(); - - $rows = $result->fetchAll(); - - return (int) count($rows); - } - - // -------------------------------------------------------------------------- - - /** - * Creates an insert clause, and executes it - * - * @param string $table - * @param mixed $data - * @return mixed - */ - public function insert($table, $data=array()) - { - // No use duplicating logic! - if ( ! empty($data)) - { - $this->set($data); - } - - $sql = $this->_compile("insert", $table); - - $res = $this->prepare_execute($sql, $this->values); - - $this->_reset(); - - return $res; - } - - // -------------------------------------------------------------------------- - - /** - * Creates an update clause, and executes it - * - * @param string $table - * @param mixed $data - * @return mixed - */ - public function update($table, $data=array()) - { - // No use duplicating logic! - if ( ! empty($data)) - { - $this->set($data); - } - - $sql = $this->_compile('update', $table); - - $res = $this->prepare_execute($sql, $this->values); - - $this->_reset(); - - // Run the query - return $res; - } - - // -------------------------------------------------------------------------- - - /** - * Deletes data from a table - * - * @param string $table - * @param mixed $where - * @return mixed - */ - public function delete($table, $where='') - { - // Set the where clause - if ( ! empty($where)) - { - $this->where($where); - } - - // Create the SQL and parameters - $sql = $this->_compile("delete", $table); - - $res = $this->prepare_execute($sql, $this->values); - - $this->_reset(); - - // Delete the table rows, and return the result - return $res; - } - - - // -------------------------------------------------------------------------- - // ! Miscellaneous Methods - // -------------------------------------------------------------------------- - - /** - * Calls a function further down the inheritence chain - * - * @param string $name - * @param array $params - * @return mixed - */ - public function __call($name, $params) - { - if (method_exists($this->db, $name)) - { - return call_user_func_array(array($this->db, $name), $params); - } - - return NULL; - } - - // -------------------------------------------------------------------------- - - /** - * Clear out the class variables, so the next query can be run - * - * @return void - */ - private function _reset() - { - // Only unset class variables that - // are not callable. Otherwise, we'll - // delete class methods! - foreach($this as $name => &$var) - { - // Skip properties that are needed for every query - if (in_array($name, array( - 'db', - 'sql' - ))) - { - continue; - } - - // Nothing query-generation related is safe! - if ( ! is_callable($this->$name)) - { - $this->$name = NULL; - } - - // Set empty arrays - $this->values = array(); - - // Set select string as an empty string, for proper handling - // of the 'distinct' keyword - $this->select_string = ''; - } - } - - // -------------------------------------------------------------------------- - - /** - * String together the sql statements for sending to the db - * - * @param string $type - * @param string $table - * @return $string - */ - private function _compile($type='', $table='') - { - $sql = ''; - - $table = $this->quote_ident($table); - - switch($type) - { - default: - $sql = "SELECT * FROM {$this->from_string}"; - - // Set the select string - if ( ! empty($this->select_string)) - { - // Replace the star with the selected fields - $sql = str_replace('*', $this->select_string, $sql); - } - - // Set the where string - if ( ! empty($this->query_map)) - { - foreach($this->query_map as &$q) - { - $sql .= $q['conjunction'] . $q['string']; - } - } - - // Set the group_by string - if ( ! empty($this->group_string)) - { - $sql .= $this->group_string; - } - - // Set the having string - if ( ! empty($this->having_map)) - { - foreach($this->having_map as &$h) - { - $sql .= $h['conjunction'] . $h['string']; - } - } - - // Set the order_by string - if ( ! empty($this->order_string)) - { - $sql .= $this->order_string; - } - - // Set the limit via the class variables - if (isset($this->limit) && is_numeric($this->limit)) - { - $sql = $this->sql->limit($sql, $this->limit, $this->offset); - } - break; - - case "insert": - $param_count = count($this->set_array_keys); - $params = array_fill(0, $param_count, '?'); - $sql = "INSERT INTO {$table} (" - . implode(', ', $this->set_array_keys) . - ') VALUES ('.implode(', ', $params).')'; - break; - - case "update": - $sql = "UPDATE {$table} SET {$this->set_string}"; - - // Set the where string - if ( ! empty($this->query_map)) - { - foreach($this->query_map as &$q) - { - $sql .= $q['conjunction'] . $q['string']; - } - } - break; - - case "delete": - $sql = "DELETE FROM {$table}"; - - // Set the where string - if ( ! empty($this->query_map)) - { - foreach($this->query_map as &$q) - { - $sql .= $q['conjunction'] . $q['string']; - } - } - - break; - } - - //echo $sql . '
__construct()
__sleep()
__wakeup()
affected_rows()
beginTransaction()
commit()
empty_table()
errorCode()
errorInfo()
exec()
getAttribute()
getAvailableDrivers()
get_columns()
get_dbs()
get_functions()
get_last_error()
get_procedures()
get_query_data()
get_schemas()
get_sequences()
get_system_tables()
get_tables()
get_triggers()
get_types()
get_views()
inTransaction()
lastInsertId()
num_rows()
prepare()
prepare_execute()
prepare_query()
query()
quote()
quote_ident()
rollBack()
setAttribute()
switch_db()
truncate()
_quote()
driver_query()
$sql
$util
$escape_char
$statement
Base Database class
-Extends PDO to simplify cross-database issues
-package | -Query | -
---|---|
subpackage | -Query | -
__construct(string $dsn, string $username, string $password, array $driver_options)- -
string
-string
-string
-array
-__sleep()- -
inherited_from | -PDO::__sleep() | -
---|
__wakeup()- -
inherited_from | -PDO::__wakeup() | -
---|
affected_rows(\PDOStatement $statement) : int- -
beginTransaction()- -
inherited_from | -PDO::beginTransaction() | -
---|
commit()- -
inherited_from | -PDO::commit() | -
---|
empty_table(string $table) : mixed- -
string
-mixed
errorCode()- -
inherited_from | -PDO::errorCode() | -
---|
errorInfo()- -
inherited_from | -PDO::errorInfo() | -
---|
exec()- -
inherited_from | -PDO::exec() | -
---|
getAttribute()- -
inherited_from | -PDO::getAttribute() | -
---|
getAvailableDrivers()- -
inherited_from | -PDO::getAvailableDrivers() | -
---|
get_columns(string $table) : array- -
string
-array
get_dbs() : array- -
array
get_functions() : array- -
array
get_last_error() : string- -
string
get_procedures() : array- -
array
get_schemas() : array- -
array
get_sequences() : array- -
array
get_system_tables() : array- -
array
get_tables() : array- -
array
get_triggers() : array- -
array
get_types() : array- -
array
get_views() : array- -
array
inTransaction()- -
inherited_from | -PDO::inTransaction() | -
---|
lastInsertId()- -
inherited_from | -PDO::lastInsertId() | -
---|
num_rows() : int- -
int
prepare()- -
inherited_from | -PDO::prepare() | -
---|
prepare_execute(string $sql, array $params) : \PDOStatement- -
prepare_query(string $sql, array $data) : mixed- -
string
-array
-mixed
PDOStatement / FALSEquery()- -
inherited_from | -PDO::query() | -
---|
quote()- -
inherited_from | -PDO::quote() | -
---|
quote_ident(mixed $ident) : string- -
mixed
-string
rollBack()- -
inherited_from | -PDO::rollBack() | -
---|
setAttribute()- -
inherited_from | -PDO::setAttribute() | -
---|
switch_db(string $name) : void- -
string
-truncate(string $table) : void- -
string
-_quote(mixed $str) : mixed- -
mixed
-mixed
driver_query(string $sql, bool $filtered_index) : mixed- -
string
-bool
-mixed
$sql : Object- -
$util : Object- -
$escape_char : string- -
$statement : mixed- -
Connection registry
-Decouples the Settings class from the query builder -and organizes database connections
-package | -Query | -
---|---|
subpackage | -Helper Classes | -
get_connections() : array- -
array
get_db(string $key) : object- -
string
-object
remove_db(string $key) : void- -
string
-__construct(string $key)- -
string
-$instance- -
avg()
column_list()
db_list()
distinct()
function_list()
limit()
max()
min()
procedure_list()
random()
sequence_list()
sum()
system_table_list()
table_list()
trigger_list()
type_list()
view_list()
Abstract parent for database manipulation subclasses
-package | -Query | -
---|---|
subpackage | -Query | -
avg() : string- -
string
column_list($table) : string- -
string
string
db_list() : string- -
string
distinct() : string- -
string
function_list() : FALSE- -
FALSE
limit(string $sql, int $limit, int $offset) : string- -
abstract | -- |
---|
string
-int
-int
-string
max() : string- -
string
min() : string- -
string
procedure_list() : string- -
string
random() : string- -
abstract | -- |
---|
string
sequence_list() : string- -
string
sum() : string- -
string
system_table_list() : string- -
string
table_list() : string- -
string
trigger_list() : string- -
string
type_list() : mixed- -
mixed
view_list() : string- -
string
__call()
__construct()
backup_data()
backup_structure()
create_table()
delete_table()
$conn
Abstract class defining database / table creation methods
-package | -Query | -
---|---|
subpackage | -Query | -
__call(string $method, array $args)- -
string
-array
-__construct(object $conn)- -
object
&$conn
-backup_data() : string- -
abstract | -- |
---|
string
backup_structure() : string- -
abstract | -- |
---|
string
create_table(string $name, array $columns, array $constraints, array $indexes) : string- -
abstract | -- |
---|
string
-array
-array
-array
-string
delete_table(string $name) : string- -
abstract | -- |
---|
string
-string
$conn- -
__construct()
__sleep()
__wakeup()
affected_rows()
beginTransaction()
commit()
empty_table()
errorCode()
errorInfo()
exec()
getAttribute()
getAvailableDrivers()
get_columns()
get_dbs()
get_functions()
get_last_error()
get_procedures()
get_query_data()
get_schemas()
get_sequences()
get_system_tables()
get_tables()
get_triggers()
get_types()
get_views()
inTransaction()
lastInsertId()
num_rows()
prepare()
prepare_execute()
prepare_query()
query()
quote()
quote_ident()
rollBack()
setAttribute()
switch_db()
truncate()
_quote()
driver_query()
$sql
$util
$conn
$escape_char
$statement
$statement_link
$trans
Firebird Database class
-PDO-firebird isn't stable, so this is a wrapper of the fbird_ public functions.
-package | -Query | -
---|---|
subpackage | -Drivers | -
__construct(string $dbpath, string $user, string $pass)- -
string
-string
-string
-__sleep()-
inherited_from | -PDO::__sleep() | -
---|---|
inherited_from | -\DB_PDO::__sleep() | -
__wakeup()-
inherited_from | -PDO::__wakeup() | -
---|---|
inherited_from | -\DB_PDO::__wakeup() | -
affected_rows(\PDOStatement $statement) : int-
inherited_from | -\DB_PDO::affected_rows() | -
---|
\PDOStatement
-int
beginTransaction() : bool- -
bool
commit() : bool- -
bool
empty_table(string $table) : mixed-
inherited_from | -\DB_PDO::empty_table() | -
---|
string
-mixed
errorCode() : array- -
array
errorInfo() : array- -
array
exec()-
inherited_from | -PDO::exec() | -
---|---|
inherited_from | -\DB_PDO::exec() | -
getAttribute()-
inherited_from | -PDO::getAttribute() | -
---|---|
inherited_from | -\DB_PDO::getAttribute() | -
getAvailableDrivers()-
inherited_from | -PDO::getAvailableDrivers() | -
---|---|
inherited_from | -\DB_PDO::getAvailableDrivers() | -
get_columns(string $table) : array-
inherited_from | -\DB_PDO::get_columns() | -
---|
string
-array
get_dbs() : array-
inherited_from | -\DB_PDO::get_dbs() | -
---|
array
get_functions() : array-
inherited_from | -\DB_PDO::get_functions() | -
---|
array
get_last_error() : string-
inherited_from | -\DB_PDO::get_last_error() | -
---|
string
get_procedures() : array-
inherited_from | -\DB_PDO::get_procedures() | -
---|
array
get_query_data(\PDOStatement $statement) : array-
inherited_from | -\DB_PDO::get_query_data() | -
---|
\PDOStatement
-array
get_schemas() : array-
inherited_from | -\DB_PDO::get_schemas() | -
---|
array
get_sequences() : array-
inherited_from | -\DB_PDO::get_sequences() | -
---|
array
get_system_tables() : array-
inherited_from | -\DB_PDO::get_system_tables() | -
---|
array
get_tables() : array-
inherited_from | -\DB_PDO::get_tables() | -
---|
array
get_triggers() : array-
inherited_from | -\DB_PDO::get_triggers() | -
---|
array
get_types() : array-
inherited_from | -\DB_PDO::get_types() | -
---|
array
get_views() : array-
inherited_from | -\DB_PDO::get_views() | -
---|
array
inTransaction()-
inherited_from | -PDO::inTransaction() | -
---|---|
inherited_from | -\DB_PDO::inTransaction() | -
lastInsertId()-
inherited_from | -PDO::lastInsertId() | -
---|---|
inherited_from | -\DB_PDO::lastInsertId() | -
num_rows() : int-
inherited_from | -\DB_PDO::num_rows() | -
---|
int
prepare(string $query, array $options) : \Firebird- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
string
-array
-prepare_execute(string $sql, array $args) : resource- -
string
-array
-resource
prepare_query(string $sql, array $params) : FALSE- -
string
-array
-FALSE
query(string $sql) : \Firebird- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
string
-quote(string $str, int $param_type) : string- -
string
-int
-string
quote_ident(mixed $ident) : string-
inherited_from | -\DB_PDO::quote_ident() | -
---|
mixed
-string
rollBack() : bool- -
bool
setAttribute()-
inherited_from | -PDO::setAttribute() | -
---|---|
inherited_from | -\DB_PDO::setAttribute() | -
switch_db(string $name) : FALSE- -
string
-FALSE
truncate(string $table) : void- -
string
-_quote(mixed $str) : mixed-
inherited_from | -\DB_PDO::_quote() | -
---|
mixed
-mixed
driver_query(string $sql, bool $filtered_index) : mixed-
inherited_from | -\DB_PDO::driver_query() | -
---|
string
-bool
-mixed
$sql : Object-
inherited_from | -\DB_PDO::$$sql | -
---|
$util : Object-
inherited_from | -\DB_PDO::$$util | -
---|
$conn : resource- -
$escape_char : string-
inherited_from | -\DB_PDO::$$escape_char | -
---|
$statement : object- -
$statement_link : resource- -
$trans : resource- -
__construct()
__sleep()
__wakeup()
bindColumn()
bindParam()
bindValue()
closeCursor()
columnCount()
debugDumpParams()
errorCode()
errorInfo()
execute()
fetch()
fetchAll()
fetchColumn()
fetchObject()
getAttribute()
getColumnMeta()
nextRowset()
rowCount()
setAttribute()
setFetchMode()
$result
$row
$statement
Firebird result class to emulate PDOStatement Class - only implements -data-fetching methods
-package | -Query | -
---|---|
subpackage | -Drivers | -
__construct(resource $link)- -
resource
-__sleep()- -
inherited_from | -PDOStatement::__sleep() | -
---|
__wakeup()- -
inherited_from | -PDOStatement::__wakeup() | -
---|
bindColumn(mixed $column, mixed $param, int $type, mixed $maxlen, array $driverdata) : FALSE- -
mixed
-mixed
&$param
-int
-mixed
-array
-FALSE
bindParam(mixed $parameter, mixed $variable, int $data_type, mixed $maxlen, array $driverdata) : FALSE- -
mixed
-mixed
&$variable
-int
-mixed
-array
-FALSE
bindValue(mixed $parameter, mixed $variable, int $data_type) : FALSE- -
mixed
-mixed
&$variable
-int
-FALSE
closeCursor()- -
inherited_from | -PDOStatement::closeCursor() | -
---|
columnCount()- -
inherited_from | -PDOStatement::columnCount() | -
---|
debugDumpParams()- -
inherited_from | -PDOStatement::debugDumpParams() | -
---|
errorCode() : string- -
string
errorInfo() : array- -
array
execute(array $args) : bool- -
array
-bool
fetch(int $fetch_style, mixed $statement, mixed $offset) : mixed- -
int
-mixed
-mixed
-mixed
fetchAll(int $fetch_style, mixed $statement, mixed $ctor_args) : mixed- -
int
-mixed
-mixed
-mixed
fetchColumn(int $column_num) : mixed- -
int
-mixed
fetchObject(string $class_name, array $ctor_args) : \stdClass- -
getAttribute()- -
inherited_from | -PDOStatement::getAttribute() | -
---|
getColumnMeta()- -
inherited_from | -PDOStatement::getColumnMeta() | -
---|
nextRowset()- -
inherited_from | -PDOStatement::nextRowset() | -
---|
rowCount() : int- -
int
setAttribute()- -
inherited_from | -PDOStatement::setAttribute() | -
---|
setFetchMode()- -
inherited_from | -PDOStatement::setFetchMode() | -
---|
$result- -
param | -<p>mixed</p> | -
---|
$row : int- -
$statement : resource- -
avg()
column_list()
db_list()
distinct()
function_list()
limit()
max()
min()
procedure_list()
random()
sequence_list()
sum()
system_table_list()
table_list()
trigger_list()
type_list()
view_list()
Firebird Specific SQL
-package | -Query | -
---|---|
subpackage | -Drivers | -
avg() : string-
inherited_from | -\DB_SQL::avg() | -
---|
string
column_list(string $table) : string- -
string
-string
db_list() : FALSE- -
FALSE
distinct() : string-
inherited_from | -\DB_SQL::distinct() | -
---|
string
function_list() : string- -
string
limit(string $sql, int $limit, int $offset) : string- -
string
-int
-int
-string
max() : string-
inherited_from | -\DB_SQL::max() | -
---|
string
min() : string-
inherited_from | -\DB_SQL::min() | -
---|
string
procedure_list() : string- -
string
random() : string- -
string
sequence_list() : string- -
string
sum() : string-
inherited_from | -\DB_SQL::sum() | -
---|
string
system_table_list() : string- -
string
table_list() : string- -
string
trigger_list() : string- -
string
type_list() : string- -
string
view_list() : string- -
string
__call()
__construct()
backup_data()
backup_structure()
create_table()
delete_table()
$conn
Firebird-specific backup, import and creation methods
-package | -Query | -
---|---|
subpackage | -Drivers | -
__call(string $method, array $args)-
inherited_from | -\DB_Util::__call() | -
---|
string
-array
-__construct(object $conn) : void- -
object
&$conn
-backup_data(array $exclude, bool $system_tables) : string- -
array
-bool
-string
backup_structure() : string- -
string
create_table(string $name, array $fields, array $constraints, array $indexes) : string- -
string
-array
-array
-array
-string
delete_table(string $name) : string- -
string
-string
$conn-
inherited_from | -\DB_Util::$$conn | -
---|
__construct()
__sleep()
__wakeup()
affected_rows()
beginTransaction()
commit()
empty_table()
errorCode()
errorInfo()
exec()
getAttribute()
getAvailableDrivers()
get_columns()
get_dbs()
get_functions()
get_last_error()
get_procedures()
get_query_data()
get_schemas()
get_sequences()
get_system_tables()
get_tables()
get_triggers()
get_types()
get_views()
inTransaction()
lastInsertId()
num_rows()
prepare()
prepare_execute()
prepare_query()
query()
quote()
quote_ident()
rollBack()
setAttribute()
switch_db()
truncate()
_quote()
driver_query()
$sql
$util
$escape_char
$statement
MySQL specific class
-Extends PDO to simplify cross-database issues
-package | -Query | -
---|---|
subpackage | -Drivers | -
__construct(string $dsn, string $username, string $password, array $options)- -
string
-string
-string
-array
-__sleep()-
inherited_from | -PDO::__sleep() | -
---|---|
inherited_from | -\DB_PDO::__sleep() | -
__wakeup()-
inherited_from | -PDO::__wakeup() | -
---|---|
inherited_from | -\DB_PDO::__wakeup() | -
affected_rows(\PDOStatement $statement) : int-
inherited_from | -\DB_PDO::affected_rows() | -
---|
\PDOStatement
-int
beginTransaction()-
inherited_from | -PDO::beginTransaction() | -
---|---|
inherited_from | -\DB_PDO::beginTransaction() | -
commit()-
inherited_from | -PDO::commit() | -
---|---|
inherited_from | -\DB_PDO::commit() | -
empty_table(string $table) : mixed-
inherited_from | -\DB_PDO::empty_table() | -
---|
string
-mixed
errorCode()-
inherited_from | -PDO::errorCode() | -
---|---|
inherited_from | -\DB_PDO::errorCode() | -
errorInfo()-
inherited_from | -PDO::errorInfo() | -
---|---|
inherited_from | -\DB_PDO::errorInfo() | -
exec()-
inherited_from | -PDO::exec() | -
---|---|
inherited_from | -\DB_PDO::exec() | -
getAttribute()-
inherited_from | -PDO::getAttribute() | -
---|---|
inherited_from | -\DB_PDO::getAttribute() | -
getAvailableDrivers()-
inherited_from | -PDO::getAvailableDrivers() | -
---|---|
inherited_from | -\DB_PDO::getAvailableDrivers() | -
get_columns(string $table) : array-
inherited_from | -\DB_PDO::get_columns() | -
---|
string
-array
get_dbs() : array-
inherited_from | -\DB_PDO::get_dbs() | -
---|
array
get_functions() : array-
inherited_from | -\DB_PDO::get_functions() | -
---|
array
get_last_error() : string-
inherited_from | -\DB_PDO::get_last_error() | -
---|
string
get_procedures() : array-
inherited_from | -\DB_PDO::get_procedures() | -
---|
array
get_query_data(\PDOStatement $statement) : array-
inherited_from | -\DB_PDO::get_query_data() | -
---|
\PDOStatement
-array
get_schemas() : array-
inherited_from | -\DB_PDO::get_schemas() | -
---|
array
get_sequences() : array-
inherited_from | -\DB_PDO::get_sequences() | -
---|
array
get_system_tables() : array-
inherited_from | -\DB_PDO::get_system_tables() | -
---|
array
get_tables() : array-
inherited_from | -\DB_PDO::get_tables() | -
---|
array
get_triggers() : array-
inherited_from | -\DB_PDO::get_triggers() | -
---|
array
get_types() : array-
inherited_from | -\DB_PDO::get_types() | -
---|
array
get_views() : array-
inherited_from | -\DB_PDO::get_views() | -
---|
array
inTransaction()-
inherited_from | -PDO::inTransaction() | -
---|---|
inherited_from | -\DB_PDO::inTransaction() | -
lastInsertId()-
inherited_from | -PDO::lastInsertId() | -
---|---|
inherited_from | -\DB_PDO::lastInsertId() | -
num_rows() : int-
inherited_from | -\DB_PDO::num_rows() | -
---|
int
prepare()-
inherited_from | -PDO::prepare() | -
---|---|
inherited_from | -\DB_PDO::prepare() | -
prepare_execute(string $sql, array $params) : \PDOStatement-
inherited_from | -\DB_PDO::prepare_execute() | -
---|
string
-array
-prepare_query(string $sql, array $data) : mixed-
inherited_from | -\DB_PDO::prepare_query() | -
---|
string
-array
-mixed
PDOStatement / FALSEquery()-
inherited_from | -PDO::query() | -
---|---|
inherited_from | -\DB_PDO::query() | -
quote()-
inherited_from | -PDO::quote() | -
---|---|
inherited_from | -\DB_PDO::quote() | -
quote_ident(mixed $ident) : string-
inherited_from | -\DB_PDO::quote_ident() | -
---|
mixed
-string
rollBack()-
inherited_from | -PDO::rollBack() | -
---|---|
inherited_from | -\DB_PDO::rollBack() | -
setAttribute()-
inherited_from | -PDO::setAttribute() | -
---|---|
inherited_from | -\DB_PDO::setAttribute() | -
switch_db(string $name) : void- -
string
-truncate(string $table) : void- -
string
-_quote(mixed $str) : mixed-
inherited_from | -\DB_PDO::_quote() | -
---|
mixed
-mixed
driver_query(string $sql, bool $filtered_index) : mixed-
inherited_from | -\DB_PDO::driver_query() | -
---|
string
-bool
-mixed
$sql : Object-
inherited_from | -\DB_PDO::$$sql | -
---|
$util : Object-
inherited_from | -\DB_PDO::$$util | -
---|
$escape_char : string- -
$statement : mixed-
inherited_from | -\DB_PDO::$$statement | -
---|
avg()
column_list()
db_list()
distinct()
function_list()
limit()
max()
min()
procedure_list()
random()
sequence_list()
sum()
system_table_list()
table_list()
trigger_list()
type_list()
view_list()
MySQL specifc SQL
-package | -Query | -
---|---|
subpackage | -Drivers | -
avg() : string-
inherited_from | -\DB_SQL::avg() | -
---|
string
column_list(string $table) : string- -
string
-string
db_list() : string- -
string
distinct() : string-
inherited_from | -\DB_SQL::distinct() | -
---|
string
function_list() : string- -
string
limit(string $sql, int $limit, int $offset) : string- -
string
-int
-int
-string
max() : string-
inherited_from | -\DB_SQL::max() | -
---|
string
min() : string-
inherited_from | -\DB_SQL::min() | -
---|
string
procedure_list() : string- -
string
random() : string- -
string
sequence_list() : FALSE- -
FALSE
sum() : string-
inherited_from | -\DB_SQL::sum() | -
---|
string
system_table_list() : string- -
string
table_list(string $database) : string- -
string
-string
trigger_list() : string- -
string
type_list() : string- -
string
view_list() : string- -
string
__call()
__construct()
backup_data()
backup_structure()
create_table()
delete_table()
$conn
MySQL-specific backup, import and creation methods
-package | -Query | -
---|---|
subpackage | -Drivers | -
__call(string $method, array $args)-
inherited_from | -\DB_Util::__call() | -
---|
string
-array
-__construct(object $conn) : void- -
object
&$conn
-backup_data(array $exclude) : string- -
array
-string
backup_structure() : string- -
string
create_table(string $name, array $columns, array $constraints, array $indexes) : string- -
string
-array
-array
-array
-string
delete_table(string $name) : string- -
string
-string
$conn-
inherited_from | -\DB_Util::$$conn | -
---|
__construct()
__sleep()
__wakeup()
affected_rows()
beginTransaction()
commit()
empty_table()
errorCode()
errorInfo()
exec()
getAttribute()
getAvailableDrivers()
get_columns()
get_dbs()
get_functions()
get_last_error()
get_procedures()
get_query_data()
get_schemas()
get_sequences()
get_system_tables()
get_tables()
get_triggers()
get_types()
get_views()
inTransaction()
lastInsertId()
num_rows()
prepare()
prepare_execute()
prepare_query()
query()
quote()
quote_ident()
rollBack()
setAttribute()
switch_db()
truncate()
_quote()
driver_query()
$sql
$util
$escape_char
$statement
ODBC Database Driver
-For general database access for databases not specified by the main drivers
-package | -Query | -
---|---|
subpackage | -Drivers | -
__construct(string $dsn, string $username, string $password, array $options)- -
string
-string
-string
-array
-__sleep()-
inherited_from | -PDO::__sleep() | -
---|---|
inherited_from | -\DB_PDO::__sleep() | -
__wakeup()-
inherited_from | -PDO::__wakeup() | -
---|---|
inherited_from | -\DB_PDO::__wakeup() | -
affected_rows(\PDOStatement $statement) : int-
inherited_from | -\DB_PDO::affected_rows() | -
---|
\PDOStatement
-int
beginTransaction()-
inherited_from | -PDO::beginTransaction() | -
---|---|
inherited_from | -\DB_PDO::beginTransaction() | -
commit()-
inherited_from | -PDO::commit() | -
---|---|
inherited_from | -\DB_PDO::commit() | -
empty_table(string $table) : mixed-
inherited_from | -\DB_PDO::empty_table() | -
---|
string
-mixed
errorCode()-
inherited_from | -PDO::errorCode() | -
---|---|
inherited_from | -\DB_PDO::errorCode() | -
errorInfo()-
inherited_from | -PDO::errorInfo() | -
---|---|
inherited_from | -\DB_PDO::errorInfo() | -
exec()-
inherited_from | -PDO::exec() | -
---|---|
inherited_from | -\DB_PDO::exec() | -
getAttribute()-
inherited_from | -PDO::getAttribute() | -
---|---|
inherited_from | -\DB_PDO::getAttribute() | -
getAvailableDrivers()-
inherited_from | -PDO::getAvailableDrivers() | -
---|---|
inherited_from | -\DB_PDO::getAvailableDrivers() | -
get_columns(string $table) : array-
inherited_from | -\DB_PDO::get_columns() | -
---|
string
-array
get_dbs() : array-
inherited_from | -\DB_PDO::get_dbs() | -
---|
array
get_functions() : array-
inherited_from | -\DB_PDO::get_functions() | -
---|
array
get_last_error() : string-
inherited_from | -\DB_PDO::get_last_error() | -
---|
string
get_procedures() : array-
inherited_from | -\DB_PDO::get_procedures() | -
---|
array
get_query_data(\PDOStatement $statement) : array-
inherited_from | -\DB_PDO::get_query_data() | -
---|
\PDOStatement
-array
get_schemas() : array-
inherited_from | -\DB_PDO::get_schemas() | -
---|
array
get_sequences() : array-
inherited_from | -\DB_PDO::get_sequences() | -
---|
array
get_system_tables() : array-
inherited_from | -\DB_PDO::get_system_tables() | -
---|
array
get_tables() : array-
inherited_from | -\DB_PDO::get_tables() | -
---|
array
get_triggers() : array-
inherited_from | -\DB_PDO::get_triggers() | -
---|
array
get_types() : array-
inherited_from | -\DB_PDO::get_types() | -
---|
array
get_views() : array-
inherited_from | -\DB_PDO::get_views() | -
---|
array
inTransaction()-
inherited_from | -PDO::inTransaction() | -
---|---|
inherited_from | -\DB_PDO::inTransaction() | -
lastInsertId()-
inherited_from | -PDO::lastInsertId() | -
---|---|
inherited_from | -\DB_PDO::lastInsertId() | -
num_rows() : int-
inherited_from | -\DB_PDO::num_rows() | -
---|
int
prepare()-
inherited_from | -PDO::prepare() | -
---|---|
inherited_from | -\DB_PDO::prepare() | -
prepare_execute(string $sql, array $params) : \PDOStatement-
inherited_from | -\DB_PDO::prepare_execute() | -
---|
string
-array
-prepare_query(string $sql, array $data) : mixed-
inherited_from | -\DB_PDO::prepare_query() | -
---|
string
-array
-mixed
PDOStatement / FALSEquery()-
inherited_from | -PDO::query() | -
---|---|
inherited_from | -\DB_PDO::query() | -
quote()-
inherited_from | -PDO::quote() | -
---|---|
inherited_from | -\DB_PDO::quote() | -
quote_ident(mixed $ident) : string-
inherited_from | -\DB_PDO::quote_ident() | -
---|
mixed
-string
rollBack()-
inherited_from | -PDO::rollBack() | -
---|---|
inherited_from | -\DB_PDO::rollBack() | -
setAttribute()-
inherited_from | -PDO::setAttribute() | -
---|---|
inherited_from | -\DB_PDO::setAttribute() | -
switch_db(string $name) : bool- -
string
-bool
truncate(string $table) : void- -
string
-_quote(mixed $str) : mixed-
inherited_from | -\DB_PDO::_quote() | -
---|
mixed
-mixed
driver_query(string $sql, bool $filtered_index) : mixed-
inherited_from | -\DB_PDO::driver_query() | -
---|
string
-bool
-mixed
$sql : Object-
inherited_from | -\DB_PDO::$$sql | -
---|
$util : Object-
inherited_from | -\DB_PDO::$$util | -
---|
$escape_char : string- -
$statement : mixed-
inherited_from | -\DB_PDO::$$statement | -
---|
avg()
column_list()
db_list()
distinct()
function_list()
limit()
max()
min()
procedure_list()
random()
sequence_list()
sum()
system_table_list()
table_list()
trigger_list()
type_list()
view_list()
ODBC SQL Class
-package | -Query | -
---|---|
subpackage | -Drivers | -
avg() : string-
inherited_from | -\DB_SQL::avg() | -
---|
string
column_list(string $table) : FALSE- -
string
-FALSE
db_list() : FALSE- -
FALSE
distinct() : string-
inherited_from | -\DB_SQL::distinct() | -
---|
string
function_list() : FALSE- -
FALSE
limit(string $sql, int $limit, int $offset) : string- -
string
-int
-int
-string
max() : string-
inherited_from | -\DB_SQL::max() | -
---|
string
min() : string-
inherited_from | -\DB_SQL::min() | -
---|
string
procedure_list() : FALSE- -
FALSE
random() : string- -
string
sequence_list() : FALSE- -
FALSE
sum() : string-
inherited_from | -\DB_SQL::sum() | -
---|
string
system_table_list() : FALSE- -
FALSE
table_list() : FALSE- -
FALSE
trigger_list() : FALSE- -
FALSE
type_list() : FALSE- -
FALSE
view_list() : FALSE- -
FALSE
__call()
__construct()
backup_data()
backup_structure()
create_table()
delete_table()
$conn
ODBC-specific backup, import and creation methods
-package | -Query | -
---|---|
subpackage | -Drivers | -
__call(string $method, array $args)-
inherited_from | -\DB_Util::__call() | -
---|
string
-array
-__construct(object $conn) : void- -
object
&$conn
-backup_data() : string- -
string
backup_structure() : string- -
string
create_table(string $name, array $columns, array $constraints, array $indexes) : string- -
string
-array
-array
-array
-string
delete_table(string $name) : string- -
string
-string
$conn-
inherited_from | -\DB_Util::$$conn | -
---|
__construct()
__sleep()
__wakeup()
affected_rows()
beginTransaction()
commit()
empty_table()
errorCode()
errorInfo()
exec()
getAttribute()
getAvailableDrivers()
get_columns()
get_dbs()
get_functions()
get_last_error()
get_procedures()
get_query_data()
get_schemas()
get_sequences()
get_system_tables()
get_tables()
get_triggers()
get_types()
get_views()
inTransaction()
lastInsertId()
num_rows()
prepare()
prepare_execute()
prepare_query()
query()
quote()
quote_ident()
rollBack()
setAttribute()
switch_db()
truncate()
_quote()
driver_query()
$sql
$util
$escape_char
$statement
PostgreSQL specifc class
-Extends PDO to simplify cross-database issues
-package | -Query | -
---|---|
subpackage | -Drivers | -
__construct(string $dsn, string $username, string $password, array $options)- -
string
-string
-string
-array
-__sleep()-
inherited_from | -PDO::__sleep() | -
---|---|
inherited_from | -\DB_PDO::__sleep() | -
__wakeup()-
inherited_from | -PDO::__wakeup() | -
---|---|
inherited_from | -\DB_PDO::__wakeup() | -
affected_rows(\PDOStatement $statement) : int-
inherited_from | -\DB_PDO::affected_rows() | -
---|
\PDOStatement
-int
beginTransaction()-
inherited_from | -PDO::beginTransaction() | -
---|---|
inherited_from | -\DB_PDO::beginTransaction() | -
commit()-
inherited_from | -PDO::commit() | -
---|---|
inherited_from | -\DB_PDO::commit() | -
empty_table(string $table) : mixed-
inherited_from | -\DB_PDO::empty_table() | -
---|
string
-mixed
errorCode()-
inherited_from | -PDO::errorCode() | -
---|---|
inherited_from | -\DB_PDO::errorCode() | -
errorInfo()-
inherited_from | -PDO::errorInfo() | -
---|---|
inherited_from | -\DB_PDO::errorInfo() | -
exec()-
inherited_from | -PDO::exec() | -
---|---|
inherited_from | -\DB_PDO::exec() | -
getAttribute()-
inherited_from | -PDO::getAttribute() | -
---|---|
inherited_from | -\DB_PDO::getAttribute() | -
getAvailableDrivers()-
inherited_from | -PDO::getAvailableDrivers() | -
---|---|
inherited_from | -\DB_PDO::getAvailableDrivers() | -
get_columns(string $table) : array-
inherited_from | -\DB_PDO::get_columns() | -
---|
string
-array
get_dbs() : array-
inherited_from | -\DB_PDO::get_dbs() | -
---|
array
get_functions() : array-
inherited_from | -\DB_PDO::get_functions() | -
---|
array
get_last_error() : string-
inherited_from | -\DB_PDO::get_last_error() | -
---|
string
get_procedures() : array-
inherited_from | -\DB_PDO::get_procedures() | -
---|
array
get_query_data(\PDOStatement $statement) : array-
inherited_from | -\DB_PDO::get_query_data() | -
---|
\PDOStatement
-array
get_schemas() : array- -
array
get_sequences() : array-
inherited_from | -\DB_PDO::get_sequences() | -
---|
array
get_system_tables() : array-
inherited_from | -\DB_PDO::get_system_tables() | -
---|
array
get_tables() : array-
inherited_from | -\DB_PDO::get_tables() | -
---|
array
get_triggers() : array-
inherited_from | -\DB_PDO::get_triggers() | -
---|
array
get_types() : array-
inherited_from | -\DB_PDO::get_types() | -
---|
array
get_views() : array-
inherited_from | -\DB_PDO::get_views() | -
---|
array
inTransaction()-
inherited_from | -PDO::inTransaction() | -
---|---|
inherited_from | -\DB_PDO::inTransaction() | -
lastInsertId()-
inherited_from | -PDO::lastInsertId() | -
---|---|
inherited_from | -\DB_PDO::lastInsertId() | -
num_rows() : int-
inherited_from | -\DB_PDO::num_rows() | -
---|
int
prepare()-
inherited_from | -PDO::prepare() | -
---|---|
inherited_from | -\DB_PDO::prepare() | -
prepare_execute(string $sql, array $params) : \PDOStatement-
inherited_from | -\DB_PDO::prepare_execute() | -
---|
string
-array
-prepare_query(string $sql, array $data) : mixed-
inherited_from | -\DB_PDO::prepare_query() | -
---|
string
-array
-mixed
PDOStatement / FALSEquery()-
inherited_from | -PDO::query() | -
---|---|
inherited_from | -\DB_PDO::query() | -
quote()-
inherited_from | -PDO::quote() | -
---|---|
inherited_from | -\DB_PDO::quote() | -
quote_ident(mixed $ident) : string-
inherited_from | -\DB_PDO::quote_ident() | -
---|
mixed
-string
rollBack()-
inherited_from | -PDO::rollBack() | -
---|---|
inherited_from | -\DB_PDO::rollBack() | -
setAttribute()-
inherited_from | -PDO::setAttribute() | -
---|---|
inherited_from | -\DB_PDO::setAttribute() | -
switch_db(string $name) : void- -
string
-truncate(string $table) : void- -
string
-_quote(mixed $str) : mixed-
inherited_from | -\DB_PDO::_quote() | -
---|
mixed
-mixed
driver_query(string $sql, bool $filtered_index) : mixed-
inherited_from | -\DB_PDO::driver_query() | -
---|
string
-bool
-mixed
$sql : Object-
inherited_from | -\DB_PDO::$$sql | -
---|
$util : Object-
inherited_from | -\DB_PDO::$$util | -
---|
$escape_char : string-
inherited_from | -\DB_PDO::$$escape_char | -
---|
$statement : mixed-
inherited_from | -\DB_PDO::$$statement | -
---|
avg()
column_list()
db_list()
distinct()
function_list()
limit()
max()
min()
procedure_list()
random()
sequence_list()
sum()
system_table_list()
table_list()
trigger_list()
type_list()
view_list()
PostgreSQL specifc SQL
-package | -Query | -
---|---|
subpackage | -Drivers | -
avg() : string-
inherited_from | -\DB_SQL::avg() | -
---|
string
column_list(string $table) : string- -
string
-string
db_list() : string- -
string
distinct() : string-
inherited_from | -\DB_SQL::distinct() | -
---|
string
function_list() : FALSE- -
FALSE
limit(string $sql, int $limit, int $offset) : string- -
string
-int
-int
-string
max() : string-
inherited_from | -\DB_SQL::max() | -
---|
string
min() : string-
inherited_from | -\DB_SQL::min() | -
---|
string
procedure_list() : string- -
string
random() : string- -
string
sequence_list() : string- -
string
sum() : string-
inherited_from | -\DB_SQL::sum() | -
---|
string
system_table_list() : string- -
string
table_list() : string- -
string
trigger_list() : string- -
string
type_list() : string- -
string
view_list() : string- -
string
__call()
__construct()
backup_data()
backup_structure()
create_table()
delete_table()
$conn
Posgres-specific backup, import and creation methods
-package | -Query | -
---|---|
subpackage | -Drivers | -
__call(string $method, array $args)-
inherited_from | -\DB_Util::__call() | -
---|
string
-array
-__construct(object $conn) : void- -
object
&$conn
-backup_data(array $exclude) : string- -
array
-string
backup_structure() : string- -
string
create_table(string $name, array $columns, array $constraints, array $indexes) : string- -
string
-array
-array
-array
-string
delete_table(string $name) : string- -
string
-string
$conn-
inherited_from | -\DB_Util::$$conn | -
---|
__call()
__construct()
count_all()
count_all_results()
delete()
distinct()
from()
get()
get_where()
group_by()
group_end()
group_start()
having()
insert()
join()
like()
limit()
not_like()
or_group_start()
or_having()
or_like()
or_not_group_start()
or_not_like()
or_where()
or_where_in()
or_where_not_in()
order_by()
select()
select_avg()
select_max()
select_min()
select_sum()
set()
update()
where()
where_in()
where_not_in()
_compile()
_having()
_like()
_reset()
_select()
_where()
_where_in()
_where_string()
$conn_name
$sql
$from_string
$group_array
$group_string
$having_map
$limit
$offset
$order_array
$order_string
$query_map
$select_string
$set_array_keys
$set_string
$values
Convienience class for creating sql queries - also the class that -instantiates the specific db driver
-package | -Query | -
---|---|
subpackage | -Query | -
__call(string $name, array $params) : mixed- -
string
-array
-mixed
__construct(object $params)- -
object
count_all(string $table) : int- -
string
-int
count_all_results(string $table) : int- -
string
-int
delete(string $table, mixed $where) : mixed- -
string
-mixed
-mixed
distinct() : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
from(string $dbname) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
string
-get($table, int $limit, int $offset) : object- -
-int
-int
-object
get_where(string $table, array $where, int $limit, int $offset) : object- -
string
-array
-int
-int
-object
group_by(mixed $field) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
mixed
-group_end() : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
group_start() : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
having(mixed $key, mixed $val) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
mixed
-mixed
-insert(string $table, mixed $data) : mixed- -
string
-mixed
-mixed
join(string $table, string $condition, string $type) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
string
-string
-string
-like(string $field, mixed $val, string $pos) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
string
-mixed
-string
-limit(int $limit, int $offset) : string- -
int
-int
-string
not_like(string $field, mixed $val, string $pos) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
string
-mixed
-string
-or_group_start() : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
or_having(mixed $key, mixed $val) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
mixed
-mixed
-or_like(string $field, mixed $val, string $pos) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
string
-mixed
-string
-or_not_group_start() : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
or_not_like(string $field, mixed $val, string $pos) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
string
-mixed
-string
-or_where(string $key, mixed $val) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
string
-mixed
-or_where_in(string $field, mixed $val) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
string
-mixed
-or_where_not_in(string $field, mixed $val) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
string
-mixed
-order_by(string $field, string $type) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
string
-string
-select(string $fields) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
string
-select_avg(string $field, string $as) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
string
-string
-select_max(string $field, string $as) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
string
-string
-select_min(string $field, string $as) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
string
-string
-select_sum(string $field, string $as) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
string
-string
-set(mixed $key, mixed $val) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
mixed
-mixed
-update(string $table, mixed $data) : mixed- -
string
-mixed
-mixed
where(mixed $key, mixed $val) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
mixed
-mixed
-where_in(mixed $field, mixed $val) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
mixed
-mixed
-where_not_in(string $field, mixed $val) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
string
-mixed
-_compile(string $type, string $table) : \$string- -
string
-string
-\$string
_having(mixed $key, mixed $val, string $conj) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
mixed
-mixed
-string
-_like(string $field, mixed $val, string $pos, string $like, string $conj) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
string
-mixed
-string
-string
-string
-_reset() : void- -
_select(string $field, string $as) : string- -
string
-string
-string
_where(mixed $key, mixed $val) : array- -
mixed
-mixed
-array
_where_in(mixed $key, mixed $val, $in, $conj) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
mixed
-mixed
-
string
string
_where_string(mixed $key, mixed $val, string $conj) : \Query_Builder- -
fluent | -This method is part of a fluent interface and will return the same instance | -
---|
mixed
-mixed
-string
-$conn_name : string- -
$from_string : string- -
$group_array : array- -
$group_string : string- -
$having_map : array- -
$limit : int- -
$offset : int- -
$order_array : array- -
$order_string : string- -
$query_map : array- -
Format:
- -array( - 'type' => 'where', - 'conjunction' => ' AND ', - 'string' => 'k=?' -)
$select_string : string- -
$set_array_keys : array- -
$set_string : string- -
$values : array- -
__construct()
__sleep()
__wakeup()
affected_rows()
beginTransaction()
commit()
empty_table()
errorCode()
errorInfo()
exec()
getAttribute()
getAvailableDrivers()
get_columns()
get_dbs()
get_functions()
get_last_error()
get_procedures()
get_query_data()
get_schemas()
get_sequences()
get_system_tables()
get_tables()
get_triggers()
get_types()
get_views()
inTransaction()
lastInsertId()
load_database()
num_rows()
prepare()
prepare_execute()
prepare_query()
query()
quote()
quote_ident()
rollBack()
setAttribute()
switch_db()
truncate()
unload_database()
_quote()
driver_query()
$sql
$util
$escape_char
$statement
SQLite specific class
-Extends PDO to simplify cross-database issues
-package | -Query | -
---|---|
subpackage | -Drivers | -
__construct(string $dsn, string $user, string $pass)- -
string
-string
-string
-__sleep()-
inherited_from | -PDO::__sleep() | -
---|---|
inherited_from | -\DB_PDO::__sleep() | -
__wakeup()-
inherited_from | -PDO::__wakeup() | -
---|---|
inherited_from | -\DB_PDO::__wakeup() | -
affected_rows(\PDOStatement $statement) : int-
inherited_from | -\DB_PDO::affected_rows() | -
---|
\PDOStatement
-int
beginTransaction()-
inherited_from | -PDO::beginTransaction() | -
---|---|
inherited_from | -\DB_PDO::beginTransaction() | -
commit()-
inherited_from | -PDO::commit() | -
---|---|
inherited_from | -\DB_PDO::commit() | -
empty_table(string $table) : mixed-
inherited_from | -\DB_PDO::empty_table() | -
---|
string
-mixed
errorCode()-
inherited_from | -PDO::errorCode() | -
---|---|
inherited_from | -\DB_PDO::errorCode() | -
errorInfo()-
inherited_from | -PDO::errorInfo() | -
---|---|
inherited_from | -\DB_PDO::errorInfo() | -
exec()-
inherited_from | -PDO::exec() | -
---|---|
inherited_from | -\DB_PDO::exec() | -
getAttribute()-
inherited_from | -PDO::getAttribute() | -
---|---|
inherited_from | -\DB_PDO::getAttribute() | -
getAvailableDrivers()-
inherited_from | -PDO::getAvailableDrivers() | -
---|---|
inherited_from | -\DB_PDO::getAvailableDrivers() | -
get_columns(string $table) : array-
inherited_from | -\DB_PDO::get_columns() | -
---|
string
-array
get_dbs() : array-
inherited_from | -\DB_PDO::get_dbs() | -
---|
array
get_functions() : array-
inherited_from | -\DB_PDO::get_functions() | -
---|
array
get_last_error() : string-
inherited_from | -\DB_PDO::get_last_error() | -
---|
string
get_procedures() : array-
inherited_from | -\DB_PDO::get_procedures() | -
---|
array
get_query_data(\PDOStatement $statement) : array-
inherited_from | -\DB_PDO::get_query_data() | -
---|
\PDOStatement
-array
get_schemas() : array-
inherited_from | -\DB_PDO::get_schemas() | -
---|
array
get_sequences() : array-
inherited_from | -\DB_PDO::get_sequences() | -
---|
array
get_system_tables() : array- -
array
get_tables() : mixed- -
mixed
get_triggers() : array-
inherited_from | -\DB_PDO::get_triggers() | -
---|
array
get_types() : array-
inherited_from | -\DB_PDO::get_types() | -
---|
array
get_views() : array-
inherited_from | -\DB_PDO::get_views() | -
---|
array
inTransaction()-
inherited_from | -PDO::inTransaction() | -
---|---|
inherited_from | -\DB_PDO::inTransaction() | -
lastInsertId()-
inherited_from | -PDO::lastInsertId() | -
---|---|
inherited_from | -\DB_PDO::lastInsertId() | -
load_database(string $db, string $name)- -
string
-string
-num_rows() : int-
inherited_from | -\DB_PDO::num_rows() | -
---|
int
prepare()-
inherited_from | -PDO::prepare() | -
---|---|
inherited_from | -\DB_PDO::prepare() | -
prepare_execute(string $sql, array $params) : \PDOStatement-
inherited_from | -\DB_PDO::prepare_execute() | -
---|
string
-array
-prepare_query(string $sql, array $data) : mixed-
inherited_from | -\DB_PDO::prepare_query() | -
---|
string
-array
-mixed
PDOStatement / FALSEquery()-
inherited_from | -PDO::query() | -
---|---|
inherited_from | -\DB_PDO::query() | -
quote()-
inherited_from | -PDO::quote() | -
---|---|
inherited_from | -\DB_PDO::quote() | -
quote_ident(mixed $ident) : string-
inherited_from | -\DB_PDO::quote_ident() | -
---|
mixed
-string
rollBack()-
inherited_from | -PDO::rollBack() | -
---|---|
inherited_from | -\DB_PDO::rollBack() | -
setAttribute()-
inherited_from | -PDO::setAttribute() | -
---|---|
inherited_from | -\DB_PDO::setAttribute() | -
switch_db(string $name) : void- -
string
-truncate(string $table) : void- -
string
-unload_database(string $name)- -
string
-_quote(mixed $str) : mixed-
inherited_from | -\DB_PDO::_quote() | -
---|
mixed
-mixed
driver_query(string $sql, bool $filtered_index) : mixed-
inherited_from | -\DB_PDO::driver_query() | -
---|
string
-bool
-mixed
$sql : Object-
inherited_from | -\DB_PDO::$$sql | -
---|
$util : Object-
inherited_from | -\DB_PDO::$$util | -
---|
$escape_char : string-
inherited_from | -\DB_PDO::$$escape_char | -
---|
avg()
column_list()
db_list()
distinct()
function_list()
limit()
max()
min()
procedure_list()
random()
sequence_list()
sum()
system_table_list()
table_list()
trigger_list()
type_list()
view_list()
SQLite Specific SQL
-package | -Query | -
---|---|
subpackage | -Drivers | -
avg() : string-
inherited_from | -\DB_SQL::avg() | -
---|
string
column_list(string $table) : string- -
string
-string
db_list() : FALSE- -
FALSE
distinct() : string-
inherited_from | -\DB_SQL::distinct() | -
---|
string
function_list() : FALSE- -
FALSE
limit(string $sql, int $limit, int $offset) : string- -
string
-int
-int
-string
max() : string-
inherited_from | -\DB_SQL::max() | -
---|
string
min() : string-
inherited_from | -\DB_SQL::min() | -
---|
string
procedure_list() : FALSE- -
FALSE
random() : string- -
string
sequence_list() : FALSE- -
FALSE
sum() : string-
inherited_from | -\DB_SQL::sum() | -
---|
string
system_table_list() : string- -
string
table_list() : string- -
string
trigger_list() : FALSE- -
FALSE
type_list() : array- -
array
view_list() : string- -
string
__call()
__construct()
backup_data()
backup_structure()
create_table()
delete_table()
$conn
SQLite-specific backup, import and creation methods
-package | -Query | -
---|---|
subpackage | -Drivers | -
__call(string $method, array $args)-
inherited_from | -\DB_Util::__call() | -
---|
string
-array
-__construct(object $conn) : void- -
object
&$conn
-backup_data(array $excluded) : string- -
array
-string
backup_structure() : string- -
string
create_table(string $name, array $columns, array $constraints, array $indexes) : string- -
string
//Name of the table
-array
//columns as straight array and/or column => type pairs
-array
// column => constraint pairs
-array
// column => index pairs
-string
delete_table(string $name) : string- -
string
-string
$conn-
inherited_from | -\DB_Util::$$conn | -
---|
__destruct()
__get()
__set()
add_db()
edit_db()
get_db()
get_dbs()
get_instance()
remove_db()
__construct()
$current
$instance
Class for manipulating datbase connections, and miscellaneous settings
-package | -Query | -
---|---|
subpackage | -Helper Classes | -
__destruct()- -
__get(string $key) : mixed- -
string
-mixed
__set(string $key, $val)- -
string
-
mixed
add_db(string $name, array $params)- -
string
-array
-edit_db(string $name, array $params)- -
string
-array
-get_db(string $name) : object- -
string
-object
get_dbs() : array- -
array
get_instance() : \Settings- -
remove_db(string $name)- -
string
-__construct()- -
$current- -
$instance- -
avg()
create_table()
db_list()
delete_table()
distinct()
function_list()
limit()
max()
min()
procedure_list()
random()
sequence_list()
sum()
system_table_list()
table_list()
trigger_list()
view_list()
Dummy class for standardized sql
-avg() : string-
inherited_from | -\DB_SQL::avg() | -
---|
string
create_table($names, array $columns, array $constraints, array $indexes) : string- -
-array
//columns as straight array and/or column => type pairs
-array
// column => constraint pairs
-array
// column => index pairs
-string
db_list() : string-
inherited_from | -\DB_SQL::db_list() | -
---|
string
delete_table(string $name) : string- -
string
-string
distinct() : string-
inherited_from | -\DB_SQL::distinct() | -
---|
string
function_list() : FALSE-
inherited_from | -\DB_SQL::function_list() | -
---|
FALSE
limit(string $sql, int $limit, int $offset) : string- -
string
-int
-int
-string
max() : string-
inherited_from | -\DB_SQL::max() | -
---|
string
min() : string-
inherited_from | -\DB_SQL::min() | -
---|
string
procedure_list() : string-
inherited_from | -\DB_SQL::procedure_list() | -
---|
string
random() : string- -
string
sequence_list() : string-
inherited_from | -\DB_SQL::sequence_list() | -
---|
string
sum() : string-
inherited_from | -\DB_SQL::sum() | -
---|
string
system_table_list() : string-
inherited_from | -\DB_SQL::system_table_list() | -
---|
string
table_list() : string-
inherited_from | -\DB_SQL::table_list() | -
---|
string
trigger_list() : string-
inherited_from | -\DB_SQL::trigger_list() | -
---|
string
view_list() : string-
inherited_from | -\DB_SQL::view_list() | -
---|
string
__construct()
__sleep()
__wakeup()
affected_rows()
beginTransaction()
commit()
empty_table()
errorCode()
errorInfo()
exec()
getAttribute()
getAvailableDrivers()
get_dbs()
get_functions()
get_last_error()
get_procedures()
get_query_data()
get_schemas()
get_sequences()
get_system_tables()
get_tables()
get_triggers()
get_views()
inTransaction()
lastInsertId()
num_rows()
prepare()
prepare_execute()
prepare_query()
query()
quote()
quote_ident()
rollBack()
setAttribute()
switch_db()
truncate()
driver_query()
$sql
$util
$escape_char
$statement
PostgreSQL specifc class
-Extends PDO to simplify cross-database issues
-package | -Query | -
---|---|
subpackage | -Drivers | -
__construct(string $dsn, string $username, string $password, array $options)- -
string
-string
-string
-array
-__sleep()-
inherited_from | -PDO::__sleep() | -
---|---|
inherited_from | -\DB_PDO::__sleep() | -
__wakeup()-
inherited_from | -PDO::__wakeup() | -
---|---|
inherited_from | -\DB_PDO::__wakeup() | -
affected_rows(\PDOStatement $statement) : int-
inherited_from | -\DB_PDO::affected_rows() | -
---|
\PDOStatement
-int
beginTransaction()-
inherited_from | -PDO::beginTransaction() | -
---|---|
inherited_from | -\DB_PDO::beginTransaction() | -
commit()-
inherited_from | -PDO::commit() | -
---|---|
inherited_from | -\DB_PDO::commit() | -
empty_table(string $table) : mixed-
inherited_from | -\DB_PDO::empty_table() | -
---|
string
-mixed
errorCode()-
inherited_from | -PDO::errorCode() | -
---|---|
inherited_from | -\DB_PDO::errorCode() | -
errorInfo()-
inherited_from | -PDO::errorInfo() | -
---|---|
inherited_from | -\DB_PDO::errorInfo() | -
exec()-
inherited_from | -PDO::exec() | -
---|---|
inherited_from | -\DB_PDO::exec() | -
getAttribute()-
inherited_from | -PDO::getAttribute() | -
---|---|
inherited_from | -\DB_PDO::getAttribute() | -
getAvailableDrivers()-
inherited_from | -PDO::getAvailableDrivers() | -
---|---|
inherited_from | -\DB_PDO::getAvailableDrivers() | -
get_dbs() : array-
inherited_from | -\DB_PDO::get_dbs() | -
---|
array
get_functions() : array-
inherited_from | -\DB_PDO::get_functions() | -
---|
array
get_last_error() : string-
inherited_from | -\DB_PDO::get_last_error() | -
---|
string
get_procedures() : array-
inherited_from | -\DB_PDO::get_procedures() | -
---|
array
get_query_data(\PDOStatement $statement) : array-
inherited_from | -\DB_PDO::get_query_data() | -
---|
\PDOStatement
-array
get_schemas() : array- -
array
get_sequences() : array-
inherited_from | -\DB_PDO::get_sequences() | -
---|
array
get_system_tables() : array-
inherited_from | -\DB_PDO::get_system_tables() | -
---|
array
get_tables() : array-
inherited_from | -\DB_PDO::get_tables() | -
---|
array
get_triggers() : array-
inherited_from | -\DB_PDO::get_triggers() | -
---|
array
get_views() : array-
inherited_from | -\DB_PDO::get_views() | -
---|
array
inTransaction()-
inherited_from | -PDO::inTransaction() | -
---|---|
inherited_from | -\DB_PDO::inTransaction() | -
lastInsertId()-
inherited_from | -PDO::lastInsertId() | -
---|---|
inherited_from | -\DB_PDO::lastInsertId() | -
num_rows() : int- -
int
prepare()-
inherited_from | -PDO::prepare() | -
---|---|
inherited_from | -\DB_PDO::prepare() | -
prepare_execute(string $sql, array $params) : \PDOStatement-
inherited_from | -\DB_PDO::prepare_execute() | -
---|
string
-array
-prepare_query(string $sql, array $data) : mixed-
inherited_from | -\DB_PDO::prepare_query() | -
---|
string
-array
-mixed
PDOStatement / FALSEquery()-
inherited_from | -PDO::query() | -
---|---|
inherited_from | -\DB_PDO::query() | -
quote()-
inherited_from | -PDO::quote() | -
---|---|
inherited_from | -\DB_PDO::quote() | -
quote_ident(mixed $ident) : string-
inherited_from | -\DB_PDO::quote_ident() | -
---|
mixed
-string
rollBack()-
inherited_from | -PDO::rollBack() | -
---|---|
inherited_from | -\DB_PDO::rollBack() | -
setAttribute()-
inherited_from | -PDO::setAttribute() | -
---|---|
inherited_from | -\DB_PDO::setAttribute() | -
switch_db(string $name) : void- -
string
-truncate(string $table) : void- -
string
-driver_query(string $sql, bool $filtered_index) : mixed-
inherited_from | -\DB_PDO::driver_query() | -
---|
string
-bool
-mixed
$sql-
inherited_from | -\DB_PDO::$$sql | -
---|
$util-
inherited_from | -\DB_PDO::$$util | -
---|
$escape_char-
inherited_from | -\DB_PDO::$$escape_char | -
---|
$statement-
inherited_from | -\DB_PDO::$$statement | -
---|
avg()
column_list()
db_list()
distinct()
function_list()
limit()
max()
min()
procedure_list()
random()
sequence_list()
sum()
system_table_list()
table_list()
trigger_list()
view_list()
PostgreSQL specifc SQL
-package | -Query | -
---|---|
subpackage | -Drivers | -
avg() : string-
inherited_from | -\DB_SQL::avg() | -
---|
string
column_list(string $table) : string- -
string
-string
db_list() : string- -
string
distinct() : string-
inherited_from | -\DB_SQL::distinct() | -
---|
string
function_list() : FALSE- -
FALSE
limit(string $sql, int $limit, int $offset) : string- -
string
-int
-int
-string
max() : string-
inherited_from | -\DB_SQL::max() | -
---|
string
min() : string-
inherited_from | -\DB_SQL::min() | -
---|
string
procedure_list() : string- -
string
random() : string- -
string
sequence_list() : string- -
string
sum() : string-
inherited_from | -\DB_SQL::sum() | -
---|
string
system_table_list() : string- -
string
table_list() : string- -
string
trigger_list() : string- -
string
view_list() : string- -
string
=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()}, -CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m, -g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)}, -text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}}, -setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return hl[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h= -h[3];l=0;for(m=h.length;l =0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m=== -"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g, -h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l ";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&& -q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML=""; -if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}(); -(function(){var g=s.createElement("div");g.innerHTML="";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}: -function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q =0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f
0)for(var j=d;j 0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j= -{},i;if(f&&a.length){e=0;for(var o=a.length;e -1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a=== -"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode", -d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")? -a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType=== -1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/"+d+">"},F={option:[1,""],legend:[1,""],thead:[1," ","
"],tr:[2,"","
"],td:[3,""],col:[2,"
"," "],area:[1,""],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div
"," ",""];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= -c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, -wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, -prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b, -this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); -return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja, -""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]); -return this}else{e=0;for(var j=d.length;e 0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["", -""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="