diff --git a/.phive/phars.xml b/.phive/phars.xml new file mode 100644 index 0000000..3133bdf --- /dev/null +++ b/.phive/phars.xml @@ -0,0 +1,4 @@ + + + + diff --git a/README.md b/README.md index b58e4c0..7e49c4b 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ A query builder/database abstraction layer, using prepared statements for securi ## Requirements * PDO extensions for the databases you wish to use -* PHP 7.4 or later +* PHP 8.1 or later ## Databases Supported @@ -82,7 +82,7 @@ For specific query builder methods, see the [class documentation](https://gitdev Other database methods not directly involved in building queries, are also available from the query builder object. The methods available depend on the database, but common methods are documented -[here](https://gitdev.timshomepage.net/Query/apiDocumentation/classes/Query_Drivers_AbstractDriver.html#methods). +[here](https://gitdev.timshomepage.net/Query/apiDocumentation/classes/Query-QueryBuilder.html). #### You can also run queries manually. diff --git a/apiDocumentation/.htaccess b/apiDocumentation/.htaccess new file mode 100644 index 0000000..4c8879e --- /dev/null +++ b/apiDocumentation/.htaccess @@ -0,0 +1,5 @@ +# Fixes a vulnerability in CentOS: https://stackoverflow.com/questions/20533279/ + + RemoveHandler .php + ForceType text/plain + \ No newline at end of file diff --git a/apiDocumentation/classes.svg b/apiDocumentation/classes.svg new file mode 100644 index 0000000..fe24224 --- /dev/null +++ b/apiDocumentation/classes.svg @@ -0,0 +1,144 @@ +QueryQuery\DriversQuery\Drivers\MysqlQuery\Drivers\PgsqlQuery\Drivers\SqliteQuery\ExceptionConnectionManagerQueryBuilderQueryBuilderBaseQueryBuilderInterfaceQueryParserStateAbstractDriverDriverInterfaceAbstractSQLSQLInterfaceAbstractUtilDriverSQLUtilDriverSQLUtilDriverSQLUtilBadDBDriverExceptionNonExistentConnectionExceptionNotImplementedExceptionPDOInvalidArgumentExceptionBadMethodCallException \ No newline at end of file diff --git a/apiDocumentation/classes/Query-ConnectionManager.html b/apiDocumentation/classes/Query-ConnectionManager.html new file mode 100644 index 0000000..b8a6c3e --- /dev/null +++ b/apiDocumentation/classes/Query-ConnectionManager.html @@ -0,0 +1,654 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
+

Documentation

+ + + + + +
+ +
+
+ + + + +
+ + +
+

+ ConnectionManager + + +
+ in package + +
+ + +

+ + + +

Connection manager class to manage connections for the +Query method

+ + + + + + + + + +

+ Table of Contents + +

+ +
+
+ __clone() + +  : void +
+
Private clone method to prevent cloning
+ +
+ __sleep() + +  : mixed +
+
Prevent serialization of this object
+ +
+ __wakeup() + +  : void +
+
Make sure serialize/deserialize doesn't work
+ +
+ connect() + +  : QueryBuilderInterface +
+
Parse the passed parameters and return a connection
+ +
+ getConnection() + +  : QueryBuilderInterface +
+
Returns the connection specified by the name given
+ +
+ getInstance() + +  : ConnectionManager +
+
Return a connection manager instance
+ +
+ parseParams() + +  : array<string|int, mixed> +
+
Parses params into a dsn and option array
+ +
+ + + + + + + +
+

+ Methods + +

+
+

+ __clone() + +

+ + +

Private clone method to prevent cloning

+ + + public + __clone() : void + + + + +
+ Tags + +
+
+
+ throws +
+
+ DomainException + + +
+
+ +
Return values
+ void + — + + +
+
+

+ __sleep() + +

+ + +

Prevent serialization of this object

+ + + public + __sleep() : mixed + + + + +
+ Tags + +
+
+
+ throws +
+
+ DomainException + + +
+
+ +
Return values
+ mixed + — + + +
+
+

+ __wakeup() + +

+ + +

Make sure serialize/deserialize doesn't work

+ + + public + __wakeup() : void + + + + +
+ Tags + +
+
+
+ throws +
+
+ DomainException + + +
+
+ +
Return values
+ void + — + + +
+
+

+ connect() + +

+ + +

Parse the passed parameters and return a connection

+ + + public + connect(array<string|int, mixed>|object $params) : QueryBuilderInterface + + +
Parameters
+
+
+ $params + : array<string|int, mixed>|object +
+
+ +
+
+ + + +
Return values
+ QueryBuilderInterface + — + + +
+ +
+

+ getInstance() + +

+ + +

Return a connection manager instance

+ + + public + static getInstance() : ConnectionManager + + + + +
+ Tags + +
+
+
+ staticvar +
+
+ +

null $instance

+
+ +
+
+ +
Return values
+ ConnectionManager + — + + +
+
+

+ parseParams() + +

+ + +

Parses params into a dsn and option array

+ + + public + parseParams(array<string|int, mixed>|object $rawParams) : array<string|int, mixed> + + +
Parameters
+
+
+ $rawParams + : array<string|int, mixed>|object +
+
+ +
+
+ + +
+ Tags + +
+
+
+ throws +
+
+ BadDBDriverException + + +
+
+ +
Return values
+ array<string|int, mixed> + — + + +
+
+ +
+
+
+
+

+        
+ +
+
+ + + +
+
+
+
+

Search results

+ +
+
+
    +
    +
    +
    +
    +
    + + +
    + + + + + + + + diff --git a/apiDocumentation/classes/Query-Drivers-AbstractDriver.html b/apiDocumentation/classes/Query-Drivers-AbstractDriver.html new file mode 100644 index 0000000..b077483 --- /dev/null +++ b/apiDocumentation/classes/Query-Drivers-AbstractDriver.html @@ -0,0 +1,2044 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
    +

    Documentation

    + + + + + +
    + +
    +
    + + + + +
    + + +
    +

    + AbstractDriver + + + extends PDO + + +
    + in package + +
    + + + implements + DriverInterface + +

    + + + +

    Base Database class

    + +

    Extends PDO to simplify cross-database issues

    +
    + + + + + + +

    + Interfaces, Classes, Traits and Enums + +

    + +
    +
    DriverInterface
    +
    PDO Interface to implement for database drivers
    + + + +
    + + +

    + Table of Contents + +

    + +
    +
    + __call() + +  : mixed +
    +
    Allow invoke to work on table object
    + +
    + __construct() + +  : mixed +
    +
    PDO constructor wrapper
    + +
    + _quote() + +  : mixed +
    +
    Helper method for quote_ident
    + +
    + affectedRows() + +  : int +
    +
    Returns number of rows affected by an INSERT, UPDATE, DELETE type query
    + +
    + driverQuery() + +  : array<string|int, mixed>|null +
    +
    Method to simplify retrieving db results for meta-data queries
    + +
    + getColumns() + +  : array<string|int, mixed>|null +
    +
    Retrieve column information for the current database table
    + +
    + getDbs() + +  : array<string|int, mixed>|null +
    +
    Return list of dbs for the current connection, if possible
    + +
    + getFks() + +  : array<string|int, mixed>|null +
    +
    Retrieve foreign keys for the table
    + +
    + getFunctions() + +  : array<string|int, mixed>|null +
    +
    Return list of functions for the current database
    + +
    + getIndexes() + +  : array<string|int, mixed>|null +
    +
    Retrieve indexes for the table
    + +
    + getLastQuery() + +  : string +
    +
    Get the last sql query executed
    + +
    + getProcedures() + +  : array<string|int, mixed>|null +
    +
    Return list of stored procedures for the current database
    + +
    + getSchemas() + +  : array<string|int, mixed>|null +
    +
    Return schemas for databases that list them
    + +
    + getSequences() + +  : array<string|int, mixed>|null +
    +
    Return list of sequences for the current database, if they exist
    + +
    + getSql() + +  : SQLInterface +
    +
    Get the SQL class for the current driver
    + +
    + getSystemTables() + +  : array<string|int, mixed>|null +
    +
    Retrieves an array of non-user-created tables for +the connection/database
    + +
    + getTables() + +  : array<string|int, mixed>|null +
    +
    Return list of tables for the current database
    + +
    + getTriggers() + +  : array<string|int, mixed>|null +
    +
    Return list of triggers for the current database
    + +
    + getTypes() + +  : array<string|int, mixed>|null +
    +
    Retrieve list of data types for the database
    + +
    + getUtil() + +  : AbstractUtil +
    +
    Get the Util class for the current driver
    + +
    + getVersion() + +  : string +
    +
    Get the version of the database engine
    + +
    + getViews() + +  : array<string|int, mixed>|null +
    +
    Return list of views for the current database
    + +
    + insertBatch() + +  : array<string|int, mixed> +
    +
    Create sql for batch insert
    + +
    + numRows() + +  : int|null +
    +
    Return the number of rows returned for a SELECT query
    + +
    + prefixTable() + +  : string +
    +
    Prefixes a table if it is not already prefixed
    + +
    + prepareExecute() + +  : PDOStatement +
    +
    Create and execute a prepared statement with the provided parameters
    + +
    + prepareQuery() + +  : PDOStatement +
    +
    Simplifies prepared statements for database queries
    + +
    + quoteIdent() + +  : string|array<string|int, mixed> +
    +
    Surrounds the string with the databases identifier escape characters
    + +
    + quoteTable() + +  : string +
    +
    Quote database table name, and set prefix
    + +
    + returning() + +  : string +
    +
    Generate the returning clause for the current database
    + +
    + setLastQuery() + +  : void +
    +
    Set the last query sql
    + +
    + setTablePrefix() + +  : void +
    +
    Set the common table name prefix
    + +
    + truncate() + +  : PDOStatement +
    +
    Empty the passed table
    + +
    + updateBatch() + +  : array<string|int, mixed> +
    +
    Creates a batch update, and executes it.
    + +
    + + + + + + + +
    +

    + Methods + +

    +
    +

    + __call() + +

    + + +

    Allow invoke to work on table object

    + + + public + __call(string $name[, array<string|int, mixed> $args = [] ]) : mixed + + +
    Parameters
    +
    +
    + $name + : string +
    +
    +
    + +
    +
    + $args + : array<string|int, mixed> + = []
    +
    +
    + +
    +
    + + +
    + Tags + +
    +
    +
    + codeCoverageIgnore +
    +
    + + +
    +
    + +
    Return values
    + mixed + — + + +
    +
    +

    + __construct() + +

    + + +

    PDO constructor wrapper

    + + + public + __construct(string $dsn[, string $username = NULL ][, string $password = NULL ][, array<string|int, mixed> $driverOptions = [] ]) : mixed + + +
    Parameters
    +
    +
    + $dsn + : string +
    +
    +
    + +
    +
    + $username + : string + = NULL
    +
    +
    + +
    +
    + $password + : string + = NULL
    +
    +
    + +
    +
    + $driverOptions + : array<string|int, mixed> + = []
    +
    +
    + +
    +
    + + + +
    Return values
    + mixed + — + + +
    +
    +

    + _quote() + +

    + + +

    Helper method for quote_ident

    + + + public + _quote(mixed $str) : mixed + + +
    Parameters
    +
    +
    + $str + : mixed +
    +
    + +
    +
    + + + +
    Return values
    + mixed + — + + +
    +
    +

    + affectedRows() + +

    + + +

    Returns number of rows affected by an INSERT, UPDATE, DELETE type query

    + + + public + affectedRows() : int + + + + + +
    Return values
    + int + — + + +
    +
    +

    + driverQuery() + +

    + + +

    Method to simplify retrieving db results for meta-data queries

    + + + public + driverQuery(string|array<string|int, mixed> $query[, bool $filteredIndex = TRUE ]) : array<string|int, mixed>|null + + +
    Parameters
    +
    +
    + $query + : string|array<string|int, mixed> +
    +
    +
    + +
    +
    + $filteredIndex + : bool + = TRUE
    +
    +
    + +
    +
    + + + +
    Return values
    + array<string|int, mixed>|null + — + + +
    +
    +

    + getColumns() + +

    + + +

    Retrieve column information for the current database table

    + + + public + getColumns(string $table) : array<string|int, mixed>|null + + +
    Parameters
    +
    +
    + $table + : string +
    +
    +
    + +
    +
    + + + +
    Return values
    + array<string|int, mixed>|null + — + + +
    +
    +

    + getDbs() + +

    + + +

    Return list of dbs for the current connection, if possible

    + + + public + getDbs() : array<string|int, mixed>|null + + + + + +
    Return values
    + array<string|int, mixed>|null + — + + +
    +
    +

    + getFks() + +

    + + +

    Retrieve foreign keys for the table

    + + + public + getFks(string $table) : array<string|int, mixed>|null + + +
    Parameters
    +
    +
    + $table + : string +
    +
    +
    + +
    +
    + + + +
    Return values
    + array<string|int, mixed>|null + — + + +
    +
    +

    + getFunctions() + +

    + + +

    Return list of functions for the current database

    + + + public + getFunctions() : array<string|int, mixed>|null + + + + +
    + Tags + +
    +
    +
    + deprecated +
    +
    + +

    Will be removed in next version

    +
    + +
    +
    + +
    Return values
    + array<string|int, mixed>|null + — + + +
    +
    +

    + getIndexes() + +

    + + +

    Retrieve indexes for the table

    + + + public + getIndexes(string $table) : array<string|int, mixed>|null + + +
    Parameters
    +
    +
    + $table + : string +
    +
    +
    + +
    +
    + + + +
    Return values
    + array<string|int, mixed>|null + — + + +
    +
    +

    + getLastQuery() + +

    + + +

    Get the last sql query executed

    + + + public + getLastQuery() : string + + + + + +
    Return values
    + string + — + + +
    +
    +

    + getProcedures() + +

    + + +

    Return list of stored procedures for the current database

    + + + public + getProcedures() : array<string|int, mixed>|null + + + + +
    + Tags + +
    +
    +
    + deprecated +
    +
    + +

    Will be removed in next version

    +
    + +
    +
    + +
    Return values
    + array<string|int, mixed>|null + — + + +
    +
    +

    + getSchemas() + +

    + + +

    Return schemas for databases that list them

    + + + public + getSchemas() : array<string|int, mixed>|null + + + + + +
    Return values
    + array<string|int, mixed>|null + — + + +
    +
    +

    + getSequences() + +

    + + +

    Return list of sequences for the current database, if they exist

    + + + public + getSequences() : array<string|int, mixed>|null + + + + + +
    Return values
    + array<string|int, mixed>|null + — + + +
    + +
    +

    + getSystemTables() + +

    + + +

    Retrieves an array of non-user-created tables for +the connection/database

    + + + public + getSystemTables() : array<string|int, mixed>|null + + + + + +
    Return values
    + array<string|int, mixed>|null + — + + +
    +
    +

    + getTables() + +

    + + +

    Return list of tables for the current database

    + + + public + getTables() : array<string|int, mixed>|null + + + + + +
    Return values
    + array<string|int, mixed>|null + — + + +
    +
    +

    + getTriggers() + +

    + + +

    Return list of triggers for the current database

    + + + public + getTriggers() : array<string|int, mixed>|null + + + + +
    + Tags + +
    +
    +
    + deprecated +
    +
    + +

    Will be removed in next version

    +
    + +
    +
    + +
    Return values
    + array<string|int, mixed>|null + — + + +
    +
    +

    + getTypes() + +

    + + +

    Retrieve list of data types for the database

    + + + public + getTypes() : array<string|int, mixed>|null + + + + + +
    Return values
    + array<string|int, mixed>|null + — + + +
    + +
    +

    + getVersion() + +

    + + +

    Get the version of the database engine

    + + + public + getVersion() : string + + + + + +
    Return values
    + string + — + + +
    +
    +

    + getViews() + +

    + + +

    Return list of views for the current database

    + + + public + getViews() : array<string|int, mixed>|null + + + + + +
    Return values
    + array<string|int, mixed>|null + — + + +
    +
    +

    + insertBatch() + +

    + + +

    Create sql for batch insert

    + + + public + insertBatch(string $table[, array<string|int, mixed> $data = [] ]) : array<string|int, mixed> + + +
    Parameters
    +
    +
    + $table + : string +
    +
    +
    + +
    +
    + $data + : array<string|int, mixed> + = []
    +
    +
    + +
    +
    + + + +
    Return values
    + array<string|int, mixed> + — + + +
    + +
    +

    + prefixTable() + +

    + + +

    Prefixes a table if it is not already prefixed

    + + + public + prefixTable(string $table) : string + + +
    Parameters
    +
    +
    + $table + : string +
    +
    +
    + +
    +
    + + + +
    Return values
    + string + — + + +
    +
    +

    + prepareExecute() + +

    + + +

    Create and execute a prepared statement with the provided parameters

    + + + public + prepareExecute(string $sql, array<string|int, mixed> $params) : PDOStatement + + +
    Parameters
    +
    +
    + $sql + : string +
    +
    +
    + +
    +
    + $params + : array<string|int, mixed> +
    +
    +
    + +
    +
    + + +
    + Tags + +
    +
    +
    + throws +
    +
    + InvalidArgumentException + + +
    +
    + +
    Return values
    + PDOStatement + — + + +
    +
    +

    + prepareQuery() + +

    + + +

    Simplifies prepared statements for database queries

    + + + public + prepareQuery(string $sql, array<string|int, mixed> $data) : PDOStatement + + +
    Parameters
    +
    +
    + $sql + : string +
    +
    +
    + +
    +
    + $data + : array<string|int, mixed> +
    +
    +
    + +
    +
    + + + +
    Return values
    + PDOStatement + — + + +
    +
    +

    + quoteIdent() + +

    + + +

    Surrounds the string with the databases identifier escape characters

    + + + public + quoteIdent(string|array<string|int, mixed> $identifier) : string|array<string|int, mixed> + + +
    Parameters
    +
    +
    + $identifier + : string|array<string|int, mixed> +
    +
    +
    + +
    +
    + + + +
    Return values
    + string|array<string|int, mixed> + — + + +
    +
    +

    + quoteTable() + +

    + + +

    Quote database table name, and set prefix

    + + + public + quoteTable(string $table) : string + + +
    Parameters
    +
    +
    + $table + : string +
    +
    +
    + +
    +
    + + + +
    Return values
    + string + — + + +
    +
    +

    + returning() + +

    + + +

    Generate the returning clause for the current database

    + + + public + returning(string $query, string $select) : string + + +
    Parameters
    +
    +
    + $query + : string +
    +
    +
    + +
    +
    + $select + : string +
    +
    +
    + +
    +
    + + + +
    Return values
    + string + — + + +
    +
    +

    + setLastQuery() + +

    + + +

    Set the last query sql

    + + + public + setLastQuery(string $queryString) : void + + +
    Parameters
    +
    +
    + $queryString + : string +
    +
    +
    + +
    +
    + + + +
    Return values
    + void + — + + +
    +
    +

    + setTablePrefix() + +

    + + +

    Set the common table name prefix

    + + + public + setTablePrefix(string $prefix) : void + + +
    Parameters
    +
    +
    + $prefix + : string +
    +
    +
    + +
    +
    + + + +
    Return values
    + void + — + + +
    +
    +

    + truncate() + +

    + + +

    Empty the passed table

    + + + public + truncate(string $table) : PDOStatement + + +
    Parameters
    +
    +
    + $table + : string +
    +
    +
    + +
    +
    + + + +
    Return values
    + PDOStatement + — + + +
    +
    +

    + updateBatch() + +

    + + +

    Creates a batch update, and executes it.

    + + + public + updateBatch(string $table, array<string|int, mixed> $data, string $where) : array<string|int, mixed> + +

    Returns the number of affected rows

    +
    + +
    Parameters
    +
    +
    + $table + : string +
    +
    +

    The table to update

    +
    + +
    +
    + $data + : array<string|int, mixed> +
    +
    +

    an array of update values

    +
    + +
    +
    + $where + : string +
    +
    +

    The where key

    +
    + +
    +
    + + + +
    Return values
    + array<string|int, mixed> + — + + +
    +
    + +
    +
    +
    +
    +
    
    +        
    + +
    +
    + + + +
    +
    +
    +
    +

    Search results

    + +
    +
    +
      +
      +
      +
      +
      +
      + + +
      + + + + + + + + diff --git a/apiDocumentation/classes/Query-Drivers-AbstractSQL.html b/apiDocumentation/classes/Query-Drivers-AbstractSQL.html new file mode 100644 index 0000000..a89482f --- /dev/null +++ b/apiDocumentation/classes/Query-Drivers-AbstractSQL.html @@ -0,0 +1,335 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
      +

      Documentation

      + + + + + +
      + +
      +
      + + + + +
      + + +
      +

      + AbstractSQL + + +
      + in package + +
      + + + implements + SQLInterface + +

      + + + +

      Parent for database-specific syntax subclasses

      + + + + + + + +

      + Interfaces, Classes, Traits and Enums + +

      + +
      +
      SQLInterface
      +
      Interface for database-specific syntax subclasses
      + + + +
      + + +

      + Table of Contents + +

      + +
      +
      + limit() + +  : string +
      +
      Limit clause
      + +
      + + + + + + + +
      +

      + Methods + +

      +
      +

      + limit() + +

      + + +

      Limit clause

      + + + public + limit(string $sql, int $limit[, int|null $offset = NULL ]) : string + + +
      Parameters
      +
      +
      + $sql + : string +
      +
      +
      + +
      +
      + $limit + : int +
      +
      +
      + +
      +
      + $offset + : int|null + = NULL
      +
      +
      + +
      +
      + + + +
      Return values
      + string + — + + +
      +
      + +
      +
      +
      +
      +
      
      +        
      + +
      +
      + + + +
      +
      +
      +
      +

      Search results

      + +
      +
      +
        +
        +
        +
        +
        +
        + + +
        + + + + + + + + diff --git a/apiDocumentation/classes/Query-Drivers-AbstractUtil.html b/apiDocumentation/classes/Query-Drivers-AbstractUtil.html new file mode 100644 index 0000000..9a0940a --- /dev/null +++ b/apiDocumentation/classes/Query-Drivers-AbstractUtil.html @@ -0,0 +1,581 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
        +

        Documentation

        + + + + + +
        + +
        +
        + + + + +
        + + +
        +

        + AbstractUtil + + +
        + in package + +
        + + +

        + + + +

        Abstract class defining database / table creation methods

        + + + + + + + + + +

        + Table of Contents + +

        + +
        +
        + __construct() + +  : mixed +
        +
        Save a reference to the connection object for later use
        + +
        + backupData() + +  : string +
        +
        Return an SQL file with the database data as insert statements
        + +
        + backupStructure() + +  : string +
        +
        Return an SQL file with the database table structure
        + +
        + createTable() + +  : string +
        +
        Convenience public function to generate sql for creating a db table
        + +
        + deleteTable() + +  : string +
        +
        Drop the selected table
        + +
        + getDriver() + +  : DriverInterface +
        +
        Get the driver object for the current connection
        + +
        + + + + + + + +
        +

        + Methods + +

        +
        +

        + __construct() + +

        + + +

        Save a reference to the connection object for later use

        + + + public + __construct(DriverInterface $connection) : mixed + + +
        Parameters
        +
        +
        + $connection + : DriverInterface +
        +
        +
        + +
        +
        + + + +
        Return values
        + mixed + — + + +
        +
        +

        + backupData() + +

        + + +

        Return an SQL file with the database data as insert statements

        + + + public + abstract backupData() : string + + + + +
        + Tags + +
        +
        +
        + abstract +
        +
        + + +
        +
        + +
        Return values
        + string + — + + +
        +
        +

        + backupStructure() + +

        + + +

        Return an SQL file with the database table structure

        + + + public + abstract backupStructure() : string + + + + +
        + Tags + +
        +
        +
        + abstract +
        +
        + + +
        +
        + +
        Return values
        + string + — + + +
        +
        +

        + createTable() + +

        + + +

        Convenience public function to generate sql for creating a db table

        + + + public + createTable(string $name, array<string|int, mixed> $fields[, array<string|int, mixed> $constraints = [] ][, bool $ifNotExists = TRUE ]) : string + + +
        Parameters
        +
        +
        + $name + : string +
        +
        +
        + +
        +
        + $fields + : array<string|int, mixed> +
        +
        +
        + +
        +
        + $constraints + : array<string|int, mixed> + = []
        +
        +
        + +
        +
        + $ifNotExists + : bool + = TRUE
        +
        +
        + +
        +
        + + + +
        Return values
        + string + — + + +
        +
        +

        + deleteTable() + +

        + + +

        Drop the selected table

        + + + public + deleteTable(string $name) : string + + +
        Parameters
        +
        +
        + $name + : string +
        +
        +
        + +
        +
        + + + +
        Return values
        + string + — + + +
        + +
        + +
        +
        +
        +
        +
        
        +        
        + +
        +
        + + + +
        +
        +
        +
        +

        Search results

        + +
        +
        +
          +
          +
          +
          +
          +
          + + +
          + + + + + + + + diff --git a/apiDocumentation/classes/Query-Drivers-DriverInterface.html b/apiDocumentation/classes/Query-Drivers-DriverInterface.html new file mode 100644 index 0000000..68107d6 --- /dev/null +++ b/apiDocumentation/classes/Query-Drivers-DriverInterface.html @@ -0,0 +1,1819 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
          +

          Documentation

          + + + + + +
          + +
          +
          + + + + +
          + + +
          +

          + DriverInterface +
          + in + +
          +

          + + + +

          PDO Interface to implement for database drivers

          + + + + + + + + + +

          + Table of Contents + +

          + +
          +
          + __construct() + +  : mixed +
          +
          Constructor/Connection method
          + +
          + affectedRows() + +  : int +
          +
          Returns number of rows affected by an INSERT, UPDATE, DELETE type query
          + +
          + driverQuery() + +  : array<string|int, mixed>|null +
          +
          Method to simplify retrieving db results for meta-data queries
          + +
          + getColumns() + +  : array<string|int, mixed>|null +
          +
          Retrieve column information for the current database table
          + +
          + getDbs() + +  : array<string|int, mixed>|null +
          +
          Return list of dbs for the current connection, if possible
          + +
          + getFks() + +  : array<string|int, mixed>|null +
          +
          Retrieve foreign keys for the table
          + +
          + getFunctions() + +  : array<string|int, mixed>|null +
          +
          Return list of functions for the current database
          + +
          + getIndexes() + +  : array<string|int, mixed>|null +
          +
          Retrieve indexes for the table
          + +
          + getLastQuery() + +  : string +
          +
          Get the last sql query executed
          + +
          + getProcedures() + +  : array<string|int, mixed>|null +
          +
          Return list of stored procedures for the current database
          + +
          + getSchemas() + +  : array<string|int, mixed>|null +
          +
          Return schemas for databases that list them. Returns +database list if schemas are databases for the current driver.
          + +
          + getSequences() + +  : array<string|int, mixed>|null +
          +
          Return list of sequences for the current database, if they exist
          + +
          + getSql() + +  : SQLInterface +
          +
          Get the SQL class for the current driver
          + +
          + getSystemTables() + +  : array<string|int, mixed>|null +
          +
          Retrieves an array of non-user-created tables for +the connection/database
          + +
          + getTables() + +  : array<string|int, mixed>|null +
          +
          Return list of tables for the current database
          + +
          + getTriggers() + +  : array<string|int, mixed>|null +
          +
          Return list of triggers for the current database
          + +
          + getTypes() + +  : array<string|int, mixed>|null +
          +
          Retrieve list of data types for the database
          + +
          + getUtil() + +  : AbstractUtil +
          +
          Get the Util class for the current driver
          + +
          + getVersion() + +  : string +
          +
          Get the version of the database engine
          + +
          + getViews() + +  : array<string|int, mixed>|null +
          +
          Return list of views for the current database
          + +
          + insertBatch() + +  : array<string|int, mixed> +
          +
          Create sql for batch insert
          + +
          + numRows() + +  : int|null +
          +
          Return the number of rows returned for a SELECT query
          + +
          + prefixTable() + +  : string +
          +
          Prefixes a table if it is not already prefixed
          + +
          + prepareExecute() + +  : PDOStatement +
          +
          Create and execute a prepared statement with the provided parameters
          + +
          + prepareQuery() + +  : PDOStatement +
          +
          Simplifies prepared statements for database queries
          + +
          + quoteIdent() + +  : string|array<string|int, mixed> +
          +
          Surrounds the string with the databases identifier escape characters
          + +
          + quoteTable() + +  : string +
          +
          Quote database table name, and set prefix
          + +
          + setLastQuery() + +  : void +
          +
          Set the last query sql
          + +
          + setTablePrefix() + +  : void +
          +
          Set the common table name prefix
          + +
          + truncate() + +  : PDOStatement +
          +
          Empty the passed table
          + +
          + updateBatch() + +  : array<string|int, mixed> +
          +
          Creates a batch update, and executes it.
          + +
          + + + + + +
          +

          + Methods + +

          +
          +

          + __construct() + +

          + + +

          Constructor/Connection method

          + + + public + __construct(string $dsn[, string $username = NULL ][, string $password = NULL ][, array<string|int, mixed> $driverOptions = [] ]) : mixed + + +
          Parameters
          +
          +
          + $dsn + : string +
          +
          +
          + +
          +
          + $username + : string + = NULL
          +
          +
          + +
          +
          + $password + : string + = NULL
          +
          +
          + +
          +
          + $driverOptions + : array<string|int, mixed> + = []
          +
          +
          + +
          +
          + + + +
          Return values
          + mixed + — + + +
          +
          +

          + affectedRows() + +

          + + +

          Returns number of rows affected by an INSERT, UPDATE, DELETE type query

          + + + public + affectedRows() : int + + + + + +
          Return values
          + int + — + + +
          +
          +

          + driverQuery() + +

          + + +

          Method to simplify retrieving db results for meta-data queries

          + + + public + driverQuery(string|array<string|int, mixed> $query[, bool $filteredIndex = TRUE ]) : array<string|int, mixed>|null + + +
          Parameters
          +
          +
          + $query + : string|array<string|int, mixed> +
          +
          +
          + +
          +
          + $filteredIndex + : bool + = TRUE
          +
          +
          + +
          +
          + + + +
          Return values
          + array<string|int, mixed>|null + — + + +
          +
          +

          + getColumns() + +

          + + +

          Retrieve column information for the current database table

          + + + public + getColumns(string $table) : array<string|int, mixed>|null + + +
          Parameters
          +
          +
          + $table + : string +
          +
          +
          + +
          +
          + + + +
          Return values
          + array<string|int, mixed>|null + — + + +
          +
          +

          + getDbs() + +

          + + +

          Return list of dbs for the current connection, if possible

          + + + public + getDbs() : array<string|int, mixed>|null + + + + + +
          Return values
          + array<string|int, mixed>|null + — + + +
          +
          +

          + getFks() + +

          + + +

          Retrieve foreign keys for the table

          + + + public + getFks(string $table) : array<string|int, mixed>|null + + +
          Parameters
          +
          +
          + $table + : string +
          +
          +
          + +
          +
          + + + +
          Return values
          + array<string|int, mixed>|null + — + + +
          +
          +

          + getFunctions() + +

          + + +

          Return list of functions for the current database

          + + + public + getFunctions() : array<string|int, mixed>|null + + + + +
          + Tags + +
          +
          +
          + deprecated +
          +
          + +

          Will be removed in next version

          +
          + +
          +
          + +
          Return values
          + array<string|int, mixed>|null + — + + +
          +
          +

          + getIndexes() + +

          + + +

          Retrieve indexes for the table

          + + + public + getIndexes(string $table) : array<string|int, mixed>|null + + +
          Parameters
          +
          +
          + $table + : string +
          +
          +
          + +
          +
          + + + +
          Return values
          + array<string|int, mixed>|null + — + + +
          +
          +

          + getLastQuery() + +

          + + +

          Get the last sql query executed

          + + + public + getLastQuery() : string + + + + + +
          Return values
          + string + — + + +
          +
          +

          + getProcedures() + +

          + + +

          Return list of stored procedures for the current database

          + + + public + getProcedures() : array<string|int, mixed>|null + + + + +
          + Tags + +
          +
          +
          + deprecated +
          +
          + +

          Will be removed in next version

          +
          + +
          +
          + +
          Return values
          + array<string|int, mixed>|null + — + + +
          +
          +

          + getSchemas() + +

          + + +

          Return schemas for databases that list them. Returns +database list if schemas are databases for the current driver.

          + + + public + getSchemas() : array<string|int, mixed>|null + + + + + +
          Return values
          + array<string|int, mixed>|null + — + + +
          +
          +

          + getSequences() + +

          + + +

          Return list of sequences for the current database, if they exist

          + + + public + getSequences() : array<string|int, mixed>|null + + + + + +
          Return values
          + array<string|int, mixed>|null + — + + +
          + +
          +

          + getSystemTables() + +

          + + +

          Retrieves an array of non-user-created tables for +the connection/database

          + + + public + getSystemTables() : array<string|int, mixed>|null + + + + + +
          Return values
          + array<string|int, mixed>|null + — + + +
          +
          +

          + getTables() + +

          + + +

          Return list of tables for the current database

          + + + public + getTables() : array<string|int, mixed>|null + + + + + +
          Return values
          + array<string|int, mixed>|null + — + + +
          +
          +

          + getTriggers() + +

          + + +

          Return list of triggers for the current database

          + + + public + getTriggers() : array<string|int, mixed>|null + + + + +
          + Tags + +
          +
          +
          + deprecated +
          +
          + +

          Will be removed in next version

          +
          + +
          +
          + +
          Return values
          + array<string|int, mixed>|null + — + + +
          +
          +

          + getTypes() + +

          + + +

          Retrieve list of data types for the database

          + + + public + getTypes() : array<string|int, mixed>|null + + + + + +
          Return values
          + array<string|int, mixed>|null + — + + +
          + +
          +

          + getVersion() + +

          + + +

          Get the version of the database engine

          + + + public + getVersion() : string + + + + + +
          Return values
          + string + — + + +
          +
          +

          + getViews() + +

          + + +

          Return list of views for the current database

          + + + public + getViews() : array<string|int, mixed>|null + + + + + +
          Return values
          + array<string|int, mixed>|null + — + + +
          +
          +

          + insertBatch() + +

          + + +

          Create sql for batch insert

          + + + public + insertBatch(string $table[, array<string|int, mixed> $data = [] ]) : array<string|int, mixed> + + +
          Parameters
          +
          +
          + $table + : string +
          +
          +
          + +
          +
          + $data + : array<string|int, mixed> + = []
          +
          +
          + +
          +
          + + + +
          Return values
          + array<string|int, mixed> + — + + +
          + +
          +

          + prefixTable() + +

          + + +

          Prefixes a table if it is not already prefixed

          + + + public + prefixTable(string $table) : string + + +
          Parameters
          +
          +
          + $table + : string +
          +
          +
          + +
          +
          + + + +
          Return values
          + string + — + + +
          +
          +

          + prepareExecute() + +

          + + +

          Create and execute a prepared statement with the provided parameters

          + + + public + prepareExecute(string $sql, array<string|int, mixed> $params) : PDOStatement + + +
          Parameters
          +
          +
          + $sql + : string +
          +
          +
          + +
          +
          + $params + : array<string|int, mixed> +
          +
          +
          + +
          +
          + + + +
          Return values
          + PDOStatement + — + + +
          +
          +

          + prepareQuery() + +

          + + +

          Simplifies prepared statements for database queries

          + + + public + prepareQuery(string $sql, array<string|int, mixed> $data) : PDOStatement + + +
          Parameters
          +
          +
          + $sql + : string +
          +
          +
          + +
          +
          + $data + : array<string|int, mixed> +
          +
          +
          + +
          +
          + + + +
          Return values
          + PDOStatement + — + + +
          +
          +

          + quoteIdent() + +

          + + +

          Surrounds the string with the databases identifier escape characters

          + + + public + quoteIdent(string|array<string|int, mixed> $identifier) : string|array<string|int, mixed> + + +
          Parameters
          +
          +
          + $identifier + : string|array<string|int, mixed> +
          +
          +
          + +
          +
          + + + +
          Return values
          + string|array<string|int, mixed> + — + + +
          +
          +

          + quoteTable() + +

          + + +

          Quote database table name, and set prefix

          + + + public + quoteTable(string $table) : string + + +
          Parameters
          +
          +
          + $table + : string +
          +
          +
          + +
          +
          + + + +
          Return values
          + string + — + + +
          +
          +

          + setLastQuery() + +

          + + +

          Set the last query sql

          + + + public + setLastQuery(string $queryString) : void + + +
          Parameters
          +
          +
          + $queryString + : string +
          +
          +
          + +
          +
          + + + +
          Return values
          + void + — + + +
          +
          +

          + setTablePrefix() + +

          + + +

          Set the common table name prefix

          + + + public + setTablePrefix(string $prefix) : void + + +
          Parameters
          +
          +
          + $prefix + : string +
          +
          +
          + +
          +
          + + + +
          Return values
          + void + — + + +
          +
          +

          + truncate() + +

          + + +

          Empty the passed table

          + + + public + truncate(string $table) : PDOStatement + + +
          Parameters
          +
          +
          + $table + : string +
          +
          +
          + +
          +
          + + + +
          Return values
          + PDOStatement + — + + +
          +
          +

          + updateBatch() + +

          + + +

          Creates a batch update, and executes it.

          + + + public + updateBatch(string $table, array<string|int, mixed> $data, string $where) : array<string|int, mixed> + +

          Returns the number of affected rows

          +
          + +
          Parameters
          +
          +
          + $table + : string +
          +
          +
          + +
          +
          + $data + : array<string|int, mixed> +
          +
          +
          + +
          +
          + $where + : string +
          +
          +
          + +
          +
          + + + +
          Return values
          + array<string|int, mixed> + — + + +
          +
          + +
          +
          +
          +
          +
          
          +        
          + +
          +
          + + + +
          +
          +
          +
          +

          Search results

          + +
          +
          +
            +
            +
            +
            +
            +
            + + +
            + + + + + + + + diff --git a/apiDocumentation/classes/Query-Drivers-Mysql-Driver.html b/apiDocumentation/classes/Query-Drivers-Mysql-Driver.html new file mode 100644 index 0000000..5b8ea23 --- /dev/null +++ b/apiDocumentation/classes/Query-Drivers-Mysql-Driver.html @@ -0,0 +1,2041 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
            +

            Documentation

            + + + + + +
            + +
            +
            + + + + +
            + + +
            +

            + Driver + + + extends AbstractDriver + + +
            + in package + +
            + + +

            + + + +

            MySQL specific class

            + + + + + + + + + +

            + Table of Contents + +

            + +
            +
            + __call() + +  : mixed +
            +
            Allow invoke to work on table object
            + +
            + __construct() + +  : mixed +
            +
            Connect to MySQL Database
            + +
            + _quote() + +  : mixed +
            +
            Helper method for quote_ident
            + +
            + affectedRows() + +  : int +
            +
            Returns number of rows affected by an INSERT, UPDATE, DELETE type query
            + +
            + driverQuery() + +  : array<string|int, mixed>|null +
            +
            Method to simplify retrieving db results for meta-data queries
            + +
            + getColumns() + +  : array<string|int, mixed>|null +
            +
            Retrieve column information for the current database table
            + +
            + getDbs() + +  : array<string|int, mixed>|null +
            +
            Return list of dbs for the current connection, if possible
            + +
            + getFks() + +  : array<string|int, mixed>|null +
            +
            Retrieve foreign keys for the table
            + +
            + getFunctions() + +  : array<string|int, mixed>|null +
            +
            Return list of functions for the current database
            + +
            + getIndexes() + +  : array<string|int, mixed>|null +
            +
            Retrieve indexes for the table
            + +
            + getLastQuery() + +  : string +
            +
            Get the last sql query executed
            + +
            + getProcedures() + +  : array<string|int, mixed>|null +
            +
            Return list of stored procedures for the current database
            + +
            + getSchemas() + +  : array<string|int, mixed>|null +
            +
            Return schemas for databases that list them
            + +
            + getSequences() + +  : array<string|int, mixed>|null +
            +
            Return list of sequences for the current database, if they exist
            + +
            + getSql() + +  : SQLInterface +
            +
            Get the SQL class for the current driver
            + +
            + getSystemTables() + +  : array<string|int, mixed>|null +
            +
            Retrieves an array of non-user-created tables for +the connection/database
            + +
            + getTables() + +  : array<string|int, mixed>|null +
            +
            Return list of tables for the current database
            + +
            + getTriggers() + +  : array<string|int, mixed>|null +
            +
            Return list of triggers for the current database
            + +
            + getTypes() + +  : array<string|int, mixed>|null +
            +
            Retrieve list of data types for the database
            + +
            + getUtil() + +  : AbstractUtil +
            +
            Get the Util class for the current driver
            + +
            + getVersion() + +  : string +
            +
            Get the version of the database engine
            + +
            + getViews() + +  : array<string|int, mixed>|null +
            +
            Return list of views for the current database
            + +
            + insertBatch() + +  : array<string|int, mixed> +
            +
            Create sql for batch insert
            + +
            + numRows() + +  : int|null +
            +
            Return the number of rows returned for a SELECT query
            + +
            + prefixTable() + +  : string +
            +
            Prefixes a table if it is not already prefixed
            + +
            + prepareExecute() + +  : PDOStatement +
            +
            Create and execute a prepared statement with the provided parameters
            + +
            + prepareQuery() + +  : PDOStatement +
            +
            Simplifies prepared statements for database queries
            + +
            + quoteIdent() + +  : string|array<string|int, mixed> +
            +
            Surrounds the string with the databases identifier escape characters
            + +
            + quoteTable() + +  : string +
            +
            Quote database table name, and set prefix
            + +
            + returning() + +  : string +
            +
            Generate the returning clause for the current database
            + +
            + setLastQuery() + +  : void +
            +
            Set the last query sql
            + +
            + setTablePrefix() + +  : void +
            +
            Set the common table name prefix
            + +
            + truncate() + +  : PDOStatement +
            +
            Empty the passed table
            + +
            + updateBatch() + +  : array<string|int, mixed> +
            +
            Creates a batch update, and executes it.
            + +
            + + + + + + + +
            +

            + Methods + +

            +
            +

            + __call() + +

            + + +

            Allow invoke to work on table object

            + + + public + __call(string $name[, array<string|int, mixed> $args = [] ]) : mixed + + +
            Parameters
            +
            +
            + $name + : string +
            +
            +
            + +
            +
            + $args + : array<string|int, mixed> + = []
            +
            +
            + +
            +
            + + +
            + Tags + +
            +
            +
            + codeCoverageIgnore +
            +
            + + +
            +
            + +
            Return values
            + mixed + — + + +
            +
            +

            + __construct() + +

            + + +

            Connect to MySQL Database

            + + + public + __construct(string $dsn[, string $username = NULL ][, string $password = NULL ][, array<string|int, mixed> $options = [] ]) : mixed + + +
            Parameters
            +
            +
            + $dsn + : string +
            +
            +
            + +
            +
            + $username + : string + = NULL
            +
            +
            + +
            +
            + $password + : string + = NULL
            +
            +
            + +
            +
            + $options + : array<string|int, mixed> + = []
            +
            +
            + +
            +
            + + +
            + Tags + +
            +
            +
            + codeCoverageIgnore +
            +
            + + +
            +
            + +
            Return values
            + mixed + — + + +
            +
            +

            + _quote() + +

            + + +

            Helper method for quote_ident

            + + + public + _quote(mixed $str) : mixed + + +
            Parameters
            +
            +
            + $str + : mixed +
            +
            + +
            +
            + + + +
            Return values
            + mixed + — + + +
            +
            +

            + affectedRows() + +

            + + +

            Returns number of rows affected by an INSERT, UPDATE, DELETE type query

            + + + public + affectedRows() : int + + + + + +
            Return values
            + int + — + + +
            +
            +

            + driverQuery() + +

            + + +

            Method to simplify retrieving db results for meta-data queries

            + + + public + driverQuery(string|array<string|int, mixed> $query[, bool $filteredIndex = TRUE ]) : array<string|int, mixed>|null + + +
            Parameters
            +
            +
            + $query + : string|array<string|int, mixed> +
            +
            +
            + +
            +
            + $filteredIndex + : bool + = TRUE
            +
            +
            + +
            +
            + + + +
            Return values
            + array<string|int, mixed>|null + — + + +
            +
            +

            + getColumns() + +

            + + +

            Retrieve column information for the current database table

            + + + public + getColumns(string $table) : array<string|int, mixed>|null + + +
            Parameters
            +
            +
            + $table + : string +
            +
            +
            + +
            +
            + + + +
            Return values
            + array<string|int, mixed>|null + — + + +
            +
            +

            + getDbs() + +

            + + +

            Return list of dbs for the current connection, if possible

            + + + public + getDbs() : array<string|int, mixed>|null + + + + + +
            Return values
            + array<string|int, mixed>|null + — + + +
            +
            +

            + getFks() + +

            + + +

            Retrieve foreign keys for the table

            + + + public + getFks(string $table) : array<string|int, mixed>|null + + +
            Parameters
            +
            +
            + $table + : string +
            +
            +
            + +
            +
            + + + +
            Return values
            + array<string|int, mixed>|null + — + + +
            +
            +

            + getFunctions() + +

            + + +

            Return list of functions for the current database

            + + + public + getFunctions() : array<string|int, mixed>|null + + + + +
            + Tags + +
            +
            +
            + deprecated +
            +
            + +

            Will be removed in next version

            +
            + +
            +
            + +
            Return values
            + array<string|int, mixed>|null + — + + +
            +
            +

            + getIndexes() + +

            + + +

            Retrieve indexes for the table

            + + + public + getIndexes(string $table) : array<string|int, mixed>|null + + +
            Parameters
            +
            +
            + $table + : string +
            +
            +
            + +
            +
            + + + +
            Return values
            + array<string|int, mixed>|null + — + + +
            +
            +

            + getLastQuery() + +

            + + +

            Get the last sql query executed

            + + + public + getLastQuery() : string + + + + + +
            Return values
            + string + — + + +
            +
            +

            + getProcedures() + +

            + + +

            Return list of stored procedures for the current database

            + + + public + getProcedures() : array<string|int, mixed>|null + + + + +
            + Tags + +
            +
            +
            + deprecated +
            +
            + +

            Will be removed in next version

            +
            + +
            +
            + +
            Return values
            + array<string|int, mixed>|null + — + + +
            +
            +

            + getSchemas() + +

            + + +

            Return schemas for databases that list them

            + + + public + getSchemas() : array<string|int, mixed>|null + + + + + +
            Return values
            + array<string|int, mixed>|null + — + + +
            +
            +

            + getSequences() + +

            + + +

            Return list of sequences for the current database, if they exist

            + + + public + getSequences() : array<string|int, mixed>|null + + + + + +
            Return values
            + array<string|int, mixed>|null + — + + +
            + +
            +

            + getSystemTables() + +

            + + +

            Retrieves an array of non-user-created tables for +the connection/database

            + + + public + getSystemTables() : array<string|int, mixed>|null + + + + + +
            Return values
            + array<string|int, mixed>|null + — + + +
            +
            +

            + getTables() + +

            + + +

            Return list of tables for the current database

            + + + public + getTables() : array<string|int, mixed>|null + + + + + +
            Return values
            + array<string|int, mixed>|null + — + + +
            +
            +

            + getTriggers() + +

            + + +

            Return list of triggers for the current database

            + + + public + getTriggers() : array<string|int, mixed>|null + + + + +
            + Tags + +
            +
            +
            + deprecated +
            +
            + +

            Will be removed in next version

            +
            + +
            +
            + +
            Return values
            + array<string|int, mixed>|null + — + + +
            +
            +

            + getTypes() + +

            + + +

            Retrieve list of data types for the database

            + + + public + getTypes() : array<string|int, mixed>|null + + + + + +
            Return values
            + array<string|int, mixed>|null + — + + +
            + +
            +

            + getVersion() + +

            + + +

            Get the version of the database engine

            + + + public + getVersion() : string + + + + + +
            Return values
            + string + — + + +
            +
            +

            + getViews() + +

            + + +

            Return list of views for the current database

            + + + public + getViews() : array<string|int, mixed>|null + + + + + +
            Return values
            + array<string|int, mixed>|null + — + + +
            +
            +

            + insertBatch() + +

            + + +

            Create sql for batch insert

            + + + public + insertBatch(string $table[, array<string|int, mixed> $data = [] ]) : array<string|int, mixed> + + +
            Parameters
            +
            +
            + $table + : string +
            +
            +
            + +
            +
            + $data + : array<string|int, mixed> + = []
            +
            +
            + +
            +
            + + + +
            Return values
            + array<string|int, mixed> + — + + +
            + +
            +

            + prefixTable() + +

            + + +

            Prefixes a table if it is not already prefixed

            + + + public + prefixTable(string $table) : string + + +
            Parameters
            +
            +
            + $table + : string +
            +
            +
            + +
            +
            + + + +
            Return values
            + string + — + + +
            +
            +

            + prepareExecute() + +

            + + +

            Create and execute a prepared statement with the provided parameters

            + + + public + prepareExecute(string $sql, array<string|int, mixed> $params) : PDOStatement + + +
            Parameters
            +
            +
            + $sql + : string +
            +
            +
            + +
            +
            + $params + : array<string|int, mixed> +
            +
            +
            + +
            +
            + + +
            + Tags + +
            +
            +
            + throws +
            +
            + InvalidArgumentException + + +
            +
            + +
            Return values
            + PDOStatement + — + + +
            +
            +

            + prepareQuery() + +

            + + +

            Simplifies prepared statements for database queries

            + + + public + prepareQuery(string $sql, array<string|int, mixed> $data) : PDOStatement + + +
            Parameters
            +
            +
            + $sql + : string +
            +
            +
            + +
            +
            + $data + : array<string|int, mixed> +
            +
            +
            + +
            +
            + + + +
            Return values
            + PDOStatement + — + + +
            +
            +

            + quoteIdent() + +

            + + +

            Surrounds the string with the databases identifier escape characters

            + + + public + quoteIdent(string|array<string|int, mixed> $identifier) : string|array<string|int, mixed> + + +
            Parameters
            +
            +
            + $identifier + : string|array<string|int, mixed> +
            +
            +
            + +
            +
            + + + +
            Return values
            + string|array<string|int, mixed> + — + + +
            +
            +

            + quoteTable() + +

            + + +

            Quote database table name, and set prefix

            + + + public + quoteTable(string $table) : string + + +
            Parameters
            +
            +
            + $table + : string +
            +
            +
            + +
            +
            + + + +
            Return values
            + string + — + + +
            +
            +

            + returning() + +

            + + +

            Generate the returning clause for the current database

            + + + public + returning(string $query, string $select) : string + + +
            Parameters
            +
            +
            + $query + : string +
            +
            +
            + +
            +
            + $select + : string +
            +
            +
            + +
            +
            + + + +
            Return values
            + string + — + + +
            +
            +

            + setLastQuery() + +

            + + +

            Set the last query sql

            + + + public + setLastQuery(string $queryString) : void + + +
            Parameters
            +
            +
            + $queryString + : string +
            +
            +
            + +
            +
            + + + +
            Return values
            + void + — + + +
            +
            +

            + setTablePrefix() + +

            + + +

            Set the common table name prefix

            + + + public + setTablePrefix(string $prefix) : void + + +
            Parameters
            +
            +
            + $prefix + : string +
            +
            +
            + +
            +
            + + + +
            Return values
            + void + — + + +
            +
            +

            + truncate() + +

            + + +

            Empty the passed table

            + + + public + truncate(string $table) : PDOStatement + + +
            Parameters
            +
            +
            + $table + : string +
            +
            +
            + +
            +
            + + + +
            Return values
            + PDOStatement + — + + +
            +
            +

            + updateBatch() + +

            + + +

            Creates a batch update, and executes it.

            + + + public + updateBatch(string $table, array<string|int, mixed> $data, string $where) : array<string|int, mixed> + +

            Returns the number of affected rows

            +
            + +
            Parameters
            +
            +
            + $table + : string +
            +
            +

            The table to update

            +
            + +
            +
            + $data + : array<string|int, mixed> +
            +
            +

            an array of update values

            +
            + +
            +
            + $where + : string +
            +
            +

            The where key

            +
            + +
            +
            + + + +
            Return values
            + array<string|int, mixed> + — + + +
            +
            + +
            +
            +
            +
            +
            
            +        
            + +
            +
            + + + +
            +
            +
            +
            +

            Search results

            + +
            +
            +
              +
              +
              +
              +
              +
              + + +
              + + + + + + + + diff --git a/apiDocumentation/classes/Query-Drivers-Mysql-SQL.html b/apiDocumentation/classes/Query-Drivers-Mysql-SQL.html new file mode 100644 index 0000000..d63cc0e --- /dev/null +++ b/apiDocumentation/classes/Query-Drivers-Mysql-SQL.html @@ -0,0 +1,994 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
              +

              Documentation

              + + + + + +
              + +
              +
              + + + + +
              + + +
              +

              + SQL + + + extends AbstractSQL + + +
              + in package + +
              + + +

              + + + +

              MySQL specific SQL

              + + + + + + + + + +

              + Table of Contents + +

              + +
              +
              + columnList() + +  : string +
              +
              SQL to show information about columns in a table
              + +
              + dbList() + +  : string +
              +
              Returns sql to list other databases
              + +
              + explain() + +  : string +
              +
              Get the query plan for the sql query
              + +
              + fkList() + +  : string +
              +
              Get the list of foreign keys for the current +table
              + +
              + functionList() + +  : string +
              +
              Return sql to list functions
              + +
              + indexList() + +  : string +
              +
              Get the list of indexes for the current table
              + +
              + limit() + +  : string +
              +
              Limit clause
              + +
              + procedureList() + +  : string +
              +
              Return sql to list stored procedures
              + +
              + random() + +  : string +
              +
              Random ordering keyword
              + +
              + sequenceList() + +  : string|null +
              +
              Return sql to list sequences
              + +
              + systemTableList() + +  : string +
              +
              Overridden in MySQL class
              + +
              + tableList() + +  : string +
              +
              Returns sql to list tables
              + +
              + triggerList() + +  : string +
              +
              Returns sql to list triggers
              + +
              + typeList() + +  : string +
              +
              SQL to show list of field types
              + +
              + viewList() + +  : string +
              +
              Returns sql to list views
              + +
              + + + + + + + +
              +

              + Methods + +

              +
              +

              + columnList() + +

              + + +

              SQL to show information about columns in a table

              + + + public + columnList(string $table) : string + + +
              Parameters
              +
              +
              + $table + : string +
              +
              +
              + +
              +
              + + + +
              Return values
              + string + — + + +
              +
              +

              + dbList() + +

              + + +

              Returns sql to list other databases

              + + + public + dbList() : string + + + + + +
              Return values
              + string + — + + +
              +
              +

              + explain() + +

              + + +

              Get the query plan for the sql query

              + + + public + explain(string $sql) : string + + +
              Parameters
              +
              +
              + $sql + : string +
              +
              +
              + +
              +
              + + + +
              Return values
              + string + — + + +
              +
              +

              + fkList() + +

              + + +

              Get the list of foreign keys for the current +table

              + + + public + fkList(string $table) : string + + +
              Parameters
              +
              +
              + $table + : string +
              +
              +
              + +
              +
              + + + +
              Return values
              + string + — + + +
              +
              +

              + functionList() + +

              + + +

              Return sql to list functions

              + + + public + functionList() : string + + + + +
              + Tags + +
              +
              +
              + codeCoverageIgnore +
              +
              + + +
              +
              + +
              Return values
              + string + — + + +
              +
              +

              + indexList() + +

              + + +

              Get the list of indexes for the current table

              + + + public + indexList(string $table) : string + + +
              Parameters
              +
              +
              + $table + : string +
              +
              +
              + +
              +
              + + + +
              Return values
              + string + — + + +
              +
              +

              + limit() + +

              + + +

              Limit clause

              + + + public + limit(string $sql, int $limit[, int|null $offset = NULL ]) : string + + +
              Parameters
              +
              +
              + $sql + : string +
              +
              +
              + +
              +
              + $limit + : int +
              +
              +
              + +
              +
              + $offset + : int|null + = NULL
              +
              +
              + +
              +
              + + + +
              Return values
              + string + — + + +
              +
              +

              + procedureList() + +

              + + +

              Return sql to list stored procedures

              + + + public + procedureList() : string + + + + +
              + Tags + +
              +
              +
              + codeCoverageIgnore +
              +
              + + +
              +
              + +
              Return values
              + string + — + + +
              +
              +

              + random() + +

              + + +

              Random ordering keyword

              + + + public + random() : string + + + + + +
              Return values
              + string + — + + +
              +
              +

              + sequenceList() + +

              + + +

              Return sql to list sequences

              + + + public + sequenceList() : string|null + + + + + +
              Return values
              + string|null + — + + +
              +
              +

              + systemTableList() + +

              + + +

              Overridden in MySQL class

              + + + public + systemTableList() : string + + + + + +
              Return values
              + string + — + + +
              +
              +

              + tableList() + +

              + + +

              Returns sql to list tables

              + + + public + tableList([string $database = '' ]) : string + + +
              Parameters
              +
              +
              + $database + : string + = ''
              +
              +
              + +
              +
              + + + +
              Return values
              + string + — + + +
              +
              +

              + triggerList() + +

              + + +

              Returns sql to list triggers

              + + + public + triggerList() : string + + + + +
              + Tags + +
              +
              +
              + codeCoverageIgnore +
              +
              + + +
              +
              + +
              Return values
              + string + — + + +
              +
              +

              + typeList() + +

              + + +

              SQL to show list of field types

              + + + public + typeList() : string + + + + + +
              Return values
              + string + — + + +
              +
              +

              + viewList() + +

              + + +

              Returns sql to list views

              + + + public + viewList() : string + + + + + +
              Return values
              + string + — + + +
              +
              + +
              +
              +
              +
              +
              
              +        
              + +
              +
              + + + +
              +
              +
              +
              +

              Search results

              + +
              +
              +
                +
                +
                +
                +
                +
                + + +
                + + + + + + + + diff --git a/apiDocumentation/classes/Query-Drivers-Mysql-Util.html b/apiDocumentation/classes/Query-Drivers-Mysql-Util.html new file mode 100644 index 0000000..f8bb428 --- /dev/null +++ b/apiDocumentation/classes/Query-Drivers-Mysql-Util.html @@ -0,0 +1,570 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                +

                Documentation

                + + + + + +
                + +
                +
                + + + + +
                + + +
                +

                + Util + + + extends AbstractUtil + + +
                + in package + +
                + + +

                + + + +

                MySQL-specific backup, import and creation methods

                + + + + + + + + + +

                + Table of Contents + +

                + +
                +
                + __construct() + +  : mixed +
                +
                Save a reference to the connection object for later use
                + +
                + backupData() + +  : string +
                +
                Create an SQL backup file for the current database's data
                + +
                + backupStructure() + +  : string +
                +
                Create an SQL backup file for the current database's structure
                + +
                + createTable() + +  : string +
                +
                Convenience public function to generate sql for creating a db table
                + +
                + deleteTable() + +  : string +
                +
                Drop the selected table
                + +
                + getDriver() + +  : DriverInterface +
                +
                Get the driver object for the current connection
                + +
                + + + + + + + +
                +

                + Methods + +

                +
                +

                + __construct() + +

                + + +

                Save a reference to the connection object for later use

                + + + public + __construct(DriverInterface $connection) : mixed + + +
                Parameters
                +
                +
                + $connection + : DriverInterface +
                +
                +
                + +
                +
                + + + +
                Return values
                + mixed + — + + +
                +
                +

                + backupData() + +

                + + +

                Create an SQL backup file for the current database's data

                + + + public + backupData([array<string|int, mixed> $exclude = [] ]) : string + + +
                Parameters
                +
                +
                + $exclude + : array<string|int, mixed> + = []
                +
                +
                + +
                +
                + + + +
                Return values
                + string + — + + +
                +
                +

                + backupStructure() + +

                + + +

                Create an SQL backup file for the current database's structure

                + + + public + backupStructure() : string + + + + + +
                Return values
                + string + — + + +
                +
                +

                + createTable() + +

                + + +

                Convenience public function to generate sql for creating a db table

                + + + public + createTable(string $name, array<string|int, mixed> $fields[, array<string|int, mixed> $constraints = [] ][, bool $ifNotExists = TRUE ]) : string + + +
                Parameters
                +
                +
                + $name + : string +
                +
                +
                + +
                +
                + $fields + : array<string|int, mixed> +
                +
                +
                + +
                +
                + $constraints + : array<string|int, mixed> + = []
                +
                +
                + +
                +
                + $ifNotExists + : bool + = TRUE
                +
                +
                + +
                +
                + + + +
                Return values
                + string + — + + +
                +
                +

                + deleteTable() + +

                + + +

                Drop the selected table

                + + + public + deleteTable(string $name) : string + + +
                Parameters
                +
                +
                + $name + : string +
                +
                +
                + +
                +
                + + + +
                Return values
                + string + — + + +
                + +
                + +
                +
                +
                +
                +
                
                +        
                + +
                +
                + + + +
                +
                +
                +
                +

                Search results

                + +
                +
                +
                  +
                  +
                  +
                  +
                  +
                  + + +
                  + + + + + + + + diff --git a/apiDocumentation/classes/Query-Drivers-Pgsql-Driver.html b/apiDocumentation/classes/Query-Drivers-Pgsql-Driver.html new file mode 100644 index 0000000..8d6daa7 --- /dev/null +++ b/apiDocumentation/classes/Query-Drivers-Pgsql-Driver.html @@ -0,0 +1,2041 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                  +

                  Documentation

                  + + + + + +
                  + +
                  +
                  + + + + +
                  + + +
                  +

                  + Driver + + + extends AbstractDriver + + +
                  + in package + +
                  + + +

                  + + + +

                  PostgreSQL specific class

                  + + + + + + + + + +

                  + Table of Contents + +

                  + +
                  +
                  + __call() + +  : mixed +
                  +
                  Allow invoke to work on table object
                  + +
                  + __construct() + +  : mixed +
                  +
                  Connect to a PosgreSQL database
                  + +
                  + _quote() + +  : mixed +
                  +
                  Helper method for quote_ident
                  + +
                  + affectedRows() + +  : int +
                  +
                  Returns number of rows affected by an INSERT, UPDATE, DELETE type query
                  + +
                  + driverQuery() + +  : array<string|int, mixed>|null +
                  +
                  Method to simplify retrieving db results for meta-data queries
                  + +
                  + getColumns() + +  : array<string|int, mixed>|null +
                  +
                  Retrieve column information for the current database table
                  + +
                  + getDbs() + +  : array<string|int, mixed>|null +
                  +
                  Return list of dbs for the current connection, if possible
                  + +
                  + getFks() + +  : array<string|int, mixed> +
                  +
                  Retrieve foreign keys for the table
                  + +
                  + getFunctions() + +  : array<string|int, mixed>|null +
                  +
                  Return list of functions for the current database
                  + +
                  + getIndexes() + +  : array<string|int, mixed>|null +
                  +
                  Retrieve indexes for the table
                  + +
                  + getLastQuery() + +  : string +
                  +
                  Get the last sql query executed
                  + +
                  + getProcedures() + +  : array<string|int, mixed>|null +
                  +
                  Return list of stored procedures for the current database
                  + +
                  + getSchemas() + +  : array<string|int, mixed>|null +
                  +
                  Get a list of schemas for the current connection
                  + +
                  + getSequences() + +  : array<string|int, mixed>|null +
                  +
                  Return list of sequences for the current database, if they exist
                  + +
                  + getSql() + +  : SQLInterface +
                  +
                  Get the SQL class for the current driver
                  + +
                  + getSystemTables() + +  : array<string|int, mixed>|null +
                  +
                  Retrieves an array of non-user-created tables for +the connection/database
                  + +
                  + getTables() + +  : array<string|int, mixed>|null +
                  +
                  Return list of tables for the current database
                  + +
                  + getTriggers() + +  : array<string|int, mixed>|null +
                  +
                  Return list of triggers for the current database
                  + +
                  + getTypes() + +  : array<string|int, mixed>|null +
                  +
                  Retrieve list of data types for the database
                  + +
                  + getUtil() + +  : AbstractUtil +
                  +
                  Get the Util class for the current driver
                  + +
                  + getVersion() + +  : string +
                  +
                  Get the version of the database engine
                  + +
                  + getViews() + +  : array<string|int, mixed>|null +
                  +
                  Return list of views for the current database
                  + +
                  + insertBatch() + +  : array<string|int, mixed> +
                  +
                  Create sql for batch insert
                  + +
                  + numRows() + +  : int|null +
                  +
                  Return the number of rows returned for a SELECT query
                  + +
                  + prefixTable() + +  : string +
                  +
                  Prefixes a table if it is not already prefixed
                  + +
                  + prepareExecute() + +  : PDOStatement +
                  +
                  Create and execute a prepared statement with the provided parameters
                  + +
                  + prepareQuery() + +  : PDOStatement +
                  +
                  Simplifies prepared statements for database queries
                  + +
                  + quoteIdent() + +  : string|array<string|int, mixed> +
                  +
                  Surrounds the string with the databases identifier escape characters
                  + +
                  + quoteTable() + +  : string +
                  +
                  Quote database table name, and set prefix
                  + +
                  + returning() + +  : string +
                  +
                  Generate the returning clause for the current database
                  + +
                  + setLastQuery() + +  : void +
                  +
                  Set the last query sql
                  + +
                  + setTablePrefix() + +  : void +
                  +
                  Set the common table name prefix
                  + +
                  + truncate() + +  : PDOStatement +
                  +
                  Empty the passed table
                  + +
                  + updateBatch() + +  : array<string|int, mixed> +
                  +
                  Creates a batch update, and executes it.
                  + +
                  + + + + + + + +
                  +

                  + Methods + +

                  +
                  +

                  + __call() + +

                  + + +

                  Allow invoke to work on table object

                  + + + public + __call(string $name[, array<string|int, mixed> $args = [] ]) : mixed + + +
                  Parameters
                  +
                  +
                  + $name + : string +
                  +
                  +
                  + +
                  +
                  + $args + : array<string|int, mixed> + = []
                  +
                  +
                  + +
                  +
                  + + +
                  + Tags + +
                  +
                  +
                  + codeCoverageIgnore +
                  +
                  + + +
                  +
                  + +
                  Return values
                  + mixed + — + + +
                  +
                  +

                  + __construct() + +

                  + + +

                  Connect to a PosgreSQL database

                  + + + public + __construct(string $dsn[, string $username = NULL ][, string $password = NULL ][, array<string|int, mixed> $options = [] ]) : mixed + + +
                  Parameters
                  +
                  +
                  + $dsn + : string +
                  +
                  +
                  + +
                  +
                  + $username + : string + = NULL
                  +
                  +
                  + +
                  +
                  + $password + : string + = NULL
                  +
                  +
                  + +
                  +
                  + $options + : array<string|int, mixed> + = []
                  +
                  +
                  + +
                  +
                  + + +
                  + Tags + +
                  +
                  +
                  + codeCoverageIgnore +
                  +
                  + + +
                  +
                  + +
                  Return values
                  + mixed + — + + +
                  +
                  +

                  + _quote() + +

                  + + +

                  Helper method for quote_ident

                  + + + public + _quote(mixed $str) : mixed + + +
                  Parameters
                  +
                  +
                  + $str + : mixed +
                  +
                  + +
                  +
                  + + + +
                  Return values
                  + mixed + — + + +
                  +
                  +

                  + affectedRows() + +

                  + + +

                  Returns number of rows affected by an INSERT, UPDATE, DELETE type query

                  + + + public + affectedRows() : int + + + + + +
                  Return values
                  + int + — + + +
                  +
                  +

                  + driverQuery() + +

                  + + +

                  Method to simplify retrieving db results for meta-data queries

                  + + + public + driverQuery(string|array<string|int, mixed> $query[, bool $filteredIndex = TRUE ]) : array<string|int, mixed>|null + + +
                  Parameters
                  +
                  +
                  + $query + : string|array<string|int, mixed> +
                  +
                  +
                  + +
                  +
                  + $filteredIndex + : bool + = TRUE
                  +
                  +
                  + +
                  +
                  + + + +
                  Return values
                  + array<string|int, mixed>|null + — + + +
                  +
                  +

                  + getColumns() + +

                  + + +

                  Retrieve column information for the current database table

                  + + + public + getColumns(string $table) : array<string|int, mixed>|null + + +
                  Parameters
                  +
                  +
                  + $table + : string +
                  +
                  +
                  + +
                  +
                  + + + +
                  Return values
                  + array<string|int, mixed>|null + — + + +
                  +
                  +

                  + getDbs() + +

                  + + +

                  Return list of dbs for the current connection, if possible

                  + + + public + getDbs() : array<string|int, mixed>|null + + + + + +
                  Return values
                  + array<string|int, mixed>|null + — + + +
                  +
                  +

                  + getFks() + +

                  + + +

                  Retrieve foreign keys for the table

                  + + + public + getFks(string $table) : array<string|int, mixed> + + +
                  Parameters
                  +
                  +
                  + $table + : string +
                  +
                  +
                  + +
                  +
                  + + + +
                  Return values
                  + array<string|int, mixed> + — + + +
                  +
                  +

                  + getFunctions() + +

                  + + +

                  Return list of functions for the current database

                  + + + public + getFunctions() : array<string|int, mixed>|null + + + + +
                  + Tags + +
                  +
                  +
                  + deprecated +
                  +
                  + +

                  Will be removed in next version

                  +
                  + +
                  +
                  + +
                  Return values
                  + array<string|int, mixed>|null + — + + +
                  +
                  +

                  + getIndexes() + +

                  + + +

                  Retrieve indexes for the table

                  + + + public + getIndexes(string $table) : array<string|int, mixed>|null + + +
                  Parameters
                  +
                  +
                  + $table + : string +
                  +
                  +
                  + +
                  +
                  + + + +
                  Return values
                  + array<string|int, mixed>|null + — + + +
                  +
                  +

                  + getLastQuery() + +

                  + + +

                  Get the last sql query executed

                  + + + public + getLastQuery() : string + + + + + +
                  Return values
                  + string + — + + +
                  +
                  +

                  + getProcedures() + +

                  + + +

                  Return list of stored procedures for the current database

                  + + + public + getProcedures() : array<string|int, mixed>|null + + + + +
                  + Tags + +
                  +
                  +
                  + deprecated +
                  +
                  + +

                  Will be removed in next version

                  +
                  + +
                  +
                  + +
                  Return values
                  + array<string|int, mixed>|null + — + + +
                  +
                  +

                  + getSchemas() + +

                  + + +

                  Get a list of schemas for the current connection

                  + + + public + getSchemas() : array<string|int, mixed>|null + + + + + +
                  Return values
                  + array<string|int, mixed>|null + — + + +
                  +
                  +

                  + getSequences() + +

                  + + +

                  Return list of sequences for the current database, if they exist

                  + + + public + getSequences() : array<string|int, mixed>|null + + + + + +
                  Return values
                  + array<string|int, mixed>|null + — + + +
                  + +
                  +

                  + getSystemTables() + +

                  + + +

                  Retrieves an array of non-user-created tables for +the connection/database

                  + + + public + getSystemTables() : array<string|int, mixed>|null + + + + + +
                  Return values
                  + array<string|int, mixed>|null + — + + +
                  +
                  +

                  + getTables() + +

                  + + +

                  Return list of tables for the current database

                  + + + public + getTables() : array<string|int, mixed>|null + + + + + +
                  Return values
                  + array<string|int, mixed>|null + — + + +
                  +
                  +

                  + getTriggers() + +

                  + + +

                  Return list of triggers for the current database

                  + + + public + getTriggers() : array<string|int, mixed>|null + + + + +
                  + Tags + +
                  +
                  +
                  + deprecated +
                  +
                  + +

                  Will be removed in next version

                  +
                  + +
                  +
                  + +
                  Return values
                  + array<string|int, mixed>|null + — + + +
                  +
                  +

                  + getTypes() + +

                  + + +

                  Retrieve list of data types for the database

                  + + + public + getTypes() : array<string|int, mixed>|null + + + + + +
                  Return values
                  + array<string|int, mixed>|null + — + + +
                  + +
                  +

                  + getVersion() + +

                  + + +

                  Get the version of the database engine

                  + + + public + getVersion() : string + + + + + +
                  Return values
                  + string + — + + +
                  +
                  +

                  + getViews() + +

                  + + +

                  Return list of views for the current database

                  + + + public + getViews() : array<string|int, mixed>|null + + + + + +
                  Return values
                  + array<string|int, mixed>|null + — + + +
                  +
                  +

                  + insertBatch() + +

                  + + +

                  Create sql for batch insert

                  + + + public + insertBatch(string $table[, array<string|int, mixed> $data = [] ]) : array<string|int, mixed> + + +
                  Parameters
                  +
                  +
                  + $table + : string +
                  +
                  +
                  + +
                  +
                  + $data + : array<string|int, mixed> + = []
                  +
                  +
                  + +
                  +
                  + + + +
                  Return values
                  + array<string|int, mixed> + — + + +
                  + +
                  +

                  + prefixTable() + +

                  + + +

                  Prefixes a table if it is not already prefixed

                  + + + public + prefixTable(string $table) : string + + +
                  Parameters
                  +
                  +
                  + $table + : string +
                  +
                  +
                  + +
                  +
                  + + + +
                  Return values
                  + string + — + + +
                  +
                  +

                  + prepareExecute() + +

                  + + +

                  Create and execute a prepared statement with the provided parameters

                  + + + public + prepareExecute(string $sql, array<string|int, mixed> $params) : PDOStatement + + +
                  Parameters
                  +
                  +
                  + $sql + : string +
                  +
                  +
                  + +
                  +
                  + $params + : array<string|int, mixed> +
                  +
                  +
                  + +
                  +
                  + + +
                  + Tags + +
                  +
                  +
                  + throws +
                  +
                  + InvalidArgumentException + + +
                  +
                  + +
                  Return values
                  + PDOStatement + — + + +
                  +
                  +

                  + prepareQuery() + +

                  + + +

                  Simplifies prepared statements for database queries

                  + + + public + prepareQuery(string $sql, array<string|int, mixed> $data) : PDOStatement + + +
                  Parameters
                  +
                  +
                  + $sql + : string +
                  +
                  +
                  + +
                  +
                  + $data + : array<string|int, mixed> +
                  +
                  +
                  + +
                  +
                  + + + +
                  Return values
                  + PDOStatement + — + + +
                  +
                  +

                  + quoteIdent() + +

                  + + +

                  Surrounds the string with the databases identifier escape characters

                  + + + public + quoteIdent(string|array<string|int, mixed> $identifier) : string|array<string|int, mixed> + + +
                  Parameters
                  +
                  +
                  + $identifier + : string|array<string|int, mixed> +
                  +
                  +
                  + +
                  +
                  + + + +
                  Return values
                  + string|array<string|int, mixed> + — + + +
                  +
                  +

                  + quoteTable() + +

                  + + +

                  Quote database table name, and set prefix

                  + + + public + quoteTable(string $table) : string + + +
                  Parameters
                  +
                  +
                  + $table + : string +
                  +
                  +
                  + +
                  +
                  + + + +
                  Return values
                  + string + — + + +
                  +
                  +

                  + returning() + +

                  + + +

                  Generate the returning clause for the current database

                  + + + public + returning(string $query, string $select) : string + + +
                  Parameters
                  +
                  +
                  + $query + : string +
                  +
                  +
                  + +
                  +
                  + $select + : string +
                  +
                  +
                  + +
                  +
                  + + + +
                  Return values
                  + string + — + + +
                  +
                  +

                  + setLastQuery() + +

                  + + +

                  Set the last query sql

                  + + + public + setLastQuery(string $queryString) : void + + +
                  Parameters
                  +
                  +
                  + $queryString + : string +
                  +
                  +
                  + +
                  +
                  + + + +
                  Return values
                  + void + — + + +
                  +
                  +

                  + setTablePrefix() + +

                  + + +

                  Set the common table name prefix

                  + + + public + setTablePrefix(string $prefix) : void + + +
                  Parameters
                  +
                  +
                  + $prefix + : string +
                  +
                  +
                  + +
                  +
                  + + + +
                  Return values
                  + void + — + + +
                  +
                  +

                  + truncate() + +

                  + + +

                  Empty the passed table

                  + + + public + truncate(string $table) : PDOStatement + + +
                  Parameters
                  +
                  +
                  + $table + : string +
                  +
                  +
                  + +
                  +
                  + + + +
                  Return values
                  + PDOStatement + — + + +
                  +
                  +

                  + updateBatch() + +

                  + + +

                  Creates a batch update, and executes it.

                  + + + public + updateBatch(string $table, array<string|int, mixed> $data, string $where) : array<string|int, mixed> + +

                  Returns the number of affected rows

                  +
                  + +
                  Parameters
                  +
                  +
                  + $table + : string +
                  +
                  +

                  The table to update

                  +
                  + +
                  +
                  + $data + : array<string|int, mixed> +
                  +
                  +

                  an array of update values

                  +
                  + +
                  +
                  + $where + : string +
                  +
                  +

                  The where key

                  +
                  + +
                  +
                  + + + +
                  Return values
                  + array<string|int, mixed> + — + + +
                  +
                  + +
                  +
                  +
                  +
                  +
                  
                  +        
                  + +
                  +
                  + + + +
                  +
                  +
                  +
                  +

                  Search results

                  + +
                  +
                  +
                    +
                    +
                    +
                    +
                    +
                    + + +
                    + + + + + + + + diff --git a/apiDocumentation/classes/Query-Drivers-Pgsql-SQL.html b/apiDocumentation/classes/Query-Drivers-Pgsql-SQL.html new file mode 100644 index 0000000..04ac021 --- /dev/null +++ b/apiDocumentation/classes/Query-Drivers-Pgsql-SQL.html @@ -0,0 +1,944 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                    +

                    Documentation

                    + + + + + +
                    + +
                    +
                    + + + + +
                    + + +
                    +

                    + SQL + + + extends AbstractSQL + + +
                    + in package + +
                    + + +

                    + + + +

                    PostgreSQL specific SQL

                    + + + + + + + + + +

                    + Table of Contents + +

                    + +
                    +
                    + columnList() + +  : string +
                    +
                    Return sql to list columns of the specified table
                    + +
                    + dbList() + +  : string +
                    +
                    Returns sql to list other databases
                    + +
                    + explain() + +  : string +
                    +
                    Get the query plan for the sql query
                    + +
                    + fkList() + +  : string +
                    +
                    Get the list of foreign keys for the current +table
                    + +
                    + functionList() + +  : string|null +
                    +
                    Return sql to list functions
                    + +
                    + indexList() + +  : string +
                    +
                    Get the list of indexes for the current table
                    + +
                    + limit() + +  : string +
                    +
                    Limit clause
                    + +
                    + procedureList() + +  : string +
                    +
                    Return sql to list stored procedures
                    + +
                    + random() + +  : string +
                    +
                    Random ordering keyword
                    + +
                    + sequenceList() + +  : string +
                    +
                    Return sql to list sequences
                    + +
                    + systemTableList() + +  : string +
                    +
                    Returns sql to list system tables
                    + +
                    + tableList() + +  : string +
                    +
                    Returns sql to list tables
                    + +
                    + triggerList() + +  : string +
                    +
                    Returns sql to list triggers
                    + +
                    + typeList() + +  : string +
                    +
                    SQL to show list of field types
                    + +
                    + viewList() + +  : string +
                    +
                    Returns sql to list views
                    + +
                    + + + + + + + +
                    +

                    + Methods + +

                    +
                    +

                    + columnList() + +

                    + + +

                    Return sql to list columns of the specified table

                    + + + public + columnList(string $table) : string + + +
                    Parameters
                    +
                    +
                    + $table + : string +
                    +
                    +
                    + +
                    +
                    + + + +
                    Return values
                    + string + — + + +
                    +
                    +

                    + dbList() + +

                    + + +

                    Returns sql to list other databases

                    + + + public + dbList() : string + + + + + +
                    Return values
                    + string + — + + +
                    +
                    +

                    + explain() + +

                    + + +

                    Get the query plan for the sql query

                    + + + public + explain(string $sql) : string + + +
                    Parameters
                    +
                    +
                    + $sql + : string +
                    +
                    +
                    + +
                    +
                    + + + +
                    Return values
                    + string + — + + +
                    +
                    +

                    + fkList() + +

                    + + +

                    Get the list of foreign keys for the current +table

                    + + + public + fkList(string $table) : string + + +
                    Parameters
                    +
                    +
                    + $table + : string +
                    +
                    +
                    + +
                    +
                    + + + +
                    Return values
                    + string + — + + +
                    +
                    +

                    + functionList() + +

                    + + +

                    Return sql to list functions

                    + + + public + functionList() : string|null + + + + + +
                    Return values
                    + string|null + — + + +
                    +
                    +

                    + indexList() + +

                    + + +

                    Get the list of indexes for the current table

                    + + + public + indexList(string $table) : string + + +
                    Parameters
                    +
                    +
                    + $table + : string +
                    +
                    +
                    + +
                    +
                    + + + +
                    Return values
                    + string + — + + +
                    +
                    +

                    + limit() + +

                    + + +

                    Limit clause

                    + + + public + limit(string $sql, int $limit[, int|null $offset = NULL ]) : string + + +
                    Parameters
                    +
                    +
                    + $sql + : string +
                    +
                    +
                    + +
                    +
                    + $limit + : int +
                    +
                    +
                    + +
                    +
                    + $offset + : int|null + = NULL
                    +
                    +
                    + +
                    +
                    + + + +
                    Return values
                    + string + — + + +
                    +
                    +

                    + procedureList() + +

                    + + +

                    Return sql to list stored procedures

                    + + + public + procedureList() : string + + + + + +
                    Return values
                    + string + — + + +
                    +
                    +

                    + random() + +

                    + + +

                    Random ordering keyword

                    + + + public + random() : string + + + + + +
                    Return values
                    + string + — + + +
                    +
                    +

                    + sequenceList() + +

                    + + +

                    Return sql to list sequences

                    + + + public + sequenceList() : string + + + + + +
                    Return values
                    + string + — + + +
                    +
                    +

                    + systemTableList() + +

                    + + +

                    Returns sql to list system tables

                    + + + public + systemTableList() : string + + + + + +
                    Return values
                    + string + — + + +
                    +
                    +

                    + tableList() + +

                    + + +

                    Returns sql to list tables

                    + + + public + tableList() : string + + + + + +
                    Return values
                    + string + — + + +
                    +
                    +

                    + triggerList() + +

                    + + +

                    Returns sql to list triggers

                    + + + public + triggerList() : string + + + + + +
                    Return values
                    + string + — + + +
                    +
                    +

                    + typeList() + +

                    + + +

                    SQL to show list of field types

                    + + + public + typeList() : string + + + + + +
                    Return values
                    + string + — + + +
                    +
                    +

                    + viewList() + +

                    + + +

                    Returns sql to list views

                    + + + public + viewList() : string + + + + + +
                    Return values
                    + string + — + + +
                    +
                    + +
                    +
                    +
                    +
                    +
                    
                    +        
                    + +
                    +
                    + + + +
                    +
                    +
                    +
                    +

                    Search results

                    + +
                    +
                    +
                      +
                      +
                      +
                      +
                      +
                      + + +
                      + + + + + + + + diff --git a/apiDocumentation/classes/Query-Drivers-Pgsql-Util.html b/apiDocumentation/classes/Query-Drivers-Pgsql-Util.html new file mode 100644 index 0000000..7d0922f --- /dev/null +++ b/apiDocumentation/classes/Query-Drivers-Pgsql-Util.html @@ -0,0 +1,570 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                      +

                      Documentation

                      + + + + + +
                      + +
                      +
                      + + + + +
                      + + +
                      +

                      + Util + + + extends AbstractUtil + + +
                      + in package + +
                      + + +

                      + + + +

                      Postgres-specific backup, import and creation methods

                      + + + + + + + + + +

                      + Table of Contents + +

                      + +
                      +
                      + __construct() + +  : mixed +
                      +
                      Save a reference to the connection object for later use
                      + +
                      + backupData() + +  : string +
                      +
                      Create an SQL backup file for the current database's data
                      + +
                      + backupStructure() + +  : string +
                      +
                      Create an SQL backup file for the current database's structure
                      + +
                      + createTable() + +  : string +
                      +
                      Convenience public function to generate sql for creating a db table
                      + +
                      + deleteTable() + +  : string +
                      +
                      Drop the selected table
                      + +
                      + getDriver() + +  : DriverInterface +
                      +
                      Get the driver object for the current connection
                      + +
                      + + + + + + + +
                      +

                      + Methods + +

                      +
                      +

                      + __construct() + +

                      + + +

                      Save a reference to the connection object for later use

                      + + + public + __construct(DriverInterface $connection) : mixed + + +
                      Parameters
                      +
                      +
                      + $connection + : DriverInterface +
                      +
                      +
                      + +
                      +
                      + + + +
                      Return values
                      + mixed + — + + +
                      +
                      +

                      + backupData() + +

                      + + +

                      Create an SQL backup file for the current database's data

                      + + + public + backupData([array<string|int, mixed> $exclude = [] ]) : string + + +
                      Parameters
                      +
                      +
                      + $exclude + : array<string|int, mixed> + = []
                      +
                      +
                      + +
                      +
                      + + + +
                      Return values
                      + string + — + + +
                      +
                      +

                      + backupStructure() + +

                      + + +

                      Create an SQL backup file for the current database's structure

                      + + + public + backupStructure() : string + + + + + +
                      Return values
                      + string + — + + +
                      +
                      +

                      + createTable() + +

                      + + +

                      Convenience public function to generate sql for creating a db table

                      + + + public + createTable(string $name, array<string|int, mixed> $fields[, array<string|int, mixed> $constraints = [] ][, bool $ifNotExists = TRUE ]) : string + + +
                      Parameters
                      +
                      +
                      + $name + : string +
                      +
                      +
                      + +
                      +
                      + $fields + : array<string|int, mixed> +
                      +
                      +
                      + +
                      +
                      + $constraints + : array<string|int, mixed> + = []
                      +
                      +
                      + +
                      +
                      + $ifNotExists + : bool + = TRUE
                      +
                      +
                      + +
                      +
                      + + + +
                      Return values
                      + string + — + + +
                      +
                      +

                      + deleteTable() + +

                      + + +

                      Drop the selected table

                      + + + public + deleteTable(string $name) : string + + +
                      Parameters
                      +
                      +
                      + $name + : string +
                      +
                      +
                      + +
                      +
                      + + + +
                      Return values
                      + string + — + + +
                      + +
                      + +
                      +
                      +
                      +
                      +
                      
                      +        
                      + +
                      +
                      + + + +
                      +
                      +
                      +
                      +

                      Search results

                      + +
                      +
                      +
                        +
                        +
                        +
                        +
                        +
                        + + +
                        + + + + + + + + diff --git a/apiDocumentation/classes/Query-Drivers-SQLInterface.html b/apiDocumentation/classes/Query-Drivers-SQLInterface.html new file mode 100644 index 0000000..fb5094b --- /dev/null +++ b/apiDocumentation/classes/Query-Drivers-SQLInterface.html @@ -0,0 +1,936 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                        +

                        Documentation

                        + + + + + +
                        + +
                        +
                        + + + + +
                        + + +
                        +

                        + SQLInterface +
                        + in + +
                        +

                        + + + +

                        Interface for database-specific syntax subclasses

                        + + + + + + + + + +

                        + Table of Contents + +

                        + +
                        +
                        + columnList() + +  : string +
                        +
                        Get information about the columns in the +specified table
                        + +
                        + dbList() + +  : string +
                        +
                        Returns sql to list other databases
                        + +
                        + explain() + +  : string +
                        +
                        Modify the query to get the query plan
                        + +
                        + fkList() + +  : string +
                        +
                        Get the list of foreign keys for the current +table
                        + +
                        + functionList() + +  : string|null +
                        +
                        Return sql to list functions
                        + +
                        + indexList() + +  : string +
                        +
                        Get the list of indexes for the current table
                        + +
                        + limit() + +  : string +
                        +
                        Get database specific sql for limit clause
                        + +
                        + procedureList() + +  : string|null +
                        +
                        Return sql to list stored procedures
                        + +
                        + random() + +  : string +
                        +
                        Get the sql for random ordering
                        + +
                        + sequenceList() + +  : string|null +
                        +
                        Return sql to list sequences
                        + +
                        + systemTableList() + +  : string|array<string|int, mixed> +
                        +
                        Returns sql to list system tables
                        + +
                        + tableList() + +  : string +
                        +
                        Returns sql to list tables
                        + +
                        + triggerList() + +  : string|null +
                        +
                        Returns sql to list triggers
                        + +
                        + typeList() + +  : string|array<string|int, mixed> +
                        +
                        Return sql to list database field types
                        + +
                        + viewList() + +  : string +
                        +
                        Returns sql to list views
                        + +
                        + + + + + +
                        +

                        + Methods + +

                        +
                        +

                        + columnList() + +

                        + + +

                        Get information about the columns in the +specified table

                        + + + public + columnList(string $table) : string + + +
                        Parameters
                        +
                        +
                        + $table + : string +
                        +
                        +
                        + +
                        +
                        + + + +
                        Return values
                        + string + — + + +
                        +
                        +

                        + dbList() + +

                        + + +

                        Returns sql to list other databases

                        + + + public + dbList() : string + + + + + +
                        Return values
                        + string + — + + +
                        +
                        +

                        + explain() + +

                        + + +

                        Modify the query to get the query plan

                        + + + public + explain(string $sql) : string + + +
                        Parameters
                        +
                        +
                        + $sql + : string +
                        +
                        +
                        + +
                        +
                        + + + +
                        Return values
                        + string + — + + +
                        +
                        +

                        + fkList() + +

                        + + +

                        Get the list of foreign keys for the current +table

                        + + + public + fkList(string $table) : string + + +
                        Parameters
                        +
                        +
                        + $table + : string +
                        +
                        +
                        + +
                        +
                        + + + +
                        Return values
                        + string + — + + +
                        +
                        +

                        + functionList() + +

                        + + +

                        Return sql to list functions

                        + + + public + functionList() : string|null + + + + + +
                        Return values
                        + string|null + — + + +
                        +
                        +

                        + indexList() + +

                        + + +

                        Get the list of indexes for the current table

                        + + + public + indexList(string $table) : string + + +
                        Parameters
                        +
                        +
                        + $table + : string +
                        +
                        +
                        + +
                        +
                        + + + +
                        Return values
                        + string + — + + +
                        +
                        +

                        + limit() + +

                        + + +

                        Get database specific sql for limit clause

                        + + + public + limit(string $sql, int $limit[, int|null $offset = NULL ]) : string + + +
                        Parameters
                        +
                        +
                        + $sql + : string +
                        +
                        +
                        + +
                        +
                        + $limit + : int +
                        +
                        +
                        + +
                        +
                        + $offset + : int|null + = NULL
                        +
                        +
                        + +
                        +
                        + + + +
                        Return values
                        + string + — + + +
                        +
                        +

                        + procedureList() + +

                        + + +

                        Return sql to list stored procedures

                        + + + public + procedureList() : string|null + + + + + +
                        Return values
                        + string|null + — + + +
                        +
                        +

                        + random() + +

                        + + +

                        Get the sql for random ordering

                        + + + public + random() : string + + + + + +
                        Return values
                        + string + — + + +
                        +
                        +

                        + sequenceList() + +

                        + + +

                        Return sql to list sequences

                        + + + public + sequenceList() : string|null + + + + + +
                        Return values
                        + string|null + — + + +
                        +
                        +

                        + systemTableList() + +

                        + + +

                        Returns sql to list system tables

                        + + + public + systemTableList() : string|array<string|int, mixed> + + + + + +
                        Return values
                        + string|array<string|int, mixed> + — + + +
                        +
                        +

                        + tableList() + +

                        + + +

                        Returns sql to list tables

                        + + + public + tableList() : string + + + + + +
                        Return values
                        + string + — + + +
                        +
                        +

                        + triggerList() + +

                        + + +

                        Returns sql to list triggers

                        + + + public + triggerList() : string|null + + + + + +
                        Return values
                        + string|null + — + + +
                        +
                        +

                        + typeList() + +

                        + + +

                        Return sql to list database field types

                        + + + public + typeList() : string|array<string|int, mixed> + + + + + +
                        Return values
                        + string|array<string|int, mixed> + — + + +
                        +
                        +

                        + viewList() + +

                        + + +

                        Returns sql to list views

                        + + + public + viewList() : string + + + + + +
                        Return values
                        + string + — + + +
                        +
                        + +
                        +
                        +
                        +
                        +
                        
                        +        
                        + +
                        +
                        + + + +
                        +
                        +
                        +
                        +

                        Search results

                        + +
                        +
                        +
                          +
                          +
                          +
                          +
                          +
                          + + +
                          + + + + + + + + diff --git a/apiDocumentation/classes/Query-Drivers-Sqlite-Driver.html b/apiDocumentation/classes/Query-Drivers-Sqlite-Driver.html new file mode 100644 index 0000000..bb1bd5b --- /dev/null +++ b/apiDocumentation/classes/Query-Drivers-Sqlite-Driver.html @@ -0,0 +1,2041 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                          +

                          Documentation

                          + + + + + +
                          + +
                          +
                          + + + + +
                          + + +
                          +

                          + Driver + + + extends AbstractDriver + + +
                          + in package + +
                          + + +

                          + + + +

                          SQLite specific class

                          + + + + + + + + + +

                          + Table of Contents + +

                          + +
                          +
                          + __call() + +  : mixed +
                          +
                          Allow invoke to work on table object
                          + +
                          + __construct() + +  : mixed +
                          +
                          Open SQLite Database
                          + +
                          + _quote() + +  : mixed +
                          +
                          Helper method for quote_ident
                          + +
                          + affectedRows() + +  : int +
                          +
                          Returns number of rows affected by an INSERT, UPDATE, DELETE type query
                          + +
                          + driverQuery() + +  : array<string|int, mixed>|null +
                          +
                          Method to simplify retrieving db results for meta-data queries
                          + +
                          + getColumns() + +  : array<string|int, mixed>|null +
                          +
                          Retrieve column information for the current database table
                          + +
                          + getDbs() + +  : array<string|int, mixed>|null +
                          +
                          Return list of dbs for the current connection, if possible. Meaningless for SQLite.
                          + +
                          + getFks() + +  : array<string|int, mixed> +
                          +
                          Retrieve foreign keys for the table
                          + +
                          + getFunctions() + +  : array<string|int, mixed>|null +
                          +
                          Return list of functions for the current database
                          + +
                          + getIndexes() + +  : array<string|int, mixed>|null +
                          +
                          Retrieve indexes for the table
                          + +
                          + getLastQuery() + +  : string +
                          +
                          Get the last sql query executed
                          + +
                          + getProcedures() + +  : array<string|int, mixed>|null +
                          +
                          Return list of stored procedures for the current database
                          + +
                          + getSchemas() + +  : array<string|int, mixed>|null +
                          +
                          Return schemas for databases that list them
                          + +
                          + getSequences() + +  : array<string|int, mixed>|null +
                          +
                          Return list of sequences for the current database, if they exist
                          + +
                          + getSql() + +  : SQLInterface +
                          +
                          Get the SQL class for the current driver
                          + +
                          + getSystemTables() + +  : array<string|int, mixed>|null +
                          +
                          Retrieves an array of non-user-created tables for +the connection/database
                          + +
                          + getTables() + +  : array<string|int, mixed> +
                          +
                          List tables for the current database
                          + +
                          + getTriggers() + +  : array<string|int, mixed>|null +
                          +
                          Return list of triggers for the current database
                          + +
                          + getTypes() + +  : array<string|int, mixed>|null +
                          +
                          Retrieve list of data types for the database
                          + +
                          + getUtil() + +  : AbstractUtil +
                          +
                          Get the Util class for the current driver
                          + +
                          + getVersion() + +  : string +
                          +
                          Get the version of the database engine
                          + +
                          + getViews() + +  : array<string|int, mixed>|null +
                          +
                          Return list of views for the current database
                          + +
                          + insertBatch() + +  : array<string|int, array<string|int, mixed>>|array<string|int, string>|array<string|int, null> +
                          +
                          Create sql for batch insert
                          + +
                          + numRows() + +  : int|null +
                          +
                          Return the number of rows returned for a SELECT query
                          + +
                          + prefixTable() + +  : string +
                          +
                          Prefixes a table if it is not already prefixed
                          + +
                          + prepareExecute() + +  : PDOStatement +
                          +
                          Create and execute a prepared statement with the provided parameters
                          + +
                          + prepareQuery() + +  : PDOStatement +
                          +
                          Simplifies prepared statements for database queries
                          + +
                          + quoteIdent() + +  : string|array<string|int, mixed> +
                          +
                          Surrounds the string with the databases identifier escape characters
                          + +
                          + quoteTable() + +  : string +
                          +
                          Quote database table name, and set prefix
                          + +
                          + returning() + +  : string +
                          +
                          Generate the returning clause for the current database
                          + +
                          + setLastQuery() + +  : void +
                          +
                          Set the last query sql
                          + +
                          + setTablePrefix() + +  : void +
                          +
                          Set the common table name prefix
                          + +
                          + truncate() + +  : PDOStatement +
                          +
                          Empty the passed table
                          + +
                          + updateBatch() + +  : array<string|int, mixed> +
                          +
                          Creates a batch update, and executes it.
                          + +
                          + + + + + + + +
                          +

                          + Methods + +

                          +
                          +

                          + __call() + +

                          + + +

                          Allow invoke to work on table object

                          + + + public + __call(string $name[, array<string|int, mixed> $args = [] ]) : mixed + + +
                          Parameters
                          +
                          +
                          + $name + : string +
                          +
                          +
                          + +
                          +
                          + $args + : array<string|int, mixed> + = []
                          +
                          +
                          + +
                          +
                          + + +
                          + Tags + +
                          +
                          +
                          + codeCoverageIgnore +
                          +
                          + + +
                          +
                          + +
                          Return values
                          + mixed + — + + +
                          +
                          +

                          + __construct() + +

                          + + +

                          Open SQLite Database

                          + + + public + __construct(string $dsn[, string $user = NULL ][, string $pass = NULL ][, array<string|int, mixed> $driverOptions = [] ]) : mixed + + +
                          Parameters
                          +
                          +
                          + $dsn + : string +
                          +
                          +
                          + +
                          +
                          + $user + : string + = NULL
                          +
                          +
                          + +
                          +
                          + $pass + : string + = NULL
                          +
                          +
                          + +
                          +
                          + $driverOptions + : array<string|int, mixed> + = []
                          +
                          +
                          + +
                          +
                          + + + +
                          Return values
                          + mixed + — + + +
                          +
                          +

                          + _quote() + +

                          + + +

                          Helper method for quote_ident

                          + + + public + _quote(mixed $str) : mixed + + +
                          Parameters
                          +
                          +
                          + $str + : mixed +
                          +
                          + +
                          +
                          + + + +
                          Return values
                          + mixed + — + + +
                          +
                          +

                          + affectedRows() + +

                          + + +

                          Returns number of rows affected by an INSERT, UPDATE, DELETE type query

                          + + + public + affectedRows() : int + + + + + +
                          Return values
                          + int + — + + +
                          +
                          +

                          + driverQuery() + +

                          + + +

                          Method to simplify retrieving db results for meta-data queries

                          + + + public + driverQuery(string|array<string|int, mixed> $query[, bool $filteredIndex = TRUE ]) : array<string|int, mixed>|null + + +
                          Parameters
                          +
                          +
                          + $query + : string|array<string|int, mixed> +
                          +
                          +
                          + +
                          +
                          + $filteredIndex + : bool + = TRUE
                          +
                          +
                          + +
                          +
                          + + + +
                          Return values
                          + array<string|int, mixed>|null + — + + +
                          +
                          +

                          + getColumns() + +

                          + + +

                          Retrieve column information for the current database table

                          + + + public + getColumns(string $table) : array<string|int, mixed>|null + + +
                          Parameters
                          +
                          +
                          + $table + : string +
                          +
                          +
                          + +
                          +
                          + + + +
                          Return values
                          + array<string|int, mixed>|null + — + + +
                          +
                          +

                          + getDbs() + +

                          + + +

                          Return list of dbs for the current connection, if possible. Meaningless for SQLite.

                          + + + public + getDbs() : array<string|int, mixed>|null + + + + + +
                          Return values
                          + array<string|int, mixed>|null + — + + +
                          +
                          +

                          + getFks() + +

                          + + +

                          Retrieve foreign keys for the table

                          + + + public + getFks(string $table) : array<string|int, mixed> + + +
                          Parameters
                          +
                          +
                          + $table + : string +
                          +
                          +
                          + +
                          +
                          + + + +
                          Return values
                          + array<string|int, mixed> + — + + +
                          +
                          +

                          + getFunctions() + +

                          + + +

                          Return list of functions for the current database

                          + + + public + getFunctions() : array<string|int, mixed>|null + + + + +
                          + Tags + +
                          +
                          +
                          + deprecated +
                          +
                          + +

                          Will be removed in next version

                          +
                          + +
                          +
                          + +
                          Return values
                          + array<string|int, mixed>|null + — + + +
                          +
                          +

                          + getIndexes() + +

                          + + +

                          Retrieve indexes for the table

                          + + + public + getIndexes(string $table) : array<string|int, mixed>|null + + +
                          Parameters
                          +
                          +
                          + $table + : string +
                          +
                          +
                          + +
                          +
                          + + + +
                          Return values
                          + array<string|int, mixed>|null + — + + +
                          +
                          +

                          + getLastQuery() + +

                          + + +

                          Get the last sql query executed

                          + + + public + getLastQuery() : string + + + + + +
                          Return values
                          + string + — + + +
                          +
                          +

                          + getProcedures() + +

                          + + +

                          Return list of stored procedures for the current database

                          + + + public + getProcedures() : array<string|int, mixed>|null + + + + +
                          + Tags + +
                          +
                          +
                          + deprecated +
                          +
                          + +

                          Will be removed in next version

                          +
                          + +
                          +
                          + +
                          Return values
                          + array<string|int, mixed>|null + — + + +
                          +
                          +

                          + getSchemas() + +

                          + + +

                          Return schemas for databases that list them

                          + + + public + getSchemas() : array<string|int, mixed>|null + + + + + +
                          Return values
                          + array<string|int, mixed>|null + — + + +
                          +
                          +

                          + getSequences() + +

                          + + +

                          Return list of sequences for the current database, if they exist

                          + + + public + getSequences() : array<string|int, mixed>|null + + + + + +
                          Return values
                          + array<string|int, mixed>|null + — + + +
                          + +
                          +

                          + getSystemTables() + +

                          + + +

                          Retrieves an array of non-user-created tables for +the connection/database

                          + + + public + getSystemTables() : array<string|int, mixed>|null + + + + + +
                          Return values
                          + array<string|int, mixed>|null + — + + +
                          +
                          +

                          + getTables() + +

                          + + +

                          List tables for the current database

                          + + + public + getTables() : array<string|int, mixed> + + + + + +
                          Return values
                          + array<string|int, mixed> + — + + +
                          +
                          +

                          + getTriggers() + +

                          + + +

                          Return list of triggers for the current database

                          + + + public + getTriggers() : array<string|int, mixed>|null + + + + +
                          + Tags + +
                          +
                          +
                          + deprecated +
                          +
                          + +

                          Will be removed in next version

                          +
                          + +
                          +
                          + +
                          Return values
                          + array<string|int, mixed>|null + — + + +
                          +
                          +

                          + getTypes() + +

                          + + +

                          Retrieve list of data types for the database

                          + + + public + getTypes() : array<string|int, mixed>|null + + + + + +
                          Return values
                          + array<string|int, mixed>|null + — + + +
                          + +
                          +

                          + getVersion() + +

                          + + +

                          Get the version of the database engine

                          + + + public + getVersion() : string + + + + + +
                          Return values
                          + string + — + + +
                          +
                          +

                          + getViews() + +

                          + + +

                          Return list of views for the current database

                          + + + public + getViews() : array<string|int, mixed>|null + + + + + +
                          Return values
                          + array<string|int, mixed>|null + — + + +
                          +
                          +

                          + insertBatch() + +

                          + + +

                          Create sql for batch insert

                          + + + public + insertBatch(string $table[, array<string|int, mixed> $data = [] ]) : array<string|int, array<string|int, mixed>>|array<string|int, string>|array<string|int, null> + + +
                          Parameters
                          +
                          +
                          + $table + : string +
                          +
                          +
                          + +
                          +
                          + $data + : array<string|int, mixed> + = []
                          +
                          +
                          + +
                          +
                          + + +
                          + Tags + +
                          +
                          +
                          + codeCoverageIgnore +
                          +
                          + + +
                          +
                          + +
                          Return values
                          + array<string|int, array<string|int, mixed>>|array<string|int, string>|array<string|int, null> + — + + +
                          + +
                          +

                          + prefixTable() + +

                          + + +

                          Prefixes a table if it is not already prefixed

                          + + + public + prefixTable(string $table) : string + + +
                          Parameters
                          +
                          +
                          + $table + : string +
                          +
                          +
                          + +
                          +
                          + + + +
                          Return values
                          + string + — + + +
                          +
                          +

                          + prepareExecute() + +

                          + + +

                          Create and execute a prepared statement with the provided parameters

                          + + + public + prepareExecute(string $sql, array<string|int, mixed> $params) : PDOStatement + + +
                          Parameters
                          +
                          +
                          + $sql + : string +
                          +
                          +
                          + +
                          +
                          + $params + : array<string|int, mixed> +
                          +
                          +
                          + +
                          +
                          + + +
                          + Tags + +
                          +
                          +
                          + throws +
                          +
                          + InvalidArgumentException + + +
                          +
                          + +
                          Return values
                          + PDOStatement + — + + +
                          +
                          +

                          + prepareQuery() + +

                          + + +

                          Simplifies prepared statements for database queries

                          + + + public + prepareQuery(string $sql, array<string|int, mixed> $data) : PDOStatement + + +
                          Parameters
                          +
                          +
                          + $sql + : string +
                          +
                          +
                          + +
                          +
                          + $data + : array<string|int, mixed> +
                          +
                          +
                          + +
                          +
                          + + + +
                          Return values
                          + PDOStatement + — + + +
                          +
                          +

                          + quoteIdent() + +

                          + + +

                          Surrounds the string with the databases identifier escape characters

                          + + + public + quoteIdent(string|array<string|int, mixed> $identifier) : string|array<string|int, mixed> + + +
                          Parameters
                          +
                          +
                          + $identifier + : string|array<string|int, mixed> +
                          +
                          +
                          + +
                          +
                          + + + +
                          Return values
                          + string|array<string|int, mixed> + — + + +
                          +
                          +

                          + quoteTable() + +

                          + + +

                          Quote database table name, and set prefix

                          + + + public + quoteTable(string $table) : string + + +
                          Parameters
                          +
                          +
                          + $table + : string +
                          +
                          +
                          + +
                          +
                          + + + +
                          Return values
                          + string + — + + +
                          +
                          +

                          + returning() + +

                          + + +

                          Generate the returning clause for the current database

                          + + + public + returning(string $query, string $select) : string + + +
                          Parameters
                          +
                          +
                          + $query + : string +
                          +
                          +
                          + +
                          +
                          + $select + : string +
                          +
                          +
                          + +
                          +
                          + + + +
                          Return values
                          + string + — + + +
                          +
                          +

                          + setLastQuery() + +

                          + + +

                          Set the last query sql

                          + + + public + setLastQuery(string $queryString) : void + + +
                          Parameters
                          +
                          +
                          + $queryString + : string +
                          +
                          +
                          + +
                          +
                          + + + +
                          Return values
                          + void + — + + +
                          +
                          +

                          + setTablePrefix() + +

                          + + +

                          Set the common table name prefix

                          + + + public + setTablePrefix(string $prefix) : void + + +
                          Parameters
                          +
                          +
                          + $prefix + : string +
                          +
                          +
                          + +
                          +
                          + + + +
                          Return values
                          + void + — + + +
                          +
                          +

                          + truncate() + +

                          + + +

                          Empty the passed table

                          + + + public + truncate(string $table) : PDOStatement + + +
                          Parameters
                          +
                          +
                          + $table + : string +
                          +
                          +
                          + +
                          +
                          + + + +
                          Return values
                          + PDOStatement + — + + +
                          +
                          +

                          + updateBatch() + +

                          + + +

                          Creates a batch update, and executes it.

                          + + + public + updateBatch(string $table, array<string|int, mixed> $data, string $where) : array<string|int, mixed> + +

                          Returns the number of affected rows

                          +
                          + +
                          Parameters
                          +
                          +
                          + $table + : string +
                          +
                          +

                          The table to update

                          +
                          + +
                          +
                          + $data + : array<string|int, mixed> +
                          +
                          +

                          an array of update values

                          +
                          + +
                          +
                          + $where + : string +
                          +
                          +

                          The where key

                          +
                          + +
                          +
                          + + + +
                          Return values
                          + array<string|int, mixed> + — + + +
                          +
                          + +
                          +
                          +
                          +
                          +
                          
                          +        
                          + +
                          +
                          + + + +
                          +
                          +
                          +
                          +

                          Search results

                          + +
                          +
                          +
                            +
                            +
                            +
                            +
                            +
                            + + +
                            + + + + + + + + diff --git a/apiDocumentation/classes/Query-Drivers-Sqlite-SQL.html b/apiDocumentation/classes/Query-Drivers-Sqlite-SQL.html new file mode 100644 index 0000000..fccbaf0 --- /dev/null +++ b/apiDocumentation/classes/Query-Drivers-Sqlite-SQL.html @@ -0,0 +1,974 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                            +

                            Documentation

                            + + + + + +
                            + +
                            +
                            + + + + +
                            + + +
                            +

                            + SQL + + + extends AbstractSQL + + +
                            + in package + +
                            + + +

                            + + + +

                            SQLite Specific SQL

                            + + + + + + + + + +

                            + Table of Contents + +

                            + +
                            +
                            + columnList() + +  : string +
                            +
                            SQL to show information about columns in a table
                            + +
                            + dbList() + +  : string +
                            +
                            Returns sql to list other databases. Meaningless for SQLite, as this +just returns the database(s) that we are currently connected to.
                            + +
                            + explain() + +  : string +
                            +
                            Get the query plan for the sql query
                            + +
                            + fkList() + +  : string +
                            +
                            Get the list of foreign keys for the current +table
                            + +
                            + functionList() + +  : string +
                            +
                            Return sql to list functions
                            + +
                            + indexList() + +  : string +
                            +
                            Get the list of indexes for the current table
                            + +
                            + limit() + +  : string +
                            +
                            Limit clause
                            + +
                            + procedureList() + +  : string +
                            +
                            Return sql to list stored procedures
                            + +
                            + random() + +  : string +
                            +
                            Random ordering keyword
                            + +
                            + sequenceList() + +  : string +
                            +
                            Return sql to list sequences
                            + +
                            + systemTableList() + +  : array<string|int, string> +
                            +
                            List the system tables
                            + +
                            + tableList() + +  : string +
                            +
                            Returns sql to list tables
                            + +
                            + triggerList() + +  : string +
                            +
                            Returns sql to list triggers
                            + +
                            + typeList() + +  : array<string|int, string> +
                            +
                            SQL to show list of field types
                            + +
                            + viewList() + +  : string +
                            +
                            Returns sql to list views
                            + +
                            + + + + + + + +
                            +

                            + Methods + +

                            +
                            +

                            + columnList() + +

                            + + +

                            SQL to show information about columns in a table

                            + + + public + columnList(string $table) : string + + +
                            Parameters
                            +
                            +
                            + $table + : string +
                            +
                            +
                            + +
                            +
                            + + + +
                            Return values
                            + string + — + + +
                            +
                            +

                            + dbList() + +

                            + + +

                            Returns sql to list other databases. Meaningless for SQLite, as this +just returns the database(s) that we are currently connected to.

                            + + + public + dbList() : string + + + + + +
                            Return values
                            + string + — + + +
                            +
                            +

                            + explain() + +

                            + + +

                            Get the query plan for the sql query

                            + + + public + explain(string $sql) : string + + +
                            Parameters
                            +
                            +
                            + $sql + : string +
                            +
                            +
                            + +
                            +
                            + + + +
                            Return values
                            + string + — + + +
                            +
                            +

                            + fkList() + +

                            + + +

                            Get the list of foreign keys for the current +table

                            + + + public + fkList(string $table) : string + + +
                            Parameters
                            +
                            +
                            + $table + : string +
                            +
                            +
                            + +
                            +
                            + + + +
                            Return values
                            + string + — + + +
                            +
                            +

                            + functionList() + +

                            + + +

                            Return sql to list functions

                            + + + public + functionList() : string + + + + +
                            + Tags + +
                            +
                            +
                            + throws +
                            +
                            + NotImplementedException + + +
                            +
                            + +
                            Return values
                            + string + — + + +
                            +
                            +

                            + indexList() + +

                            + + +

                            Get the list of indexes for the current table

                            + + + public + indexList(string $table) : string + + +
                            Parameters
                            +
                            +
                            + $table + : string +
                            +
                            +
                            + +
                            +
                            + + + +
                            Return values
                            + string + — + + +
                            +
                            +

                            + limit() + +

                            + + +

                            Limit clause

                            + + + public + limit(string $sql, int $limit[, int|null $offset = NULL ]) : string + + +
                            Parameters
                            +
                            +
                            + $sql + : string +
                            +
                            +
                            + +
                            +
                            + $limit + : int +
                            +
                            +
                            + +
                            +
                            + $offset + : int|null + = NULL
                            +
                            +
                            + +
                            +
                            + + + +
                            Return values
                            + string + — + + +
                            +
                            +

                            + procedureList() + +

                            + + +

                            Return sql to list stored procedures

                            + + + public + procedureList() : string + + + + +
                            + Tags + +
                            +
                            +
                            + throws +
                            +
                            + NotImplementedException + + +
                            +
                            + +
                            Return values
                            + string + — + + +
                            +
                            +

                            + random() + +

                            + + +

                            Random ordering keyword

                            + + + public + random() : string + + + + + +
                            Return values
                            + string + — + + +
                            +
                            +

                            + sequenceList() + +

                            + + +

                            Return sql to list sequences

                            + + + public + sequenceList() : string + + + + + +
                            Return values
                            + string + — + + +
                            +
                            +

                            + systemTableList() + +

                            + + +

                            List the system tables

                            + + + public + systemTableList() : array<string|int, string> + + + + + +
                            Return values
                            + array<string|int, string> + — + + +
                            +
                            +

                            + tableList() + +

                            + + +

                            Returns sql to list tables

                            + + + public + tableList() : string + + + + + +
                            Return values
                            + string + — + + +
                            +
                            +

                            + triggerList() + +

                            + + +

                            Returns sql to list triggers

                            + + + public + triggerList() : string + + + + + +
                            Return values
                            + string + — + + +
                            +
                            +

                            + typeList() + +

                            + + +

                            SQL to show list of field types

                            + + + public + typeList() : array<string|int, string> + + + + + +
                            Return values
                            + array<string|int, string> + — + + +
                            +
                            +

                            + viewList() + +

                            + + +

                            Returns sql to list views

                            + + + public + viewList() : string + + + + + +
                            Return values
                            + string + — + + +
                            +
                            + +
                            +
                            +
                            +
                            +
                            
                            +        
                            + +
                            +
                            + + + +
                            +
                            +
                            +
                            +

                            Search results

                            + +
                            +
                            +
                              +
                              +
                              +
                              +
                              +
                              + + +
                              + + + + + + + + diff --git a/apiDocumentation/classes/Query-Drivers-Sqlite-Util.html b/apiDocumentation/classes/Query-Drivers-Sqlite-Util.html new file mode 100644 index 0000000..d11406c --- /dev/null +++ b/apiDocumentation/classes/Query-Drivers-Sqlite-Util.html @@ -0,0 +1,570 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                              +

                              Documentation

                              + + + + + +
                              + +
                              +
                              + + + + +
                              + + +
                              +

                              + Util + + + extends AbstractUtil + + +
                              + in package + +
                              + + +

                              + + + +

                              SQLite-specific backup, import and creation methods

                              + + + + + + + + + +

                              + Table of Contents + +

                              + +
                              +
                              + __construct() + +  : mixed +
                              +
                              Save a reference to the connection object for later use
                              + +
                              + backupData() + +  : string +
                              +
                              Create an SQL backup file for the current database's data
                              + +
                              + backupStructure() + +  : string +
                              +
                              Create an SQL backup file for the current database's structure
                              + +
                              + createTable() + +  : string +
                              +
                              Convenience public function to generate sql for creating a db table
                              + +
                              + deleteTable() + +  : string +
                              +
                              Drop the selected table
                              + +
                              + getDriver() + +  : DriverInterface +
                              +
                              Get the driver object for the current connection
                              + +
                              + + + + + + + +
                              +

                              + Methods + +

                              +
                              +

                              + __construct() + +

                              + + +

                              Save a reference to the connection object for later use

                              + + + public + __construct(DriverInterface $connection) : mixed + + +
                              Parameters
                              +
                              +
                              + $connection + : DriverInterface +
                              +
                              +
                              + +
                              +
                              + + + +
                              Return values
                              + mixed + — + + +
                              +
                              +

                              + backupData() + +

                              + + +

                              Create an SQL backup file for the current database's data

                              + + + public + backupData([array<string|int, mixed> $excluded = [] ]) : string + + +
                              Parameters
                              +
                              +
                              + $excluded + : array<string|int, mixed> + = []
                              +
                              +
                              + +
                              +
                              + + + +
                              Return values
                              + string + — + + +
                              +
                              +

                              + backupStructure() + +

                              + + +

                              Create an SQL backup file for the current database's structure

                              + + + public + backupStructure() : string + + + + + +
                              Return values
                              + string + — + + +
                              +
                              +

                              + createTable() + +

                              + + +

                              Convenience public function to generate sql for creating a db table

                              + + + public + createTable(string $name, array<string|int, mixed> $fields[, array<string|int, mixed> $constraints = [] ][, bool $ifNotExists = TRUE ]) : string + + +
                              Parameters
                              +
                              +
                              + $name + : string +
                              +
                              +
                              + +
                              +
                              + $fields + : array<string|int, mixed> +
                              +
                              +
                              + +
                              +
                              + $constraints + : array<string|int, mixed> + = []
                              +
                              +
                              + +
                              +
                              + $ifNotExists + : bool + = TRUE
                              +
                              +
                              + +
                              +
                              + + + +
                              Return values
                              + string + — + + +
                              +
                              +

                              + deleteTable() + +

                              + + +

                              Drop the selected table

                              + + + public + deleteTable(string $name) : string + + +
                              Parameters
                              +
                              +
                              + $name + : string +
                              +
                              +
                              + +
                              +
                              + + + +
                              Return values
                              + string + — + + +
                              + +
                              + +
                              +
                              +
                              +
                              +
                              
                              +        
                              + +
                              +
                              + + + +
                              +
                              +
                              +
                              +

                              Search results

                              + +
                              +
                              +
                                +
                                +
                                +
                                +
                                +
                                + + +
                                + + + + + + + + diff --git a/apiDocumentation/classes/Query-Exception-BadDBDriverException.html b/apiDocumentation/classes/Query-Exception-BadDBDriverException.html new file mode 100644 index 0000000..9014db7 --- /dev/null +++ b/apiDocumentation/classes/Query-Exception-BadDBDriverException.html @@ -0,0 +1,242 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                +

                                Documentation

                                + + + + + +
                                + +
                                +
                                + + + + +
                                + + +
                                +

                                + BadDBDriverException + + + extends InvalidArgumentException + + +
                                + in package + +
                                + + +

                                + + + +

                                Generic exception for bad drivers

                                + + + + + + + + + + + + + + + + + +
                                +
                                +
                                +
                                +
                                
                                +        
                                + +
                                +
                                + + + +
                                +
                                +
                                +
                                +

                                Search results

                                + +
                                +
                                +
                                  +
                                  +
                                  +
                                  +
                                  +
                                  + + +
                                  + + + + + + + + diff --git a/apiDocumentation/classes/Query-Exception-NonExistentConnectionException.html b/apiDocumentation/classes/Query-Exception-NonExistentConnectionException.html new file mode 100644 index 0000000..7f99b0b --- /dev/null +++ b/apiDocumentation/classes/Query-Exception-NonExistentConnectionException.html @@ -0,0 +1,242 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                  +

                                  Documentation

                                  + + + + + +
                                  + +
                                  +
                                  + + + + +
                                  + + +
                                  +

                                  + NonExistentConnectionException + + + extends InvalidArgumentException + + +
                                  + in package + +
                                  + + +

                                  + + + +

                                  Exception for missing database connection

                                  + + + + + + + + + + + + + + + + + +
                                  +
                                  +
                                  +
                                  +
                                  
                                  +        
                                  + +
                                  +
                                  + + + +
                                  +
                                  +
                                  +
                                  +

                                  Search results

                                  + +
                                  +
                                  +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + +
                                    + + + + + + + + diff --git a/apiDocumentation/classes/Query-Exception-NotImplementedException.html b/apiDocumentation/classes/Query-Exception-NotImplementedException.html new file mode 100644 index 0000000..f985182 --- /dev/null +++ b/apiDocumentation/classes/Query-Exception-NotImplementedException.html @@ -0,0 +1,242 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                    +

                                    Documentation

                                    + + + + + +
                                    + +
                                    +
                                    + + + + +
                                    + + +
                                    +

                                    + NotImplementedException + + + extends BadMethodCallException + + +
                                    + in package + +
                                    + + +

                                    + + + +

                                    Exception for non-implemented method

                                    + + + + + + + + + + + + + + + + + +
                                    +
                                    +
                                    +
                                    +
                                    
                                    +        
                                    + +
                                    +
                                    + + + +
                                    +
                                    +
                                    +
                                    +

                                    Search results

                                    + +
                                    +
                                    +
                                      +
                                      +
                                      +
                                      +
                                      +
                                      + + +
                                      + + + + + + + + diff --git a/apiDocumentation/classes/Query-JoinType.html b/apiDocumentation/classes/Query-JoinType.html new file mode 100644 index 0000000..6ea9cc9 --- /dev/null +++ b/apiDocumentation/classes/Query-JoinType.html @@ -0,0 +1,468 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                      +

                                      Documentation

                                      + + + + + +
                                      + +
                                      +
                                      + + + + +
                                      + + +
                                      +

                                      + JoinType + + + : string + + +
                                      + in package +
                                        +
                                      +
                                      + + +

                                      + + + +

                                      Enum of join types

                                      + + + + + + + + + +

                                      + Table of Contents + +

                                      + +
                                      +
                                      + CROSS + +  = 'cross' +
                                      +
                                      + +
                                      + INNER + +  = 'inner' +
                                      +
                                      + +
                                      + LEFT + +  = 'left' +
                                      +
                                      + +
                                      + OUTER + +  = 'outer' +
                                      +
                                      + +
                                      + RIGHT + +  = 'right' +
                                      +
                                      + +
                                      + parse() + +  : self +
                                      +
                                      + +
                                      + + + +
                                      +

                                      + Cases + +

                                      +
                                      +

                                      + CROSS + +

                                      + + + + +
                                      + + + +
                                      +
                                      +

                                      + INNER + +

                                      + + + + +
                                      + + + +
                                      +
                                      +

                                      + OUTER + +

                                      + + + + +
                                      + + + +
                                      +
                                      +

                                      + LEFT + +

                                      + + + + +
                                      + + + +
                                      +
                                      +

                                      + RIGHT + +

                                      + + + + +
                                      + + + +
                                      +
                                      + +
                                      +

                                      + Methods + +

                                      +
                                      +

                                      + parse() + +

                                      + + + + + public + static parse(string|self $val) : self + +
                                      + +
                                      Parameters
                                      +
                                      +
                                      + $val + : string|self +
                                      +
                                      +
                                      + +
                                      +
                                      + + + +
                                      Return values
                                      + self + — + + +
                                      +
                                      + +
                                      +
                                      +
                                      +
                                      +
                                      
                                      +        
                                      + +
                                      +
                                      + + + +
                                      +
                                      +
                                      +
                                      +

                                      Search results

                                      + +
                                      +
                                      +
                                        +
                                        +
                                        +
                                        +
                                        +
                                        + + +
                                        + + + + + + + + diff --git a/apiDocumentation/classes/Query-LikeType.html b/apiDocumentation/classes/Query-LikeType.html new file mode 100644 index 0000000..32e382a --- /dev/null +++ b/apiDocumentation/classes/Query-LikeType.html @@ -0,0 +1,404 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                        +

                                        Documentation

                                        + + + + + +
                                        + +
                                        +
                                        + + + + +
                                        + + +
                                        +

                                        + LikeType + + + : string + + +
                                        + in package +
                                          +
                                        +
                                        + + +

                                        + + + +

                                        'Enum' of join types

                                        + + + + + + + + + +

                                        + Table of Contents + +

                                        + +
                                        +
                                        + AFTER + +  = 'after' +
                                        +
                                        + +
                                        + BEFORE + +  = 'before' +
                                        +
                                        + +
                                        + BOTH + +  = 'both' +
                                        +
                                        + +
                                        + parse() + +  : self +
                                        +
                                        + +
                                        + + + +
                                        +

                                        + Cases + +

                                        +
                                        +

                                        + BEFORE + +

                                        + + + + +
                                        + + + +
                                        +
                                        +

                                        + AFTER + +

                                        + + + + +
                                        + + + +
                                        +
                                        +

                                        + BOTH + +

                                        + + + + +
                                        + + + +
                                        +
                                        + +
                                        +

                                        + Methods + +

                                        +
                                        +

                                        + parse() + +

                                        + + + + + public + static parse(string|self $val) : self + +
                                        + +
                                        Parameters
                                        +
                                        +
                                        + $val + : string|self +
                                        +
                                        +
                                        + +
                                        +
                                        + + + +
                                        Return values
                                        + self + — + + +
                                        +
                                        + +
                                        +
                                        +
                                        +
                                        +
                                        
                                        +        
                                        + +
                                        +
                                        + + + +
                                        +
                                        +
                                        +
                                        +

                                        Search results

                                        + +
                                        +
                                        +
                                          +
                                          +
                                          +
                                          +
                                          +
                                          + + +
                                          + + + + + + + + diff --git a/apiDocumentation/classes/Query-MapType.html b/apiDocumentation/classes/Query-MapType.html new file mode 100644 index 0000000..a98f37e --- /dev/null +++ b/apiDocumentation/classes/Query-MapType.html @@ -0,0 +1,393 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                          +

                                          Documentation

                                          + + + + + +
                                          + +
                                          +
                                          + + + + +
                                          + + +
                                          +

                                          + MapType + + + : string + + +
                                          + in package +
                                            +
                                          +
                                          + + +

                                          + + + +

                                          Enum of query map types

                                          + + + + + + + + + + + + +
                                          +

                                          + Cases + +

                                          +
                                          +

                                          + GROUP_END + +

                                          + + + + +
                                          + + + +
                                          +
                                          +

                                          + GROUP_START + +

                                          + + + + +
                                          + + + +
                                          +
                                          +

                                          + JOIN + +

                                          + + + + +
                                          + + + +
                                          +
                                          +

                                          + LIKE + +

                                          + + + + +
                                          + + + +
                                          +
                                          +

                                          + WHERE + +

                                          + + + + +
                                          + + + +
                                          +
                                          +

                                          + WHERE_IN + +

                                          + + + + +
                                          + + + +
                                          +
                                          + + +
                                          +
                                          +
                                          +
                                          +
                                          
                                          +        
                                          + +
                                          +
                                          + + + +
                                          +
                                          +
                                          +
                                          +

                                          Search results

                                          + +
                                          +
                                          +
                                            +
                                            +
                                            +
                                            +
                                            +
                                            + + +
                                            + + + + + + + + diff --git a/apiDocumentation/classes/Query-QueryBuilder.html b/apiDocumentation/classes/Query-QueryBuilder.html new file mode 100644 index 0000000..870eb9a --- /dev/null +++ b/apiDocumentation/classes/Query-QueryBuilder.html @@ -0,0 +1,4713 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                            +

                                            Documentation

                                            + + + + + +
                                            + +
                                            +
                                            + + + + +
                                            + + +
                                            +

                                            + QueryBuilder + + + extends QueryBuilderBase + + +
                                            + in package + +
                                            + + + implements + QueryBuilderInterface + +

                                            + + + +

                                            Convenience class for creating sql queries

                                            + + + + + + + +

                                            + Interfaces, Classes, Traits and Enums + +

                                            + +
                                            +
                                            QueryBuilderInterface
                                            +
                                            Interface defining the Query Builder class
                                            + + + +
                                            + + +

                                            + Table of Contents + +

                                            + +
                                            +
                                            + $connName + +  : string +
                                            +
                                            Convenience property for connection management
                                            + +
                                            + $queries + +  : array<string|int, mixed> +
                                            +
                                            List of queries executed
                                            + +
                                            + __call() + +  : mixed +
                                            +
                                            Calls a function further down the inheritance chain.
                                            + +
                                            + __construct() + +  : mixed +
                                            +
                                            Constructor
                                            + +
                                            + __destruct() + +  : mixed +
                                            +
                                            Destructor
                                            + +
                                            + affectedRows() + +  : void +
                                            +
                                            + +
                                            + beginTransaction() + +  : void +
                                            +
                                            + +
                                            + commit() + +  : void +
                                            +
                                            + +
                                            + countAll() + +  : int +
                                            +
                                            Retrieve the number of rows in the selected table
                                            + +
                                            + countAllResults() + +  : int +
                                            +
                                            Retrieve the number of results for the generated query - used +in place of the get() method
                                            + +
                                            + delete() + +  : PDOStatement +
                                            +
                                            Deletes data from a table
                                            + +
                                            + distinct() + +  : self +
                                            +
                                            Adds the 'distinct' keyword to a query
                                            + +
                                            + errorCode() + +  : void +
                                            +
                                            + +
                                            + errorInfo() + +  : void +
                                            +
                                            + +
                                            + exec() + +  : void +
                                            +
                                            + +
                                            + explain() + +  : self +
                                            +
                                            Tell the database to give you the query plan instead of result set
                                            + +
                                            + from() + +  : self +
                                            +
                                            Specify the database table to select from
                                            + +
                                            + get() + +  : PDOStatement +
                                            +
                                            Select and retrieve all records from the current table, and/or +execute current compiled query
                                            + +
                                            + getAttribute() + +  : void +
                                            +
                                            + +
                                            + getColumns() + +  : void +
                                            +
                                            + +
                                            + getCompiledDelete() + +  : string +
                                            +
                                            Returns the generated 'delete' sql query
                                            + +
                                            + getCompiledInsert() + +  : string +
                                            +
                                            Returns the generated 'insert' sql query
                                            + +
                                            + getCompiledSelect() + +  : string +
                                            +
                                            Returns the generated 'select' sql query
                                            + +
                                            + getCompiledUpdate() + +  : string +
                                            +
                                            Returns the generated 'update' sql query
                                            + +
                                            + getDbs() + +  : void +
                                            +
                                            + +
                                            + getFks() + +  : void +
                                            +
                                            + +
                                            + getIndexes() + +  : void +
                                            +
                                            + +
                                            + getLastQuery() + +  : void +
                                            +
                                            + +
                                            + getSchemas() + +  : void +
                                            +
                                            + +
                                            + getSequences() + +  : void +
                                            +
                                            + +
                                            + getSystemTables() + +  : void +
                                            +
                                            + +
                                            + getTables() + +  : void +
                                            +
                                            + +
                                            + getTypes() + +  : void +
                                            +
                                            + +
                                            + getUtil() + +  : void +
                                            +
                                            + +
                                            + getVersion() + +  : void +
                                            +
                                            + +
                                            + getViews() + +  : void +
                                            +
                                            + +
                                            + getWhere() + +  : PDOStatement +
                                            +
                                            Convenience method for get() with a where clause
                                            + +
                                            + groupBy() + +  : self +
                                            +
                                            Group the results by the selected field(s)
                                            + +
                                            + groupEnd() + +  : self +
                                            +
                                            Ends a query group
                                            + +
                                            + groupStart() + +  : self +
                                            +
                                            Adds a paren to the current query for query grouping
                                            + +
                                            + having() + +  : self +
                                            +
                                            Generates a 'Having' clause
                                            + +
                                            + insert() + +  : PDOStatement +
                                            +
                                            Creates an insert clause, and executes it
                                            + +
                                            + insertBatch() + +  : PDOStatement|null +
                                            +
                                            Creates and executes a batch insertion query
                                            + +
                                            + inTransaction() + +  : void +
                                            +
                                            + +
                                            + join() + +  : self +
                                            +
                                            Creates a join phrase in a compiled query
                                            + +
                                            + lastInsertId() + +  : void +
                                            +
                                            + +
                                            + like() + +  : self +
                                            +
                                            Creates a Like clause in the sql statement
                                            + +
                                            + limit() + +  : self +
                                            +
                                            Set a limit on the current sql statement
                                            + +
                                            + notGroupStart() + +  : self +
                                            +
                                            Adds a paren to the current query for query grouping, +prefixed with 'NOT'
                                            + +
                                            + notLike() + +  : self +
                                            +
                                            Generates a NOT LIKE clause
                                            + +
                                            + numRows() + +  : void +
                                            +
                                            + +
                                            + orderBy() + +  : self +
                                            +
                                            Order the results by the selected field(s)
                                            + +
                                            + orGroupStart() + +  : self +
                                            +
                                            Adds a paren to the current query for query grouping, +prefixed with 'OR'
                                            + +
                                            + orHaving() + +  : self +
                                            +
                                            Generates a 'Having' clause prefixed with 'OR'
                                            + +
                                            + orLike() + +  : self +
                                            +
                                            Generates an OR Like clause
                                            + +
                                            + orNotGroupStart() + +  : self +
                                            +
                                            Adds a paren to the current query for query grouping, +prefixed with 'OR NOT'
                                            + +
                                            + orNotLike() + +  : self +
                                            +
                                            Generates a OR NOT LIKE clause
                                            + +
                                            + orWhere() + +  : self +
                                            +
                                            Where clause prefixed with "OR"
                                            + +
                                            + orWhereIn() + +  : self +
                                            +
                                            Where in statement prefixed with "or"
                                            + +
                                            + orWhereNotIn() + +  : self +
                                            +
                                            OR WHERE NOT IN (FOO) clause
                                            + +
                                            + prepare() + +  : void +
                                            +
                                            + +
                                            + prepareExecute() + +  : void +
                                            +
                                            + +
                                            + prepareQuery() + +  : void +
                                            +
                                            + +
                                            + query() + +  : void +
                                            +
                                            + +
                                            + quote() + +  : void +
                                            +
                                            + +
                                            + resetQuery() + +  : void +
                                            +
                                            Clear out the class variables, so the next query can be run
                                            + +
                                            + returning() + +  : $this +
                                            +
                                            Add a 'returning' clause to an insert,update, or delete query
                                            + +
                                            + rollback() + +  : void +
                                            +
                                            + +
                                            + select() + +  : self +
                                            +
                                            Specifies rows to select in a query
                                            + +
                                            + selectAvg() + +  : self +
                                            +
                                            Selects the average value of a field from a query
                                            + +
                                            + selectMax() + +  : self +
                                            +
                                            Selects the maximum value of a field from a query
                                            + +
                                            + selectMin() + +  : self +
                                            +
                                            Selects the minimum value of a field from a query
                                            + +
                                            + selectSum() + +  : self +
                                            +
                                            Selects the sum of a field from a query
                                            + +
                                            + set() + +  : self +
                                            +
                                            Sets values for inserts / updates / deletes
                                            + +
                                            + setAttribute() + +  : void +
                                            +
                                            + +
                                            + setTablePrefix() + +  : void +
                                            +
                                            + +
                                            + table() + +  : self +
                                            +
                                            Specify the database table to select from
                                            + +
                                            + truncate() + +  : void +
                                            +
                                            + +
                                            + update() + +  : PDOStatement +
                                            +
                                            Creates an update clause, and executes it
                                            + +
                                            + updateBatch() + +  : int|null +
                                            +
                                            Creates a batch update, and executes it.
                                            + +
                                            + where() + +  : self +
                                            +
                                            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
                                            + +
                                            + whereIn() + +  : self +
                                            +
                                            Where clause with 'IN' statement
                                            + +
                                            + whereNotIn() + +  : self +
                                            +
                                            WHERE NOT IN (FOO) clause
                                            + +
                                            + + + + + + +
                                            +

                                            + Properties + +

                                            +
                                            +

                                            + $connName + + + +

                                            + + +

                                            Convenience property for connection management

                                            + + + public + string + $connName + = '' + + +
                                            + + + +
                                            +
                                            +

                                            + $queries + + + +

                                            + + +

                                            List of queries executed

                                            + + + public + array<string|int, mixed> + $queries + = ['total_time' => 0] + + +
                                            + + + +
                                            +
                                            + +
                                            +

                                            + Methods + +

                                            +
                                            +

                                            + __call() + +

                                            + + +

                                            Calls a function further down the inheritance chain.

                                            + + + public + __call(string $name, array<string|int, mixed> $params) : mixed + +

                                            'Implements' methods on the driver object

                                            +
                                            + +
                                            Parameters
                                            +
                                            +
                                            + $name + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + $params + : array<string|int, mixed> +
                                            +
                                            +
                                            + +
                                            +
                                            + + +
                                            + Tags + +
                                            +
                                            +
                                            + throws +
                                            +
                                            + BadMethodCallException + + +
                                            +
                                            + +
                                            Return values
                                            + mixed + — + + +
                                            + +
                                            +

                                            + __destruct() + +

                                            + + +

                                            Destructor

                                            + + + public + __destruct() : mixed + + + + +
                                            + Tags + +
                                            +
                                            +
                                            + codeCoverageIgnore +
                                            +
                                            + + +
                                            +
                                            + +
                                            Return values
                                            + mixed + — + + +
                                            +
                                            +

                                            + affectedRows() + +

                                            + + + + + public + affectedRows() : void + +

                                            : int

                                            +
                                            + + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + beginTransaction() + +

                                            + + + + + public + beginTransaction() : void + +

                                            : bool

                                            +
                                            + + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + commit() + +

                                            + + + + + public + commit() : void + +

                                            : bool

                                            +
                                            + + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + countAll() + +

                                            + + +

                                            Retrieve the number of rows in the selected table

                                            + + + public + countAll(string $table) : int + + +
                                            Parameters
                                            +
                                            +
                                            + $table + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + int + — + + +
                                            +
                                            +

                                            + countAllResults() + +

                                            + + +

                                            Retrieve the number of results for the generated query - used +in place of the get() method

                                            + + + public + countAllResults([string $table = '' ][, bool $reset = TRUE ]) : int + + +
                                            Parameters
                                            +
                                            +
                                            + $table + : string + = ''
                                            +
                                            +
                                            + +
                                            +
                                            + $reset + : bool + = TRUE
                                            +
                                            +
                                              +
                                            • Whether to keep the query after counting the results
                                            • +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + int + — + + +
                                            +
                                            +

                                            + delete() + +

                                            + + +

                                            Deletes data from a table

                                            + + + public + delete(string $table[, mixed $where = '' ]) : PDOStatement + + +
                                            Parameters
                                            +
                                            +
                                            + $table + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + $where + : mixed + = ''
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + PDOStatement + — + + +
                                            +
                                            +

                                            + distinct() + +

                                            + + +

                                            Adds the 'distinct' keyword to a query

                                            + + + public + distinct() : self + + + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + errorCode() + +

                                            + + + + + public + errorCode() : void + +

                                            : string

                                            +
                                            + + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + errorInfo() + +

                                            + + + + + public + errorInfo() : void + +

                                            : array

                                            +
                                            + + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + exec() + +

                                            + + + + + public + exec(string $statement) : void + +

                                            : int

                                            +
                                            + +
                                            Parameters
                                            +
                                            +
                                            + $statement + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + explain() + +

                                            + + +

                                            Tell the database to give you the query plan instead of result set

                                            + + + public + explain() : self + + + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + from() + +

                                            + + +

                                            Specify the database table to select from

                                            + + + public + from(string $tableName) : self + + +
                                            Parameters
                                            +
                                            +
                                            + $tableName + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + get() + +

                                            + + +

                                            Select and retrieve all records from the current table, and/or +execute current compiled query

                                            + + + public + get([string $table = '' ][, int|null $limit = NULL ][, int|null $offset = NULL ]) : PDOStatement + + +
                                            Parameters
                                            +
                                            +
                                            + $table + : string + = ''
                                            +
                                            +
                                            + +
                                            +
                                            + $limit + : int|null + = NULL
                                            +
                                            +
                                            + +
                                            +
                                            + $offset + : int|null + = NULL
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + PDOStatement + — + + +
                                            +
                                            +

                                            + getAttribute() + +

                                            + + + + + public + getAttribute(int $attribute) : void + + +
                                            Parameters
                                            +
                                            +
                                            + $attribute + : int +
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + getColumns() + +

                                            + + + + + public + getColumns(string $table) : void + +

                                            : array | null

                                            +
                                            + +
                                            Parameters
                                            +
                                            +
                                            + $table + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + getCompiledDelete() + +

                                            + + +

                                            Returns the generated 'delete' sql query

                                            + + + public + getCompiledDelete([string $table = '' ][, bool $reset = TRUE ]) : string + + +
                                            Parameters
                                            +
                                            +
                                            + $table + : string + = ''
                                            +
                                            +
                                            + +
                                            +
                                            + $reset + : bool + = TRUE
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + string + — + + +
                                            +
                                            +

                                            + getCompiledInsert() + +

                                            + + +

                                            Returns the generated 'insert' sql query

                                            + + + public + getCompiledInsert(string $table[, bool $reset = TRUE ]) : string + + +
                                            Parameters
                                            +
                                            +
                                            + $table + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + $reset + : bool + = TRUE
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + string + — + + +
                                            +
                                            +

                                            + getCompiledSelect() + +

                                            + + +

                                            Returns the generated 'select' sql query

                                            + + + public + getCompiledSelect([string $table = '' ][, bool $reset = TRUE ]) : string + + +
                                            Parameters
                                            +
                                            +
                                            + $table + : string + = ''
                                            +
                                            +
                                            + +
                                            +
                                            + $reset + : bool + = TRUE
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + string + — + + +
                                            +
                                            +

                                            + getCompiledUpdate() + +

                                            + + +

                                            Returns the generated 'update' sql query

                                            + + + public + getCompiledUpdate([string $table = '' ][, bool $reset = TRUE ]) : string + + +
                                            Parameters
                                            +
                                            +
                                            + $table + : string + = ''
                                            +
                                            +
                                            + +
                                            +
                                            + $reset + : bool + = TRUE
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + string + — + + +
                                            +
                                            +

                                            + getDbs() + +

                                            + + + + + public + getDbs() : void + +

                                            : array | null

                                            +
                                            + + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + getFks() + +

                                            + + + + + public + getFks(string $table) : void + +

                                            : array | null

                                            +
                                            + +
                                            Parameters
                                            +
                                            +
                                            + $table + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + getIndexes() + +

                                            + + + + + public + getIndexes(string $table) : void + +

                                            : array | null

                                            +
                                            + +
                                            Parameters
                                            +
                                            +
                                            + $table + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + getLastQuery() + +

                                            + + + + + public + getLastQuery() : void + +

                                            : string

                                            +
                                            + + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + getSchemas() + +

                                            + + + + + public + getSchemas() : void + +

                                            : array | null

                                            +
                                            + + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + getSequences() + +

                                            + + + + + public + getSequences() : void + +

                                            : array | null

                                            +
                                            + + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + getSystemTables() + +

                                            + + + + + public + getSystemTables() : void + +

                                            : array | null

                                            +
                                            + + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + getTables() + +

                                            + + + + + public + getTables() : void + +

                                            : array

                                            +
                                            + + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + getTypes() + +

                                            + + + + + public + getTypes() : void + +

                                            : array | null

                                            +
                                            + + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + getUtil() + +

                                            + + + + + public + getUtil() : void + +

                                            : \Query\Drivers\AbstractUtil

                                            +
                                            + + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + getVersion() + +

                                            + + + + + public + getVersion() : void + +

                                            : string

                                            +
                                            + + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + getViews() + +

                                            + + + + + public + getViews() : void + +

                                            : array | null

                                            +
                                            + + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + getWhere() + +

                                            + + +

                                            Convenience method for get() with a where clause

                                            + + + public + getWhere(string $table[, mixed $where = [] ][, int|null $limit = NULL ][, int|null $offset = NULL ]) : PDOStatement + + +
                                            Parameters
                                            +
                                            +
                                            + $table + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + $where + : mixed + = []
                                            +
                                            + +
                                            +
                                            + $limit + : int|null + = NULL
                                            +
                                            +
                                            + +
                                            +
                                            + $offset + : int|null + = NULL
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + PDOStatement + — + + +
                                            +
                                            +

                                            + groupBy() + +

                                            + + +

                                            Group the results by the selected field(s)

                                            + + + public + groupBy(mixed $field) : self + + +
                                            Parameters
                                            +
                                            +
                                            + $field + : mixed +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + groupEnd() + +

                                            + + +

                                            Ends a query group

                                            + + + public + groupEnd() : self + + + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + groupStart() + +

                                            + + +

                                            Adds a paren to the current query for query grouping

                                            + + + public + groupStart() : self + + + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + having() + +

                                            + + +

                                            Generates a 'Having' clause

                                            + + + public + having(mixed $key[, mixed $values = [] ]) : self + + +
                                            Parameters
                                            +
                                            +
                                            + $key + : mixed +
                                            +
                                            + +
                                            +
                                            + $values + : mixed + = []
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + insert() + +

                                            + + +

                                            Creates an insert clause, and executes it

                                            + + + public + insert(string $table[, mixed $data = [] ]) : PDOStatement + + +
                                            Parameters
                                            +
                                            +
                                            + $table + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + $data + : mixed + = []
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + PDOStatement + — + + +
                                            +
                                            +

                                            + insertBatch() + +

                                            + + +

                                            Creates and executes a batch insertion query

                                            + + + public + insertBatch(string $table[, mixed $data = [] ]) : PDOStatement|null + + +
                                            Parameters
                                            +
                                            +
                                            + $table + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + $data + : mixed + = []
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + PDOStatement|null + — + + +
                                            +
                                            +

                                            + inTransaction() + +

                                            + + + + + public + inTransaction() : void + +

                                            : bool

                                            +
                                            + + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + join() + +

                                            + + +

                                            Creates a join phrase in a compiled query

                                            + + + public + join(string $table, string $condition[, JoinType|string $type = JoinType::INNER ]) : self + + +
                                            Parameters
                                            +
                                            +
                                            + $table + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + $condition + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + $type + : JoinType|string + = JoinType::INNER
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + lastInsertId() + +

                                            + + + + + public + lastInsertId(string $name = NULL) : void + +

                                            : string

                                            +
                                            + +
                                            Parameters
                                            +
                                            +
                                            + $name = NULL + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + like() + +

                                            + + +

                                            Creates a Like clause in the sql statement

                                            + + + public + like(string $field, mixed $values[, LikeType|string $pos = LikeType::BOTH ]) : self + + +
                                            Parameters
                                            +
                                            +
                                            + $field + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + $values + : mixed +
                                            +
                                            + +
                                            +
                                            + $pos + : LikeType|string + = LikeType::BOTH
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + limit() + +

                                            + + +

                                            Set a limit on the current sql statement

                                            + + + public + limit(int $limit[, int|null $offset = NULL ]) : self + + +
                                            Parameters
                                            +
                                            +
                                            + $limit + : int +
                                            +
                                            +
                                            + +
                                            +
                                            + $offset + : int|null + = NULL
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + notGroupStart() + +

                                            + + +

                                            Adds a paren to the current query for query grouping, +prefixed with 'NOT'

                                            + + + public + notGroupStart() : self + + + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + notLike() + +

                                            + + +

                                            Generates a NOT LIKE clause

                                            + + + public + notLike(string $field, mixed $values[, LikeType|string $pos = LikeType::BOTH ]) : self + + +
                                            Parameters
                                            +
                                            +
                                            + $field + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + $values + : mixed +
                                            +
                                            + +
                                            +
                                            + $pos + : LikeType|string + = LikeType::BOTH
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + numRows() + +

                                            + + + + + public + numRows() : void + +

                                            : int | null

                                            +
                                            + + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + orderBy() + +

                                            + + +

                                            Order the results by the selected field(s)

                                            + + + public + orderBy(string $field[, string $type = '' ]) : self + + +
                                            Parameters
                                            +
                                            +
                                            + $field + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + $type + : string + = ''
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + orGroupStart() + +

                                            + + +

                                            Adds a paren to the current query for query grouping, +prefixed with 'OR'

                                            + + + public + orGroupStart() : self + + + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + orHaving() + +

                                            + + +

                                            Generates a 'Having' clause prefixed with 'OR'

                                            + + + public + orHaving(mixed $key[, mixed $values = [] ]) : self + + +
                                            Parameters
                                            +
                                            +
                                            + $key + : mixed +
                                            +
                                            + +
                                            +
                                            + $values + : mixed + = []
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + orLike() + +

                                            + + +

                                            Generates an OR Like clause

                                            + + + public + orLike(string $field, mixed $values[, LikeType|string $pos = LikeType::BOTH ]) : self + + +
                                            Parameters
                                            +
                                            +
                                            + $field + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + $values + : mixed +
                                            +
                                            + +
                                            +
                                            + $pos + : LikeType|string + = LikeType::BOTH
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + orNotGroupStart() + +

                                            + + +

                                            Adds a paren to the current query for query grouping, +prefixed with 'OR NOT'

                                            + + + public + orNotGroupStart() : self + + + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + orNotLike() + +

                                            + + +

                                            Generates a OR NOT LIKE clause

                                            + + + public + orNotLike(string $field, mixed $values[, LikeType|string $pos = LikeType::BOTH ]) : self + + +
                                            Parameters
                                            +
                                            +
                                            + $field + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + $values + : mixed +
                                            +
                                            + +
                                            +
                                            + $pos + : LikeType|string + = LikeType::BOTH
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + orWhere() + +

                                            + + +

                                            Where clause prefixed with "OR"

                                            + + + public + orWhere(mixed $key[, mixed $values = [] ]) : self + + +
                                            Parameters
                                            +
                                            +
                                            + $key + : mixed +
                                            +
                                            + +
                                            +
                                            + $values + : mixed + = []
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + orWhereIn() + +

                                            + + +

                                            Where in statement prefixed with "or"

                                            + + + public + orWhereIn(string $field[, mixed $val = [] ]) : self + + +
                                            Parameters
                                            +
                                            +
                                            + $field + : string +
                                            +
                                            + +
                                            +
                                            + $val + : mixed + = []
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + orWhereNotIn() + +

                                            + + +

                                            OR WHERE NOT IN (FOO) clause

                                            + + + public + orWhereNotIn(string $field[, mixed $val = [] ]) : self + + +
                                            Parameters
                                            +
                                            +
                                            + $field + : string +
                                            +
                                            + +
                                            +
                                            + $val + : mixed + = []
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + prepare() + +

                                            + + + + + public + prepare(string $statement, array<string|int, mixed> $driver_options = []) : void + +

                                            : PDOStatement

                                            +
                                            + +
                                            Parameters
                                            +
                                            +
                                            + $statement + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + $driver_options = [] + : array<string|int, mixed> +
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + prepareExecute() + +

                                            + + + + + public + prepareExecute(string $sql, array<string|int, mixed> $params) : void + +

                                            : PDOStatement

                                            +
                                            + +
                                            Parameters
                                            +
                                            +
                                            + $sql + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + $params + : array<string|int, mixed> +
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + prepareQuery() + +

                                            + + + + + public + prepareQuery(string $sql, array<string|int, mixed> $data) : void + +

                                            : PDOStatement

                                            +
                                            + +
                                            Parameters
                                            +
                                            +
                                            + $sql + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + $data + : array<string|int, mixed> +
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + query() + +

                                            + + + + + public + query(string $statement) : void + +

                                            : PDOStatement

                                            +
                                            + +
                                            Parameters
                                            +
                                            +
                                            + $statement + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + quote() + +

                                            + + + + + public + quote(string $string, int $parameter_type = PDO::PARAM_STR) : void + +

                                            : string

                                            +
                                            + +
                                            Parameters
                                            +
                                            +
                                            + $string + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + $parameter_type = PDO::PARAM_STR + : int +
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + resetQuery() + +

                                            + + +

                                            Clear out the class variables, so the next query can be run

                                            + + + public + resetQuery() : void + + + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + returning() + +

                                            + + +

                                            Add a 'returning' clause to an insert,update, or delete query

                                            + + + public + returning([string $fields = '' ]) : $this + + +
                                            Parameters
                                            +
                                            +
                                            + $fields + : string + = ''
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + $this + — + + +
                                            +
                                            +

                                            + rollback() + +

                                            + + + + + public + rollback() : void + +

                                            : bool

                                            +
                                            + + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + select() + +

                                            + + +

                                            Specifies rows to select in a query

                                            + + + public + select(string $fields) : self + + +
                                            Parameters
                                            +
                                            +
                                            + $fields + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + selectAvg() + +

                                            + + +

                                            Selects the average value of a field from a query

                                            + + + public + selectAvg(string $field[, string|bool $as = FALSE ]) : self + + +
                                            Parameters
                                            +
                                            +
                                            + $field + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + $as + : string|bool + = FALSE
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + selectMax() + +

                                            + + +

                                            Selects the maximum value of a field from a query

                                            + + + public + selectMax(string $field[, string|bool $as = FALSE ]) : self + + +
                                            Parameters
                                            +
                                            +
                                            + $field + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + $as + : string|bool + = FALSE
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + selectMin() + +

                                            + + +

                                            Selects the minimum value of a field from a query

                                            + + + public + selectMin(string $field[, string|bool $as = FALSE ]) : self + + +
                                            Parameters
                                            +
                                            +
                                            + $field + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + $as + : string|bool + = FALSE
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + selectSum() + +

                                            + + +

                                            Selects the sum of a field from a query

                                            + + + public + selectSum(string $field[, string|bool $as = FALSE ]) : self + + +
                                            Parameters
                                            +
                                            +
                                            + $field + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + $as + : string|bool + = FALSE
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + set() + +

                                            + + +

                                            Sets values for inserts / updates / deletes

                                            + + + public + set(mixed $key[, mixed $val = NULL ]) : self + + +
                                            Parameters
                                            +
                                            +
                                            + $key + : mixed +
                                            +
                                            + +
                                            +
                                            + $val + : mixed + = NULL
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + setAttribute() + +

                                            + + + + + public + setAttribute(int $attribute, mixed $value) : void + +

                                            : bool

                                            +
                                            + +
                                            Parameters
                                            +
                                            +
                                            + $attribute + : int +
                                            +
                                            +
                                            + +
                                            +
                                            + $value + : mixed +
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + setTablePrefix() + +

                                            + + + + + public + setTablePrefix(string $prefix) : void + +

                                            : void

                                            +
                                            + +
                                            Parameters
                                            +
                                            +
                                            + $prefix + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + table() + +

                                            + + +

                                            Specify the database table to select from

                                            + + + public + table(string $tableName) : self + +

                                            Alias of from method to better match CodeIgniter 4

                                            +
                                            + +
                                            Parameters
                                            +
                                            +
                                            + $tableName + : string +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + truncate() + +

                                            + + + + + public + truncate(string $table) : void + +

                                            : PDOStatement

                                            +
                                            + +
                                            Parameters
                                            +
                                            +
                                            + $table + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + void + — + + +
                                            +
                                            +

                                            + update() + +

                                            + + +

                                            Creates an update clause, and executes it

                                            + + + public + update(string $table[, mixed $data = [] ]) : PDOStatement + + +
                                            Parameters
                                            +
                                            +
                                            + $table + : string +
                                            +
                                            +
                                            + +
                                            +
                                            + $data + : mixed + = []
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + PDOStatement + — + + +
                                            +
                                            +

                                            + updateBatch() + +

                                            + + +

                                            Creates a batch update, and executes it.

                                            + + + public + updateBatch(string $table, array<string|int, mixed> $data, string $where) : int|null + +

                                            Returns the number of affected rows

                                            +
                                            + +
                                            Parameters
                                            +
                                            +
                                            + $table + : string +
                                            +
                                            +

                                            The table to update

                                            +
                                            + +
                                            +
                                            + $data + : array<string|int, mixed> +
                                            +
                                            +

                                            an array of update values

                                            +
                                            + +
                                            +
                                            + $where + : string +
                                            +
                                            +

                                            The where key

                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + int|null + — + + +
                                            +
                                            +

                                            + where() + +

                                            + + +

                                            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

                                            + + + public + where(mixed $key[, mixed $values = [] ]) : self + + +
                                            Parameters
                                            +
                                            +
                                            + $key + : mixed +
                                            +
                                            + +
                                            +
                                            + $values + : mixed + = []
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + whereIn() + +

                                            + + +

                                            Where clause with 'IN' statement

                                            + + + public + whereIn(string $field[, mixed $val = [] ]) : self + + +
                                            Parameters
                                            +
                                            +
                                            + $field + : string +
                                            +
                                            + +
                                            +
                                            + $val + : mixed + = []
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            +

                                            + whereNotIn() + +

                                            + + +

                                            WHERE NOT IN (FOO) clause

                                            + + + public + whereNotIn(string $field[, mixed $val = [] ]) : self + + +
                                            Parameters
                                            +
                                            +
                                            + $field + : string +
                                            +
                                            + +
                                            +
                                            + $val + : mixed + = []
                                            +
                                            +
                                            + +
                                            +
                                            + + + +
                                            Return values
                                            + self + — + + +
                                            +
                                            + +
                                            +
                                            +
                                            +
                                            +
                                            
                                            +        
                                            + +
                                            +
                                            + + + +
                                            +
                                            +
                                            +
                                            +

                                            Search results

                                            + +
                                            +
                                            +
                                              +
                                              +
                                              +
                                              +
                                              +
                                              + + +
                                              + + + + + + + + diff --git a/apiDocumentation/classes/Query-QueryBuilderBase.html b/apiDocumentation/classes/Query-QueryBuilderBase.html new file mode 100644 index 0000000..dbdb4b5 --- /dev/null +++ b/apiDocumentation/classes/Query-QueryBuilderBase.html @@ -0,0 +1,2107 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                              +

                                              Documentation

                                              + + + + + +
                                              + +
                                              +
                                              + + + + +
                                              + + +
                                              +

                                              + QueryBuilderBase + + +
                                              + in package + +
                                              + + +

                                              + + + + + + + + + + + + +

                                              + Table of Contents + +

                                              + +
                                              +
                                              + $connName + +  : string +
                                              +
                                              Convenience property for connection management
                                              + +
                                              + $queries + +  : array<string|int, mixed> +
                                              +
                                              List of queries executed
                                              + +
                                              + __call() + +  : mixed +
                                              +
                                              Calls a function further down the inheritance chain.
                                              + +
                                              + __construct() + +  : mixed +
                                              +
                                              Constructor
                                              + +
                                              + __destruct() + +  : mixed +
                                              +
                                              Destructor
                                              + +
                                              + affectedRows() + +  : void +
                                              +
                                              + +
                                              + beginTransaction() + +  : void +
                                              +
                                              + +
                                              + commit() + +  : void +
                                              +
                                              + +
                                              + errorCode() + +  : void +
                                              +
                                              + +
                                              + errorInfo() + +  : void +
                                              +
                                              + +
                                              + exec() + +  : void +
                                              +
                                              + +
                                              + getAttribute() + +  : void +
                                              +
                                              + +
                                              + getColumns() + +  : void +
                                              +
                                              + +
                                              + getDbs() + +  : void +
                                              +
                                              + +
                                              + getFks() + +  : void +
                                              +
                                              + +
                                              + getIndexes() + +  : void +
                                              +
                                              + +
                                              + getLastQuery() + +  : void +
                                              +
                                              + +
                                              + getSchemas() + +  : void +
                                              +
                                              + +
                                              + getSequences() + +  : void +
                                              +
                                              + +
                                              + getSystemTables() + +  : void +
                                              +
                                              + +
                                              + getTables() + +  : void +
                                              +
                                              + +
                                              + getTypes() + +  : void +
                                              +
                                              + +
                                              + getUtil() + +  : void +
                                              +
                                              + +
                                              + getVersion() + +  : void +
                                              +
                                              + +
                                              + getViews() + +  : void +
                                              +
                                              + +
                                              + inTransaction() + +  : void +
                                              +
                                              + +
                                              + lastInsertId() + +  : void +
                                              +
                                              + +
                                              + numRows() + +  : void +
                                              +
                                              + +
                                              + prepare() + +  : void +
                                              +
                                              + +
                                              + prepareExecute() + +  : void +
                                              +
                                              + +
                                              + prepareQuery() + +  : void +
                                              +
                                              + +
                                              + query() + +  : void +
                                              +
                                              + +
                                              + quote() + +  : void +
                                              +
                                              + +
                                              + resetQuery() + +  : void +
                                              +
                                              Clear out the class variables, so the next query can be run
                                              + +
                                              + rollback() + +  : void +
                                              +
                                              + +
                                              + setAttribute() + +  : void +
                                              +
                                              + +
                                              + setTablePrefix() + +  : void +
                                              +
                                              + +
                                              + truncate() + +  : void +
                                              +
                                              + +
                                              + + + + + + +
                                              +

                                              + Properties + +

                                              +
                                              +

                                              + $connName + + + +

                                              + + +

                                              Convenience property for connection management

                                              + + + public + string + $connName + = '' + + +
                                              + + + +
                                              +
                                              +

                                              + $queries + + + +

                                              + + +

                                              List of queries executed

                                              + + + public + array<string|int, mixed> + $queries + = ['total_time' => 0] + + +
                                              + + + +
                                              +
                                              + +
                                              +

                                              + Methods + +

                                              +
                                              +

                                              + __call() + +

                                              + + +

                                              Calls a function further down the inheritance chain.

                                              + + + public + __call(string $name, array<string|int, mixed> $params) : mixed + +

                                              'Implements' methods on the driver object

                                              +
                                              + +
                                              Parameters
                                              +
                                              +
                                              + $name + : string +
                                              +
                                              +
                                              + +
                                              +
                                              + $params + : array<string|int, mixed> +
                                              +
                                              +
                                              + +
                                              +
                                              + + +
                                              + Tags + +
                                              +
                                              +
                                              + throws +
                                              +
                                              + BadMethodCallException + + +
                                              +
                                              + +
                                              Return values
                                              + mixed + — + + +
                                              + +
                                              +

                                              + __destruct() + +

                                              + + +

                                              Destructor

                                              + + + public + __destruct() : mixed + + + + +
                                              + Tags + +
                                              +
                                              +
                                              + codeCoverageIgnore +
                                              +
                                              + + +
                                              +
                                              + +
                                              Return values
                                              + mixed + — + + +
                                              +
                                              +

                                              + affectedRows() + +

                                              + + + + + public + affectedRows() : void + +

                                              : int

                                              +
                                              + + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + beginTransaction() + +

                                              + + + + + public + beginTransaction() : void + +

                                              : bool

                                              +
                                              + + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + commit() + +

                                              + + + + + public + commit() : void + +

                                              : bool

                                              +
                                              + + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + errorCode() + +

                                              + + + + + public + errorCode() : void + +

                                              : string

                                              +
                                              + + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + errorInfo() + +

                                              + + + + + public + errorInfo() : void + +

                                              : array

                                              +
                                              + + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + exec() + +

                                              + + + + + public + exec(string $statement) : void + +

                                              : int

                                              +
                                              + +
                                              Parameters
                                              +
                                              +
                                              + $statement + : string +
                                              +
                                              +
                                              + +
                                              +
                                              + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + getAttribute() + +

                                              + + + + + public + getAttribute(int $attribute) : void + + +
                                              Parameters
                                              +
                                              +
                                              + $attribute + : int +
                                              +
                                              +
                                              + +
                                              +
                                              + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + getColumns() + +

                                              + + + + + public + getColumns(string $table) : void + +

                                              : array | null

                                              +
                                              + +
                                              Parameters
                                              +
                                              +
                                              + $table + : string +
                                              +
                                              +
                                              + +
                                              +
                                              + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + getDbs() + +

                                              + + + + + public + getDbs() : void + +

                                              : array | null

                                              +
                                              + + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + getFks() + +

                                              + + + + + public + getFks(string $table) : void + +

                                              : array | null

                                              +
                                              + +
                                              Parameters
                                              +
                                              +
                                              + $table + : string +
                                              +
                                              +
                                              + +
                                              +
                                              + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + getIndexes() + +

                                              + + + + + public + getIndexes(string $table) : void + +

                                              : array | null

                                              +
                                              + +
                                              Parameters
                                              +
                                              +
                                              + $table + : string +
                                              +
                                              +
                                              + +
                                              +
                                              + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + getLastQuery() + +

                                              + + + + + public + getLastQuery() : void + +

                                              : string

                                              +
                                              + + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + getSchemas() + +

                                              + + + + + public + getSchemas() : void + +

                                              : array | null

                                              +
                                              + + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + getSequences() + +

                                              + + + + + public + getSequences() : void + +

                                              : array | null

                                              +
                                              + + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + getSystemTables() + +

                                              + + + + + public + getSystemTables() : void + +

                                              : array | null

                                              +
                                              + + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + getTables() + +

                                              + + + + + public + getTables() : void + +

                                              : array

                                              +
                                              + + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + getTypes() + +

                                              + + + + + public + getTypes() : void + +

                                              : array | null

                                              +
                                              + + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + getUtil() + +

                                              + + + + + public + getUtil() : void + +

                                              : \Query\Drivers\AbstractUtil

                                              +
                                              + + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + getVersion() + +

                                              + + + + + public + getVersion() : void + +

                                              : string

                                              +
                                              + + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + getViews() + +

                                              + + + + + public + getViews() : void + +

                                              : array | null

                                              +
                                              + + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + inTransaction() + +

                                              + + + + + public + inTransaction() : void + +

                                              : bool

                                              +
                                              + + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + lastInsertId() + +

                                              + + + + + public + lastInsertId(string $name = NULL) : void + +

                                              : string

                                              +
                                              + +
                                              Parameters
                                              +
                                              +
                                              + $name = NULL + : string +
                                              +
                                              +
                                              + +
                                              +
                                              + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + numRows() + +

                                              + + + + + public + numRows() : void + +

                                              : int | null

                                              +
                                              + + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + prepare() + +

                                              + + + + + public + prepare(string $statement, array<string|int, mixed> $driver_options = []) : void + +

                                              : PDOStatement

                                              +
                                              + +
                                              Parameters
                                              +
                                              +
                                              + $statement + : string +
                                              +
                                              +
                                              + +
                                              +
                                              + $driver_options = [] + : array<string|int, mixed> +
                                              +
                                              +
                                              + +
                                              +
                                              + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + prepareExecute() + +

                                              + + + + + public + prepareExecute(string $sql, array<string|int, mixed> $params) : void + +

                                              : PDOStatement

                                              +
                                              + +
                                              Parameters
                                              +
                                              +
                                              + $sql + : string +
                                              +
                                              +
                                              + +
                                              +
                                              + $params + : array<string|int, mixed> +
                                              +
                                              +
                                              + +
                                              +
                                              + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + prepareQuery() + +

                                              + + + + + public + prepareQuery(string $sql, array<string|int, mixed> $data) : void + +

                                              : PDOStatement

                                              +
                                              + +
                                              Parameters
                                              +
                                              +
                                              + $sql + : string +
                                              +
                                              +
                                              + +
                                              +
                                              + $data + : array<string|int, mixed> +
                                              +
                                              +
                                              + +
                                              +
                                              + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + query() + +

                                              + + + + + public + query(string $statement) : void + +

                                              : PDOStatement

                                              +
                                              + +
                                              Parameters
                                              +
                                              +
                                              + $statement + : string +
                                              +
                                              +
                                              + +
                                              +
                                              + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + quote() + +

                                              + + + + + public + quote(string $string, int $parameter_type = PDO::PARAM_STR) : void + +

                                              : string

                                              +
                                              + +
                                              Parameters
                                              +
                                              +
                                              + $string + : string +
                                              +
                                              +
                                              + +
                                              +
                                              + $parameter_type = PDO::PARAM_STR + : int +
                                              +
                                              +
                                              + +
                                              +
                                              + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + resetQuery() + +

                                              + + +

                                              Clear out the class variables, so the next query can be run

                                              + + + public + resetQuery() : void + + + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + rollback() + +

                                              + + + + + public + rollback() : void + +

                                              : bool

                                              +
                                              + + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + setAttribute() + +

                                              + + + + + public + setAttribute(int $attribute, mixed $value) : void + +

                                              : bool

                                              +
                                              + +
                                              Parameters
                                              +
                                              +
                                              + $attribute + : int +
                                              +
                                              +
                                              + +
                                              +
                                              + $value + : mixed +
                                              +
                                              +
                                              + +
                                              +
                                              + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + setTablePrefix() + +

                                              + + + + + public + setTablePrefix(string $prefix) : void + +

                                              : void

                                              +
                                              + +
                                              Parameters
                                              +
                                              +
                                              + $prefix + : string +
                                              +
                                              +
                                              + +
                                              +
                                              + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              +

                                              + truncate() + +

                                              + + + + + public + truncate(string $table) : void + +

                                              : PDOStatement

                                              +
                                              + +
                                              Parameters
                                              +
                                              +
                                              + $table + : string +
                                              +
                                              +
                                              + +
                                              +
                                              + + + +
                                              Return values
                                              + void + — + + +
                                              +
                                              + +
                                              +
                                              +
                                              +
                                              +
                                              
                                              +        
                                              + +
                                              +
                                              + + + +
                                              +
                                              +
                                              +
                                              +

                                              Search results

                                              + +
                                              +
                                              +
                                                +
                                                +
                                                +
                                                +
                                                +
                                                + + +
                                                + + + + + + + + diff --git a/apiDocumentation/classes/Query-QueryBuilderInterface.html b/apiDocumentation/classes/Query-QueryBuilderInterface.html new file mode 100644 index 0000000..2d1e981 --- /dev/null +++ b/apiDocumentation/classes/Query-QueryBuilderInterface.html @@ -0,0 +1,2816 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                +

                                                Documentation

                                                + + + + + +
                                                + +
                                                +
                                                + + + + +
                                                + + +
                                                +

                                                + QueryBuilderInterface +
                                                + in + +
                                                +

                                                + + + +

                                                Interface defining the Query Builder class

                                                + + + + + + + + + +

                                                + Table of Contents + +

                                                + +
                                                +
                                                + countAll() + +  : int +
                                                +
                                                Retrieve the number of rows in the selected table
                                                + +
                                                + countAllResults() + +  : int +
                                                +
                                                Retrieve the number of results for the generated query - used +in place of the get() method
                                                + +
                                                + delete() + +  : PDOStatement +
                                                +
                                                Deletes data from a table
                                                + +
                                                + distinct() + +  : self +
                                                +
                                                Adds the 'distinct' keyword to a query
                                                + +
                                                + explain() + +  : self +
                                                +
                                                Shows the query plan for the query
                                                + +
                                                + from() + +  : self +
                                                +
                                                Specify the database table to select from
                                                + +
                                                + get() + +  : PDOStatement +
                                                +
                                                Select and retrieve all records from the current table, and/or +execute current compiled query
                                                + +
                                                + getCompiledDelete() + +  : string +
                                                +
                                                Returns the generated 'delete' sql query
                                                + +
                                                + getCompiledInsert() + +  : string +
                                                +
                                                Returns the generated 'insert' sql query
                                                + +
                                                + getCompiledSelect() + +  : string +
                                                +
                                                Returns the generated 'select' sql query
                                                + +
                                                + getCompiledUpdate() + +  : string +
                                                +
                                                Returns the generated 'update' sql query
                                                + +
                                                + getWhere() + +  : PDOStatement +
                                                +
                                                Convenience method for get() with a where clause
                                                + +
                                                + groupBy() + +  : self +
                                                +
                                                Group the results by the selected field(s)
                                                + +
                                                + groupEnd() + +  : self +
                                                +
                                                Ends a query group
                                                + +
                                                + groupStart() + +  : self +
                                                +
                                                Adds a paren to the current query for query grouping
                                                + +
                                                + having() + +  : self +
                                                +
                                                Generates a 'Having' clause
                                                + +
                                                + insert() + +  : PDOStatement +
                                                +
                                                Creates an insert clause, and executes it
                                                + +
                                                + insertBatch() + +  : PDOStatement|null +
                                                +
                                                Creates and executes a batch insertion query
                                                + +
                                                + join() + +  : self +
                                                +
                                                Creates a join phrase in a compiled query
                                                + +
                                                + like() + +  : self +
                                                +
                                                Creates a Like clause in the sql statement
                                                + +
                                                + limit() + +  : self +
                                                +
                                                Set a limit on the current sql statement
                                                + +
                                                + notGroupStart() + +  : self +
                                                +
                                                Adds a paren to the current query for query grouping, +prefixed with 'NOT'
                                                + +
                                                + notLike() + +  : self +
                                                +
                                                Generates a NOT LIKE clause
                                                + +
                                                + orderBy() + +  : self +
                                                +
                                                Order the results by the selected field(s)
                                                + +
                                                + orGroupStart() + +  : self +
                                                +
                                                Adds a paren to the current query for query grouping, +prefixed with 'OR'
                                                + +
                                                + orHaving() + +  : self +
                                                +
                                                Generates a 'Having' clause prefixed with 'OR'
                                                + +
                                                + orLike() + +  : self +
                                                +
                                                Generates an OR Like clause
                                                + +
                                                + orNotGroupStart() + +  : self +
                                                +
                                                Adds a paren to the current query for query grouping, +prefixed with 'OR NOT'
                                                + +
                                                + orNotLike() + +  : self +
                                                +
                                                Generates a OR NOT LIKE clause
                                                + +
                                                + orWhere() + +  : self +
                                                +
                                                Where clause prefixed with "OR"
                                                + +
                                                + orWhereIn() + +  : self +
                                                +
                                                Where in statement prefixed with "or"
                                                + +
                                                + orWhereNotIn() + +  : self +
                                                +
                                                OR WHERE NOT IN (FOO) clause
                                                + +
                                                + resetQuery() + +  : void +
                                                +
                                                Clear out the class variables, so the next query can be run
                                                + +
                                                + select() + +  : self +
                                                +
                                                Specifies rows to select in a query
                                                + +
                                                + selectAvg() + +  : self +
                                                +
                                                Selects the average value of a field from a query
                                                + +
                                                + selectMax() + +  : self +
                                                +
                                                Selects the maximum value of a field from a query
                                                + +
                                                + selectMin() + +  : self +
                                                +
                                                Selects the minimum value of a field from a query
                                                + +
                                                + selectSum() + +  : self +
                                                +
                                                Selects the sum of a field from a query
                                                + +
                                                + set() + +  : self +
                                                +
                                                Sets values for inserts / updates / deletes
                                                + +
                                                + table() + +  : self +
                                                +
                                                Specify the database table to select from
                                                + +
                                                + update() + +  : PDOStatement +
                                                +
                                                Creates an update clause, and executes it
                                                + +
                                                + updateBatch() + +  : int|null +
                                                +
                                                Creates a batch update, and executes it.
                                                + +
                                                + where() + +  : self +
                                                +
                                                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
                                                + +
                                                + whereIn() + +  : self +
                                                +
                                                Where clause with 'IN' statement
                                                + +
                                                + whereNotIn() + +  : self +
                                                +
                                                WHERE NOT IN (FOO) clause
                                                + +
                                                + + + + + +
                                                +

                                                + Methods + +

                                                +
                                                +

                                                + countAll() + +

                                                + + +

                                                Retrieve the number of rows in the selected table

                                                + + + public + countAll(string $table) : int + + +
                                                Parameters
                                                +
                                                +
                                                + $table + : string +
                                                +
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + int + — + + +
                                                +
                                                +

                                                + countAllResults() + +

                                                + + +

                                                Retrieve the number of results for the generated query - used +in place of the get() method

                                                + + + public + countAllResults([string $table = '' ][, bool $reset = TRUE ]) : int + + +
                                                Parameters
                                                +
                                                +
                                                + $table + : string + = ''
                                                +
                                                +
                                                + +
                                                +
                                                + $reset + : bool + = TRUE
                                                +
                                                +
                                                  +
                                                • Whether to keep the query after counting the results
                                                • +
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + int + — + + +
                                                +
                                                +

                                                + delete() + +

                                                + + +

                                                Deletes data from a table

                                                + + + public + delete(string $table[, mixed $where = '' ]) : PDOStatement + + +
                                                Parameters
                                                +
                                                +
                                                + $table + : string +
                                                +
                                                +
                                                + +
                                                +
                                                + $where + : mixed + = ''
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + PDOStatement + — + + +
                                                +
                                                +

                                                + distinct() + +

                                                + + +

                                                Adds the 'distinct' keyword to a query

                                                + + + public + distinct() : self + + + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + explain() + +

                                                + + +

                                                Shows the query plan for the query

                                                + + + public + explain() : self + + + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + from() + +

                                                + + +

                                                Specify the database table to select from

                                                + + + public + from(string $tableName) : self + + +
                                                Parameters
                                                +
                                                +
                                                + $tableName + : string +
                                                +
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + get() + +

                                                + + +

                                                Select and retrieve all records from the current table, and/or +execute current compiled query

                                                + + + public + get([string $table = '' ][, int|null $limit = NULL ][, int|null $offset = NULL ]) : PDOStatement + + +
                                                Parameters
                                                +
                                                +
                                                + $table + : string + = ''
                                                +
                                                +
                                                + +
                                                +
                                                + $limit + : int|null + = NULL
                                                +
                                                +
                                                + +
                                                +
                                                + $offset + : int|null + = NULL
                                                +
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + PDOStatement + — + + +
                                                +
                                                +

                                                + getCompiledDelete() + +

                                                + + +

                                                Returns the generated 'delete' sql query

                                                + + + public + getCompiledDelete([string $table = '' ][, bool $reset = TRUE ]) : string + + +
                                                Parameters
                                                +
                                                +
                                                + $table + : string + = ''
                                                +
                                                +
                                                + +
                                                +
                                                + $reset + : bool + = TRUE
                                                +
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + string + — + + +
                                                +
                                                +

                                                + getCompiledInsert() + +

                                                + + +

                                                Returns the generated 'insert' sql query

                                                + + + public + getCompiledInsert(string $table[, bool $reset = TRUE ]) : string + + +
                                                Parameters
                                                +
                                                +
                                                + $table + : string +
                                                +
                                                +
                                                + +
                                                +
                                                + $reset + : bool + = TRUE
                                                +
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + string + — + + +
                                                +
                                                +

                                                + getCompiledSelect() + +

                                                + + +

                                                Returns the generated 'select' sql query

                                                + + + public + getCompiledSelect([string $table = '' ][, bool $reset = TRUE ]) : string + + +
                                                Parameters
                                                +
                                                +
                                                + $table + : string + = ''
                                                +
                                                +
                                                + +
                                                +
                                                + $reset + : bool + = TRUE
                                                +
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + string + — + + +
                                                +
                                                +

                                                + getCompiledUpdate() + +

                                                + + +

                                                Returns the generated 'update' sql query

                                                + + + public + getCompiledUpdate([string $table = '' ][, bool $reset = TRUE ]) : string + + +
                                                Parameters
                                                +
                                                +
                                                + $table + : string + = ''
                                                +
                                                +
                                                + +
                                                +
                                                + $reset + : bool + = TRUE
                                                +
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + string + — + + +
                                                +
                                                +

                                                + getWhere() + +

                                                + + +

                                                Convenience method for get() with a where clause

                                                + + + public + getWhere(string $table[, array<string|int, mixed> $where = [] ][, int|null $limit = NULL ][, int|null $offset = NULL ]) : PDOStatement + + +
                                                Parameters
                                                +
                                                +
                                                + $table + : string +
                                                +
                                                +
                                                + +
                                                +
                                                + $where + : array<string|int, mixed> + = []
                                                +
                                                + +
                                                +
                                                + $limit + : int|null + = NULL
                                                +
                                                +
                                                + +
                                                +
                                                + $offset + : int|null + = NULL
                                                +
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + PDOStatement + — + + +
                                                +
                                                +

                                                + groupBy() + +

                                                + + +

                                                Group the results by the selected field(s)

                                                + + + public + groupBy(mixed $field) : self + + +
                                                Parameters
                                                +
                                                +
                                                + $field + : mixed +
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + groupEnd() + +

                                                + + +

                                                Ends a query group

                                                + + + public + groupEnd() : self + + + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + groupStart() + +

                                                + + +

                                                Adds a paren to the current query for query grouping

                                                + + + public + groupStart() : self + + + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + having() + +

                                                + + +

                                                Generates a 'Having' clause

                                                + + + public + having(mixed $key[, mixed $values = [] ]) : self + + +
                                                Parameters
                                                +
                                                +
                                                + $key + : mixed +
                                                +
                                                + +
                                                +
                                                + $values + : mixed + = []
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + insert() + +

                                                + + +

                                                Creates an insert clause, and executes it

                                                + + + public + insert(string $table[, mixed $data = [] ]) : PDOStatement + + +
                                                Parameters
                                                +
                                                +
                                                + $table + : string +
                                                +
                                                +
                                                + +
                                                +
                                                + $data + : mixed + = []
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + PDOStatement + — + + +
                                                +
                                                +

                                                + insertBatch() + +

                                                + + +

                                                Creates and executes a batch insertion query

                                                + + + public + insertBatch(string $table[, array<string|int, mixed> $data = [] ]) : PDOStatement|null + + +
                                                Parameters
                                                +
                                                +
                                                + $table + : string +
                                                +
                                                +
                                                + +
                                                +
                                                + $data + : array<string|int, mixed> + = []
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + PDOStatement|null + — + + +
                                                +
                                                +

                                                + join() + +

                                                + + +

                                                Creates a join phrase in a compiled query

                                                + + + public + join(string $table, string $condition[, JoinType|string $type = JoinType::INNER ]) : self + + +
                                                Parameters
                                                +
                                                +
                                                + $table + : string +
                                                +
                                                +
                                                + +
                                                +
                                                + $condition + : string +
                                                +
                                                +
                                                + +
                                                +
                                                + $type + : JoinType|string + = JoinType::INNER
                                                +
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + like() + +

                                                + + +

                                                Creates a Like clause in the sql statement

                                                + + + public + like(string $field, mixed $values[, LikeType|string $pos = LikeType::BOTH ]) : self + + +
                                                Parameters
                                                +
                                                +
                                                + $field + : string +
                                                +
                                                +
                                                + +
                                                +
                                                + $values + : mixed +
                                                +
                                                + +
                                                +
                                                + $pos + : LikeType|string + = LikeType::BOTH
                                                +
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + limit() + +

                                                + + +

                                                Set a limit on the current sql statement

                                                + + + public + limit(int $limit[, int|null $offset = NULL ]) : self + + +
                                                Parameters
                                                +
                                                +
                                                + $limit + : int +
                                                +
                                                +
                                                + +
                                                +
                                                + $offset + : int|null + = NULL
                                                +
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + notGroupStart() + +

                                                + + +

                                                Adds a paren to the current query for query grouping, +prefixed with 'NOT'

                                                + + + public + notGroupStart() : self + + + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + notLike() + +

                                                + + +

                                                Generates a NOT LIKE clause

                                                + + + public + notLike(string $field, mixed $values[, LikeType|string $pos = LikeType::BOTH ]) : self + + +
                                                Parameters
                                                +
                                                +
                                                + $field + : string +
                                                +
                                                +
                                                + +
                                                +
                                                + $values + : mixed +
                                                +
                                                + +
                                                +
                                                + $pos + : LikeType|string + = LikeType::BOTH
                                                +
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + orderBy() + +

                                                + + +

                                                Order the results by the selected field(s)

                                                + + + public + orderBy(string $field[, string $type = '' ]) : self + + +
                                                Parameters
                                                +
                                                +
                                                + $field + : string +
                                                +
                                                +
                                                + +
                                                +
                                                + $type + : string + = ''
                                                +
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + orGroupStart() + +

                                                + + +

                                                Adds a paren to the current query for query grouping, +prefixed with 'OR'

                                                + + + public + orGroupStart() : self + + + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + orHaving() + +

                                                + + +

                                                Generates a 'Having' clause prefixed with 'OR'

                                                + + + public + orHaving(mixed $key[, mixed $values = [] ]) : self + + +
                                                Parameters
                                                +
                                                +
                                                + $key + : mixed +
                                                +
                                                + +
                                                +
                                                + $values + : mixed + = []
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + orLike() + +

                                                + + +

                                                Generates an OR Like clause

                                                + + + public + orLike(string $field, mixed $values[, LikeType|string $pos = LikeType::BOTH ]) : self + + +
                                                Parameters
                                                +
                                                +
                                                + $field + : string +
                                                +
                                                +
                                                + +
                                                +
                                                + $values + : mixed +
                                                +
                                                + +
                                                +
                                                + $pos + : LikeType|string + = LikeType::BOTH
                                                +
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + orNotGroupStart() + +

                                                + + +

                                                Adds a paren to the current query for query grouping, +prefixed with 'OR NOT'

                                                + + + public + orNotGroupStart() : self + + + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + orNotLike() + +

                                                + + +

                                                Generates a OR NOT LIKE clause

                                                + + + public + orNotLike(string $field, mixed $values[, LikeType|string $pos = LikeType::BOTH ]) : self + + +
                                                Parameters
                                                +
                                                +
                                                + $field + : string +
                                                +
                                                +
                                                + +
                                                +
                                                + $values + : mixed +
                                                +
                                                + +
                                                +
                                                + $pos + : LikeType|string + = LikeType::BOTH
                                                +
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + orWhere() + +

                                                + + +

                                                Where clause prefixed with "OR"

                                                + + + public + orWhere(string $key[, mixed $values = [] ]) : self + + +
                                                Parameters
                                                +
                                                +
                                                + $key + : string +
                                                +
                                                + +
                                                +
                                                + $values + : mixed + = []
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + orWhereIn() + +

                                                + + +

                                                Where in statement prefixed with "or"

                                                + + + public + orWhereIn(string $field[, mixed $values = [] ]) : self + + +
                                                Parameters
                                                +
                                                +
                                                + $field + : string +
                                                +
                                                + +
                                                +
                                                + $values + : mixed + = []
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + orWhereNotIn() + +

                                                + + +

                                                OR WHERE NOT IN (FOO) clause

                                                + + + public + orWhereNotIn(string $field[, mixed $values = [] ]) : self + + +
                                                Parameters
                                                +
                                                +
                                                + $field + : string +
                                                +
                                                + +
                                                +
                                                + $values + : mixed + = []
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + resetQuery() + +

                                                + + +

                                                Clear out the class variables, so the next query can be run

                                                + + + public + resetQuery() : void + + + + + +
                                                Return values
                                                + void + — + + +
                                                +
                                                +

                                                + select() + +

                                                + + +

                                                Specifies rows to select in a query

                                                + + + public + select(string $fields) : self + + +
                                                Parameters
                                                +
                                                +
                                                + $fields + : string +
                                                +
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + selectAvg() + +

                                                + + +

                                                Selects the average value of a field from a query

                                                + + + public + selectAvg(string $field[, string|bool $as = FALSE ]) : self + + +
                                                Parameters
                                                +
                                                +
                                                + $field + : string +
                                                +
                                                +
                                                + +
                                                +
                                                + $as + : string|bool + = FALSE
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + selectMax() + +

                                                + + +

                                                Selects the maximum value of a field from a query

                                                + + + public + selectMax(string $field[, string|bool $as = FALSE ]) : self + + +
                                                Parameters
                                                +
                                                +
                                                + $field + : string +
                                                +
                                                +
                                                + +
                                                +
                                                + $as + : string|bool + = FALSE
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + selectMin() + +

                                                + + +

                                                Selects the minimum value of a field from a query

                                                + + + public + selectMin(string $field[, string|bool $as = FALSE ]) : self + + +
                                                Parameters
                                                +
                                                +
                                                + $field + : string +
                                                +
                                                +
                                                + +
                                                +
                                                + $as + : string|bool + = FALSE
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + selectSum() + +

                                                + + +

                                                Selects the sum of a field from a query

                                                + + + public + selectSum(string $field[, string|bool $as = FALSE ]) : self + + +
                                                Parameters
                                                +
                                                +
                                                + $field + : string +
                                                +
                                                +
                                                + +
                                                +
                                                + $as + : string|bool + = FALSE
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + set() + +

                                                + + +

                                                Sets values for inserts / updates / deletes

                                                + + + public + set(mixed $key[, mixed $values = NULL ]) : self + + +
                                                Parameters
                                                +
                                                +
                                                + $key + : mixed +
                                                +
                                                + +
                                                +
                                                + $values + : mixed + = NULL
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + table() + +

                                                + + +

                                                Specify the database table to select from

                                                + + + public + table(string $tableName) : self + +

                                                Alias of from method to better match CodeIgniter 4

                                                +
                                                + +
                                                Parameters
                                                +
                                                +
                                                + $tableName + : string +
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + update() + +

                                                + + +

                                                Creates an update clause, and executes it

                                                + + + public + update(string $table[, mixed $data = [] ]) : PDOStatement + + +
                                                Parameters
                                                +
                                                +
                                                + $table + : string +
                                                +
                                                +
                                                + +
                                                +
                                                + $data + : mixed + = []
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + PDOStatement + — + + +
                                                +
                                                +

                                                + updateBatch() + +

                                                + + +

                                                Creates a batch update, and executes it.

                                                + + + public + updateBatch(string $table, array<string|int, mixed> $data, string $where) : int|null + +

                                                Returns the number of affected rows

                                                +
                                                + +
                                                Parameters
                                                +
                                                +
                                                + $table + : string +
                                                +
                                                +

                                                The table to update

                                                +
                                                + +
                                                +
                                                + $data + : array<string|int, mixed> +
                                                +
                                                +

                                                an array of update values

                                                +
                                                + +
                                                +
                                                + $where + : string +
                                                +
                                                +

                                                The where key

                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + int|null + — + + +
                                                +
                                                +

                                                + where() + +

                                                + + +

                                                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

                                                + + + public + where(mixed $key[, mixed $values = [] ]) : self + + +
                                                Parameters
                                                +
                                                +
                                                + $key + : mixed +
                                                +
                                                + +
                                                +
                                                + $values + : mixed + = []
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + whereIn() + +

                                                + + +

                                                Where clause with 'IN' statement

                                                + + + public + whereIn(string $field[, mixed $values = [] ]) : self + + +
                                                Parameters
                                                +
                                                +
                                                + $field + : string +
                                                +
                                                + +
                                                +
                                                + $values + : mixed + = []
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                +

                                                + whereNotIn() + +

                                                + + +

                                                WHERE NOT IN (FOO) clause

                                                + + + public + whereNotIn(string $field[, mixed $values = [] ]) : self + + +
                                                Parameters
                                                +
                                                +
                                                + $field + : string +
                                                +
                                                + +
                                                +
                                                + $values + : mixed + = []
                                                +
                                                + +
                                                +
                                                + + + +
                                                Return values
                                                + self + — + + +
                                                +
                                                + +
                                                +
                                                +
                                                +
                                                +
                                                
                                                +        
                                                + +
                                                +
                                                + + + +
                                                +
                                                +
                                                +
                                                +

                                                Search results

                                                + +
                                                +
                                                +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  + + +
                                                  + + + + + + + + diff --git a/apiDocumentation/classes/Query-QueryParser.html b/apiDocumentation/classes/Query-QueryParser.html new file mode 100644 index 0000000..93613ec --- /dev/null +++ b/apiDocumentation/classes/Query-QueryParser.html @@ -0,0 +1,455 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                  +

                                                  Documentation

                                                  + + + + + +
                                                  + +
                                                  +
                                                  + + + + +
                                                  + + +
                                                  +

                                                  + QueryParser + + +
                                                  + in package + +
                                                  + + +

                                                  + + + +

                                                  Utility Class to parse sql clauses for properly escaping identifiers

                                                  + + + + + + + + + +

                                                  + Table of Contents + +

                                                  + +
                                                  +
                                                  + $matches + +  : array<string|int, mixed> +
                                                  +
                                                  Regex matches
                                                  + +
                                                  + __construct() + +  : mixed +
                                                  +
                                                  Constructor/entry point into parser
                                                  + +
                                                  + compileJoin() + +  : string +
                                                  +
                                                  Compiles a join condition after parsing
                                                  + +
                                                  + parseJoin() + +  : array<string|int, array<string|int, mixed>> +
                                                  +
                                                  Parser method for setting the parse string
                                                  + +
                                                  + + + + + + +
                                                  +

                                                  + Properties + +

                                                  +
                                                  +

                                                  + $matches + + + +

                                                  + + +

                                                  Regex matches

                                                  + + + public + array<string|int, mixed> + $matches + = ['functions' => [], 'identifiers' => [], 'operators' => [], 'combined' => []] + + +
                                                  + + + +
                                                  +
                                                  + +
                                                  +

                                                  + Methods + +

                                                  +
                                                  +

                                                  + __construct() + +

                                                  + + +

                                                  Constructor/entry point into parser

                                                  + + + public + __construct(DriverInterface $db) : mixed + + +
                                                  Parameters
                                                  +
                                                  +
                                                  + $db + : DriverInterface +
                                                  +
                                                  +
                                                  + +
                                                  +
                                                  + + + +
                                                  Return values
                                                  + mixed + — + + +
                                                  +
                                                  +

                                                  + compileJoin() + +

                                                  + + +

                                                  Compiles a join condition after parsing

                                                  + + + public + compileJoin(string $condition) : string + + +
                                                  Parameters
                                                  +
                                                  +
                                                  + $condition + : string +
                                                  +
                                                  +
                                                  + +
                                                  +
                                                  + + + +
                                                  Return values
                                                  + string + — + + +
                                                  +
                                                  +

                                                  + parseJoin() + +

                                                  + + +

                                                  Parser method for setting the parse string

                                                  + + + public + parseJoin(string $sql) : array<string|int, array<string|int, mixed>> + + +
                                                  Parameters
                                                  +
                                                  +
                                                  + $sql + : string +
                                                  +
                                                  +
                                                  + +
                                                  +
                                                  + + + +
                                                  Return values
                                                  + array<string|int, array<string|int, mixed>> + — + + +
                                                  +
                                                  + +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  
                                                  +        
                                                  + +
                                                  +
                                                  + + + +
                                                  +
                                                  +
                                                  +
                                                  +

                                                  Search results

                                                  + +
                                                  +
                                                  +
                                                    +
                                                    +
                                                    +
                                                    +
                                                    +
                                                    + + +
                                                    + + + + + + + + diff --git a/apiDocumentation/classes/Query-QueryType.html b/apiDocumentation/classes/Query-QueryType.html new file mode 100644 index 0000000..6cf7bd9 --- /dev/null +++ b/apiDocumentation/classes/Query-QueryType.html @@ -0,0 +1,393 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                    +

                                                    Documentation

                                                    + + + + + +
                                                    + +
                                                    +
                                                    + + + + +
                                                    + + +
                                                    +

                                                    + QueryType + + + : string + + +
                                                    + in package +
                                                      +
                                                    +
                                                    + + +

                                                    + + + +

                                                    Enum of query types

                                                    + + + + + + + + + + + + +
                                                    +

                                                    + Cases + +

                                                    + + +
                                                    +

                                                    + INSERT_BATCH + +

                                                    + + + + +
                                                    + + + +
                                                    + +
                                                    +

                                                    + UPDATE_BATCH + +

                                                    + + + + +
                                                    + + + +
                                                    + +
                                                    + + +
                                                    +
                                                    +
                                                    +
                                                    +
                                                    
                                                    +        
                                                    + +
                                                    +
                                                    + + + +
                                                    +
                                                    +
                                                    +
                                                    +

                                                    Search results

                                                    + +
                                                    +
                                                    +
                                                      +
                                                      +
                                                      +
                                                      +
                                                      +
                                                      + + +
                                                      + + + + + + + + diff --git a/apiDocumentation/classes/Query-State.html b/apiDocumentation/classes/Query-State.html new file mode 100644 index 0000000..e6d9175 --- /dev/null +++ b/apiDocumentation/classes/Query-State.html @@ -0,0 +1,1814 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                      +

                                                      Documentation

                                                      + + + + + +
                                                      + +
                                                      +
                                                      + + + + +
                                                      + + +
                                                      +

                                                      + State + + +
                                                      + in package + +
                                                      + + +

                                                      + + + +

                                                      Query builder state

                                                      + + + + + + + + + +

                                                      + Table of Contents + +

                                                      + +
                                                      +
                                                      + __call() + +  : mixed +
                                                      +
                                                      + +
                                                      + appendGroupArray() + +  : self +
                                                      +
                                                      + +
                                                      + appendHavingMap() + +  : self +
                                                      +
                                                      + +
                                                      + appendMap() + +  : self +
                                                      +
                                                      Add an additional set of mapping pairs to a internal map
                                                      + +
                                                      + appendSelectString() + +  : self +
                                                      +
                                                      + +
                                                      + appendSetArrayKeys() + +  : self +
                                                      +
                                                      + +
                                                      + appendValues() + +  : self +
                                                      +
                                                      + +
                                                      + appendWhereValues() + +  : self +
                                                      +
                                                      + +
                                                      + getFromString() + +  : void +
                                                      +
                                                      + +
                                                      + getGroupArray() + +  : void +
                                                      +
                                                      + +
                                                      + getGroupString() + +  : void +
                                                      +
                                                      + +
                                                      + getHavingMap() + +  : void +
                                                      +
                                                      + +
                                                      + getLimit() + +  : void +
                                                      +
                                                      + +
                                                      + getOffset() + +  : void +
                                                      +
                                                      + +
                                                      + getOrderArray() + +  : void +
                                                      +
                                                      + +
                                                      + getOrderString() + +  : void +
                                                      +
                                                      + +
                                                      + getQueryMap() + +  : void +
                                                      +
                                                      + +
                                                      + getSelectString() + +  : void +
                                                      +
                                                      + +
                                                      + getSetArrayKeys() + +  : void +
                                                      +
                                                      + +
                                                      + getSetString() + +  : void +
                                                      +
                                                      + +
                                                      + getValues() + +  : void +
                                                      +
                                                      + +
                                                      + getWhereValues() + +  : void +
                                                      +
                                                      + +
                                                      + setFromString() + +  : void +
                                                      +
                                                      + +
                                                      + setGroupArray() + +  : void +
                                                      +
                                                      + +
                                                      + setGroupString() + +  : void +
                                                      +
                                                      + +
                                                      + setLimit() + +  : void +
                                                      +
                                                      + +
                                                      + setOffset() + +  : void +
                                                      +
                                                      + +
                                                      + setOrderArray() + +  : self +
                                                      +
                                                      + +
                                                      + setOrderString() + +  : void +
                                                      +
                                                      + +
                                                      + setSelectString() + +  : void +
                                                      +
                                                      + +
                                                      + setSetArrayKeys() + +  : void +
                                                      +
                                                      + +
                                                      + setSetString() + +  : void +
                                                      +
                                                      + +
                                                      + + + + + + + +
                                                      +

                                                      + Methods + +

                                                      +
                                                      +

                                                      + __call() + +

                                                      + + + + + public + __call(string $name, array<string|int, mixed> $arguments) : mixed + +
                                                      + +
                                                      Parameters
                                                      +
                                                      +
                                                      + $name + : string +
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + $arguments + : array<string|int, mixed> +
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + + + +
                                                      Return values
                                                      + mixed + — + + +
                                                      +
                                                      +

                                                      + appendGroupArray() + +

                                                      + + + + + public + appendGroupArray(string $groupArray) : self + +
                                                      + +
                                                      Parameters
                                                      +
                                                      +
                                                      + $groupArray + : string +
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + + + +
                                                      Return values
                                                      + self + — + + +
                                                      +
                                                      +

                                                      + appendHavingMap() + +

                                                      + + + + + public + appendHavingMap(array<string|int, mixed> $item) : self + +
                                                      + +
                                                      Parameters
                                                      +
                                                      +
                                                      + $item + : array<string|int, mixed> +
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + + + +
                                                      Return values
                                                      + self + — + + +
                                                      +
                                                      +

                                                      + appendMap() + +

                                                      + + +

                                                      Add an additional set of mapping pairs to a internal map

                                                      + + + public + appendMap([string $conjunction = '' ][, string $string = '' ][, MapType $type = MapType::WHERE ]) : self + + +
                                                      Parameters
                                                      +
                                                      +
                                                      + $conjunction + : string + = ''
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + $string + : string + = ''
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + $type + : MapType + = MapType::WHERE
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + + + +
                                                      Return values
                                                      + self + — + + +
                                                      +
                                                      +

                                                      + appendSelectString() + +

                                                      + + + + + public + appendSelectString(string $str) : self + +
                                                      + +
                                                      Parameters
                                                      +
                                                      +
                                                      + $str + : string +
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + + + +
                                                      Return values
                                                      + self + — + + +
                                                      +
                                                      +

                                                      + appendSetArrayKeys() + +

                                                      + + + + + public + appendSetArrayKeys(array<string|int, mixed> $setArrayKeys) : self + +
                                                      + +
                                                      Parameters
                                                      +
                                                      +
                                                      + $setArrayKeys + : array<string|int, mixed> +
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + + + +
                                                      Return values
                                                      + self + — + + +
                                                      +
                                                      +

                                                      + appendValues() + +

                                                      + + + + + public + appendValues(array<string|int, mixed> $values) : self + +
                                                      + +
                                                      Parameters
                                                      +
                                                      +
                                                      + $values + : array<string|int, mixed> +
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + + + +
                                                      Return values
                                                      + self + — + + +
                                                      +
                                                      +

                                                      + appendWhereValues() + +

                                                      + + + + + public + appendWhereValues(mixed $val) : self + +
                                                      + +
                                                      Parameters
                                                      +
                                                      +
                                                      + $val + : mixed +
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + + + +
                                                      Return values
                                                      + self + — + + +
                                                      +
                                                      +

                                                      + getFromString() + +

                                                      + + + + + public + getFromString() : void + +

                                                      : string

                                                      +
                                                      + + + + +
                                                      Return values
                                                      + void + — + + +
                                                      +
                                                      +

                                                      + getGroupArray() + +

                                                      + + + + + public + getGroupArray() : void + +

                                                      : array

                                                      +
                                                      + + + + +
                                                      Return values
                                                      + void + — + + +
                                                      +
                                                      +

                                                      + getGroupString() + +

                                                      + + + + + public + getGroupString() : void + +

                                                      : string

                                                      +
                                                      + + + + +
                                                      Return values
                                                      + void + — + + +
                                                      +
                                                      +

                                                      + getHavingMap() + +

                                                      + + + + + public + getHavingMap() : void + +

                                                      : array

                                                      +
                                                      + + + + +
                                                      Return values
                                                      + void + — + + +
                                                      +
                                                      +

                                                      + getLimit() + +

                                                      + + + + + public + getLimit() : void + +

                                                      : int|null

                                                      +
                                                      + + + + +
                                                      Return values
                                                      + void + — + + +
                                                      +
                                                      +

                                                      + getOffset() + +

                                                      + + + + + public + getOffset() : void + + + + + +
                                                      Return values
                                                      + void + — + + +
                                                      +
                                                      +

                                                      + getOrderArray() + +

                                                      + + + + + public + getOrderArray() : void + +

                                                      : array

                                                      +
                                                      + + + + +
                                                      Return values
                                                      + void + — + + +
                                                      +
                                                      +

                                                      + getOrderString() + +

                                                      + + + + + public + getOrderString() : void + +

                                                      : string

                                                      +
                                                      + + + + +
                                                      Return values
                                                      + void + — + + +
                                                      +
                                                      +

                                                      + getQueryMap() + +

                                                      + + + + + public + getQueryMap() : void + +

                                                      : array

                                                      +
                                                      + + + + +
                                                      Return values
                                                      + void + — + + +
                                                      +
                                                      +

                                                      + getSelectString() + +

                                                      + + + + + public + getSelectString() : void + +

                                                      : string

                                                      +
                                                      + + + + +
                                                      Return values
                                                      + void + — + + +
                                                      +
                                                      +

                                                      + getSetArrayKeys() + +

                                                      + + + + + public + getSetArrayKeys() : void + +

                                                      : array

                                                      +
                                                      + + + + +
                                                      Return values
                                                      + void + — + + +
                                                      +
                                                      +

                                                      + getSetString() + +

                                                      + + + + + public + getSetString() : void + +

                                                      : string

                                                      +
                                                      + + + + +
                                                      Return values
                                                      + void + — + + +
                                                      +
                                                      +

                                                      + getValues() + +

                                                      + + + + + public + getValues() : void + +

                                                      : array

                                                      +
                                                      + + + + +
                                                      Return values
                                                      + void + — + + +
                                                      +
                                                      +

                                                      + getWhereValues() + +

                                                      + + + + + public + getWhereValues() : void + +

                                                      : array

                                                      +
                                                      + + + + +
                                                      Return values
                                                      + void + — + + +
                                                      +
                                                      +

                                                      + setFromString() + +

                                                      + + + + + public + setFromString(string $fromString) : void + +

                                                      : self

                                                      +
                                                      + +
                                                      Parameters
                                                      +
                                                      +
                                                      + $fromString + : string +
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + + + +
                                                      Return values
                                                      + void + — + + +
                                                      +
                                                      +

                                                      + setGroupArray() + +

                                                      + + + + + public + setGroupArray(array<string|int, mixed> $array) : void + +

                                                      : self

                                                      +
                                                      + +
                                                      Parameters
                                                      +
                                                      +
                                                      + $array + : array<string|int, mixed> +
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + + + +
                                                      Return values
                                                      + void + — + + +
                                                      +
                                                      +

                                                      + setGroupString() + +

                                                      + + + + + public + setGroupString(string $groupString) : void + +

                                                      : self

                                                      +
                                                      + +
                                                      Parameters
                                                      +
                                                      +
                                                      + $groupString + : string +
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + + + +
                                                      Return values
                                                      + void + — + + +
                                                      +
                                                      +

                                                      + setLimit() + +

                                                      + + + + + public + setLimit(int $limit) : void + +

                                                      : self

                                                      +
                                                      + +
                                                      Parameters
                                                      +
                                                      +
                                                      + $limit + : int +
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + + + +
                                                      Return values
                                                      + void + — + + +
                                                      +
                                                      +

                                                      + setOffset() + +

                                                      + + + + + public + setOffset(int|null $offset) : void + +

                                                      : self

                                                      +
                                                      + +
                                                      Parameters
                                                      +
                                                      +
                                                      + $offset + : int|null +
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + + + +
                                                      Return values
                                                      + void + — + + +
                                                      +
                                                      +

                                                      + setOrderArray() + +

                                                      + + + + + public + setOrderArray(string $key, mixed $orderArray) : self + +
                                                      + +
                                                      Parameters
                                                      +
                                                      +
                                                      + $key + : string +
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + $orderArray + : mixed +
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + + + +
                                                      Return values
                                                      + self + — + + +
                                                      +
                                                      +

                                                      + setOrderString() + +

                                                      + + + + + public + setOrderString(string $orderString) : void + +

                                                      : self

                                                      +
                                                      + +
                                                      Parameters
                                                      +
                                                      +
                                                      + $orderString + : string +
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + + + +
                                                      Return values
                                                      + void + — + + +
                                                      +
                                                      +

                                                      + setSelectString() + +

                                                      + + + + + public + setSelectString(string $selectString) : void + +

                                                      : self

                                                      +
                                                      + +
                                                      Parameters
                                                      +
                                                      +
                                                      + $selectString + : string +
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + + + +
                                                      Return values
                                                      + void + — + + +
                                                      +
                                                      +

                                                      + setSetArrayKeys() + +

                                                      + + + + + public + setSetArrayKeys(array<string|int, mixed> $arrayKeys) : void + +

                                                      : self

                                                      +
                                                      + +
                                                      Parameters
                                                      +
                                                      +
                                                      + $arrayKeys + : array<string|int, mixed> +
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + + + +
                                                      Return values
                                                      + void + — + + +
                                                      +
                                                      +

                                                      + setSetString() + +

                                                      + + + + + public + setSetString(string $setString) : void + +

                                                      : self

                                                      +
                                                      + +
                                                      Parameters
                                                      +
                                                      +
                                                      + $setString + : string +
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + + + +
                                                      Return values
                                                      + void + — + + +
                                                      +
                                                      + +
                                                      +
                                                      +
                                                      +
                                                      +
                                                      
                                                      +        
                                                      + +
                                                      +
                                                      + + + +
                                                      +
                                                      +
                                                      +
                                                      +

                                                      Search results

                                                      + +
                                                      +
                                                      +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        + + +
                                                        + + + + + + + + diff --git a/apiDocumentation/css/base.css b/apiDocumentation/css/base.css new file mode 100644 index 0000000..b71c759 --- /dev/null +++ b/apiDocumentation/css/base.css @@ -0,0 +1,1105 @@ + +:root { + /* Typography */ + --font-primary: 'Source Sans Pro', Helvetica, Arial, sans-serif; + --font-secondary: 'Source Sans Pro', Helvetica, Arial, sans-serif; + --font-monospace: 'Source Code Pro', monospace; + --line-height--primary: 1.6; + --letter-spacing--primary: .05rem; + --text-base-size: 1em; + --text-scale-ratio: 1.2; + + --text-xxs: calc(var(--text-base-size) / var(--text-scale-ratio) / var(--text-scale-ratio) / var(--text-scale-ratio)); + --text-xs: calc(var(--text-base-size) / var(--text-scale-ratio) / var(--text-scale-ratio)); + --text-sm: calc(var(--text-base-size) / var(--text-scale-ratio)); + --text-md: var(--text-base-size); + --text-lg: calc(var(--text-base-size) * var(--text-scale-ratio)); + --text-xl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio)); + --text-xxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio)); + --text-xxxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio)); + --text-xxxxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio)); + --text-xxxxxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio)); + + /* Colors */ + --primary-color-hue: 96; + --primary-color-saturation: 57%; + --primary-color: hsl(var(--primary-color-hue), var(--primary-color-saturation), 60%); + --primary-color-darken: hsl(var(--primary-color-hue), var(--primary-color-saturation), 40%); + --primary-color-darker: hsl(var(--primary-color-hue), var(--primary-color-saturation), 20%); + --primary-color-darkest: hsl(var(--primary-color-hue), var(--primary-color-saturation), 10%); + --primary-color-lighten: hsl(var(--primary-color-hue), var(--primary-color-saturation), 80%); + --primary-color-lighter: hsl(var(--primary-color-hue), var(--primary-color-saturation), 99%); + --dark-gray: #d1d1d1; + --light-gray: #f0f0f0; + + --text-color: var(--primary-color-darkest); + + --header-height: var(--spacing-xxxxl); + --header-bg-color: var(--primary-color); + --code-background-color: var(--primary-color-lighter); + --code-border-color: --primary-color-lighten; + --button-border-color: var(--primary-color-darken); + --button-color: transparent; + --button-color-primary: var(--primary-color); + --button-text-color: #555; + --button-text-color-primary: white; + --popover-background-color: rgba(255, 255, 255, 0.75); + --link-color-primary: var(--primary-color-darken); + --link-hover-color-primary: var(--primary-color-darker); + --form-field-border-color: var(--dark-gray); + --form-field-color: #fff; + --admonition-success-color: var(--primary-color); + --admonition-border-color: silver; + --table-separator-color: var(--primary-color-lighten); + --title-text-color: var(--primary-color); + + --sidebar-border-color: var(--primary-color-lighten); + + /* Grid */ + --container-width: 1400px; + + /* Spacing */ + --spacing-base-size: 1rem; + --spacing-scale-ratio: 1.5; + + --spacing-xxxs: calc(var(--spacing-base-size) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio)); + --spacing-xxs: calc(var(--spacing-base-size) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio)); + --spacing-xs: calc(var(--spacing-base-size) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio)); + --spacing-sm: calc(var(--spacing-base-size) / var(--spacing-scale-ratio)); + --spacing-md: var(--spacing-base-size); + --spacing-lg: calc(var(--spacing-base-size) * var(--spacing-scale-ratio)); + --spacing-xl: calc(var(--spacing-base-size) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio)); + --spacing-xxl: calc(var(--spacing-base-size) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio)); + --spacing-xxxl: calc(var(--spacing-base-size) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio)); + --spacing-xxxxl: calc(var(--spacing-base-size) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio)); + + --border-radius-base-size: 3px; +} + +/* Base Styles +-------------------------------------------------- */ +body { + color: var(--text-color); + font-family: var(--font-primary); + font-size: var(--text-md); + letter-spacing: var(--letter-spacing--primary); + line-height: var(--line-height--primary); + width: 100%; +} + +.phpdocumentor h1, +.phpdocumentor h2, +.phpdocumentor h3, +.phpdocumentor h4, +.phpdocumentor h5, +.phpdocumentor h6 { + margin-bottom: var(--spacing-lg); + margin-top: var(--spacing-lg); + font-weight: 600; +} + +.phpdocumentor h1 { + font-size: var(--text-xxxxl); + letter-spacing: var(--letter-spacing--primary); + line-height: 1.2; + margin-top: 0; +} + +.phpdocumentor h2 { + font-size: var(--text-xxxl); + letter-spacing: var(--letter-spacing--primary); + line-height: 1.25; +} + +.phpdocumentor h3 { + font-size: var(--text-xxl); + letter-spacing: var(--letter-spacing--primary); + line-height: 1.3; +} + +.phpdocumentor h4 { + font-size: var(--text-xl); + letter-spacing: calc(var(--letter-spacing--primary) / 2); + line-height: 1.35; + margin-bottom: var(--spacing-md); +} + +.phpdocumentor h5 { + font-size: var(--text-lg); + letter-spacing: calc(var(--letter-spacing--primary) / 4); + line-height: 1.5; + margin-bottom: var(--spacing-md); + margin-top: var(--spacing-md); +} + +.phpdocumentor h6 { + font-size: var(--text-md); + letter-spacing: 0; + line-height: var(--line-height--primary); + margin-bottom: var(--spacing-md); + margin-top: var(--spacing-md); +} + +.phpdocumentor h1 .headerlink, +.phpdocumentor h2 .headerlink, +.phpdocumentor h3 .headerlink, +.phpdocumentor h4 .headerlink, +.phpdocumentor h5 .headerlink, +.phpdocumentor h6 .headerlink +{ + transition: all .3s ease-in-out; + opacity: 0; + text-decoration: none; + color: silver; + font-size: 80%; +} + +.phpdocumentor h1:hover .headerlink, +.phpdocumentor h2:hover .headerlink, +.phpdocumentor h3:hover .headerlink, +.phpdocumentor h4:hover .headerlink, +.phpdocumentor h5:hover .headerlink, +.phpdocumentor h6:hover .headerlink +{ + opacity: 1; +} +.phpdocumentor p { + margin-top: 0; + margin-bottom: var(--spacing-md); +} +.phpdocumentor figure { + margin-bottom: var(--spacing-md); +} + +.phpdocumentor figcaption { + text-align: center; + font-style: italic; + font-size: 80%; +} + +.phpdocumentor-uml-diagram svg { + max-width: 100%; + height: auto !important; +} +.phpdocumentor-line { + border-top: 1px solid #E1E1E1; + border-width: 0; + margin-bottom: var(--spacing-xxl); + margin-top: var(--spacing-xxl); +} +.phpdocumentor-section { + box-sizing: border-box; + margin: 0 auto; + max-width: var(--container-width); + padding: 0 var(--spacing-lg); + position: relative; + width: 100%; +} + +@media (min-width: 1200px) { + .phpdocumentor-section { + padding: 0; + width: 95%; + } +} +.phpdocumentor-column { + box-sizing: border-box; + float: left; + width: 100%; +} + +@media (min-width: 550px) { + .phpdocumentor-column { + margin-left: 4%; + } + + .phpdocumentor-column:first-child { + margin-left: 0; + } + + .-one.phpdocumentor-column { + width: 4.66666666667%; + } + + .-two.phpdocumentor-column { + width: 13.3333333333%; + } + + .-three.phpdocumentor-column { + width: 22%; + } + + .-four.phpdocumentor-column { + width: 30.6666666667%; + } + + .-five.phpdocumentor-column { + width: 39.3333333333%; + } + + .-six.phpdocumentor-column { + width: 48%; + } + + .-seven.phpdocumentor-column { + width: 56.6666666667%; + } + + .-eight.phpdocumentor-column { + width: 65.3333333333%; + } + + .-nine.phpdocumentor-column { + width: 74.0%; + } + + .-ten.phpdocumentor-column { + width: 82.6666666667%; + } + + .-eleven.phpdocumentor-column { + width: 91.3333333333%; + } + + .-twelve.phpdocumentor-column { + margin-left: 0; + width: 100%; + } + + .-one-third.phpdocumentor-column { + width: 30.6666666667%; + } + + .-two-thirds.phpdocumentor-column { + width: 65.3333333333%; + } + + .-one-half.phpdocumentor-column { + width: 48%; + } + + /* Offsets */ + .-offset-by-one.phpdocumentor-column { + margin-left: 8.66666666667%; + } + + .-offset-by-two.phpdocumentor-column { + margin-left: 17.3333333333%; + } + + .-offset-by-three.phpdocumentor-column { + margin-left: 26%; + } + + .-offset-by-four.phpdocumentor-column { + margin-left: 34.6666666667%; + } + + .-offset-by-five.phpdocumentor-column { + margin-left: 43.3333333333%; + } + + .-offset-by-six.phpdocumentor-column { + margin-left: 52%; + } + + .-offset-by-seven.phpdocumentor-column { + margin-left: 60.6666666667%; + } + + .-offset-by-eight.phpdocumentor-column { + margin-left: 69.3333333333%; + } + + .-offset-by-nine.phpdocumentor-column { + margin-left: 78.0%; + } + + .-offset-by-ten.phpdocumentor-column { + margin-left: 86.6666666667%; + } + + .-offset-by-eleven.phpdocumentor-column { + margin-left: 95.3333333333%; + } + + .-offset-by-one-third.phpdocumentor-column { + margin-left: 34.6666666667%; + } + + .-offset-by-two-thirds.phpdocumentor-column { + margin-left: 69.3333333333%; + } + + .-offset-by-one-half.phpdocumentor-column { + margin-left: 52%; + } +} +.phpdocumentor a { + color: var(--link-color-primary); +} + +.phpdocumentor a:hover { + color: var(--link-hover-color-primary); +} +.phpdocumentor-button { + background-color: var(--button-color); + border: 1px solid var(--button-border-color); + border-radius: var(--border-radius-base-size); + box-sizing: border-box; + color: var(--button-text-color); + cursor: pointer; + display: inline-block; + font-size: var(--text-sm); + font-weight: 600; + height: 38px; + letter-spacing: .1rem; + line-height: 38px; + padding: 0 var(--spacing-xxl); + text-align: center; + text-decoration: none; + text-transform: uppercase; + white-space: nowrap; + margin-bottom: var(--spacing-md); +} + +.phpdocumentor-button .-wide { + width: 100%; +} + +.phpdocumentor-button:hover, +.phpdocumentor-button:focus { + border-color: #888; + color: #333; + outline: 0; +} + +.phpdocumentor-button.-primary { + background-color: var(--button-color-primary); + border-color: var(--button-color-primary); + color: var(--button-text-color-primary); +} + +.phpdocumentor-button.-primary:hover, +.phpdocumentor-button.-primary:focus { + background-color: var(--link-color-primary); + border-color: var(--link-color-primary); + color: var(--button-text-color-primary); +} +.phpdocumentor form { + margin-bottom: var(--spacing-md); +} + +.phpdocumentor-field { + background-color: var(--form-field-color); + border: 1px solid var(--form-field-border-color); + border-radius: var(--border-radius-base-size); + box-shadow: none; + box-sizing: border-box; + height: 38px; + padding: var(--spacing-xxxs) var(--spacing-xxs); /* The 6px vertically centers text on FF, ignored by Webkit */ + margin-bottom: var(--spacing-md); +} + +/* Removes awkward default styles on some inputs for iOS */ +input[type="email"], +input[type="number"], +input[type="search"], +input[type="text"], +input[type="tel"], +input[type="url"], +input[type="password"], +textarea { + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; +} + +.phpdocumentor-textarea { + min-height: 65px; + padding-bottom: var(--spacing-xxxs); + padding-top: var(--spacing-xxxs); +} + +.phpdocumentor-field:focus { + border: 1px solid var(--button-color-primary); + outline: 0; +} + +.phpdocumentor-label { + display: block; + margin-bottom: var(--spacing-xs); +} + +.phpdocumentor-fieldset { + border-width: 0; + padding: 0; +} + +input[type="checkbox"].phpdocumentor-field, +input[type="radio"].phpdocumentor-field { + display: inline; +} +.phpdocumentor-column ul, +div.phpdocumentor-list > ul, +ul.phpdocumentor-list { + list-style: circle; +} + +.phpdocumentor-column ol, +div.phpdocumentor-list > ol, +ol.phpdocumentor-list { + list-style: decimal; +} + + +.phpdocumentor-column ul, +div.phpdocumentor-list > ul, +ol.phpdocumentor-list, +ul.phpdocumentor-list { + margin-top: 0; + padding-left: 1rem; + margin-bottom: var(--spacing-md); +} + +dl { + margin-bottom: var(--spacing-md); +} + +.phpdocumentor-column ul ul, +div.phpdocumentor-list > ul ul, +ul.phpdocumentor-list ul.phpdocumentor-list, +ul.phpdocumentor-list ol.phpdocumentor-list, +ol.phpdocumentor-list ol.phpdocumentor-list, +ol.phpdocumentor-list ul.phpdocumentor-list { + font-size: var(--text-sm); + margin: var(--spacing-xs) 0 var(--spacing-xs) calc(var(--spacing-xs) * 2); +} + +.phpdocumentor-column ul li, +.phpdocumentor-list li { + padding-bottom: var(--spacing-xs); +} + +.phpdocumentor dl dt { + margin-bottom: var(--spacing-xs); +} + +.phpdocumentor dl dd { + margin-bottom: var(--spacing-md); +} +.phpdocumentor pre { + margin-bottom: var(--spacing-md); +} + +.phpdocumentor-code { + font-family: var(--font-monospace); + background: var(--code-background-color); + border: 1px solid var(--code-border-color); + border-radius: var(--border-radius-base-size); + font-size: var(--text-sm); + padding: var(--spacing-sm) var(--spacing-md); + width: 100%; + box-sizing: border-box; +} + +.phpdocumentor-code.-dark { + background: var(--primary-color-darkest); + color: var(--light-gray); + box-shadow: 0 2px 3px var(--dark-gray); +} + +pre > .phpdocumentor-code { + display: block; + white-space: pre; +} +.phpdocumentor blockquote { + border-left: 4px solid var(--primary-color-darken); + margin: var(--spacing-md) 0; + padding: var(--spacing-xs) var(--spacing-sm); + color: var(--primary-color-darker); + font-style: italic; +} + +.phpdocumentor blockquote p:last-of-type { + margin-bottom: 0; +} +.phpdocumentor table { + margin-bottom: var(--spacing-md); +} + +th.phpdocumentor-heading, +td.phpdocumentor-cell { + border-bottom: 1px solid var(--table-separator-color); + padding: var(--spacing-sm) var(--spacing-md); + text-align: left; +} + +th.phpdocumentor-heading:first-child, +td.phpdocumentor-cell:first-child { + padding-left: 0; +} + +th.phpdocumentor-heading:last-child, +td.phpdocumentor-cell:last-child { + padding-right: 0; +} + +.phpdocumentor-header { + display: flex; + flex-direction: row; + align-items: stretch; + flex-wrap: wrap; + justify-content: space-between; + height: auto; + padding: var(--spacing-md) var(--spacing-md); +} + +.phpdocumentor-header__menu-button { + position: absolute; + top: -100%; + left: -100%; +} + +.phpdocumentor-header__menu-icon { + font-size: 2rem; + color: var(--primary-color); +} + +.phpdocumentor-header__menu-button:checked ~ .phpdocumentor-topnav { + max-height: 250px; + padding-top: var(--spacing-md); +} + +@media (min-width: 1000px) { + .phpdocumentor-header { + flex-direction: row; + padding: var(--spacing-lg) var(--spacing-lg); + min-height: var(--header-height); + } + + .phpdocumentor-header__menu-icon { + display: none; + } +} + +@media (min-width: 1000px) { + .phpdocumentor-header { + padding-top: 0; + padding-bottom: 0; + } +} +@media (min-width: 1200px) { + .phpdocumentor-header { + padding: 0; + } +} +.phpdocumentor-title { + box-sizing: border-box; + color: var(--title-text-color); + font-size: var(--text-xxl); + letter-spacing: .05rem; + font-weight: normal; + width: auto; + margin: 0; + display: flex; + align-items: center; +} + +.phpdocumentor-title.-without-divider { + border: none; +} + +.phpdocumentor-title__link { + transition: all .3s ease-out; + display: flex; + color: var(--title-text-color); + text-decoration: none; + font-weight: normal; + white-space: nowrap; + transform: scale(.75); + transform-origin: left; +} + +.phpdocumentor-title__link:hover { + transform: perspective(15rem) translateX(.5rem); + font-weight: 600; +} + +@media (min-width: 1000px) { + .phpdocumentor-title { + width: 30.6666666667%; + border-right: var(--sidebar-border-color) solid 1px; + } + + .phpdocumentor-title__link { + transform-origin: left; + } +} + +@media (min-width: 1000px) { + .phpdocumentor-title__link { + transform: scale(.85); + } +} + +@media (min-width: 1200px) { + .phpdocumentor-title__link { + transform: scale(1); + } +} +.phpdocumentor-topnav { + display: flex; + align-items: center; + margin: 0; + max-height: 0; + overflow: hidden; + transition: max-height 0.2s ease-out; + flex-basis: 100%; +} + +.phpdocumentor-topnav__menu { + text-align: right; + list-style: none; + margin: 0; + padding: 0; + flex: 1; + display: flex; + flex-flow: row wrap; + justify-content: center; +} + +.phpdocumentor-topnav__menu-item { + margin: 0; + width: 100%; + display: inline-block; + text-align: center; + padding: var(--spacing-sm) 0 +} + +.phpdocumentor-topnav__menu-item.-social { + width: auto; + padding: var(--spacing-sm) +} + +.phpdocumentor-topnav__menu-item a { + display: inline-block; + color: var(--text-color); + text-decoration: none; + font-size: var(--text-lg); + transition: all .3s ease-out; + border-bottom: 1px dotted transparent; + line-height: 1; +} + +.phpdocumentor-topnav__menu-item a:hover { + transform: perspective(15rem) translateY(.1rem); + border-bottom: 1px dotted var(--text-color); +} + +@media (min-width: 1000px) { + .phpdocumentor-topnav { + max-height: none; + overflow: visible; + flex-basis: auto; + } + + .phpdocumentor-topnav__menu { + display: flex; + flex-flow: row wrap; + justify-content: flex-end; + } + + .phpdocumentor-topnav__menu-item, + .phpdocumentor-topnav__menu-item.-social { + width: auto; + display: inline; + text-align: right; + padding: 0 0 0 var(--spacing-md) + } +} +.phpdocumentor-sidebar { + margin: 0; + overflow: hidden; + max-height: 0; +} + +.phpdocumentor .phpdocumentor-sidebar .phpdocumentor-list { + padding: var(--spacing-xs) var(--spacing-md); + list-style: none; + margin: 0; +} + +.phpdocumentor .phpdocumentor-sidebar li { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + padding: 0 0 var(--spacing-xxxs) var(--spacing-md); +} + +.phpdocumentor .phpdocumentor-sidebar abbr, +.phpdocumentor .phpdocumentor-sidebar a { + text-decoration: none; + border-bottom: none; + color: var(--text-color); + font-size: var(--text-md); + padding-left: 0; + transition: padding-left .4s ease-out; +} + +.phpdocumentor .phpdocumentor-sidebar a:hover, +.phpdocumentor .phpdocumentor-sidebar a.-active { + padding-left: 5px; + font-weight: 600; +} + +.phpdocumentor .phpdocumentor-sidebar__category > * { + border-left: 1px solid var(--primary-color-lighten); +} + +.phpdocumentor .phpdocumentor-sidebar__category { + margin-bottom: var(--spacing-lg); +} + +.phpdocumentor .phpdocumentor-sidebar__category-header { + font-size: var(--text-md); + margin-bottom: var(--spacing-xs); + color: var(--link-color-primary); + font-weight: 600; + border-left: 0; +} + +.phpdocumentor .phpdocumentor-sidebar__root-package, +.phpdocumentor .phpdocumentor-sidebar__root-namespace { + font-size: var(--text-md); + margin: 0; + padding-top: var(--spacing-xs); + padding-left: var(--spacing-md); + color: var(--text-color); + font-weight: normal; +} + +@media (min-width: 550px) { + .phpdocumentor-sidebar { + border-right: var(--sidebar-border-color) solid 1px; + } +} + +.phpdocumentor-sidebar__menu-button { + position: absolute; + top: -100%; + left: -100%; +} + +.phpdocumentor-sidebar__menu-icon { + font-size: var(--text-md); + font-weight: 600; + background: var(--primary-color); + color: white; + margin: 0 0 var(--spacing-lg); + display: block; + padding: var(--spacing-sm); + text-align: center; + border-radius: 3px; + text-transform: uppercase; + letter-spacing: .15rem; +} + +.phpdocumentor-sidebar__menu-button:checked ~ .phpdocumentor-sidebar { + max-height: 100%; + padding-top: var(--spacing-md); +} + +@media (min-width: 550px) { + .phpdocumentor-sidebar { + overflow: visible; + max-height: 100%; + } + + .phpdocumentor-sidebar__menu-icon { + display: none; + } +} +.phpdocumentor-admonition { + border: 1px solid var(--admonition-border-color); + border-radius: var(--border-radius-base-size); + border-color: var(--primary-color-lighten); + background-color: var(--primary-color-lighter); + padding: var(--spacing-lg); + margin: var(--spacing-lg) 0; + display: flex; + flex-direction: row; + align-items: flex-start; +} + +.phpdocumentor-admonition p:last-of-type { + margin-bottom: 0; +} + +.phpdocumentor-admonition--success, +.phpdocumentor-admonition.-success { + border-color: var(--admonition-success-color); +} + +.phpdocumentor-admonition__icon { + margin-right: var(--spacing-md); + color: var(--primary-color); + max-width: 3rem; +} +.phpdocumentor ul.phpdocumentor-breadcrumbs { + font-size: var(--text-md); + list-style: none; + margin: 0; + padding: 0; +} + +.phpdocumentor ul.phpdocumentor-breadcrumbs a { + color: var(--text-color); + text-decoration: none; +} + +.phpdocumentor ul.phpdocumentor-breadcrumbs > li { + display: inline-block; + margin: 0; +} + +.phpdocumentor ul.phpdocumentor-breadcrumbs > li + li:before { + color: var(--dark-gray); + content: "\\\A0"; + padding: 0; +} +.phpdocumentor .phpdocumentor-back-to-top { + position: fixed; + bottom: 2rem; + font-size: 2.5rem; + opacity: .25; + transition: all .3s ease-in-out; + right: 2rem; +} + +.phpdocumentor .phpdocumentor-back-to-top:hover { + color: var(--link-color-primary); + opacity: 1; +} +.phpdocumentor-search { + position: relative; + display: none; /** disable by default for non-js flow */ + opacity: .3; /** white-out default for loading indication */ + transition: opacity .3s, background .3s; + margin: var(--spacing-sm) 0; + flex: 1; + min-width: 100%; +} + +.phpdocumentor-search label { + display: flex; + align-items: center; + flex: 1; +} + +.phpdocumentor-search__icon { + color: var(--primary-color); + margin-right: var(--spacing-sm); + width: 1rem; + height: 1rem; +} + +.phpdocumentor-search--enabled { + display: flex; +} + +.phpdocumentor-search--active { + opacity: 1; +} + +.phpdocumentor-search input:disabled { + background-color: lightgray; +} + +.phpdocumentor-search__field:focus, +.phpdocumentor-search__field { + margin-bottom: 0; + border: 0; + border-bottom: 2px solid var(--primary-color); + padding: 0; + border-radius: 0; + flex: 1; +} + +@media (min-width: 1000px) { + .phpdocumentor-search { + min-width: auto; + max-width: 20rem; + margin: 0 0 0 auto; + } +} +.phpdocumentor-content { + position: relative; +} + +.phpdocumentor-search-results { + backdrop-filter: blur(5px); + background: var(--popover-background-color); + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + padding: 0; + opacity: 1; + pointer-events: all; + + transition: opacity .3s, background .3s; +} + +.phpdocumentor-search-results--hidden { + background: transparent; + backdrop-filter: blur(0); + opacity: 0; + pointer-events: none; +} + +.phpdocumentor-search-results__dialog { + width: 100%; + background: white; + max-height: 100%; + display: flex; + flex-direction: column; +} + +.phpdocumentor-search-results__body { + overflow: auto; +} + +.phpdocumentor-search-results__header { + padding: var(--spacing-lg); + display: flex; + justify-content: space-between; + background: var(--primary-color-darken); + color: white; + align-items: center; +} + +.phpdocumentor-search-results__close { + font-size: var(--text-xl); + background: none; + border: none; + padding: 0; + margin: 0; +} + +.phpdocumentor .phpdocumentor-search-results__title { + font-size: var(--text-xl); + margin-bottom: 0; +} + +.phpdocumentor-search-results__entries { + list-style: none; + padding: 0 var(--spacing-lg); + margin: 0; +} + +.phpdocumentor-search-results__entry { + border-bottom: 1px solid var(--table-separator-color); + padding: var(--spacing-sm) 0; + text-align: left; +} + +.phpdocumentor-search-results__entry a { + display: block; +} + +.phpdocumentor-search-results__entry small { + margin-top: var(--spacing-xs); + margin-bottom: var(--spacing-md); + color: var(--primary-color-darker); + display: block; + word-break: break-word; +} + +.phpdocumentor-search-results__entry h3 { + font-size: var(--text-lg); + margin: 0; +} + +@media (min-width: 550px) { + .phpdocumentor-search-results { + padding: 0 var(--spacing-lg); + } + + .phpdocumentor-search-results__entry h3 { + font-size: var(--text-xxl); + } + + .phpdocumentor-search-results__dialog { + margin: var(--spacing-xl) auto; + max-width: 40rem; + background: white; + border: 1px solid silver; + box-shadow: 0 2px 5px silver; + max-height: 40rem; + border-radius: 3px; + } +} +.phpdocumentor-modal { + position: fixed; + width: 100vw; + height: 100vh; + opacity: 0; + visibility: hidden; + transition: all 0.3s ease; + top: 0; + left: 0; + display: flex; + align-items: center; + justify-content: center; +} + +.phpdocumentor-modal__open { + visibility: visible; + opacity: 1; + transition-delay: 0s; +} + +.phpdocumentor-modal-bg { + position: absolute; + background: gray; + opacity: 50%; + width: 100%; + height: 100%; +} + +.phpdocumentor-modal-container { + border-radius: 1em; + background: #fff; + position: relative; + padding: 2em; + box-sizing: border-box; + max-width:100vw; +} + +.phpdocumentor-modal__close { + position: absolute; + right: 0.75em; + top: 0.75em; + outline: none; + appearance: none; + color: var(--primary-color); + background: none; + border: 0px; + font-weight: bold; + cursor: pointer; +} + +/* Used for screen readers and such */ +.visually-hidden { + display: none; +} + +.float-right { + float: right; +} + +.float-left { + float: left; +} diff --git a/apiDocumentation/css/bootstrap-combined.no-icons.min.css b/apiDocumentation/css/bootstrap-combined.no-icons.min.css new file mode 100644 index 0000000..5ab243e --- /dev/null +++ b/apiDocumentation/css/bootstrap-combined.no-icons.min.css @@ -0,0 +1,732 @@ +/*! + * Bootstrap v2.3.2 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ +.clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0;} +.clearfix:after{clear:both;} +.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;} +.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} +article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;} +audio,canvas,video{display:inline-block;*display:inline;*zoom:1;} +audio:not([controls]){display:none;} +html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;} +a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} +a:hover,a:active{outline:0;} +sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;} +sup{top:-0.5em;} +sub{bottom:-0.25em;} +img{max-width:100%;width:auto\9;height:auto;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic;} +#map_canvas img,.google-maps img{max-width:none;} +button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;} +button,input{*overflow:visible;line-height:normal;} +button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0;} +button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;} +label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer;} +input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield;} +input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;} +textarea{overflow:auto;vertical-align:top;} +@media print{*{text-shadow:none !important;color:#000 !important;background:transparent !important;box-shadow:none !important;} a,a:visited{text-decoration:underline;} a[href]:after{content:" (" attr(href) ")";} abbr[title]:after{content:" (" attr(title) ")";} .ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:"";} pre,blockquote{border:1px solid #999;page-break-inside:avoid;} thead{display:table-header-group;} tr,img{page-break-inside:avoid;} img{max-width:100% !important;} @page {margin:0.5cm;}p,h2,h3{orphans:3;widows:3;} h2,h3{page-break-after:avoid;}}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333333;background-color:#ffffff;} +a{color:#0088cc;text-decoration:none;} +a:hover,a:focus{color:#005580;text-decoration:underline;} +.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} +.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);} +.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px;} +.row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;} +.row:after{clear:both;} +[class*="span"]{float:left;min-height:1px;margin-left:20px;} +.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;} +.span12{width:940px;} +.span11{width:860px;} +.span10{width:780px;} +.span9{width:700px;} +.span8{width:620px;} +.span7{width:540px;} +.span6{width:460px;} +.span5{width:380px;} +.span4{width:300px;} +.span3{width:220px;} +.span2{width:140px;} +.span1{width:60px;} +.offset12{margin-left:980px;} +.offset11{margin-left:900px;} +.offset10{margin-left:820px;} +.offset9{margin-left:740px;} +.offset8{margin-left:660px;} +.offset7{margin-left:580px;} +.offset6{margin-left:500px;} +.offset5{margin-left:420px;} +.offset4{margin-left:340px;} +.offset3{margin-left:260px;} +.offset2{margin-left:180px;} +.offset1{margin-left:100px;} +.row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} +.row-fluid:after{clear:both;} +.row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;} +.row-fluid [class*="span"]:first-child{margin-left:0;} +.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%;} +.row-fluid .span12{width:100%;*width:99.94680851063829%;} +.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%;} +.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%;} +.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%;} +.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%;} +.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%;} +.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%;} +.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%;} +.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%;} +.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%;} +.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%;} +.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%;} +.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%;} +.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%;} +.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%;} +.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%;} +.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%;} +.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%;} +.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%;} +.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%;} +.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%;} +.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%;} +.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%;} +.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%;} +.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%;} +.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%;} +.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%;} +.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%;} +.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%;} +.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%;} +.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%;} +.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%;} +.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%;} +.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%;} +.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%;} +.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%;} +[class*="span"].hide,.row-fluid [class*="span"].hide{display:none;} +[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right;} +.container{margin-right:auto;margin-left:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";line-height:0;} +.container:after{clear:both;} +.container-fluid{padding-right:20px;padding-left:20px;*zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";line-height:0;} +.container-fluid:after{clear:both;} +p{margin:0 0 10px;} +.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px;} +small{font-size:85%;} +strong{font-weight:bold;} +em{font-style:italic;} +cite{font-style:normal;} +.muted{color:#999999;} +a.muted:hover,a.muted:focus{color:#808080;} +.text-warning{color:#c09853;} +a.text-warning:hover,a.text-warning:focus{color:#a47e3c;} +.text-error{color:#b94a48;} +a.text-error:hover,a.text-error:focus{color:#953b39;} +.text-info{color:#3a87ad;} +a.text-info:hover,a.text-info:focus{color:#2d6987;} +.text-success{color:#468847;} +a.text-success:hover,a.text-success:focus{color:#356635;} +.text-left{text-align:left;} +.text-right{text-align:right;} +.text-center{text-align:center;} +h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999999;} +h1,h2,h3{line-height:40px;} +h1{font-size:38.5px;} +h2{font-size:31.5px;} +h3{font-size:24.5px;} +h4{font-size:17.5px;} +h5{font-size:14px;} +h6{font-size:11.9px;} +h1 small{font-size:24.5px;} +h2 small{font-size:17.5px;} +h3 small{font-size:14px;} +h4 small{font-size:14px;} +.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eeeeee;} +ul,ol{padding:0;margin:0 0 10px 25px;} +ul ul,ul ol,ol ol,ol ul{margin-bottom:0;} +li{line-height:20px;} +ul.unstyled,ol.unstyled{margin-left:0;list-style:none;} +ul.inline,ol.inline{margin-left:0;list-style:none;}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;*zoom:1;padding-left:5px;padding-right:5px;} +dl{margin-bottom:20px;} +dt,dd{line-height:20px;} +dt{font-weight:bold;} +dd{margin-left:10px;} +.dl-horizontal{*zoom:1;}.dl-horizontal:before,.dl-horizontal:after{display:table;content:"";line-height:0;} +.dl-horizontal:after{clear:both;} +.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;} +.dl-horizontal dd{margin-left:180px;} +hr{margin:20px 0;border:0;border-top:1px solid #eeeeee;border-bottom:1px solid #ffffff;} +abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999999;} +abbr.initialism{font-size:90%;text-transform:uppercase;} +blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eeeeee;}blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25;} +blockquote small{display:block;line-height:20px;color:#999999;}blockquote small:before{content:'\2014 \00A0';} +blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eeeeee;border-left:0;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;} +blockquote.pull-right small:before{content:'';} +blockquote.pull-right small:after{content:'\00A0 \2014';} +q:before,q:after,blockquote:before,blockquote:after{content:"";} +address{display:block;margin-bottom:20px;font-style:normal;line-height:20px;} +code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;white-space:nowrap;} +pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}pre.prettyprint{margin-bottom:20px;} +pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0;} +.pre-scrollable{max-height:340px;overflow-y:scroll;} +.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#ffffff;vertical-align:baseline;white-space:nowrap;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#999999;} +.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +.badge{padding-left:9px;padding-right:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px;} +.label:empty,.badge:empty{display:none;} +a.label:hover,a.label:focus,a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer;} +.label-important,.badge-important{background-color:#b94a48;} +.label-important[href],.badge-important[href]{background-color:#953b39;} +.label-warning,.badge-warning{background-color:#f89406;} +.label-warning[href],.badge-warning[href]{background-color:#c67605;} +.label-success,.badge-success{background-color:#468847;} +.label-success[href],.badge-success[href]{background-color:#356635;} +.label-info,.badge-info{background-color:#3a87ad;} +.label-info[href],.badge-info[href]{background-color:#2d6987;} +.label-inverse,.badge-inverse{background-color:#333333;} +.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a;} +.btn .label,.btn .badge{position:relative;top:-1px;} +.btn-mini .label,.btn-mini .badge{top:0;} +table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0;} +.table{width:100%;margin-bottom:20px;}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #dddddd;} +.table th{font-weight:bold;} +.table thead th{vertical-align:bottom;} +.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0;} +.table tbody+tbody{border-top:2px solid #dddddd;} +.table .table{background-color:#ffffff;} +.table-condensed th,.table-condensed td{padding:4px 5px;} +.table-bordered{border:1px solid #dddddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.table-bordered th,.table-bordered td{border-left:1px solid #dddddd;} +.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0;} +.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;} +.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered tbody:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;} +.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tbody:last-child tr:last-child>th:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>th:first-child{-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;} +.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tbody:last-child tr:last-child>th:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>th:last-child{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;} +.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;} +.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;} +.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;} +.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;} +.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9;} +.table-hover tbody tr:hover>td,.table-hover tbody tr:hover>th{background-color:#f5f5f5;} +table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0;} +.table td.span1,.table th.span1{float:none;width:44px;margin-left:0;} +.table td.span2,.table th.span2{float:none;width:124px;margin-left:0;} +.table td.span3,.table th.span3{float:none;width:204px;margin-left:0;} +.table td.span4,.table th.span4{float:none;width:284px;margin-left:0;} +.table td.span5,.table th.span5{float:none;width:364px;margin-left:0;} +.table td.span6,.table th.span6{float:none;width:444px;margin-left:0;} +.table td.span7,.table th.span7{float:none;width:524px;margin-left:0;} +.table td.span8,.table th.span8{float:none;width:604px;margin-left:0;} +.table td.span9,.table th.span9{float:none;width:684px;margin-left:0;} +.table td.span10,.table th.span10{float:none;width:764px;margin-left:0;} +.table td.span11,.table th.span11{float:none;width:844px;margin-left:0;} +.table td.span12,.table th.span12{float:none;width:924px;margin-left:0;} +.table tbody tr.success>td{background-color:#dff0d8;} +.table tbody tr.error>td{background-color:#f2dede;} +.table tbody tr.warning>td{background-color:#fcf8e3;} +.table tbody tr.info>td{background-color:#d9edf7;} +.table-hover tbody tr.success:hover>td{background-color:#d0e9c6;} +.table-hover tbody tr.error:hover>td{background-color:#ebcccc;} +.table-hover tbody tr.warning:hover>td{background-color:#faf2cc;} +.table-hover tbody tr.info:hover>td{background-color:#c4e3f3;} +form{margin:0 0 20px;} +fieldset{padding:0;margin:0;border:0;} +legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333333;border:0;border-bottom:1px solid #e5e5e5;}legend small{font-size:15px;color:#999999;} +label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px;} +input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;} +label{display:block;margin-bottom:5px;} +select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555555;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;vertical-align:middle;} +input,textarea,.uneditable-input{width:206px;} +textarea{height:auto;} +textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#ffffff;border:1px solid #cccccc;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-webkit-transition:border linear .2s, box-shadow linear .2s;-moz-transition:border linear .2s, box-shadow linear .2s;-o-transition:border linear .2s, box-shadow linear .2s;transition:border linear .2s, box-shadow linear .2s;}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82, 168, 236, 0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);} +input[type="radio"],input[type="checkbox"]{margin:4px 0 0;*margin-top:0;margin-top:1px \9;line-height:normal;} +input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto;} +select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px;} +select{width:220px;border:1px solid #cccccc;background-color:#ffffff;} +select[multiple],select[size]{height:auto;} +select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} +.uneditable-input,.uneditable-textarea{color:#999999;background-color:#fcfcfc;border-color:#cccccc;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);cursor:not-allowed;} +.uneditable-input{overflow:hidden;white-space:nowrap;} +.uneditable-textarea{width:auto;height:auto;} +input:-moz-placeholder,textarea:-moz-placeholder{color:#999999;} +input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999999;} +input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999999;} +.radio,.checkbox{min-height:20px;padding-left:20px;} +.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px;} +.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px;} +.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle;} +.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px;} +.input-mini{width:60px;} +.input-small{width:90px;} +.input-medium{width:150px;} +.input-large{width:210px;} +.input-xlarge{width:270px;} +.input-xxlarge{width:530px;} +input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0;} +.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block;} +input,textarea,.uneditable-input{margin-left:0;} +.controls-row [class*="span"]+[class*="span"]{margin-left:20px;} +input.span12,textarea.span12,.uneditable-input.span12{width:926px;} +input.span11,textarea.span11,.uneditable-input.span11{width:846px;} +input.span10,textarea.span10,.uneditable-input.span10{width:766px;} +input.span9,textarea.span9,.uneditable-input.span9{width:686px;} +input.span8,textarea.span8,.uneditable-input.span8{width:606px;} +input.span7,textarea.span7,.uneditable-input.span7{width:526px;} +input.span6,textarea.span6,.uneditable-input.span6{width:446px;} +input.span5,textarea.span5,.uneditable-input.span5{width:366px;} +input.span4,textarea.span4,.uneditable-input.span4{width:286px;} +input.span3,textarea.span3,.uneditable-input.span3{width:206px;} +input.span2,textarea.span2,.uneditable-input.span2{width:126px;} +input.span1,textarea.span1,.uneditable-input.span1{width:46px;} +.controls-row{*zoom:1;}.controls-row:before,.controls-row:after{display:table;content:"";line-height:0;} +.controls-row:after{clear:both;} +.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left;} +.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px;} +input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eeeeee;} +input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent;} +.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853;} +.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853;} +.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #dbc59e;} +.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853;} +.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48;} +.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48;} +.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #d59392;} +.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48;} +.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847;} +.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847;} +.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7aba7b;} +.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847;} +.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad;} +.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad;} +.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7ab5d3;} +.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad;} +input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b;}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7;} +.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1;}.form-actions:before,.form-actions:after{display:table;content:"";line-height:0;} +.form-actions:after{clear:both;} +.help-block,.help-inline{color:#595959;} +.help-block{display:block;margin-bottom:10px;} +.help-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding-left:5px;} +.input-append,.input-prepend{display:inline-block;margin-bottom:10px;vertical-align:middle;font-size:0;white-space:nowrap;}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu,.input-append .popover,.input-prepend .popover{font-size:14px;} +.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2;} +.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#eeeeee;border:1px solid #ccc;} +.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546;} +.input-prepend .add-on,.input-prepend .btn{margin-right:-1px;} +.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;} +.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;} +.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px;} +.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;} +.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;} +.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;} +.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;} +.input-prepend.input-append .btn-group:first-child{margin-left:0;} +input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;} +.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px;} +.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0;} +.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0;} +.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px;} +.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;*zoom:1;margin-bottom:0;vertical-align:middle;} +.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none;} +.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block;} +.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0;} +.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle;} +.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0;} +.control-group{margin-bottom:10px;} +legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate;} +.form-horizontal .control-group{margin-bottom:20px;*zoom:1;}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:"";line-height:0;} +.form-horizontal .control-group:after{clear:both;} +.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right;} +.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0;}.form-horizontal .controls:first-child{*padding-left:180px;} +.form-horizontal .help-block{margin-bottom:0;} +.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px;} +.form-horizontal .form-actions{padding-left:180px;} +.btn{display:inline-block;*display:inline;*zoom:1;padding:4px 12px;margin-bottom:0;font-size:14px;line-height:20px;text-align:center;vertical-align:middle;cursor:pointer;color:#333333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#f5f5f5;background-image:-moz-linear-gradient(top, #ffffff, #e6e6e6);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(top, #ffffff, #e6e6e6);background-image:-o-linear-gradient(top, #ffffff, #e6e6e6);background-image:linear-gradient(to bottom, #ffffff, #e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#e6e6e6;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border:1px solid #cccccc;*border:0;border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*margin-left:.3em;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333333;background-color:#e6e6e6;*background-color:#d9d9d9;} +.btn:active,.btn.active{background-color:#cccccc \9;} +.btn:first-child{*margin-left:0;} +.btn:hover,.btn:focus{color:#333333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position 0.1s linear;-moz-transition:background-position 0.1s linear;-o-transition:background-position 0.1s linear;transition:background-position 0.1s linear;} +.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} +.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);} +.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} +.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} +.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px;} +.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0;} +.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px;} +.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +.btn-block{display:block;width:100%;padding-left:0;padding-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} +.btn-block+.btn-block{margin-top:5px;} +input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%;} +.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255, 255, 255, 0.75);} +.btn-primary{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#006dcc;background-image:-moz-linear-gradient(top, #0088cc, #0044cc);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));background-image:-webkit-linear-gradient(top, #0088cc, #0044cc);background-image:-o-linear-gradient(top, #0088cc, #0044cc);background-image:linear-gradient(to bottom, #0088cc, #0044cc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);border-color:#0044cc #0044cc #002a80;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#0044cc;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#ffffff;background-color:#0044cc;*background-color:#003bb3;} +.btn-primary:active,.btn-primary.active{background-color:#003399 \9;} +.btn-warning{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#faa732;background-image:-moz-linear-gradient(top, #fbb450, #f89406);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));background-image:-webkit-linear-gradient(top, #fbb450, #f89406);background-image:-o-linear-gradient(top, #fbb450, #f89406);background-image:linear-gradient(to bottom, #fbb450, #f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);border-color:#f89406 #f89406 #ad6704;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#f89406;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#ffffff;background-color:#f89406;*background-color:#df8505;} +.btn-warning:active,.btn-warning.active{background-color:#c67605 \9;} +.btn-danger{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#da4f49;background-image:-moz-linear-gradient(top, #ee5f5b, #bd362f);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));background-image:-webkit-linear-gradient(top, #ee5f5b, #bd362f);background-image:-o-linear-gradient(top, #ee5f5b, #bd362f);background-image:linear-gradient(to bottom, #ee5f5b, #bd362f);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);border-color:#bd362f #bd362f #802420;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#bd362f;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#ffffff;background-color:#bd362f;*background-color:#a9302a;} +.btn-danger:active,.btn-danger.active{background-color:#942a25 \9;} +.btn-success{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#5bb75b;background-image:-moz-linear-gradient(top, #62c462, #51a351);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));background-image:-webkit-linear-gradient(top, #62c462, #51a351);background-image:-o-linear-gradient(top, #62c462, #51a351);background-image:linear-gradient(to bottom, #62c462, #51a351);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);border-color:#51a351 #51a351 #387038;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#51a351;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#ffffff;background-color:#51a351;*background-color:#499249;} +.btn-success:active,.btn-success.active{background-color:#408140 \9;} +.btn-info{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#49afcd;background-image:-moz-linear-gradient(top, #5bc0de, #2f96b4);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));background-image:-webkit-linear-gradient(top, #5bc0de, #2f96b4);background-image:-o-linear-gradient(top, #5bc0de, #2f96b4);background-image:linear-gradient(to bottom, #5bc0de, #2f96b4);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#2f96b4;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#ffffff;background-color:#2f96b4;*background-color:#2a85a0;} +.btn-info:active,.btn-info.active{background-color:#24748c \9;} +.btn-inverse{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#363636;background-image:-moz-linear-gradient(top, #444444, #222222);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));background-image:-webkit-linear-gradient(top, #444444, #222222);background-image:-o-linear-gradient(top, #444444, #222222);background-image:linear-gradient(to bottom, #444444, #222222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);border-color:#222222 #222222 #000000;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#222222;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#ffffff;background-color:#222222;*background-color:#151515;} +.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9;} +button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px;}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0;} +button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px;} +button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px;} +button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px;} +.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} +.btn-link{border-color:transparent;cursor:pointer;color:#0088cc;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.btn-link:hover,.btn-link:focus{color:#005580;text-decoration:underline;background-color:transparent;} +.btn-link[disabled]:hover,.btn-link[disabled]:focus{color:#333333;text-decoration:none;} +.btn-group{position:relative;display:inline-block;*display:inline;*zoom:1;font-size:0;vertical-align:middle;white-space:nowrap;*margin-left:.3em;}.btn-group:first-child{*margin-left:0;} +.btn-group+.btn-group{margin-left:5px;} +.btn-toolbar{font-size:0;margin-top:10px;margin-bottom:10px;}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px;} +.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.btn-group>.btn+.btn{margin-left:-1px;} +.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px;} +.btn-group>.btn-mini{font-size:10.5px;} +.btn-group>.btn-small{font-size:11.9px;} +.btn-group>.btn-large{font-size:17.5px;} +.btn-group>.btn:first-child{margin-left:0;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;} +.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;} +.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;} +.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;} +.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2;} +.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0;} +.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);*padding-top:5px;*padding-bottom:5px;} +.btn-group>.btn-mini+.dropdown-toggle{padding-left:5px;padding-right:5px;*padding-top:2px;*padding-bottom:2px;} +.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px;} +.btn-group>.btn-large+.dropdown-toggle{padding-left:12px;padding-right:12px;*padding-top:7px;*padding-bottom:7px;} +.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);} +.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6;} +.btn-group.open .btn-primary.dropdown-toggle{background-color:#0044cc;} +.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406;} +.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f;} +.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351;} +.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4;} +.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222222;} +.btn .caret{margin-top:8px;margin-left:0;} +.btn-large .caret{margin-top:6px;} +.btn-large .caret{border-left-width:5px;border-right-width:5px;border-top-width:5px;} +.btn-mini .caret,.btn-small .caret{margin-top:8px;} +.dropup .btn-large .caret{border-bottom-width:5px;} +.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;} +.btn-group-vertical{display:inline-block;*display:inline;*zoom:1;} +.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.btn-group-vertical>.btn+.btn{margin-left:0;margin-top:-1px;} +.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;} +.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;} +.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0;} +.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;} +.nav{margin-left:0;margin-bottom:20px;list-style:none;} +.nav>li>a{display:block;} +.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eeeeee;} +.nav>li>a>img{max-width:none;} +.nav>.pull-right{float:right;} +.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999999;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);text-transform:uppercase;} +.nav li+.nav-header{margin-top:9px;} +.nav-list{padding-left:15px;padding-right:15px;margin-bottom:0;} +.nav-list>li>a,.nav-list .nav-header{margin-left:-15px;margin-right:-15px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);} +.nav-list>li>a{padding:3px 15px;} +.nav-list>.active>a,.nav-list>.active>a:hover,.nav-list>.active>a:focus{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.2);background-color:#0088cc;} +.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px;} +.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;} +.nav-tabs,.nav-pills{*zoom:1;}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:"";line-height:0;} +.nav-tabs:after,.nav-pills:after{clear:both;} +.nav-tabs>li,.nav-pills>li{float:left;} +.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px;} +.nav-tabs{border-bottom:1px solid #ddd;} +.nav-tabs>li{margin-bottom:-1px;} +.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{border-color:#eeeeee #eeeeee #dddddd;} +.nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-tabs>.active>a:focus{color:#555555;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;} +.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;} +.nav-pills>.active>a,.nav-pills>.active>a:hover,.nav-pills>.active>a:focus{color:#ffffff;background-color:#0088cc;} +.nav-stacked>li{float:none;} +.nav-stacked>li>a{margin-right:0;} +.nav-tabs.nav-stacked{border-bottom:0;} +.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;} +.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;} +.nav-tabs.nav-stacked>li>a:hover,.nav-tabs.nav-stacked>li>a:focus{border-color:#ddd;z-index:2;} +.nav-pills.nav-stacked>li>a{margin-bottom:3px;} +.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px;} +.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;} +.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} +.nav .dropdown-toggle .caret{border-top-color:#0088cc;border-bottom-color:#0088cc;margin-top:6px;} +.nav .dropdown-toggle:hover .caret,.nav .dropdown-toggle:focus .caret{border-top-color:#005580;border-bottom-color:#005580;} +.nav-tabs .dropdown-toggle .caret{margin-top:8px;} +.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff;} +.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555555;border-bottom-color:#555555;} +.nav>.dropdown.active>a:hover,.nav>.dropdown.active>a:focus{cursor:pointer;} +.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover,.nav>li.dropdown.open.active>a:focus{color:#ffffff;background-color:#999999;border-color:#999999;} +.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open a:focus .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;opacity:1;filter:alpha(opacity=100);} +.tabs-stacked .open>a:hover,.tabs-stacked .open>a:focus{border-color:#999999;} +.tabbable{*zoom:1;}.tabbable:before,.tabbable:after{display:table;content:"";line-height:0;} +.tabbable:after{clear:both;} +.tab-content{overflow:auto;} +.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0;} +.tab-content>.tab-pane,.pill-content>.pill-pane{display:none;} +.tab-content>.active,.pill-content>.active{display:block;} +.tabs-below>.nav-tabs{border-top:1px solid #ddd;} +.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0;} +.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-bottom-color:transparent;border-top-color:#ddd;} +.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #ddd #ddd #ddd;} +.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none;} +.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px;} +.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd;} +.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;} +.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#eeeeee #dddddd #eeeeee #eeeeee;} +.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#ddd transparent #ddd #ddd;*border-right-color:#ffffff;} +.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd;} +.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;} +.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#eeeeee #eeeeee #eeeeee #dddddd;} +.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#ddd #ddd #ddd transparent;*border-left-color:#ffffff;} +.nav>.disabled>a{color:#999999;} +.nav>.disabled>a:hover,.nav>.disabled>a:focus{text-decoration:none;background-color:transparent;cursor:default;} +.navbar{overflow:visible;margin-bottom:20px;*position:relative;*z-index:2;} +.navbar-inner{min-height:40px;padding-left:20px;padding-right:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top, #ffffff, #f2f2f2);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));background-image:-webkit-linear-gradient(top, #ffffff, #f2f2f2);background-image:-o-linear-gradient(top, #ffffff, #f2f2f2);background-image:linear-gradient(to bottom, #ffffff, #f2f2f2);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.065);-moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.065);box-shadow:0 1px 4px rgba(0, 0, 0, 0.065);*zoom:1;}.navbar-inner:before,.navbar-inner:after{display:table;content:"";line-height:0;} +.navbar-inner:after{clear:both;} +.navbar .container{width:auto;} +.nav-collapse.collapse{height:auto;overflow:visible;} +.navbar .brand{float:left;display:block;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777777;text-shadow:0 1px 0 #ffffff;}.navbar .brand:hover,.navbar .brand:focus{text-decoration:none;} +.navbar-text{margin-bottom:0;line-height:40px;color:#777777;} +.navbar-link{color:#777777;}.navbar-link:hover,.navbar-link:focus{color:#333333;} +.navbar .divider-vertical{height:40px;margin:0 9px;border-left:1px solid #f2f2f2;border-right:1px solid #ffffff;} +.navbar .btn,.navbar .btn-group{margin-top:5px;} +.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn,.navbar .input-prepend .btn-group,.navbar .input-append .btn-group{margin-top:0;} +.navbar-form{margin-bottom:0;*zoom:1;}.navbar-form:before,.navbar-form:after{display:table;content:"";line-height:0;} +.navbar-form:after{clear:both;} +.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px;} +.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0;} +.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px;} +.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap;}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0;} +.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0;}.navbar-search .search-query{margin-bottom:0;padding:4px 14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;} +.navbar-static-top{position:static;margin-bottom:0;}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0;} +.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px;} +.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0;} +.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-left:0;padding-right:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;} +.navbar-fixed-top{top:0;} +.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,.1);box-shadow:0 1px 10px rgba(0,0,0,.1);} +.navbar-fixed-bottom{bottom:0;}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,.1);box-shadow:0 -1px 10px rgba(0,0,0,.1);} +.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;} +.navbar .nav.pull-right{float:right;margin-right:0;} +.navbar .nav>li{float:left;} +.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777777;text-decoration:none;text-shadow:0 1px 0 #ffffff;} +.navbar .nav .dropdown-toggle .caret{margin-top:8px;} +.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{background-color:transparent;color:#333333;text-decoration:none;} +.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0, 0, 0, 0.125);-moz-box-shadow:inset 0 3px 8px rgba(0, 0, 0, 0.125);box-shadow:inset 0 3px 8px rgba(0, 0, 0, 0.125);} +.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-left:5px;margin-right:5px;color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#ededed;background-image:-moz-linear-gradient(top, #f2f2f2, #e5e5e5);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5));background-image:-webkit-linear-gradient(top, #f2f2f2, #e5e5e5);background-image:-o-linear-gradient(top, #f2f2f2, #e5e5e5);background-image:linear-gradient(to bottom, #f2f2f2, #e5e5e5);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0);border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#e5e5e5;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);}.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#ffffff;background-color:#e5e5e5;*background-color:#d9d9d9;} +.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#cccccc \9;} +.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);-moz-box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);} +.btn-navbar .icon-bar+.icon-bar{margin-top:3px;} +.navbar .nav>li>.dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.2);position:absolute;top:-7px;left:9px;} +.navbar .nav>li>.dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #ffffff;position:absolute;top:-6px;left:10px;} +.navbar-fixed-bottom .nav>li>.dropdown-menu:before{border-top:7px solid #ccc;border-top-color:rgba(0, 0, 0, 0.2);border-bottom:0;bottom:-7px;top:auto;} +.navbar-fixed-bottom .nav>li>.dropdown-menu:after{border-top:6px solid #ffffff;border-bottom:0;bottom:-6px;top:auto;} +.navbar .nav li.dropdown>a:hover .caret,.navbar .nav li.dropdown>a:focus .caret{border-top-color:#333333;border-bottom-color:#333333;} +.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{background-color:#e5e5e5;color:#555555;} +.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777777;border-bottom-color:#777777;} +.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555555;border-bottom-color:#555555;} +.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{left:auto;right:0;}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{left:auto;right:12px;} +.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{left:auto;right:13px;} +.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{left:auto;right:100%;margin-left:0;margin-right:-1px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px;} +.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top, #222222, #111111);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111));background-image:-webkit-linear-gradient(top, #222222, #111111);background-image:-o-linear-gradient(top, #222222, #111111);background-image:linear-gradient(to bottom, #222222, #111111);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0);border-color:#252525;} +.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999999;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover,.navbar-inverse .brand:focus,.navbar-inverse .nav>li>a:focus{color:#ffffff;} +.navbar-inverse .brand{color:#999999;} +.navbar-inverse .navbar-text{color:#999999;} +.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{background-color:transparent;color:#ffffff;} +.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#ffffff;background-color:#111111;} +.navbar-inverse .navbar-link{color:#999999;}.navbar-inverse .navbar-link:hover,.navbar-inverse .navbar-link:focus{color:#ffffff;} +.navbar-inverse .divider-vertical{border-left-color:#111111;border-right-color:#222222;} +.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{background-color:#111111;color:#ffffff;} +.navbar-inverse .nav li.dropdown>a:hover .caret,.navbar-inverse .nav li.dropdown>a:focus .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;} +.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999999;border-bottom-color:#999999;} +.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;} +.navbar-inverse .navbar-search .search-query{color:#ffffff;background-color:#515151;border-color:#111111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);box-shadow:inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#cccccc;} +.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#cccccc;} +.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#cccccc;} +.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333333;text-shadow:0 1px 0 #ffffff;background-color:#ffffff;border:0;-webkit-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);-moz-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);box-shadow:0 0 3px rgba(0, 0, 0, 0.15);outline:0;} +.navbar-inverse .btn-navbar{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0e0e0e;background-image:-moz-linear-gradient(top, #151515, #040404);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404));background-image:-webkit-linear-gradient(top, #151515, #040404);background-image:-o-linear-gradient(top, #151515, #040404);background-image:linear-gradient(to bottom, #151515, #040404);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0);border-color:#040404 #040404 #000000;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#040404;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#ffffff;background-color:#040404;*background-color:#000000;} +.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000000 \9;} +.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.breadcrumb>li{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 0 #ffffff;}.breadcrumb>li>.divider{padding:0 5px;color:#ccc;} +.breadcrumb>.active{color:#999999;} +.pagination{margin:20px 0;} +.pagination ul{display:inline-block;*display:inline;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);} +.pagination ul>li{display:inline;} +.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#ffffff;border:1px solid #dddddd;border-left-width:0;} +.pagination ul>li>a:hover,.pagination ul>li>a:focus,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5;} +.pagination ul>.active>a,.pagination ul>.active>span{color:#999999;cursor:default;} +.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>a:focus{color:#999999;background-color:transparent;cursor:default;} +.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;} +.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;} +.pagination-centered{text-align:center;} +.pagination-right{text-align:right;} +.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px;} +.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;} +.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;} +.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-bottomleft:3px;border-bottom-left-radius:3px;} +.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px;border-bottom-right-radius:3px;} +.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px;} +.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px;} +.pager{margin:20px 0;list-style:none;text-align:center;*zoom:1;}.pager:before,.pager:after{display:table;content:"";line-height:0;} +.pager:after{clear:both;} +.pager li{display:inline;} +.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;} +.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#f5f5f5;} +.pager .next>a,.pager .next>span{float:right;} +.pager .previous>a,.pager .previous>span{float:left;} +.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999999;background-color:#fff;cursor:default;} +.thumbnails{margin-left:-20px;list-style:none;*zoom:1;}.thumbnails:before,.thumbnails:after{display:table;content:"";line-height:0;} +.thumbnails:after{clear:both;} +.row-fluid .thumbnails{margin-left:0;} +.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px;} +.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.055);-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.055);box-shadow:0 1px 3px rgba(0, 0, 0, 0.055);-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;} +a.thumbnail:hover,a.thumbnail:focus{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);-moz-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);} +.thumbnail>img{display:block;max-width:100%;margin-left:auto;margin-right:auto;} +.thumbnail .caption{padding:9px;color:#555555;} +.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.alert,.alert h4{color:#c09853;} +.alert h4{margin:0;} +.alert .close{position:relative;top:-2px;right:-21px;line-height:20px;} +.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847;} +.alert-success h4{color:#468847;} +.alert-danger,.alert-error{background-color:#f2dede;border-color:#eed3d7;color:#b94a48;} +.alert-danger h4,.alert-error h4{color:#b94a48;} +.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3a87ad;} +.alert-info h4{color:#3a87ad;} +.alert-block{padding-top:14px;padding-bottom:14px;} +.alert-block>p,.alert-block>ul{margin-bottom:0;} +.alert-block p+p{margin-top:5px;} +@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}@-o-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f7f7f7;background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-o-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:linear-gradient(to bottom, #f5f5f5, #f9f9f9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.progress .bar{width:0%;height:100%;color:#ffffff;float:left;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));background-image:-webkit-linear-gradient(top, #149bdf, #0480be);background-image:-o-linear-gradient(top, #149bdf, #0480be);background-image:linear-gradient(to bottom, #149bdf, #0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width 0.6s ease;-moz-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease;} +.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);} +.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px;} +.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite;} +.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);background-image:-o-linear-gradient(top, #ee5f5b, #c43c35);background-image:linear-gradient(to bottom, #ee5f5b, #c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0);} +.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} +.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);background-image:-o-linear-gradient(top, #62c462, #57a957);background-image:linear-gradient(to bottom, #62c462, #57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0);} +.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} +.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);background-image:-o-linear-gradient(top, #5bc0de, #339bb9);background-image:linear-gradient(to bottom, #5bc0de, #339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0);} +.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} +.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top, #fbb450, #f89406);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));background-image:-webkit-linear-gradient(top, #fbb450, #f89406);background-image:-o-linear-gradient(top, #fbb450, #f89406);background-image:linear-gradient(to bottom, #fbb450, #f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);} +.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} +.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eeeeee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;color:inherit;letter-spacing:-1px;} +.hero-unit li{line-height:30px;} +.media,.media-body{overflow:hidden;*overflow:visible;zoom:1;} +.media,.media .media{margin-top:15px;} +.media:first-child{margin-top:0;} +.media-object{display:block;} +.media-heading{margin:0 0 5px;} +.media>.pull-left{margin-right:10px;} +.media>.pull-right{margin-left:10px;} +.media-list{margin-left:0;list-style:none;} +.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.8;filter:alpha(opacity=80);} +.tooltip.top{margin-top:-3px;padding:5px 0;} +.tooltip.right{margin-left:3px;padding:0 5px;} +.tooltip.bottom{margin-top:3px;padding:5px 0;} +.tooltip.left{margin-left:-3px;padding:0 5px;} +.tooltip-inner{max-width:200px;padding:8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;} +.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000;} +.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000;} +.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000;} +.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000;} +.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;background-color:#ffffff;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);white-space:normal;}.popover.top{margin-top:-10px;} +.popover.right{margin-left:10px;} +.popover.bottom{margin-top:10px;} +.popover.left{margin-left:-10px;} +.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0;}.popover-title:empty{display:none;} +.popover-content{padding:9px 14px;} +.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid;} +.popover .arrow{border-width:11px;} +.popover .arrow:after{border-width:10px;content:"";} +.popover.top .arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0, 0, 0, 0.25);bottom:-11px;}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ffffff;} +.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0, 0, 0, 0.25);}.popover.right .arrow:after{left:1px;bottom:-10px;border-left-width:0;border-right-color:#ffffff;} +.popover.bottom .arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0, 0, 0, 0.25);top:-11px;}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ffffff;} +.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0, 0, 0, 0.25);}.popover.left .arrow:after{right:1px;border-right-width:0;border-left-color:#ffffff;bottom:-10px;} +.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000;}.modal-backdrop.fade{opacity:0;} +.modal-backdrop,.modal-backdrop.fade.in{opacity:0.8;filter:alpha(opacity=80);} +.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;outline:none;}.modal.fade{-webkit-transition:opacity .3s linear, top .3s ease-out;-moz-transition:opacity .3s linear, top .3s ease-out;-o-transition:opacity .3s linear, top .3s ease-out;transition:opacity .3s linear, top .3s ease-out;top:-25%;} +.modal.fade.in{top:10%;} +.modal-header{padding:9px 15px;border-bottom:1px solid #eee;}.modal-header .close{margin-top:2px;} +.modal-header h3{margin:0;line-height:30px;} +.modal-body{position:relative;overflow-y:auto;max-height:400px;padding:15px;} +.modal-form{margin-bottom:0;} +.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;*zoom:1;}.modal-footer:before,.modal-footer:after{display:table;content:"";line-height:0;} +.modal-footer:after{clear:both;} +.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0;} +.modal-footer .btn-group .btn+.btn{margin-left:-1px;} +.modal-footer .btn-block+.btn-block{margin-left:0;} +.dropup,.dropdown{position:relative;} +.dropdown-toggle{*margin-bottom:-3px;} +.dropdown-toggle:active,.open .dropdown-toggle{outline:0;} +.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000000;border-right:4px solid transparent;border-left:4px solid transparent;content:"";} +.dropdown .caret{margin-top:8px;margin-left:2px;} +.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#ffffff;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}.dropdown-menu.pull-right{right:0;left:auto;} +.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;} +.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333333;white-space:nowrap;} +.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-submenu:hover>a,.dropdown-submenu:focus>a{text-decoration:none;color:#ffffff;background-color:#0081c2;background-image:-moz-linear-gradient(top, #0088cc, #0077b3);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));background-image:-webkit-linear-gradient(top, #0088cc, #0077b3);background-image:-o-linear-gradient(top, #0088cc, #0077b3);background-image:linear-gradient(to bottom, #0088cc, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);} +.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#0081c2;background-image:-moz-linear-gradient(top, #0088cc, #0077b3);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));background-image:-webkit-linear-gradient(top, #0088cc, #0077b3);background-image:-o-linear-gradient(top, #0088cc, #0077b3);background-image:linear-gradient(to bottom, #0088cc, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);} +.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999999;} +.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:default;} +.open{*z-index:1000;}.open>.dropdown-menu{display:block;} +.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990;} +.pull-right>.dropdown-menu{right:0;left:auto;} +.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000000;content:"";} +.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px;} +.dropdown-submenu{position:relative;} +.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;} +.dropdown-submenu:hover>.dropdown-menu{display:block;} +.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0;} +.dropdown-submenu>a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#cccccc;margin-top:5px;margin-right:-10px;} +.dropdown-submenu:hover>a:after{border-left-color:#ffffff;} +.dropdown-submenu.pull-left{float:none;}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px;} +.dropdown .dropdown-menu .nav-header{padding-left:20px;padding-right:20px;} +.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.accordion{margin-bottom:20px;} +.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.accordion-heading{border-bottom:0;} +.accordion-heading .accordion-toggle{display:block;padding:8px 15px;} +.accordion-toggle{cursor:pointer;} +.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5;} +.carousel{position:relative;margin-bottom:20px;line-height:1;} +.carousel-inner{overflow:hidden;width:100%;position:relative;} +.carousel-inner>.item{display:none;position:relative;-webkit-transition:0.6s ease-in-out left;-moz-transition:0.6s ease-in-out left;-o-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left;}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;line-height:1;} +.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block;} +.carousel-inner>.active{left:0;} +.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%;} +.carousel-inner>.next{left:100%;} +.carousel-inner>.prev{left:-100%;} +.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0;} +.carousel-inner>.active.left{left:-100%;} +.carousel-inner>.active.right{left:100%;} +.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#ffffff;text-align:center;background:#222222;border:3px solid #ffffff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:0.5;filter:alpha(opacity=50);}.carousel-control.right{left:auto;right:15px;} +.carousel-control:hover,.carousel-control:focus{color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90);} +.carousel-indicators{position:absolute;top:15px;right:15px;z-index:5;margin:0;list-style:none;}.carousel-indicators li{display:block;float:left;width:10px;height:10px;margin-left:5px;text-indent:-999px;background-color:#ccc;background-color:rgba(255, 255, 255, 0.25);border-radius:5px;} +.carousel-indicators .active{background-color:#fff;} +.carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:15px;background:#333333;background:rgba(0, 0, 0, 0.75);} +.carousel-caption h4,.carousel-caption p{color:#ffffff;line-height:20px;} +.carousel-caption h4{margin:0 0 5px;} +.carousel-caption p{margin-bottom:0;} +.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);} +.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} +.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20);}.close:hover,.close:focus{color:#000000;text-decoration:none;cursor:pointer;opacity:0.4;filter:alpha(opacity=40);} +button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;} +.pull-right{float:right;} +.pull-left{float:left;} +.hide{display:none;} +.show{display:block;} +.invisible{visibility:hidden;} +.affix{position:fixed;} +.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-moz-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear;}.fade.in{opacity:1;} +.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height 0.35s ease;-moz-transition:height 0.35s ease;-o-transition:height 0.35s ease;transition:height 0.35s ease;}.collapse.in{height:auto;} +@-ms-viewport{width:device-width;}.hidden{display:none;visibility:hidden;} +.visible-phone{display:none !important;} +.visible-tablet{display:none !important;} +.hidden-desktop{display:none !important;} +.visible-desktop{display:inherit !important;} +@media (min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit !important;} .visible-desktop{display:none !important ;} .visible-tablet{display:inherit !important;} .hidden-tablet{display:none !important;}}@media (max-width:767px){.hidden-desktop{display:inherit !important;} .visible-desktop{display:none !important;} .visible-phone{display:inherit !important;} .hidden-phone{display:none !important;}}.visible-print{display:none !important;} +@media print{.visible-print{display:inherit !important;} .hidden-print{display:none !important;}}@media (max-width:767px){body{padding-left:20px;padding-right:20px;} .navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-left:-20px;margin-right:-20px;} .container-fluid{padding:0;} .dl-horizontal dt{float:none;clear:none;width:auto;text-align:left;} .dl-horizontal dd{margin-left:0;} .container{width:auto;} .row-fluid{width:100%;} .row,.thumbnails{margin-left:0;} .thumbnails>li{float:none;margin-left:0;} [class*="span"],.uneditable-input[class*="span"],.row-fluid [class*="span"]{float:none;display:block;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} .span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} .row-fluid [class*="offset"]:first-child{margin-left:0;} .input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} .input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto;} .controls-row [class*="span"]+[class*="span"]{margin-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade{top:-100px;} .modal.fade.in{top:20px;}}@media (max-width:480px){.nav-collapse{-webkit-transform:translate3d(0, 0, 0);} .page-header h1 small{display:block;line-height:20px;} input[type="checkbox"],input[type="radio"]{border:1px solid #ccc;} .form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:10px;padding-right:10px;} .media .pull-left,.media .pull-right{float:none;display:block;margin-bottom:10px;} .media-object{margin-right:0;margin-left:0;} .modal{top:10px;left:10px;right:10px;} .modal-header .close{padding:10px;margin:-10px;} .carousel-caption{position:static;}}@media (min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;} .row:after{clear:both;} [class*="span"]{float:left;min-height:1px;margin-left:20px;} .container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px;} .span12{width:724px;} .span11{width:662px;} .span10{width:600px;} .span9{width:538px;} .span8{width:476px;} .span7{width:414px;} .span6{width:352px;} .span5{width:290px;} .span4{width:228px;} .span3{width:166px;} .span2{width:104px;} .span1{width:42px;} .offset12{margin-left:764px;} .offset11{margin-left:702px;} .offset10{margin-left:640px;} .offset9{margin-left:578px;} .offset8{margin-left:516px;} .offset7{margin-left:454px;} .offset6{margin-left:392px;} .offset5{margin-left:330px;} .offset4{margin-left:268px;} .offset3{margin-left:206px;} .offset2{margin-left:144px;} .offset1{margin-left:82px;} .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} .row-fluid:after{clear:both;} .row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;} .row-fluid [class*="span"]:first-child{margin-left:0;} .row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.7624309392265194%;} .row-fluid .span12{width:100%;*width:99.94680851063829%;} .row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%;} .row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%;} .row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%;} .row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%;} .row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%;} .row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%;} .row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%;} .row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%;} .row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%;} .row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%;} .row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%;} .row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%;} .row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%;} .row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%;} .row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%;} .row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%;} .row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%;} .row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%;} .row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%;} .row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%;} .row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%;} .row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%;} .row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%;} .row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%;} .row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%;} .row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%;} .row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%;} .row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%;} .row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%;} .row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%;} .row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%;} .row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%;} .row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%;} .row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%;} .row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%;} input,textarea,.uneditable-input{margin-left:0;} .controls-row [class*="span"]+[class*="span"]{margin-left:20px;} input.span12,textarea.span12,.uneditable-input.span12{width:710px;} input.span11,textarea.span11,.uneditable-input.span11{width:648px;} input.span10,textarea.span10,.uneditable-input.span10{width:586px;} input.span9,textarea.span9,.uneditable-input.span9{width:524px;} input.span8,textarea.span8,.uneditable-input.span8{width:462px;} input.span7,textarea.span7,.uneditable-input.span7{width:400px;} input.span6,textarea.span6,.uneditable-input.span6{width:338px;} input.span5,textarea.span5,.uneditable-input.span5{width:276px;} input.span4,textarea.span4,.uneditable-input.span4{width:214px;} input.span3,textarea.span3,.uneditable-input.span3{width:152px;} input.span2,textarea.span2,.uneditable-input.span2{width:90px;} input.span1,textarea.span1,.uneditable-input.span1{width:28px;}}@media (min-width:1200px){.row{margin-left:-30px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;} .row:after{clear:both;} [class*="span"]{float:left;min-height:1px;margin-left:30px;} .container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px;} .span12{width:1170px;} .span11{width:1070px;} .span10{width:970px;} .span9{width:870px;} .span8{width:770px;} .span7{width:670px;} .span6{width:570px;} .span5{width:470px;} .span4{width:370px;} .span3{width:270px;} .span2{width:170px;} .span1{width:70px;} .offset12{margin-left:1230px;} .offset11{margin-left:1130px;} .offset10{margin-left:1030px;} .offset9{margin-left:930px;} .offset8{margin-left:830px;} .offset7{margin-left:730px;} .offset6{margin-left:630px;} .offset5{margin-left:530px;} .offset4{margin-left:430px;} .offset3{margin-left:330px;} .offset2{margin-left:230px;} .offset1{margin-left:130px;} .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} .row-fluid:after{clear:both;} .row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;} .row-fluid [class*="span"]:first-child{margin-left:0;} .row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.564102564102564%;} .row-fluid .span12{width:100%;*width:99.94680851063829%;} .row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%;} .row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%;} .row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%;} .row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%;} .row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%;} .row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%;} .row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%;} .row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%;} .row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%;} .row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%;} .row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%;} .row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%;} .row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%;} .row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%;} .row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%;} .row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%;} .row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%;} .row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%;} .row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%;} .row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%;} .row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%;} .row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%;} .row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%;} .row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%;} .row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%;} .row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%;} .row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%;} .row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%;} .row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%;} .row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%;} .row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%;} .row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%;} .row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%;} .row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%;} .row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%;} input,textarea,.uneditable-input{margin-left:0;} .controls-row [class*="span"]+[class*="span"]{margin-left:30px;} input.span12,textarea.span12,.uneditable-input.span12{width:1156px;} input.span11,textarea.span11,.uneditable-input.span11{width:1056px;} input.span10,textarea.span10,.uneditable-input.span10{width:956px;} input.span9,textarea.span9,.uneditable-input.span9{width:856px;} input.span8,textarea.span8,.uneditable-input.span8{width:756px;} input.span7,textarea.span7,.uneditable-input.span7{width:656px;} input.span6,textarea.span6,.uneditable-input.span6{width:556px;} input.span5,textarea.span5,.uneditable-input.span5{width:456px;} input.span4,textarea.span4,.uneditable-input.span4{width:356px;} input.span3,textarea.span3,.uneditable-input.span3{width:256px;} input.span2,textarea.span2,.uneditable-input.span2{width:156px;} input.span1,textarea.span1,.uneditable-input.span1{width:56px;} .thumbnails{margin-left:-30px;} .thumbnails>li{margin-left:30px;} .row-fluid .thumbnails{margin-left:0;}}@media (max-width:979px){body{padding-top:0;} .navbar-fixed-top,.navbar-fixed-bottom{position:static;} .navbar-fixed-top{margin-bottom:20px;} .navbar-fixed-bottom{margin-top:20px;} .navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px;} .navbar .container{width:auto;padding:0;} .navbar .brand{padding-left:10px;padding-right:10px;margin:0 0 0 -5px;} .nav-collapse{clear:both;} .nav-collapse .nav{float:none;margin:0 0 10px;} .nav-collapse .nav>li{float:none;} .nav-collapse .nav>li>a{margin-bottom:2px;} .nav-collapse .nav>.divider-vertical{display:none;} .nav-collapse .nav .nav-header{color:#777777;text-shadow:none;} .nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} .nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} .nav-collapse .dropdown-menu li+li a{margin-bottom:2px;} .nav-collapse .nav>li>a:hover,.nav-collapse .nav>li>a:focus,.nav-collapse .dropdown-menu a:hover,.nav-collapse .dropdown-menu a:focus{background-color:#f2f2f2;} .navbar-inverse .nav-collapse .nav>li>a,.navbar-inverse .nav-collapse .dropdown-menu a{color:#999999;} .navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .nav>li>a:focus,.navbar-inverse .nav-collapse .dropdown-menu a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:focus{background-color:#111111;} .nav-collapse.in .btn-group{margin-top:5px;padding:0;} .nav-collapse .dropdown-menu{position:static;top:auto;left:auto;float:none;display:none;max-width:none;margin:0 15px;padding:0;background-color:transparent;border:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} .nav-collapse .open>.dropdown-menu{display:block;} .nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none;} .nav-collapse .dropdown-menu .divider{display:none;} .nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none;} .nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);} .navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111111;border-bottom-color:#111111;} .navbar .nav-collapse .nav.pull-right{float:none;margin-left:0;} .nav-collapse,.nav-collapse.collapse{overflow:hidden;height:0;} .navbar .btn-navbar{display:block;} .navbar-static .navbar-inner{padding-left:10px;padding-right:10px;}}@media (min-width:980px){.nav-collapse.collapse{height:auto !important;overflow:visible !important;}} diff --git a/apiDocumentation/css/bootstrap-responsive.css b/apiDocumentation/css/bootstrap-responsive.css new file mode 100644 index 0000000..aef610e --- /dev/null +++ b/apiDocumentation/css/bootstrap-responsive.css @@ -0,0 +1,567 @@ +/*! + * Bootstrap Responsive v2.0.0 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ +.hidden { + display: none; + visibility: hidden; +} +@media (max-width: 480px) { + .nav-collapse { + -webkit-transform: translate3d(0, 0, 0); + } + .page-header h1 small { + display: block; + line-height: 18px; + } + input[class*="span"], + select[class*="span"], + textarea[class*="span"], + .uneditable-input { + display: block; + width: 100%; + height: 28px; + /* Make inputs at least the height of their button counterpart */ + + /* Makes inputs behave like true block-level elements */ + + -webkit-box-sizing: border-box; + /* Older Webkit */ + + -moz-box-sizing: border-box; + /* Older FF */ + + -ms-box-sizing: border-box; + /* IE8 */ + + box-sizing: border-box; + /* CSS3 spec*/ + + } + .input-prepend input[class*="span"], .input-append input[class*="span"] { + width: auto; + } + input[type="checkbox"], input[type="radio"] { + border: 1px solid #ccc; + } + .form-horizontal .control-group > label { + float: none; + width: auto; + padding-top: 0; + text-align: left; + } + .form-horizontal .controls { + margin-left: 0; + } + .form-horizontal .control-list { + padding-top: 0; + } + .form-horizontal .form-actions { + padding-left: 10px; + padding-right: 10px; + } + .modal { + position: absolute; + top: 10px; + left: 10px; + right: 10px; + width: auto; + margin: 0; + } + .modal.fade.in { + top: auto; + } + .modal-header .close { + padding: 10px; + margin: -10px; + } + .carousel-caption { + position: static; + } +} +@media (max-width: 768px) { + .container { + width: auto; + padding: 0 20px; + } + .row-fluid { + width: 100%; + } + .row { + margin-left: 0; + } + .row > [class*="span"], .row-fluid > [class*="span"] { + float: none; + display: block; + width: auto; + margin: 0; + } +} +@media (min-width: 768px) and (max-width: 980px) { + .row { + margin-left: -20px; + *zoom: 1; + } + .row:before, .row:after { + display: table; + content: ""; + } + .row:after { + clear: both; + } + [class*="span"] { + float: left; + margin-left: 20px; + } + .span1 { + width: 42px; + } + .span2 { + width: 104px; + } + .span3 { + width: 166px; + } + .span4 { + width: 228px; + } + .span5 { + width: 290px; + } + .span6 { + width: 352px; + } + .span7 { + width: 414px; + } + .span8 { + width: 476px; + } + .span9 { + width: 538px; + } + .span10 { + width: 600px; + } + .span11 { + width: 662px; + } + .span12, .container { + width: 724px; + } + .offset1 { + margin-left: 82px; + } + .offset2 { + margin-left: 144px; + } + .offset3 { + margin-left: 206px; + } + .offset4 { + margin-left: 268px; + } + .offset5 { + margin-left: 330px; + } + .offset6 { + margin-left: 392px; + } + .offset7 { + margin-left: 454px; + } + .offset8 { + margin-left: 516px; + } + .offset9 { + margin-left: 578px; + } + .offset10 { + margin-left: 640px; + } + .offset11 { + margin-left: 702px; + } + .row-fluid { + width: 100%; + *zoom: 1; + } + .row-fluid:before, .row-fluid:after { + display: table; + content: ""; + } + .row-fluid:after { + clear: both; + } + .row-fluid > [class*="span"] { + float: left; + margin-left: 2.762430939%; + } + .row-fluid > [class*="span"]:first-child { + margin-left: 0; + } + .row-fluid .span1 { + width: 5.801104972%; + } + .row-fluid .span2 { + width: 14.364640883%; + } + .row-fluid .span3 { + width: 22.928176794%; + } + .row-fluid .span4 { + width: 31.491712705%; + } + .row-fluid .span5 { + width: 40.055248616%; + } + .row-fluid .span6 { + width: 48.618784527%; + } + .row-fluid .span7 { + width: 57.182320438000005%; + } + .row-fluid .span8 { + width: 65.74585634900001%; + } + .row-fluid .span9 { + width: 74.30939226%; + } + .row-fluid .span10 { + width: 82.87292817100001%; + } + .row-fluid .span11 { + width: 91.436464082%; + } + .row-fluid .span12 { + width: 99.999999993%; + } + input.span1, textarea.span1, .uneditable-input.span1 { + width: 32px; + } + input.span2, textarea.span2, .uneditable-input.span2 { + width: 94px; + } + input.span3, textarea.span3, .uneditable-input.span3 { + width: 156px; + } + input.span4, textarea.span4, .uneditable-input.span4 { + width: 218px; + } + input.span5, textarea.span5, .uneditable-input.span5 { + width: 280px; + } + input.span6, textarea.span6, .uneditable-input.span6 { + width: 342px; + } + input.span7, textarea.span7, .uneditable-input.span7 { + width: 404px; + } + input.span8, textarea.span8, .uneditable-input.span8 { + width: 466px; + } + input.span9, textarea.span9, .uneditable-input.span9 { + width: 528px; + } + input.span10, textarea.span10, .uneditable-input.span10 { + width: 590px; + } + input.span11, textarea.span11, .uneditable-input.span11 { + width: 652px; + } + input.span12, textarea.span12, .uneditable-input.span12 { + width: 714px; + } +} +@media (max-width: 980px) { + body { + padding-top: 0; + } + .navbar-fixed-top { + position: static; + margin-bottom: 18px; + } + .navbar-fixed-top .navbar-inner { + padding: 5px; + } + .navbar .container { + width: auto; + padding: 0; + } + .navbar .brand { + padding-left: 10px; + padding-right: 10px; + margin: 0 0 0 -5px; + } + .navbar .nav-collapse { + clear: left; + } + .navbar .nav { + float: none; + margin: 0 0 9px; + } + .navbar .nav > li { + float: none; + } + .navbar .nav > li > a { + margin-bottom: 2px; + } + .navbar .nav > .divider-vertical { + display: none; + } + .navbar .nav > li > a, .navbar .dropdown-menu a { + padding: 6px 15px; + font-weight: bold; + color: #999999; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + } + .navbar .dropdown-menu li + li a { + margin-bottom: 2px; + } + .navbar .nav > li > a:hover, .navbar .dropdown-menu a:hover { + background-color: #222222; + } + .navbar .dropdown-menu { + position: static; + top: auto; + left: auto; + float: none; + display: block; + max-width: none; + margin: 0 15px; + padding: 0; + background-color: transparent; + border: none; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + } + .navbar .dropdown-menu:before, .navbar .dropdown-menu:after { + display: none; + } + .navbar .dropdown-menu .divider { + display: none; + } + .navbar-form, .navbar-search { + float: none; + padding: 9px 15px; + margin: 9px 0; + border-top: 1px solid #222222; + border-bottom: 1px solid #222222; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + } + .navbar .nav.pull-right { + float: none; + margin-left: 0; + } + .navbar-static .navbar-inner { + padding-left: 10px; + padding-right: 10px; + } + .btn-navbar { + display: block; + } + .nav-collapse { + overflow: hidden; + height: 0; + } +} +@media (min-width: 980px) { + .nav-collapse.collapse { + height: auto !important; + } +} +@media (min-width: 1200px) { + .row { + margin-left: -30px; + *zoom: 1; + } + .row:before, .row:after { + display: table; + content: ""; + } + .row:after { + clear: both; + } + [class*="span"] { + float: left; + margin-left: 30px; + } + .span1 { + width: 70px; + } + .span2 { + width: 170px; + } + .span3 { + width: 270px; + } + .span4 { + width: 370px; + } + .span5 { + width: 470px; + } + .span6 { + width: 570px; + } + .span7 { + width: 670px; + } + .span8 { + width: 770px; + } + .span9 { + width: 870px; + } + .span10 { + width: 970px; + } + .span11 { + width: 1070px; + } + .span12, .container { + width: 1170px; + } + .offset1 { + margin-left: 130px; + } + .offset2 { + margin-left: 230px; + } + .offset3 { + margin-left: 330px; + } + .offset4 { + margin-left: 430px; + } + .offset5 { + margin-left: 530px; + } + .offset6 { + margin-left: 630px; + } + .offset7 { + margin-left: 730px; + } + .offset8 { + margin-left: 830px; + } + .offset9 { + margin-left: 930px; + } + .offset10 { + margin-left: 1030px; + } + .offset11 { + margin-left: 1130px; + } + .row-fluid { + width: 100%; + *zoom: 1; + } + .row-fluid:before, .row-fluid:after { + display: table; + content: ""; + } + .row-fluid:after { + clear: both; + } + .row-fluid > [class*="span"] { + float: left; + margin-left: 2.564102564%; + } + .row-fluid > [class*="span"]:first-child { + margin-left: 0; + } + .row-fluid .span1 { + width: 5.982905983%; + } + .row-fluid .span2 { + width: 14.529914530000001%; + } + .row-fluid .span3 { + width: 23.076923077%; + } + .row-fluid .span4 { + width: 31.623931624%; + } + .row-fluid .span5 { + width: 40.170940171000005%; + } + .row-fluid .span6 { + width: 48.717948718%; + } + .row-fluid .span7 { + width: 57.264957265%; + } + .row-fluid .span8 { + width: 65.81196581200001%; + } + .row-fluid .span9 { + width: 74.358974359%; + } + .row-fluid .span10 { + width: 82.905982906%; + } + .row-fluid .span11 { + width: 91.45299145300001%; + } + .row-fluid .span12 { + width: 100%; + } + input.span1, textarea.span1, .uneditable-input.span1 { + width: 60px; + } + input.span2, textarea.span2, .uneditable-input.span2 { + width: 160px; + } + input.span3, textarea.span3, .uneditable-input.span3 { + width: 260px; + } + input.span4, textarea.span4, .uneditable-input.span4 { + width: 360px; + } + input.span5, textarea.span5, .uneditable-input.span5 { + width: 460px; + } + input.span6, textarea.span6, .uneditable-input.span6 { + width: 560px; + } + input.span7, textarea.span7, .uneditable-input.span7 { + width: 660px; + } + input.span8, textarea.span8, .uneditable-input.span8 { + width: 760px; + } + input.span9, textarea.span9, .uneditable-input.span9 { + width: 860px; + } + input.span10, textarea.span10, .uneditable-input.span10 { + width: 960px; + } + input.span11, textarea.span11, .uneditable-input.span11 { + width: 1060px; + } + input.span12, textarea.span12, .uneditable-input.span12 { + width: 1160px; + } + .thumbnails { + margin-left: -30px; + } + .thumbnails > li { + margin-left: 30px; + } +} diff --git a/apiDocumentation/css/bootstrap-responsive.min.css b/apiDocumentation/css/bootstrap-responsive.min.css new file mode 100644 index 0000000..bc3f2ab --- /dev/null +++ b/apiDocumentation/css/bootstrap-responsive.min.css @@ -0,0 +1,3 @@ + +.hidden{display:none;visibility:hidden;} +@media (max-width:480px){.nav-collapse{-webkit-transform:translate3d(0, 0, 0);} .page-header h1 small{display:block;line-height:18px;} input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;} .input-prepend input[class*="span"],.input-append input[class*="span"]{width:auto;} input[type="checkbox"],input[type="radio"]{border:1px solid #ccc;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:10px;padding-right:10px;} .modal{position:absolute;top:10px;left:10px;right:10px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;margin:-10px;} .carousel-caption{position:static;}}@media (max-width:768px){.container{width:auto;padding:0 20px;} .row-fluid{width:100%;} .row{margin-left:0;} .row>[class*="span"],.row-fluid>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width:768px) and (max-width:980px){.row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";} .row:after{clear:both;} [class*="span"]{float:left;margin-left:20px;} .span1{width:42px;} .span2{width:104px;} .span3{width:166px;} .span4{width:228px;} .span5{width:290px;} .span6{width:352px;} .span7{width:414px;} .span8{width:476px;} .span9{width:538px;} .span10{width:600px;} .span11{width:662px;} .span12,.container{width:724px;} .offset1{margin-left:82px;} .offset2{margin-left:144px;} .offset3{margin-left:206px;} .offset4{margin-left:268px;} .offset5{margin-left:330px;} .offset6{margin-left:392px;} .offset7{margin-left:454px;} .offset8{margin-left:516px;} .offset9{margin-left:578px;} .offset10{margin-left:640px;} .offset11{margin-left:702px;} .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";} .row-fluid:after{clear:both;} .row-fluid>[class*="span"]{float:left;margin-left:2.762430939%;} .row-fluid>[class*="span"]:first-child{margin-left:0;} .row-fluid .span1{width:5.801104972%;} .row-fluid .span2{width:14.364640883%;} .row-fluid .span3{width:22.928176794%;} .row-fluid .span4{width:31.491712705%;} .row-fluid .span5{width:40.055248616%;} .row-fluid .span6{width:48.618784527%;} .row-fluid .span7{width:57.182320438000005%;} .row-fluid .span8{width:65.74585634900001%;} .row-fluid .span9{width:74.30939226%;} .row-fluid .span10{width:82.87292817100001%;} .row-fluid .span11{width:91.436464082%;} .row-fluid .span12{width:99.999999993%;} input.span1,textarea.span1,.uneditable-input.span1{width:32px;} input.span2,textarea.span2,.uneditable-input.span2{width:94px;} input.span3,textarea.span3,.uneditable-input.span3{width:156px;} input.span4,textarea.span4,.uneditable-input.span4{width:218px;} input.span5,textarea.span5,.uneditable-input.span5{width:280px;} input.span6,textarea.span6,.uneditable-input.span6{width:342px;} input.span7,textarea.span7,.uneditable-input.span7{width:404px;} input.span8,textarea.span8,.uneditable-input.span8{width:466px;} input.span9,textarea.span9,.uneditable-input.span9{width:528px;} input.span10,textarea.span10,.uneditable-input.span10{width:590px;} input.span11,textarea.span11,.uneditable-input.span11{width:652px;} input.span12,textarea.span12,.uneditable-input.span12{width:714px;}}@media (max-width:980px){body{padding-top:0;} .navbar-fixed-top{position:static;margin-bottom:18px;} .navbar-fixed-top .navbar-inner{padding:5px;} .navbar .container{width:auto;padding:0;} .navbar .brand{padding-left:10px;padding-right:10px;margin:0 0 0 -5px;} .navbar .nav-collapse{clear:left;} .navbar .nav{float:none;margin:0 0 9px;} .navbar .nav>li{float:none;} .navbar .nav>li>a{margin-bottom:2px;} .navbar .nav>.divider-vertical{display:none;} .navbar .nav>li>a,.navbar .dropdown-menu a{padding:6px 15px;font-weight:bold;color:#999999;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} .navbar .dropdown-menu li+li a{margin-bottom:2px;} .navbar .nav>li>a:hover,.navbar .dropdown-menu a:hover{background-color:#222222;} .navbar .dropdown-menu{position:static;top:auto;left:auto;float:none;display:block;max-width:none;margin:0 15px;padding:0;background-color:transparent;border:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} .navbar .dropdown-menu:before,.navbar .dropdown-menu:after{display:none;} .navbar .dropdown-menu .divider{display:none;} .navbar-form,.navbar-search{float:none;padding:9px 15px;margin:9px 0;border-top:1px solid #222222;border-bottom:1px solid #222222;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.1);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.1);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.1);} .navbar .nav.pull-right{float:none;margin-left:0;} .navbar-static .navbar-inner{padding-left:10px;padding-right:10px;} .btn-navbar{display:block;} .nav-collapse{overflow:hidden;height:0;}}@media (min-width:980px){.nav-collapse.collapse{height:auto !important;}}@media (min-width:1200px){.row{margin-left:-30px;*zoom:1;}.row:before,.row:after{display:table;content:"";} .row:after{clear:both;} [class*="span"]{float:left;margin-left:30px;} .span1{width:70px;} .span2{width:170px;} .span3{width:270px;} .span4{width:370px;} .span5{width:470px;} .span6{width:570px;} .span7{width:670px;} .span8{width:770px;} .span9{width:870px;} .span10{width:970px;} .span11{width:1070px;} .span12,.container{width:1170px;} .offset1{margin-left:130px;} .offset2{margin-left:230px;} .offset3{margin-left:330px;} .offset4{margin-left:430px;} .offset5{margin-left:530px;} .offset6{margin-left:630px;} .offset7{margin-left:730px;} .offset8{margin-left:830px;} .offset9{margin-left:930px;} .offset10{margin-left:1030px;} .offset11{margin-left:1130px;} .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";} .row-fluid:after{clear:both;} .row-fluid>[class*="span"]{float:left;margin-left:2.564102564%;} .row-fluid>[class*="span"]:first-child{margin-left:0;} .row-fluid .span1{width:5.982905983%;} .row-fluid .span2{width:14.529914530000001%;} .row-fluid .span3{width:23.076923077%;} .row-fluid .span4{width:31.623931624%;} .row-fluid .span5{width:40.170940171000005%;} .row-fluid .span6{width:48.717948718%;} .row-fluid .span7{width:57.264957265%;} .row-fluid .span8{width:65.81196581200001%;} .row-fluid .span9{width:74.358974359%;} .row-fluid .span10{width:82.905982906%;} .row-fluid .span11{width:91.45299145300001%;} .row-fluid .span12{width:100%;} input.span1,textarea.span1,.uneditable-input.span1{width:60px;} input.span2,textarea.span2,.uneditable-input.span2{width:160px;} input.span3,textarea.span3,.uneditable-input.span3{width:260px;} input.span4,textarea.span4,.uneditable-input.span4{width:360px;} input.span5,textarea.span5,.uneditable-input.span5{width:460px;} input.span6,textarea.span6,.uneditable-input.span6{width:560px;} input.span7,textarea.span7,.uneditable-input.span7{width:660px;} input.span8,textarea.span8,.uneditable-input.span8{width:760px;} input.span9,textarea.span9,.uneditable-input.span9{width:860px;} input.span10,textarea.span10,.uneditable-input.span10{width:960px;} input.span11,textarea.span11,.uneditable-input.span11{width:1060px;} input.span12,textarea.span12,.uneditable-input.span12{width:1160px;} .thumbnails{margin-left:-30px;} .thumbnails>li{margin-left:30px;}} diff --git a/apiDocumentation/css/bootstrap.css b/apiDocumentation/css/bootstrap.css new file mode 100644 index 0000000..563050c --- /dev/null +++ b/apiDocumentation/css/bootstrap.css @@ -0,0 +1,3370 @@ +/*! + * Bootstrap v2.0.0 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +nav, +section { + display: block; +} +audio, canvas, video { + display: inline-block; + *display: inline; + *zoom: 1; +} +audio:not([controls]) { + display: none; +} +html { + font-size: 100%; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +a:hover, a:active { + outline: 0; +} +sub, sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +img { + max-width: 100%; + height: auto; + border: 0; + -ms-interpolation-mode: bicubic; +} +button, +input, +select, +textarea { + margin: 0; + font-size: 100%; + vertical-align: middle; +} +button, input { + *overflow: visible; + line-height: normal; +} +button::-moz-focus-inner, input::-moz-focus-inner { + padding: 0; + border: 0; +} +button, +input[type="button"], +input[type="reset"], +input[type="submit"] { + cursor: pointer; + -webkit-appearance: button; +} +input[type="search"] { + -webkit-appearance: textfield; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { + -webkit-appearance: none; +} +textarea { + overflow: auto; + vertical-align: top; +} +body { + margin: 0; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + line-height: 18px; + color: #333333; + background-color: #ffffff; +} +a { + color: #0088cc; + text-decoration: none; +} +a:hover { + color: #005580; + text-decoration: underline; +} +.row { + margin-left: -20px; + *zoom: 1; +} +.row:before, .row:after { + display: table; + content: ""; +} +.row:after { + clear: both; +} +[class*="span"] { + float: left; + margin-left: 20px; +} +.span1 { + width: 60px; +} +.span2 { + width: 140px; +} +.span3 { + width: 220px; +} +.span4 { + width: 300px; +} +.span5 { + width: 380px; +} +.span6 { + width: 460px; +} +.span7 { + width: 540px; +} +.span8 { + width: 620px; +} +.span9 { + width: 700px; +} +.span10 { + width: 780px; +} +.span11 { + width: 860px; +} +.span12, .container { + width: 940px; +} +.offset1 { + margin-left: 100px; +} +.offset2 { + margin-left: 180px; +} +.offset3 { + margin-left: 260px; +} +.offset4 { + margin-left: 340px; +} +.offset5 { + margin-left: 420px; +} +.offset6 { + margin-left: 500px; +} +.offset7 { + margin-left: 580px; +} +.offset8 { + margin-left: 660px; +} +.offset9 { + margin-left: 740px; +} +.offset10 { + margin-left: 820px; +} +.offset11 { + margin-left: 900px; +} +.row-fluid { + width: 100%; + *zoom: 1; +} +.row-fluid:before, .row-fluid:after { + display: table; + content: ""; +} +.row-fluid:after { + clear: both; +} +.row-fluid > [class*="span"] { + float: left; + margin-left: 2.127659574%; +} +.row-fluid > [class*="span"]:first-child { + margin-left: 0; +} +.row-fluid .span1 { + width: 6.382978723%; +} +.row-fluid .span2 { + width: 14.89361702%; +} +.row-fluid .span3 { + width: 23.404255317%; +} +.row-fluid .span4 { + width: 31.914893614%; +} +.row-fluid .span5 { + width: 40.425531911%; +} +.row-fluid .span6 { + width: 48.93617020799999%; +} +.row-fluid .span7 { + width: 57.446808505%; +} +.row-fluid .span8 { + width: 65.95744680199999%; +} +.row-fluid .span9 { + width: 74.468085099%; +} +.row-fluid .span10 { + width: 82.97872339599999%; +} +.row-fluid .span11 { + width: 91.489361693%; +} +.row-fluid .span12 { + width: 99.99999998999999%; +} +.container { + width: 940px; + margin-left: auto; + margin-right: auto; + *zoom: 1; +} +.container:before, .container:after { + display: table; + content: ""; +} +.container:after { + clear: both; +} +.container-fluid { + padding-left: 20px; + padding-right: 20px; + *zoom: 1; +} +.container-fluid:before, .container-fluid:after { + display: table; + content: ""; +} +.container-fluid:after { + clear: both; +} +p { + margin: 0 0 9px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + line-height: 18px; +} +p small { + font-size: 11px; + color: #999999; +} +.lead { + margin-bottom: 18px; + font-size: 20px; + font-weight: 200; + line-height: 27px; +} +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 0; + font-weight: bold; + color: #333333; + text-rendering: optimizelegibility; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small { + font-weight: normal; + color: #999999; +} +h1 { + font-size: 30px; + line-height: 36px; +} +h1 small { + font-size: 18px; +} +h2 { + font-size: 24px; + line-height: 36px; +} +h2 small { + font-size: 18px; +} +h3 { + line-height: 27px; + font-size: 18px; +} +h3 small { + font-size: 14px; +} +h4, h5, h6 { + line-height: 18px; +} +h4 { + font-size: 14px; +} +h4 small { + font-size: 12px; +} +h5 { + font-size: 12px; +} +h6 { + font-size: 11px; + color: #999999; + text-transform: uppercase; +} +.page-header { + padding-bottom: 17px; + margin: 18px 0; + border-bottom: 1px solid #eeeeee; +} +.page-header h1 { + line-height: 1; +} +ul, ol { + padding: 0; + margin: 0 0 9px 25px; +} +ul ul, +ul ol, +ol ol, +ol ul { + margin-bottom: 0; +} +ul { + list-style: disc; +} +ol { + list-style: decimal; +} +li { + line-height: 18px; +} +ul.unstyled { + margin-left: 0; + list-style: none; +} +dl { + margin-bottom: 18px; +} +dt, dd { + line-height: 18px; +} +dt { + font-weight: bold; +} +dd { + margin-left: 9px; +} +hr { + margin: 18px 0; + border: 0; + border-top: 1px solid #e5e5e5; + border-bottom: 1px solid #ffffff; +} +strong { + font-weight: bold; +} +em { + font-style: italic; +} +.muted { + color: #999999; +} +abbr { + font-size: 90%; + text-transform: uppercase; + border-bottom: 1px dotted #ddd; + cursor: help; +} +blockquote { + padding: 0 0 0 15px; + margin: 0 0 18px; + border-left: 5px solid #eeeeee; +} +blockquote p { + margin-bottom: 0; + font-size: 16px; + font-weight: 300; + line-height: 22.5px; +} +blockquote small { + display: block; + line-height: 18px; + color: #999999; +} +blockquote small:before { + content: '\2014 \00A0'; +} +blockquote.pull-right { + float: right; + padding-left: 0; + padding-right: 15px; + border-left: 0; + border-right: 5px solid #eeeeee; +} +blockquote.pull-right p, blockquote.pull-right small { + text-align: right; +} +q:before, +q:after, +blockquote:before, +blockquote:after { + content: ""; +} +address { + display: block; + margin-bottom: 18px; + line-height: 18px; + font-style: normal; +} +small { + font-size: 100%; +} +cite { + font-style: normal; +} +code, pre { + padding: 0 3px 2px; + font-family: Menlo, Monaco, "Courier New", monospace; + font-size: 12px; + color: #333333; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} +code { + padding: 3px 4px; + color: #d14; + background-color: #f7f7f9; + border: 1px solid #e1e1e8; +} +pre { + display: block; + padding: 8.5px; + margin: 0 0 9px; + font-size: 12px; + line-height: 18px; + background-color: #f5f5f5; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + white-space: pre; + white-space: pre-wrap; + word-break: break-all; +} +pre.prettyprint { + margin-bottom: 18px; +} +pre code { + padding: 0; + background-color: transparent; +} +form { + margin: 0 0 18px; +} +fieldset { + padding: 0; + margin: 0; + border: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 27px; + font-size: 19.5px; + line-height: 36px; + color: #333333; + border: 0; + border-bottom: 1px solid #eee; +} +label, +input, +button, +select, +textarea { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + font-weight: normal; + line-height: 18px; +} +label { + display: block; + margin-bottom: 5px; + color: #333333; +} +input, +textarea, +select, +.uneditable-input { + display: inline-block; + width: 210px; + height: 18px; + padding: 4px; + margin-bottom: 9px; + font-size: 13px; + line-height: 18px; + color: #555555; + border: 1px solid #ccc; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} +.uneditable-textarea { + width: auto; + height: auto; +} +label input, label textarea, label select { + display: block; +} +input[type="image"], input[type="checkbox"], input[type="radio"] { + width: auto; + height: auto; + padding: 0; + margin: 3px 0; + *margin-top: 0; + /* IE7 */ + + line-height: normal; + border: 0; + cursor: pointer; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +input[type="file"] { + padding: initial; + line-height: initial; + border: initial; + background-color: #ffffff; + background-color: initial; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +input[type="button"], input[type="reset"], input[type="submit"] { + width: auto; + height: auto; +} +select, input[type="file"] { + height: 28px; + /* In IE7, the height of the select element cannot be changed by height, only font-size */ + + *margin-top: 4px; + /* For IE7, add top margin to align select with labels */ + + line-height: 28px; +} +select { + width: 220px; + background-color: #ffffff; +} +select[multiple], select[size] { + height: auto; +} +input[type="image"] { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +textarea { + height: auto; +} +input[type="hidden"] { + display: none; +} +.radio, .checkbox { + padding-left: 18px; +} +.radio input[type="radio"], .checkbox input[type="checkbox"] { + float: left; + margin-left: -18px; +} +.controls > .radio:first-child, .controls > .checkbox:first-child { + padding-top: 5px; +} +.radio.inline, .checkbox.inline { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; +} +.radio.inline + .radio.inline, .checkbox.inline + .checkbox.inline { + margin-left: 10px; +} +.controls > .radio.inline:first-child, .controls > .checkbox.inline:first-child { + padding-top: 0; +} +input, textarea { + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border linear 0.2s, box-shadow linear 0.2s; + -moz-transition: border linear 0.2s, box-shadow linear 0.2s; + -ms-transition: border linear 0.2s, box-shadow linear 0.2s; + -o-transition: border linear 0.2s, box-shadow linear 0.2s; + transition: border linear 0.2s, box-shadow linear 0.2s; +} +input:focus, textarea:focus { + border-color: rgba(82, 168, 236, 0.8); + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + outline: 0; + outline: thin dotted \9; + /* IE6-8 */ + +} +input[type="file"]:focus, input[type="checkbox"]:focus, select:focus { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.input-mini { + width: 60px; +} +.input-small { + width: 90px; +} +.input-medium { + width: 150px; +} +.input-large { + width: 210px; +} +.input-xlarge { + width: 270px; +} +.input-xxlarge { + width: 530px; +} +input[class*="span"], +select[class*="span"], +textarea[class*="span"], +.uneditable-input { + float: none; + margin-left: 0; +} +input.span1, textarea.span1, .uneditable-input.span1 { + width: 50px; +} +input.span2, textarea.span2, .uneditable-input.span2 { + width: 130px; +} +input.span3, textarea.span3, .uneditable-input.span3 { + width: 210px; +} +input.span4, textarea.span4, .uneditable-input.span4 { + width: 290px; +} +input.span5, textarea.span5, .uneditable-input.span5 { + width: 370px; +} +input.span6, textarea.span6, .uneditable-input.span6 { + width: 450px; +} +input.span7, textarea.span7, .uneditable-input.span7 { + width: 530px; +} +input.span8, textarea.span8, .uneditable-input.span8 { + width: 610px; +} +input.span9, textarea.span9, .uneditable-input.span9 { + width: 690px; +} +input.span10, textarea.span10, .uneditable-input.span10 { + width: 770px; +} +input.span11, textarea.span11, .uneditable-input.span11 { + width: 850px; +} +input.span12, textarea.span12, .uneditable-input.span12 { + width: 930px; +} +input[disabled], +select[disabled], +textarea[disabled], +input[readonly], +select[readonly], +textarea[readonly] { + background-color: #f5f5f5; + border-color: #ddd; + cursor: not-allowed; +} +.control-group.warning > label, .control-group.warning .help-block, .control-group.warning .help-inline { + color: #c09853; +} +.control-group.warning input, .control-group.warning select, .control-group.warning textarea { + color: #c09853; + border-color: #c09853; +} +.control-group.warning input:focus, .control-group.warning select:focus, .control-group.warning textarea:focus { + border-color: #a47e3c; + -webkit-box-shadow: 0 0 6px #dbc59e; + -moz-box-shadow: 0 0 6px #dbc59e; + box-shadow: 0 0 6px #dbc59e; +} +.control-group.warning .input-prepend .add-on, .control-group.warning .input-append .add-on { + color: #c09853; + background-color: #fcf8e3; + border-color: #c09853; +} +.control-group.error > label, .control-group.error .help-block, .control-group.error .help-inline { + color: #b94a48; +} +.control-group.error input, .control-group.error select, .control-group.error textarea { + color: #b94a48; + border-color: #b94a48; +} +.control-group.error input:focus, .control-group.error select:focus, .control-group.error textarea:focus { + border-color: #953b39; + -webkit-box-shadow: 0 0 6px #d59392; + -moz-box-shadow: 0 0 6px #d59392; + box-shadow: 0 0 6px #d59392; +} +.control-group.error .input-prepend .add-on, .control-group.error .input-append .add-on { + color: #b94a48; + background-color: #f2dede; + border-color: #b94a48; +} +.control-group.success > label, .control-group.success .help-block, .control-group.success .help-inline { + color: #468847; +} +.control-group.success input, .control-group.success select, .control-group.success textarea { + color: #468847; + border-color: #468847; +} +.control-group.success input:focus, .control-group.success select:focus, .control-group.success textarea:focus { + border-color: #356635; + -webkit-box-shadow: 0 0 6px #7aba7b; + -moz-box-shadow: 0 0 6px #7aba7b; + box-shadow: 0 0 6px #7aba7b; +} +.control-group.success .input-prepend .add-on, .control-group.success .input-append .add-on { + color: #468847; + background-color: #dff0d8; + border-color: #468847; +} +input:focus:required:invalid, textarea:focus:required:invalid, select:focus:required:invalid { + color: #b94a48; + border-color: #ee5f5b; +} +input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, select:focus:required:invalid:focus { + border-color: #e9322d; + -webkit-box-shadow: 0 0 6px #f8b9b7; + -moz-box-shadow: 0 0 6px #f8b9b7; + box-shadow: 0 0 6px #f8b9b7; +} +.form-actions { + padding: 17px 20px 18px; + margin-top: 18px; + margin-bottom: 18px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; +} +.uneditable-input { + display: block; + background-color: #ffffff; + border-color: #eee; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); + cursor: not-allowed; +} +:-moz-placeholder { + color: #999999; +} +::-webkit-input-placeholder { + color: #999999; +} +.help-block { + margin-top: 5px; + margin-bottom: 0; + color: #999999; +} +.help-inline { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; + margin-bottom: 9px; + vertical-align: middle; + padding-left: 5px; +} +.input-prepend, .input-append { + margin-bottom: 5px; + *zoom: 1; +} +.input-prepend:before, +.input-append:before, +.input-prepend:after, +.input-append:after { + display: table; + content: ""; +} +.input-prepend:after, .input-append:after { + clear: both; +} +.input-prepend input, +.input-append input, +.input-prepend .uneditable-input, +.input-append .uneditable-input { + -webkit-border-radius: 0 3px 3px 0; + -moz-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; +} +.input-prepend input:focus, +.input-append input:focus, +.input-prepend .uneditable-input:focus, +.input-append .uneditable-input:focus { + position: relative; + z-index: 2; +} +.input-prepend .uneditable-input, .input-append .uneditable-input { + border-left-color: #ccc; +} +.input-prepend .add-on, .input-append .add-on { + float: left; + display: block; + width: auto; + min-width: 16px; + height: 18px; + margin-right: -1px; + padding: 4px 5px; + font-weight: normal; + line-height: 18px; + color: #999999; + text-align: center; + text-shadow: 0 1px 0 #ffffff; + background-color: #f5f5f5; + border: 1px solid #ccc; + -webkit-border-radius: 3px 0 0 3px; + -moz-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; +} +.input-prepend .active, .input-append .active { + background-color: #a9dba9; + border-color: #46a546; +} +.input-prepend .add-on { + *margin-top: 1px; + /* IE6-7 */ + +} +.input-append input, .input-append .uneditable-input { + float: left; + -webkit-border-radius: 3px 0 0 3px; + -moz-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; +} +.input-append .uneditable-input { + border-right-color: #ccc; +} +.input-append .add-on { + margin-right: 0; + margin-left: -1px; + -webkit-border-radius: 0 3px 3px 0; + -moz-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; +} +.input-append input:first-child { + *margin-left: -160px; +} +.input-append input:first-child + .add-on { + *margin-left: -21px; +} +.search-query { + padding-left: 14px; + padding-right: 14px; + margin-bottom: 0; + -webkit-border-radius: 14px; + -moz-border-radius: 14px; + border-radius: 14px; +} +.form-search input, +.form-inline input, +.form-horizontal input, +.form-search textarea, +.form-inline textarea, +.form-horizontal textarea, +.form-search select, +.form-inline select, +.form-horizontal select, +.form-search .help-inline, +.form-inline .help-inline, +.form-horizontal .help-inline, +.form-search .uneditable-input, +.form-inline .uneditable-input, +.form-horizontal .uneditable-input { + display: inline-block; + margin-bottom: 0; +} +.form-search label, +.form-inline label, +.form-search .input-append, +.form-inline .input-append, +.form-search .input-prepend, +.form-inline .input-prepend { + display: inline-block; +} +.form-search .input-append .add-on, +.form-inline .input-prepend .add-on, +.form-search .input-append .add-on, +.form-inline .input-prepend .add-on { + vertical-align: middle; +} +.control-group { + margin-bottom: 9px; +} +.form-horizontal legend + .control-group { + margin-top: 18px; + -webkit-margin-top-collapse: separate; +} +.form-horizontal .control-group { + margin-bottom: 18px; + *zoom: 1; +} +.form-horizontal .control-group:before, .form-horizontal .control-group:after { + display: table; + content: ""; +} +.form-horizontal .control-group:after { + clear: both; +} +.form-horizontal .control-group > label { + float: left; + width: 140px; + padding-top: 5px; + text-align: right; +} +.form-horizontal .controls { + margin-left: 160px; +} +.form-horizontal .form-actions { + padding-left: 160px; +} +table { + max-width: 100%; + border-collapse: collapse; + border-spacing: 0; +} +.table { + width: 100%; + margin-bottom: 18px; +} +.table th, .table td { + padding: 8px; + line-height: 18px; + text-align: left; + border-top: 1px solid #ddd; +} +.table th { + font-weight: bold; + vertical-align: bottom; +} +.table td { + vertical-align: top; +} +.table thead:first-child tr th, .table thead:first-child tr td { + border-top: 0; +} +.table tbody + tbody { + border-top: 2px solid #ddd; +} +.table-condensed th, .table-condensed td { + padding: 4px 5px; +} +.table-bordered { + border: 1px solid #ddd; + border-collapse: separate; + *border-collapse: collapsed; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.table-bordered th + th, +.table-bordered td + td, +.table-bordered th + td, +.table-bordered td + th { + border-left: 1px solid #ddd; +} +.table-bordered thead:first-child tr:first-child th, .table-bordered tbody:first-child tr:first-child th, .table-bordered tbody:first-child tr:first-child td { + border-top: 0; +} +.table-bordered thead:first-child tr:first-child th:first-child, .table-bordered tbody:first-child tr:first-child td:first-child { + -webkit-border-radius: 4px 0 0 0; + -moz-border-radius: 4px 0 0 0; + border-radius: 4px 0 0 0; +} +.table-bordered thead:first-child tr:first-child th:last-child, .table-bordered tbody:first-child tr:first-child td:last-child { + -webkit-border-radius: 0 4px 0 0; + -moz-border-radius: 0 4px 0 0; + border-radius: 0 4px 0 0; +} +.table-bordered thead:last-child tr:last-child th:first-child, .table-bordered tbody:last-child tr:last-child td:first-child { + -webkit-border-radius: 0 0 0 4px; + -moz-border-radius: 0 0 0 4px; + border-radius: 0 0 0 4px; +} +.table-bordered thead:last-child tr:last-child th:last-child, .table-bordered tbody:last-child tr:last-child td:last-child { + -webkit-border-radius: 0 0 4px 0; + -moz-border-radius: 0 0 4px 0; + border-radius: 0 0 4px 0; +} +.table-striped tbody tr:nth-child(odd) td, .table-striped tbody tr:nth-child(odd) th { + background-color: #f9f9f9; +} +table .span1 { + float: none; + width: 44px; + margin-left: 0; +} +table .span2 { + float: none; + width: 124px; + margin-left: 0; +} +table .span3 { + float: none; + width: 204px; + margin-left: 0; +} +table .span4 { + float: none; + width: 284px; + margin-left: 0; +} +table .span5 { + float: none; + width: 364px; + margin-left: 0; +} +table .span6 { + float: none; + width: 444px; + margin-left: 0; +} +table .span7 { + float: none; + width: 524px; + margin-left: 0; +} +table .span8 { + float: none; + width: 604px; + margin-left: 0; +} +table .span9 { + float: none; + width: 684px; + margin-left: 0; +} +table .span10 { + float: none; + width: 764px; + margin-left: 0; +} +table .span11 { + float: none; + width: 844px; + margin-left: 0; +} +table .span12 { + float: none; + width: 924px; + margin-left: 0; +} +[class^="icon-"] { + display: inline-block; + width: 14px; + height: 14px; + vertical-align: text-top; + background-image: url(../img/glyphicons-halflings.png); + background-position: 14px 14px; + background-repeat: no-repeat; + *margin-right: .3em; +} +[class^="icon-"]:last-child { + *margin-left: 0; +} +.icon-white { + background-image: url(../img/glyphicons-halflings-white.png); +} +.icon-glass { + background-position: 0 0; +} +.icon-music { + background-position: -24px 0; +} +.icon-search { + background-position: -48px 0; +} +.icon-envelope { + background-position: -72px 0; +} +.icon-heart { + background-position: -96px 0; +} +.icon-star { + background-position: -120px 0; +} +.icon-star-empty { + background-position: -144px 0; +} +.icon-user { + background-position: -168px 0; +} +.icon-film { + background-position: -192px 0; +} +.icon-th-large { + background-position: -216px 0; +} +.icon-th { + background-position: -240px 0; +} +.icon-th-list { + background-position: -264px 0; +} +.icon-ok { + background-position: -288px 0; +} +.icon-remove { + background-position: -312px 0; +} +.icon-zoom-in { + background-position: -336px 0; +} +.icon-zoom-out { + background-position: -360px 0; +} +.icon-off { + background-position: -384px 0; +} +.icon-signal { + background-position: -408px 0; +} +.icon-cog { + background-position: -432px 0; +} +.icon-trash { + background-position: -456px 0; +} +.icon-home { + background-position: 0 -24px; +} +.icon-file { + background-position: -24px -24px; +} +.icon-time { + background-position: -48px -24px; +} +.icon-road { + background-position: -72px -24px; +} +.icon-download-alt { + background-position: -96px -24px; +} +.icon-download { + background-position: -120px -24px; +} +.icon-upload { + background-position: -144px -24px; +} +.icon-inbox { + background-position: -168px -24px; +} +.icon-play-circle { + background-position: -192px -24px; +} +.icon-repeat { + background-position: -216px -24px; +} +.icon-refresh { + background-position: -240px -24px; +} +.icon-list-alt { + background-position: -264px -24px; +} +.icon-lock { + background-position: -287px -24px; +} +.icon-flag { + background-position: -312px -24px; +} +.icon-headphones { + background-position: -336px -24px; +} +.icon-volume-off { + background-position: -360px -24px; +} +.icon-volume-down { + background-position: -384px -24px; +} +.icon-volume-up { + background-position: -408px -24px; +} +.icon-qrcode { + background-position: -432px -24px; +} +.icon-barcode { + background-position: -456px -24px; +} +.icon-tag { + background-position: 0 -48px; +} +.icon-tags { + background-position: -25px -48px; +} +.icon-book { + background-position: -48px -48px; +} +.icon-bookmark { + background-position: -72px -48px; +} +.icon-print { + background-position: -96px -48px; +} +.icon-camera { + background-position: -120px -48px; +} +.icon-font { + background-position: -144px -48px; +} +.icon-bold { + background-position: -167px -48px; +} +.icon-italic { + background-position: -192px -48px; +} +.icon-text-height { + background-position: -216px -48px; +} +.icon-text-width { + background-position: -240px -48px; +} +.icon-align-left { + background-position: -264px -48px; +} +.icon-align-center { + background-position: -288px -48px; +} +.icon-align-right { + background-position: -312px -48px; +} +.icon-align-justify { + background-position: -336px -48px; +} +.icon-list { + background-position: -360px -48px; +} +.icon-indent-left { + background-position: -384px -48px; +} +.icon-indent-right { + background-position: -408px -48px; +} +.icon-facetime-video { + background-position: -432px -48px; +} +.icon-picture { + background-position: -456px -48px; +} +.icon-pencil { + background-position: 0 -72px; +} +.icon-map-marker { + background-position: -24px -72px; +} +.icon-adjust { + background-position: -48px -72px; +} +.icon-tint { + background-position: -72px -72px; +} +.icon-edit { + background-position: -96px -72px; +} +.icon-share { + background-position: -120px -72px; +} +.icon-check { + background-position: -144px -72px; +} +.icon-move { + background-position: -168px -72px; +} +.icon-step-backward { + background-position: -192px -72px; +} +.icon-fast-backward { + background-position: -216px -72px; +} +.icon-backward { + background-position: -240px -72px; +} +.icon-play { + background-position: -264px -72px; +} +.icon-pause { + background-position: -288px -72px; +} +.icon-stop { + background-position: -312px -72px; +} +.icon-forward { + background-position: -336px -72px; +} +.icon-fast-forward { + background-position: -360px -72px; +} +.icon-step-forward { + background-position: -384px -72px; +} +.icon-eject { + background-position: -408px -72px; +} +.icon-chevron-left { + background-position: -432px -72px; +} +.icon-chevron-right { + background-position: -456px -72px; +} +.icon-plus-sign { + background-position: 0 -96px; +} +.icon-minus-sign { + background-position: -24px -96px; +} +.icon-remove-sign { + background-position: -48px -96px; +} +.icon-ok-sign { + background-position: -72px -96px; +} +.icon-question-sign { + background-position: -96px -96px; +} +.icon-info-sign { + background-position: -120px -96px; +} +.icon-screenshot { + background-position: -144px -96px; +} +.icon-remove-circle { + background-position: -168px -96px; +} +.icon-ok-circle { + background-position: -192px -96px; +} +.icon-ban-circle { + background-position: -216px -96px; +} +.icon-arrow-left { + background-position: -240px -96px; +} +.icon-arrow-right { + background-position: -264px -96px; +} +.icon-arrow-up { + background-position: -289px -96px; +} +.icon-arrow-down { + background-position: -312px -96px; +} +.icon-share-alt { + background-position: -336px -96px; +} +.icon-resize-full { + background-position: -360px -96px; +} +.icon-resize-small { + background-position: -384px -96px; +} +.icon-plus { + background-position: -408px -96px; +} +.icon-minus { + background-position: -433px -96px; +} +.icon-asterisk { + background-position: -456px -96px; +} +.icon-exclamation-sign { + background-position: 0 -120px; +} +.icon-gift { + background-position: -24px -120px; +} +.icon-leaf { + background-position: -48px -120px; +} +.icon-fire { + background-position: -72px -120px; +} +.icon-eye-open { + background-position: -96px -120px; +} +.icon-eye-close { + background-position: -120px -120px; +} +.icon-warning-sign { + background-position: -144px -120px; +} +.icon-plane { + background-position: -168px -120px; +} +.icon-calendar { + background-position: -192px -120px; +} +.icon-random { + background-position: -216px -120px; +} +.icon-comment { + background-position: -240px -120px; +} +.icon-magnet { + background-position: -264px -120px; +} +.icon-chevron-up { + background-position: -288px -120px; +} +.icon-chevron-down { + background-position: -313px -119px; +} +.icon-retweet { + background-position: -336px -120px; +} +.icon-shopping-cart { + background-position: -360px -120px; +} +.icon-folder-close { + background-position: -384px -120px; +} +.icon-folder-open { + background-position: -408px -120px; +} +.icon-resize-vertical { + background-position: -432px -119px; +} +.icon-resize-horizontal { + background-position: -456px -118px; +} +.dropdown { + position: relative; +} +.dropdown-toggle { + *margin-bottom: -3px; +} +.dropdown-toggle:active, .open .dropdown-toggle { + outline: 0; +} +.caret { + display: inline-block; + width: 0; + height: 0; + text-indent: -99999px; + *text-indent: 0; + vertical-align: top; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 4px solid #000000; + opacity: 0.3; + filter: alpha(opacity=30); + content: "\2193"; +} +.dropdown .caret { + margin-top: 8px; + margin-left: 2px; +} +.dropdown:hover .caret, .open.dropdown .caret { + opacity: 1; + filter: alpha(opacity=100); +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + float: left; + display: none; + min-width: 160px; + max-width: 220px; + _width: 160px; + padding: 4px 0; + margin: 0; + list-style: none; + background-color: #ffffff; + border-color: #ccc; + border-color: rgba(0, 0, 0, 0.2); + border-style: solid; + border-width: 1px; + -webkit-border-radius: 0 0 5px 5px; + -moz-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; + *border-right-width: 2px; + *border-bottom-width: 2px; +} +.dropdown-menu.bottom-up { + top: auto; + bottom: 100%; + margin-bottom: 2px; +} +.dropdown-menu .divider { + height: 1px; + margin: 5px 1px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid #ffffff; + *width: 100%; + *margin: -5px 0 5px; +} +.dropdown-menu a { + display: block; + padding: 3px 15px; + clear: both; + font-weight: normal; + line-height: 18px; + color: #555555; + white-space: nowrap; +} +.dropdown-menu li > a:hover, .dropdown-menu .active > a, .dropdown-menu .active > a:hover { + color: #ffffff; + text-decoration: none; + background-color: #0088cc; +} +.dropdown.open { + *z-index: 1000; +} +.dropdown.open .dropdown-toggle { + color: #ffffff; + background: #ccc; + background: rgba(0, 0, 0, 0.3); +} +.dropdown.open .dropdown-menu { + display: block; +} +.typeahead { + margin-top: 2px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #eee; + border: 1px solid rgba(0, 0, 0, 0.05); + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} +.fade { + -webkit-transition: opacity 0.15s linear; + -moz-transition: opacity 0.15s linear; + -ms-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; + opacity: 0; +} +.fade.in { + opacity: 1; +} +.collapse { + -webkit-transition: height 0.35s ease; + -moz-transition: height 0.35s ease; + -ms-transition: height 0.35s ease; + -o-transition: height 0.35s ease; + transition: height 0.35s ease; + position: relative; + overflow: hidden; + height: 0; +} +.collapse.in { + height: auto; +} +.close { + float: right; + font-size: 20px; + font-weight: bold; + line-height: 18px; + color: #000000; + text-shadow: 0 1px 0 #ffffff; + opacity: 0.2; + filter: alpha(opacity=20); +} +.close:hover { + color: #000000; + text-decoration: none; + opacity: 0.4; + filter: alpha(opacity=40); + cursor: pointer; +} +.btn { + display: inline-block; + padding: 4px 10px 4px; + font-size: 13px; + line-height: 18px; + color: #333333; + text-align: center; + text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); + background-color: #fafafa; + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6); + background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6); + background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6); + background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6); + background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6); + background-repeat: no-repeat; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); + border: 1px solid #ccc; + border-bottom-color: #bbb; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + cursor: pointer; + *margin-left: .3em; +} +.btn:first-child { + *margin-left: 0; +} +.btn:hover { + color: #333333; + text-decoration: none; + background-color: #e6e6e6; + background-position: 0 -15px; + -webkit-transition: background-position 0.1s linear; + -moz-transition: background-position 0.1s linear; + -ms-transition: background-position 0.1s linear; + -o-transition: background-position 0.1s linear; + transition: background-position 0.1s linear; +} +.btn:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn.active, .btn:active { + background-image: none; + -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + background-color: #e6e6e6; + background-color: #d9d9d9 \9; + color: rgba(0, 0, 0, 0.5); + outline: 0; +} +.btn.disabled, .btn[disabled] { + cursor: default; + background-image: none; + background-color: #e6e6e6; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.btn-large { + padding: 9px 14px; + font-size: 15px; + line-height: normal; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} +.btn-large .icon { + margin-top: 1px; +} +.btn-small { + padding: 5px 9px; + font-size: 11px; + line-height: 16px; +} +.btn-small .icon { + margin-top: -1px; +} +.btn-primary, +.btn-primary:hover, +.btn-warning, +.btn-warning:hover, +.btn-danger, +.btn-danger:hover, +.btn-success, +.btn-success:hover, +.btn-info, +.btn-info:hover { + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + color: #ffffff; +} +.btn-primary.active, +.btn-warning.active, +.btn-danger.active, +.btn-success.active, +.btn-info.active { + color: rgba(255, 255, 255, 0.75); +} +.btn-primary { + background-color: #006dcc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-image: -ms-linear-gradient(top, #0088cc, #0044cc); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(top, #0088cc, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.btn-primary:hover, +.btn-primary:active, +.btn-primary.active, +.btn-primary.disabled, +.btn-primary[disabled] { + background-color: #0044cc; +} +.btn-primary:active, .btn-primary.active { + background-color: #003399 \9; +} +.btn-warning { + background-color: #faa732; + background-image: -moz-linear-gradient(top, #fbb450, #f89406); + background-image: -ms-linear-gradient(top, #fbb450, #f89406); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); + background-image: -webkit-linear-gradient(top, #fbb450, #f89406); + background-image: -o-linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(top, #fbb450, #f89406); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0); + border-color: #f89406 #f89406 #ad6704; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.btn-warning:hover, +.btn-warning:active, +.btn-warning.active, +.btn-warning.disabled, +.btn-warning[disabled] { + background-color: #f89406; +} +.btn-warning:active, .btn-warning.active { + background-color: #c67605 \9; +} +.btn-danger { + background-color: #da4f49; + background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); + background-image: -ms-linear-gradient(top, #ee5f5b, #bd362f); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f)); + background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f); + background-image: -o-linear-gradient(top, #ee5f5b, #bd362f); + background-image: linear-gradient(top, #ee5f5b, #bd362f); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0); + border-color: #bd362f #bd362f #802420; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.btn-danger:hover, +.btn-danger:active, +.btn-danger.active, +.btn-danger.disabled, +.btn-danger[disabled] { + background-color: #bd362f; +} +.btn-danger:active, .btn-danger.active { + background-color: #942a25 \9; +} +.btn-success { + background-color: #5bb75b; + background-image: -moz-linear-gradient(top, #62c462, #51a351); + background-image: -ms-linear-gradient(top, #62c462, #51a351); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351)); + background-image: -webkit-linear-gradient(top, #62c462, #51a351); + background-image: -o-linear-gradient(top, #62c462, #51a351); + background-image: linear-gradient(top, #62c462, #51a351); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0); + border-color: #51a351 #51a351 #387038; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.btn-success:hover, +.btn-success:active, +.btn-success.active, +.btn-success.disabled, +.btn-success[disabled] { + background-color: #51a351; +} +.btn-success:active, .btn-success.active { + background-color: #408140 \9; +} +.btn-info { + background-color: #49afcd; + background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4); + background-image: -ms-linear-gradient(top, #5bc0de, #2f96b4); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4)); + background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4); + background-image: -o-linear-gradient(top, #5bc0de, #2f96b4); + background-image: linear-gradient(top, #5bc0de, #2f96b4); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0); + border-color: #2f96b4 #2f96b4 #1f6377; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.btn-info:hover, +.btn-info:active, +.btn-info.active, +.btn-info.disabled, +.btn-info[disabled] { + background-color: #2f96b4; +} +.btn-info:active, .btn-info.active { + background-color: #24748c \9; +} +button.btn, input[type="submit"].btn { + *padding-top: 2px; + *padding-bottom: 2px; +} +button.btn::-moz-focus-inner, input[type="submit"].btn::-moz-focus-inner { + padding: 0; + border: 0; +} +button.btn.large, input[type="submit"].btn.large { + *padding-top: 7px; + *padding-bottom: 7px; +} +button.btn.small, input[type="submit"].btn.small { + *padding-top: 3px; + *padding-bottom: 3px; +} +.btn-group { + position: relative; + *zoom: 1; + *margin-left: .3em; +} +.btn-group:before, .btn-group:after { + display: table; + content: ""; +} +.btn-group:after { + clear: both; +} +.btn-group:first-child { + *margin-left: 0; +} +.btn-group + .btn-group { + margin-left: 5px; +} +.btn-toolbar { + margin-top: 9px; + margin-bottom: 9px; +} +.btn-toolbar .btn-group { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; +} +.btn-group .btn { + position: relative; + float: left; + margin-left: -1px; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.btn-group .btn:first-child { + margin-left: 0; + -webkit-border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; + border-top-left-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + border-bottom-left-radius: 4px; +} +.btn-group .btn:last-child, .btn-group .dropdown-toggle { + -webkit-border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; + border-top-right-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + border-bottom-right-radius: 4px; +} +.btn-group .btn.large:first-child { + margin-left: 0; + -webkit-border-top-left-radius: 6px; + -moz-border-radius-topleft: 6px; + border-top-left-radius: 6px; + -webkit-border-bottom-left-radius: 6px; + -moz-border-radius-bottomleft: 6px; + border-bottom-left-radius: 6px; +} +.btn-group .btn.large:last-child, .btn-group .large.dropdown-toggle { + -webkit-border-top-right-radius: 6px; + -moz-border-radius-topright: 6px; + border-top-right-radius: 6px; + -webkit-border-bottom-right-radius: 6px; + -moz-border-radius-bottomright: 6px; + border-bottom-right-radius: 6px; +} +.btn-group .btn:hover, +.btn-group .btn:focus, +.btn-group .btn:active, +.btn-group .btn.active { + z-index: 2; +} +.btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; + -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + *padding-top: 5px; + *padding-bottom: 5px; +} +.btn-group.open { + *z-index: 1000; +} +.btn-group.open .dropdown-menu { + display: block; + margin-top: 1px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} +.btn-group.open .dropdown-toggle { + background-image: none; + -webkit-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +} +.btn .caret { + margin-top: 7px; + margin-left: 0; +} +.btn:hover .caret, .open.btn-group .caret { + opacity: 1; + filter: alpha(opacity=100); +} +.btn-primary .caret, +.btn-danger .caret, +.btn-info .caret, +.btn-success .caret { + border-top-color: #ffffff; + opacity: 0.75; + filter: alpha(opacity=75); +} +.btn-small .caret { + margin-top: 4px; +} +.alert { + padding: 8px 35px 8px 14px; + margin-bottom: 18px; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + background-color: #fcf8e3; + border: 1px solid #fbeed5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.alert, .alert-heading { + color: #c09853; +} +.alert .close { + position: relative; + top: -2px; + right: -21px; + line-height: 18px; +} +.alert-success { + background-color: #dff0d8; + border-color: #d6e9c6; +} +.alert-success, .alert-success .alert-heading { + color: #468847; +} +.alert-danger, .alert-error { + background-color: #f2dede; + border-color: #eed3d7; +} +.alert-danger, +.alert-error, +.alert-danger .alert-heading, +.alert-error .alert-heading { + color: #b94a48; +} +.alert-info { + background-color: #d9edf7; + border-color: #bce8f1; +} +.alert-info, .alert-info .alert-heading { + color: #3a87ad; +} +.alert-block { + padding-top: 14px; + padding-bottom: 14px; +} +.alert-block > p, .alert-block > ul { + margin-bottom: 0; +} +.alert-block p + p { + margin-top: 5px; +} +.nav { + margin-left: 0; + margin-bottom: 18px; + list-style: none; +} +.nav > li > a { + display: block; +} +.nav > li > a:hover { + text-decoration: none; + background-color: #eeeeee; +} +.nav-list { + padding-left: 14px; + padding-right: 14px; + margin-bottom: 0; +} +.nav-list > li > a, .nav-list .nav-header { + display: block; + padding: 3px 15px; + margin-left: -15px; + margin-right: -15px; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); +} +.nav-list .nav-header { + font-size: 11px; + font-weight: bold; + line-height: 18px; + color: #999999; + text-transform: uppercase; +} + +.nav-list .nav-header * { + text-transform:none; +} + +.nav-list > li + .nav-header { + margin-top: 9px; +} +.nav-list .active > a, .nav-list .active > a:hover { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); + background-color: #0088cc; +} +.nav-list [class^="icon-"] { + margin-right: 2px; +} +.nav-tabs, .nav-pills { + *zoom: 1; +} +.nav-tabs:before, +.nav-pills:before, +.nav-tabs:after, +.nav-pills:after { + display: table; + content: ""; +} +.nav-tabs:after, .nav-pills:after { + clear: both; +} +.nav-tabs > li, .nav-pills > li { + float: left; +} +.nav-tabs > li > a, .nav-pills > li > a { + padding-right: 12px; + padding-left: 12px; + margin-right: 2px; + line-height: 14px; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + margin-bottom: -1px; +} +.nav-tabs > li > a { + padding-top: 9px; + padding-bottom: 9px; + border: 1px solid transparent; + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #dddddd; +} +.nav-tabs > .active > a, .nav-tabs > .active > a:hover { + color: #555555; + background-color: #ffffff; + border: 1px solid #ddd; + border-bottom-color: transparent; + cursor: default; +} +.nav-pills > li > a { + padding-top: 8px; + padding-bottom: 8px; + margin-top: 2px; + margin-bottom: 2px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} +.nav-pills .active > a, .nav-pills .active > a:hover { + color: #ffffff; + background-color: #0088cc; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li > a { + margin-right: 0; +} +.nav-tabs.nav-stacked { + border-bottom: 0; +} +.nav-tabs.nav-stacked > li > a { + border: 1px solid #ddd; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.nav-tabs.nav-stacked > li:first-child > a { + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} +.nav-tabs.nav-stacked > li:last-child > a { + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} +.nav-tabs.nav-stacked > li > a:hover { + border-color: #ddd; + z-index: 2; +} +.nav-pills.nav-stacked > li > a { + margin-bottom: 3px; +} +.nav-pills.nav-stacked > li:last-child > a { + margin-bottom: 1px; +} +.nav-tabs .dropdown-menu, .nav-pills .dropdown-menu { + margin-top: 1px; + border-width: 1px; +} +.nav-pills .dropdown-menu { + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.nav-tabs .dropdown-toggle .caret, .nav-pills .dropdown-toggle .caret { + border-top-color: #0088cc; + margin-top: 6px; +} +.nav-tabs .dropdown-toggle:hover .caret, .nav-pills .dropdown-toggle:hover .caret { + border-top-color: #005580; +} +.nav-tabs .active .dropdown-toggle .caret, .nav-pills .active .dropdown-toggle .caret { + border-top-color: #333333; +} +.nav > .dropdown.active > a:hover { + color: #000000; + cursor: pointer; +} +.nav-tabs .open .dropdown-toggle, .nav-pills .open .dropdown-toggle, .nav > .open.active > a:hover { + color: #ffffff; + background-color: #999999; + border-color: #999999; +} +.nav .open .caret, .nav .open.active .caret, .nav .open a:hover .caret { + border-top-color: #ffffff; + opacity: 1; + filter: alpha(opacity=100); +} +.tabs-stacked .open > a:hover { + border-color: #999999; +} +.tabbable { + *zoom: 1; +} +.tabbable:before, .tabbable:after { + display: table; + content: ""; +} +.tabbable:after { + clear: both; +} +.tabs-below .nav-tabs, .tabs-right .nav-tabs, .tabs-left .nav-tabs { + border-bottom: 0; +} +.tab-content > .tab-pane, .pill-content > .pill-pane { + display: none; +} +.tab-content > .active, .pill-content > .active { + display: block; +} +.tabs-below .nav-tabs { + border-top: 1px solid #ddd; +} +.tabs-below .nav-tabs > li { + margin-top: -1px; + margin-bottom: 0; +} +.tabs-below .nav-tabs > li > a { + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} +.tabs-below .nav-tabs > li > a:hover { + border-bottom-color: transparent; + border-top-color: #ddd; +} +.tabs-below .nav-tabs .active > a, .tabs-below .nav-tabs .active > a:hover { + border-color: transparent #ddd #ddd #ddd; +} +.tabs-left .nav-tabs > li, .tabs-right .nav-tabs > li { + float: none; +} +.tabs-left .nav-tabs > li > a, .tabs-right .nav-tabs > li > a { + min-width: 74px; + margin-right: 0; + margin-bottom: 3px; +} +.tabs-left .nav-tabs { + float: left; + margin-right: 19px; + border-right: 1px solid #ddd; +} +.tabs-left .nav-tabs > li > a { + margin-right: -1px; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.tabs-left .nav-tabs > li > a:hover { + border-color: #eeeeee #dddddd #eeeeee #eeeeee; +} +.tabs-left .nav-tabs .active > a, .tabs-left .nav-tabs .active > a:hover { + border-color: #ddd transparent #ddd #ddd; + *border-right-color: #ffffff; +} +.tabs-right .nav-tabs { + float: right; + margin-left: 19px; + border-left: 1px solid #ddd; +} +.tabs-right .nav-tabs > li > a { + margin-left: -1px; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +.tabs-right .nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #eeeeee #dddddd; +} +.tabs-right .nav-tabs .active > a, .tabs-right .nav-tabs .active > a:hover { + border-color: #ddd #ddd #ddd transparent; + *border-left-color: #ffffff; +} +.navbar { + overflow: visible; + margin-bottom: 18px; +} +.navbar-inner { + padding-left: 20px; + padding-right: 20px; + background-color: #2c2c2c; + background-image: -moz-linear-gradient(top, #333333, #222222); + background-image: -ms-linear-gradient(top, #333333, #222222); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222)); + background-image: -webkit-linear-gradient(top, #333333, #222222); + background-image: -o-linear-gradient(top, #333333, #222222); + background-image: linear-gradient(top, #333333, #222222); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0); + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1); +} +.btn-navbar { + display: none; + float: right; + padding: 7px 10px; + margin-left: 5px; + margin-right: 5px; + background-color: #2c2c2c; + background-image: -moz-linear-gradient(top, #333333, #222222); + background-image: -ms-linear-gradient(top, #333333, #222222); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222)); + background-image: -webkit-linear-gradient(top, #333333, #222222); + background-image: -o-linear-gradient(top, #333333, #222222); + background-image: linear-gradient(top, #333333, #222222); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0); + border-color: #222222 #222222 #000000; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); +} +.btn-navbar:hover, +.btn-navbar:active, +.btn-navbar.active, +.btn-navbar.disabled, +.btn-navbar[disabled] { + background-color: #222222; +} +.btn-navbar:active, .btn-navbar.active { + background-color: #080808 \9; +} +.btn-navbar .icon-bar { + display: block; + width: 18px; + height: 2px; + background-color: #f5f5f5; + -webkit-border-radius: 1px; + -moz-border-radius: 1px; + border-radius: 1px; + -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); + -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); +} +.btn-navbar .icon-bar + .icon-bar { + margin-top: 3px; +} +.nav-collapse.collapse { + height: auto; +} +.navbar .brand:hover { + text-decoration: none; +} +.navbar .brand { + float: left; + display: block; + padding: 8px 20px 12px; + margin-left: -20px; + font-size: 20px; + font-weight: 200; + line-height: 1; + color: #ffffff; +} +.navbar .navbar-text { + margin-bottom: 0; + line-height: 40px; + color: #999999; +} +.navbar .navbar-text a:hover { + color: #ffffff; + background-color: transparent; +} +.navbar .btn, .navbar .btn-group { + margin-top: 5px; +} +.navbar .btn-group .btn { + margin-top: 0; +} +.navbar-form { + margin-bottom: 0; + *zoom: 1; +} +.navbar-form:before, .navbar-form:after { + display: table; + content: ""; +} +.navbar-form:after { + clear: both; +} +.navbar-form input, .navbar-form select { + display: inline-block; + margin-top: 5px; + margin-bottom: 0; +} +.navbar-form .radio, .navbar-form .checkbox { + margin-top: 5px; +} +.navbar-form input[type="image"], .navbar-form input[type="checkbox"], .navbar-form input[type="radio"] { + margin-top: 3px; +} +.navbar-search { + position: relative; + float: left; + margin-top: 6px; + margin-bottom: 0; +} +.navbar-search .search-query { + padding: 4px 9px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + font-weight: normal; + line-height: 1; + color: #ffffff; + color: rgba(255, 255, 255, 0.75); + background: #666; + background: rgba(255, 255, 255, 0.3); + border: 1px solid #111; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15); + -webkit-transition: none; + -moz-transition: none; + -ms-transition: none; + -o-transition: none; + transition: none; +} +.navbar-search .search-query :-moz-placeholder { + color: #eeeeee; +} +.navbar-search .search-query::-webkit-input-placeholder { + color: #eeeeee; +} +.navbar-search .search-query:hover { + color: #ffffff; + background-color: #999999; + background-color: rgba(255, 255, 255, 0.5); +} +.navbar-search .search-query:focus, .navbar-search .search-query.focused { + padding: 5px 10px; + color: #333333; + text-shadow: 0 1px 0 #ffffff; + background-color: #ffffff; + border: 0; + -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + outline: 0; +} +.navbar-fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} +.navbar-fixed-top .navbar-inner { + padding-left: 0; + padding-right: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.navbar .nav { + position: relative; + left: 0; + display: block; + float: left; + margin: 0 10px 0 0; +} +.navbar .nav.pull-right { + float: right; +} +.navbar .nav > li { + display: block; + float: left; +} +.navbar .nav > li > a { + float: none; + padding: 10px 10px 11px; + line-height: 19px; + color: #999999; + text-decoration: none; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.navbar .nav > li > a:hover { + background-color: transparent; + color: #ffffff; + text-decoration: none; +} +.navbar .nav .active > a, .navbar .nav .active > a:hover { + color: #ffffff; + text-decoration: none; + background-color: #222222; + background-color: rgba(0, 0, 0, 0.5); +} +.navbar .divider-vertical { + height: 40px; + width: 1px; + margin: 0 9px; + overflow: hidden; + background-color: #222222; + border-right: 1px solid #333333; +} +.navbar .nav.pull-right { + margin-left: 10px; + margin-right: 0; +} +.navbar .dropdown-menu { + margin-top: 1px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.navbar .dropdown-menu:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-bottom-color: rgba(0, 0, 0, 0.2); + position: absolute; + top: -7px; + left: 9px; +} +.navbar .dropdown-menu:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid #ffffff; + position: absolute; + top: -6px; + left: 10px; +} +.navbar .nav .dropdown-toggle .caret, .navbar .nav .open.dropdown .caret { + border-top-color: #ffffff; +} +.navbar .nav .active .caret { + opacity: 1; + filter: alpha(opacity=100); +} +.navbar .nav .open > .dropdown-toggle, .navbar .nav .active > .dropdown-toggle, .navbar .nav .open.active > .dropdown-toggle { + background-color: transparent; +} +.navbar .nav .active > .dropdown-toggle:hover { + color: #ffffff; +} +.navbar .nav.pull-right .dropdown-menu { + left: auto; + right: 0; +} +.navbar .nav.pull-right .dropdown-menu:before { + left: auto; + right: 12px; +} +.navbar .nav.pull-right .dropdown-menu:after { + left: auto; + right: 13px; +} +.breadcrumb { + padding: 7px 14px; + margin: 0 0 18px; + background-color: #fbfbfb; + background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5); + background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5)); + background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5); + background-image: -o-linear-gradient(top, #ffffff, #f5f5f5); + background-image: linear-gradient(top, #ffffff, #f5f5f5); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0); + border: 1px solid #ddd; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: inset 0 1px 0 #ffffff; + -moz-box-shadow: inset 0 1px 0 #ffffff; + box-shadow: inset 0 1px 0 #ffffff; +} +.breadcrumb li { + display: inline; + text-shadow: 0 1px 0 #ffffff; +} +.breadcrumb .divider { + padding: 0 5px; + color: #999999; +} +.breadcrumb .active a { + color: #333333; +} +.pagination { + height: 36px; + margin: 18px 0; +} +.pagination ul { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; + margin-left: 0; + margin-bottom: 0; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); +} +.pagination li { + display: inline; +} +.pagination a { + float: left; + padding: 0 14px; + line-height: 34px; + text-decoration: none; + border: 1px solid #ddd; + border-left-width: 0; +} +.pagination a:hover, .pagination .active a { + background-color: #f5f5f5; +} +.pagination .active a { + color: #999999; + cursor: default; +} +.pagination .disabled a, .pagination .disabled a:hover { + color: #999999; + background-color: transparent; + cursor: default; +} +.pagination li:first-child a { + border-left-width: 1px; + -webkit-border-radius: 3px 0 0 3px; + -moz-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; +} +.pagination li:last-child a { + -webkit-border-radius: 0 3px 3px 0; + -moz-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; +} +.pagination-centered { + text-align: center; +} +.pagination-right { + text-align: right; +} +.pager { + margin-left: 0; + margin-bottom: 18px; + list-style: none; + text-align: center; + *zoom: 1; +} +.pager:before, .pager:after { + display: table; + content: ""; +} +.pager:after { + clear: both; +} +.pager li { + display: inline; +} +.pager a { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} +.pager a:hover { + text-decoration: none; + background-color: #f5f5f5; +} +.pager .next a { + float: right; +} +.pager .previous a { + float: left; +} +.modal-open .dropdown-menu { + z-index: 2050; +} +.modal-open .dropdown.open { + *z-index: 2050; +} +.modal-open .popover { + z-index: 2060; +} +.modal-open .tooltip { + z-index: 2070; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000000; +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop, .modal-backdrop.fade.in { + opacity: 0.8; + filter: alpha(opacity=80); +} +.modal { + position: fixed; + top: 50%; + left: 50%; + z-index: 1050; + max-height: 500px; + overflow: auto; + width: 560px; + margin: -250px 0 0 -280px; + background-color: #ffffff; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.3); + *border: 1px solid #999; + /* IE6-7 */ + + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + -webkit-background-clip: padding-box; + -moz-background-clip: padding-box; + background-clip: padding-box; +} +.modal.fade { + -webkit-transition: opacity .3s linear, top .3s ease-out; + -moz-transition: opacity .3s linear, top .3s ease-out; + -ms-transition: opacity .3s linear, top .3s ease-out; + -o-transition: opacity .3s linear, top .3s ease-out; + transition: opacity .3s linear, top .3s ease-out; + top: -25%; +} +.modal.fade.in { + top: 50%; +} +.modal-header { + padding: 9px 15px; + border-bottom: 1px solid #eee; +} +.modal-header .close { + margin-top: 2px; +} +.modal-body { + padding: 15px; +} +.modal-footer { + padding: 14px 15px 15px; + margin-bottom: 0; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; + -webkit-box-shadow: inset 0 1px 0 #ffffff; + -moz-box-shadow: inset 0 1px 0 #ffffff; + box-shadow: inset 0 1px 0 #ffffff; + *zoom: 1; +} +.modal-footer:before, .modal-footer:after { + display: table; + content: ""; +} +.modal-footer:after { + clear: both; +} +.modal-footer .btn { + float: right; + margin-left: 5px; + margin-bottom: 0; +} +.tooltip { + position: absolute; + z-index: 1020; + display: block; + visibility: visible; + padding: 5px; + font-size: 11px; + opacity: 0; + filter: alpha(opacity=0); +} +.tooltip.in { + opacity: 0.8; + filter: alpha(opacity=80); +} +.tooltip.top { + margin-top: -2px; +} +.tooltip.right { + margin-left: 2px; +} +.tooltip.bottom { + margin-top: 2px; +} +.tooltip.left { + margin-left: -2px; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-top: 5px solid #000000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-top: 5px solid transparent; + border-bottom: 5px solid transparent; + border-left: 5px solid #000000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-bottom: 5px solid #000000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-top: 5px solid transparent; + border-bottom: 5px solid transparent; + border-right: 5px solid #000000; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #ffffff; + text-align: center; + text-decoration: none; + background-color: #000000; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1010; + display: none; + padding: 5px; +} +.popover.top { + margin-top: -5px; +} +.popover.right { + margin-left: 5px; +} +.popover.bottom { + margin-top: 5px; +} +.popover.left { + margin-left: -5px; +} +.popover.top .arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-top: 5px solid #000000; +} +.popover.right .arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-top: 5px solid transparent; + border-bottom: 5px solid transparent; + border-right: 5px solid #000000; +} +.popover.bottom .arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-bottom: 5px solid #000000; +} +.popover.left .arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-top: 5px solid transparent; + border-bottom: 5px solid transparent; + border-left: 5px solid #000000; +} +.popover .arrow { + position: absolute; + width: 0; + height: 0; +} +.popover-inner { + padding: 3px; + width: 280px; + overflow: hidden; + background: #000000; + background: rgba(0, 0, 0, 0.8); + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); +} +.popover-title { + padding: 9px 15px; + line-height: 1; + background-color: #f5f5f5; + border-bottom: 1px solid #eee; + -webkit-border-radius: 3px 3px 0 0; + -moz-border-radius: 3px 3px 0 0; + border-radius: 3px 3px 0 0; +} +.popover-content { + padding: 14px; + background-color: #ffffff; + -webkit-border-radius: 0 0 3px 3px; + -moz-border-radius: 0 0 3px 3px; + border-radius: 0 0 3px 3px; + -webkit-background-clip: padding-box; + -moz-background-clip: padding-box; + background-clip: padding-box; +} +.popover-content p, .popover-content ul, .popover-content ol { + margin-bottom: 0; +} +.thumbnails { + margin-left: -20px; + list-style: none; + *zoom: 1; +} +.thumbnails:before, .thumbnails:after { + display: table; + content: ""; +} +.thumbnails:after { + clear: both; +} +.thumbnails > li { + float: left; + margin: 0 0 18px 20px; +} +.thumbnail { + display: block; + padding: 4px; + line-height: 1; + border: 1px solid #ddd; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075); +} +a.thumbnail:hover { + border-color: #0088cc; + -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); + -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); + box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); +} +.thumbnail > img { + display: block; + max-width: 100%; + margin-left: auto; + margin-right: auto; +} +.thumbnail .caption { + padding: 9px; +} +.label { + padding: 1px 3px 2px; + font-size: 9.75px; + font-weight: bold; + color: #ffffff; + text-transform: uppercase; + background-color: #999999; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} +.label-important { + background-color: #b94a48; +} +.label-warning { + background-color: #f89406; +} +.label-success { + background-color: #468847; +} +.label-info { + background-color: #3a87ad; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 0 0; + } + to { + background-position: 40px 0; + } +} +@-moz-keyframes progress-bar-stripes { + from { + background-position: 0 0; + } + to { + background-position: 40px 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 0 0; + } + to { + background-position: 40px 0; + } +} +.progress { + overflow: hidden; + height: 18px; + margin-bottom: 18px; + background-color: #f7f7f7; + background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9)); + background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: linear-gradient(top, #f5f5f5, #f9f9f9); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0); + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.progress .bar { + width: 0%; + height: 18px; + color: #ffffff; + font-size: 12px; + text-align: center; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #0e90d2; + background-image: -moz-linear-gradient(top, #149bdf, #0480be); + background-image: -ms-linear-gradient(top, #149bdf, #0480be); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be)); + background-image: -webkit-linear-gradient(top, #149bdf, #0480be); + background-image: -o-linear-gradient(top, #149bdf, #0480be); + background-image: linear-gradient(top, #149bdf, #0480be); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0); + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-transition: width 0.6s ease; + -moz-transition: width 0.6s ease; + -ms-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} +.progress-striped .bar { + background-color: #62c462; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + -webkit-background-size: 40px 40px; + -moz-background-size: 40px 40px; + -o-background-size: 40px 40px; + background-size: 40px 40px; +} +.progress.active .bar { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -moz-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-danger .bar { + background-color: #dd514c; + background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35); + background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35)); + background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35); + background-image: -o-linear-gradient(top, #ee5f5b, #c43c35); + background-image: linear-gradient(top, #ee5f5b, #c43c35); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0); +} +.progress-danger.progress-striped .bar { + background-color: #ee5f5b; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-success .bar { + background-color: #5eb95e; + background-image: -moz-linear-gradient(top, #62c462, #57a957); + background-image: -ms-linear-gradient(top, #62c462, #57a957); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957)); + background-image: -webkit-linear-gradient(top, #62c462, #57a957); + background-image: -o-linear-gradient(top, #62c462, #57a957); + background-image: linear-gradient(top, #62c462, #57a957); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0); +} +.progress-success.progress-striped .bar { + background-color: #62c462; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-info .bar { + background-color: #4bb1cf; + background-image: -moz-linear-gradient(top, #5bc0de, #339bb9); + background-image: -ms-linear-gradient(top, #5bc0de, #339bb9); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9)); + background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9); + background-image: -o-linear-gradient(top, #5bc0de, #339bb9); + background-image: linear-gradient(top, #5bc0de, #339bb9); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0); +} +.progress-info.progress-striped .bar { + background-color: #5bc0de; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.accordion { + margin-bottom: 18px; +} +.accordion-group { + margin-bottom: 2px; + border: 1px solid #e5e5e5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.accordion-heading { + border-bottom: 0; +} +.accordion-heading .accordion-toggle { + display: block; + padding: 8px 15px; +} +.accordion-inner { + padding: 9px 15px; + border-top: 1px solid #e5e5e5; +} +.carousel { + position: relative; + margin-bottom: 18px; + line-height: 1; +} +.carousel-inner { + overflow: hidden; + width: 100%; + position: relative; +} +.carousel .item { + display: none; + position: relative; + -webkit-transition: 0.6s ease-in-out left; + -moz-transition: 0.6s ease-in-out left; + -ms-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} +.carousel .item > img { + display: block; + line-height: 1; +} +.carousel .active, .carousel .next, .carousel .prev { + display: block; +} +.carousel .active { + left: 0; +} +.carousel .next, .carousel .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel .next { + left: 100%; +} +.carousel .prev { + left: -100%; +} +.carousel .next.left, .carousel .prev.right { + left: 0; +} +.carousel .active.left { + left: -100%; +} +.carousel .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 40%; + left: 15px; + width: 40px; + height: 40px; + margin-top: -20px; + font-size: 60px; + font-weight: 100; + line-height: 30px; + color: #ffffff; + text-align: center; + background: #222222; + border: 3px solid #ffffff; + -webkit-border-radius: 23px; + -moz-border-radius: 23px; + border-radius: 23px; + opacity: 0.5; + filter: alpha(opacity=50); +} +.carousel-control.right { + left: auto; + right: 15px; +} +.carousel-control:hover { + color: #ffffff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} +.carousel-caption { + position: absolute; + left: 0; + right: 0; + bottom: 0; + padding: 10px 15px 5px; + background: #333333; + background: rgba(0, 0, 0, 0.75); +} +.carousel-caption h4, .carousel-caption p { + color: #ffffff; +} +.hero-unit { + padding: 60px; + margin-bottom: 30px; + background-color: #f5f5f5; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} +.hero-unit h1 { + margin-bottom: 0; + font-size: 60px; + line-height: 1; + letter-spacing: -1px; +} +.hero-unit p { + font-size: 18px; + font-weight: 200; + line-height: 27px; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.hide { + display: none; +} +.show { + display: block; +} +.invisible { + visibility: hidden; +} diff --git a/apiDocumentation/css/bootstrap.min.css b/apiDocumentation/css/bootstrap.min.css new file mode 100644 index 0000000..d522124 --- /dev/null +++ b/apiDocumentation/css/bootstrap.min.css @@ -0,0 +1,611 @@ +article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;} +audio,canvas,video{display:inline-block;*display:inline;*zoom:1;} +audio:not([controls]){display:none;} +html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;} +a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} +a:hover,a:active{outline:0;} +sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;} +sup{top:-0.5em;} +sub{bottom:-0.25em;} +img{max-width:100%;height:auto;border:0;-ms-interpolation-mode:bicubic;} +button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;} +button,input{*overflow:visible;line-height:normal;} +button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0;} +button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;} +input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;} +input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;} +textarea{overflow:auto;vertical-align:top;} +body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#333333;background-color:#ffffff;} +a{color:#0088cc;text-decoration:none;} +a:hover{color:#005580;text-decoration:underline;} +.row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";} +.row:after{clear:both;} +[class*="span"]{float:left;margin-left:20px;} +.span1{width:60px;} +.span2{width:140px;} +.span3{width:220px;} +.span4{width:300px;} +.span5{width:380px;} +.span6{width:460px;} +.span7{width:540px;} +.span8{width:620px;} +.span9{width:700px;} +.span10{width:780px;} +.span11{width:860px;} +.span12,.container{width:940px;} +.offset1{margin-left:100px;} +.offset2{margin-left:180px;} +.offset3{margin-left:260px;} +.offset4{margin-left:340px;} +.offset5{margin-left:420px;} +.offset6{margin-left:500px;} +.offset7{margin-left:580px;} +.offset8{margin-left:660px;} +.offset9{margin-left:740px;} +.offset10{margin-left:820px;} +.offset11{margin-left:900px;} +.row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";} +.row-fluid:after{clear:both;} +.row-fluid>[class*="span"]{float:left;margin-left:2.127659574%;} +.row-fluid>[class*="span"]:first-child{margin-left:0;} +.row-fluid .span1{width:6.382978723%;} +.row-fluid .span2{width:14.89361702%;} +.row-fluid .span3{width:23.404255317%;} +.row-fluid .span4{width:31.914893614%;} +.row-fluid .span5{width:40.425531911%;} +.row-fluid .span6{width:48.93617020799999%;} +.row-fluid .span7{width:57.446808505%;} +.row-fluid .span8{width:65.95744680199999%;} +.row-fluid .span9{width:74.468085099%;} +.row-fluid .span10{width:82.97872339599999%;} +.row-fluid .span11{width:91.489361693%;} +.row-fluid .span12{width:99.99999998999999%;} +.container{width:940px;margin-left:auto;margin-right:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";} +.container:after{clear:both;} +.container-fluid{padding-left:20px;padding-right:20px;*zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";} +.container-fluid:after{clear:both;} +p{margin:0 0 9px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;}p small{font-size:11px;color:#999999;} +.lead{margin-bottom:18px;font-size:20px;font-weight:200;line-height:27px;} +h1,h2,h3,h4,h5,h6{margin:0;font-weight:bold;color:#333333;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;color:#999999;} +h1{font-size:30px;line-height:36px;}h1 small{font-size:18px;} +h2{font-size:24px;line-height:36px;}h2 small{font-size:18px;} +h3{line-height:27px;font-size:18px;}h3 small{font-size:14px;} +h4,h5,h6{line-height:18px;} +h4{font-size:14px;}h4 small{font-size:12px;} +h5{font-size:12px;} +h6{font-size:11px;color:#999999;text-transform:uppercase;} +.page-header{padding-bottom:17px;margin:18px 0;border-bottom:1px solid #eeeeee;} +.page-header h1{line-height:1;} +ul,ol{padding:0;margin:0 0 9px 25px;} +ul ul,ul ol,ol ol,ol ul{margin-bottom:0;} +ul{list-style:disc;} +ol{list-style:decimal;} +li{line-height:18px;} +ul.unstyled{margin-left:0;list-style:none;} +dl{margin-bottom:18px;} +dt,dd{line-height:18px;} +dt{font-weight:bold;} +dd{margin-left:9px;} +hr{margin:18px 0;border:0;border-top:1px solid #e5e5e5;border-bottom:1px solid #ffffff;} +strong{font-weight:bold;} +em{font-style:italic;} +.muted{color:#999999;} +abbr{font-size:90%;text-transform:uppercase;border-bottom:1px dotted #ddd;cursor:help;} +blockquote{padding:0 0 0 15px;margin:0 0 18px;border-left:5px solid #eeeeee;}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:22.5px;} +blockquote small{display:block;line-height:18px;color:#999999;}blockquote small:before{content:'\2014 \00A0';} +blockquote.pull-right{float:right;padding-left:0;padding-right:15px;border-left:0;border-right:5px solid #eeeeee;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;} +q:before,q:after,blockquote:before,blockquote:after{content:"";} +address{display:block;margin-bottom:18px;line-height:18px;font-style:normal;} +small{font-size:100%;} +cite{font-style:normal;} +code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +code{padding:3px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;} +pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;white-space:pre;white-space:pre-wrap;word-break:break-all;}pre.prettyprint{margin-bottom:18px;} +pre code{padding:0;background-color:transparent;} +form{margin:0 0 18px;} +fieldset{padding:0;margin:0;border:0;} +legend{display:block;width:100%;padding:0;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333333;border:0;border-bottom:1px solid #eee;} +label,input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;} +label{display:block;margin-bottom:5px;color:#333333;} +input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555555;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +.uneditable-textarea{width:auto;height:auto;} +label input,label textarea,label select{display:block;} +input[type="image"],input[type="checkbox"],input[type="radio"]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:0;cursor:pointer;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +input[type="file"]{padding:initial;line-height:initial;border:initial;background-color:#ffffff;background-color:initial;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} +input[type="button"],input[type="reset"],input[type="submit"]{width:auto;height:auto;} +select,input[type="file"]{height:28px;*margin-top:4px;line-height:28px;} +select{width:220px;background-color:#ffffff;} +select[multiple],select[size]{height:auto;} +input[type="image"]{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} +textarea{height:auto;} +input[type="hidden"]{display:none;} +.radio,.checkbox{padding-left:18px;} +.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-18px;} +.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px;} +.radio.inline,.checkbox.inline{display:inline-block;margin-bottom:0;vertical-align:middle;} +.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px;} +.controls>.radio.inline:first-child,.controls>.checkbox.inline:first-child{padding-top:0;} +input,textarea{-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-webkit-transition:border linear 0.2s,box-shadow linear 0.2s;-moz-transition:border linear 0.2s,box-shadow linear 0.2s;-ms-transition:border linear 0.2s,box-shadow linear 0.2s;-o-transition:border linear 0.2s,box-shadow linear 0.2s;transition:border linear 0.2s,box-shadow linear 0.2s;} +input:focus,textarea:focus{border-color:rgba(82, 168, 236, 0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6);outline:0;outline:thin dotted \9;} +input[type="file"]:focus,input[type="checkbox"]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} +.input-mini{width:60px;} +.input-small{width:90px;} +.input-medium{width:150px;} +.input-large{width:210px;} +.input-xlarge{width:270px;} +.input-xxlarge{width:530px;} +input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{float:none;margin-left:0;} +input.span1,textarea.span1,.uneditable-input.span1{width:50px;} +input.span2,textarea.span2,.uneditable-input.span2{width:130px;} +input.span3,textarea.span3,.uneditable-input.span3{width:210px;} +input.span4,textarea.span4,.uneditable-input.span4{width:290px;} +input.span5,textarea.span5,.uneditable-input.span5{width:370px;} +input.span6,textarea.span6,.uneditable-input.span6{width:450px;} +input.span7,textarea.span7,.uneditable-input.span7{width:530px;} +input.span8,textarea.span8,.uneditable-input.span8{width:610px;} +input.span9,textarea.span9,.uneditable-input.span9{width:690px;} +input.span10,textarea.span10,.uneditable-input.span10{width:770px;} +input.span11,textarea.span11,.uneditable-input.span11{width:850px;} +input.span12,textarea.span12,.uneditable-input.span12{width:930px;} +input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;} +.control-group.warning>label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853;} +.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853;border-color:#c09853;}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:0 0 6px #dbc59e;-moz-box-shadow:0 0 6px #dbc59e;box-shadow:0 0 6px #dbc59e;} +.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853;} +.control-group.error>label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48;} +.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48;border-color:#b94a48;}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:0 0 6px #d59392;-moz-box-shadow:0 0 6px #d59392;box-shadow:0 0 6px #d59392;} +.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48;} +.control-group.success>label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847;} +.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847;border-color:#468847;}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:0 0 6px #7aba7b;-moz-box-shadow:0 0 6px #7aba7b;box-shadow:0 0 6px #7aba7b;} +.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847;} +input:focus:required:invalid,textarea:focus:required:invalid,select:focus:required:invalid{color:#b94a48;border-color:#ee5f5b;}input:focus:required:invalid:focus,textarea:focus:required:invalid:focus,select:focus:required:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7;} +.form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #ddd;} +.uneditable-input{display:block;background-color:#ffffff;border-color:#eee;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);cursor:not-allowed;} +:-moz-placeholder{color:#999999;} +::-webkit-input-placeholder{color:#999999;} +.help-block{margin-top:5px;margin-bottom:0;color:#999999;} +.help-inline{display:inline-block;*display:inline;*zoom:1;margin-bottom:9px;vertical-align:middle;padding-left:5px;} +.input-prepend,.input-append{margin-bottom:5px;*zoom:1;}.input-prepend:before,.input-append:before,.input-prepend:after,.input-append:after{display:table;content:"";} +.input-prepend:after,.input-append:after{clear:both;} +.input-prepend input,.input-append input,.input-prepend .uneditable-input,.input-append .uneditable-input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}.input-prepend input:focus,.input-append input:focus,.input-prepend .uneditable-input:focus,.input-append .uneditable-input:focus{position:relative;z-index:2;} +.input-prepend .uneditable-input,.input-append .uneditable-input{border-left-color:#ccc;} +.input-prepend .add-on,.input-append .add-on{float:left;display:block;width:auto;min-width:16px;height:18px;margin-right:-1px;padding:4px 5px;font-weight:normal;line-height:18px;color:#999999;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#f5f5f5;border:1px solid #ccc;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;} +.input-prepend .active,.input-append .active{background-color:#a9dba9;border-color:#46a546;} +.input-prepend .add-on{*margin-top:1px;} +.input-append input,.input-append .uneditable-input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;} +.input-append .uneditable-input{border-right-color:#ccc;} +.input-append .add-on{margin-right:0;margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;} +.input-append input:first-child{*margin-left:-160px;}.input-append input:first-child+.add-on{*margin-left:-21px;} +.search-query{padding-left:14px;padding-right:14px;margin-bottom:0;-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;} +.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input{display:inline-block;margin-bottom:0;} +.form-search label,.form-inline label,.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{display:inline-block;} +.form-search .input-append .add-on,.form-inline .input-prepend .add-on,.form-search .input-append .add-on,.form-inline .input-prepend .add-on{vertical-align:middle;} +.control-group{margin-bottom:9px;} +.form-horizontal legend+.control-group{margin-top:18px;-webkit-margin-top-collapse:separate;} +.form-horizontal .control-group{margin-bottom:18px;*zoom:1;}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:"";} +.form-horizontal .control-group:after{clear:both;} +.form-horizontal .control-group>label{float:left;width:140px;padding-top:5px;text-align:right;} +.form-horizontal .controls{margin-left:160px;} +.form-horizontal .form-actions{padding-left:160px;} +table{max-width:100%;border-collapse:collapse;border-spacing:0;} +.table{width:100%;margin-bottom:18px;}.table th,.table td{padding:8px;line-height:18px;text-align:left;border-top:1px solid #ddd;} +.table th{font-weight:bold;vertical-align:bottom;} +.table td{vertical-align:top;} +.table thead:first-child tr th,.table thead:first-child tr td{border-top:0;} +.table tbody+tbody{border-top:2px solid #ddd;} +.table-condensed th,.table-condensed td{padding:4px 5px;} +.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapsed;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.table-bordered th+th,.table-bordered td+td,.table-bordered th+td,.table-bordered td+th{border-left:1px solid #ddd;} +.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0;} +.table-bordered thead:first-child tr:first-child th:first-child,.table-bordered tbody:first-child tr:first-child td:first-child{-webkit-border-radius:4px 0 0 0;-moz-border-radius:4px 0 0 0;border-radius:4px 0 0 0;} +.table-bordered thead:first-child tr:first-child th:last-child,.table-bordered tbody:first-child tr:first-child td:last-child{-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0;border-radius:0 4px 0 0;} +.table-bordered thead:last-child tr:last-child th:first-child,.table-bordered tbody:last-child tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px;} +.table-bordered thead:last-child tr:last-child th:last-child,.table-bordered tbody:last-child tr:last-child td:last-child{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} +.table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9;} +table .span1{float:none;width:44px;margin-left:0;} +table .span2{float:none;width:124px;margin-left:0;} +table .span3{float:none;width:204px;margin-left:0;} +table .span4{float:none;width:284px;margin-left:0;} +table .span5{float:none;width:364px;margin-left:0;} +table .span6{float:none;width:444px;margin-left:0;} +table .span7{float:none;width:524px;margin-left:0;} +table .span8{float:none;width:604px;margin-left:0;} +table .span9{float:none;width:684px;margin-left:0;} +table .span10{float:none;width:764px;margin-left:0;} +table .span11{float:none;width:844px;margin-left:0;} +table .span12{float:none;width:924px;margin-left:0;} +[class^="icon-"]{display:inline-block;width:14px;height:14px;vertical-align:text-top;background-image:url(../img/glyphicons-halflings.png);background-position:14px 14px;background-repeat:no-repeat;*margin-right:.3em;}[class^="icon-"]:last-child{*margin-left:0;} +.icon-white{background-image:url(../img/glyphicons-halflings-white.png);} +.icon-glass{background-position:0 0;} +.icon-music{background-position:-24px 0;} +.icon-search{background-position:-48px 0;} +.icon-envelope{background-position:-72px 0;} +.icon-heart{background-position:-96px 0;} +.icon-star{background-position:-120px 0;} +.icon-star-empty{background-position:-144px 0;} +.icon-user{background-position:-168px 0;} +.icon-film{background-position:-192px 0;} +.icon-th-large{background-position:-216px 0;} +.icon-th{background-position:-240px 0;} +.icon-th-list{background-position:-264px 0;} +.icon-ok{background-position:-288px 0;} +.icon-remove{background-position:-312px 0;} +.icon-zoom-in{background-position:-336px 0;} +.icon-zoom-out{background-position:-360px 0;} +.icon-off{background-position:-384px 0;} +.icon-signal{background-position:-408px 0;} +.icon-cog{background-position:-432px 0;} +.icon-trash{background-position:-456px 0;} +.icon-home{background-position:0 -24px;} +.icon-file{background-position:-24px -24px;} +.icon-time{background-position:-48px -24px;} +.icon-road{background-position:-72px -24px;} +.icon-download-alt{background-position:-96px -24px;} +.icon-download{background-position:-120px -24px;} +.icon-upload{background-position:-144px -24px;} +.icon-inbox{background-position:-168px -24px;} +.icon-play-circle{background-position:-192px -24px;} +.icon-repeat{background-position:-216px -24px;} +.icon-refresh{background-position:-240px -24px;} +.icon-list-alt{background-position:-264px -24px;} +.icon-lock{background-position:-287px -24px;} +.icon-flag{background-position:-312px -24px;} +.icon-headphones{background-position:-336px -24px;} +.icon-volume-off{background-position:-360px -24px;} +.icon-volume-down{background-position:-384px -24px;} +.icon-volume-up{background-position:-408px -24px;} +.icon-qrcode{background-position:-432px -24px;} +.icon-barcode{background-position:-456px -24px;} +.icon-tag{background-position:0 -48px;} +.icon-tags{background-position:-25px -48px;} +.icon-book{background-position:-48px -48px;} +.icon-bookmark{background-position:-72px -48px;} +.icon-print{background-position:-96px -48px;} +.icon-camera{background-position:-120px -48px;} +.icon-font{background-position:-144px -48px;} +.icon-bold{background-position:-167px -48px;} +.icon-italic{background-position:-192px -48px;} +.icon-text-height{background-position:-216px -48px;} +.icon-text-width{background-position:-240px -48px;} +.icon-align-left{background-position:-264px -48px;} +.icon-align-center{background-position:-288px -48px;} +.icon-align-right{background-position:-312px -48px;} +.icon-align-justify{background-position:-336px -48px;} +.icon-list{background-position:-360px -48px;} +.icon-indent-left{background-position:-384px -48px;} +.icon-indent-right{background-position:-408px -48px;} +.icon-facetime-video{background-position:-432px -48px;} +.icon-picture{background-position:-456px -48px;} +.icon-pencil{background-position:0 -72px;} +.icon-map-marker{background-position:-24px -72px;} +.icon-adjust{background-position:-48px -72px;} +.icon-tint{background-position:-72px -72px;} +.icon-edit{background-position:-96px -72px;} +.icon-share{background-position:-120px -72px;} +.icon-check{background-position:-144px -72px;} +.icon-move{background-position:-168px -72px;} +.icon-step-backward{background-position:-192px -72px;} +.icon-fast-backward{background-position:-216px -72px;} +.icon-backward{background-position:-240px -72px;} +.icon-play{background-position:-264px -72px;} +.icon-pause{background-position:-288px -72px;} +.icon-stop{background-position:-312px -72px;} +.icon-forward{background-position:-336px -72px;} +.icon-fast-forward{background-position:-360px -72px;} +.icon-step-forward{background-position:-384px -72px;} +.icon-eject{background-position:-408px -72px;} +.icon-chevron-left{background-position:-432px -72px;} +.icon-chevron-right{background-position:-456px -72px;} +.icon-plus-sign{background-position:0 -96px;} +.icon-minus-sign{background-position:-24px -96px;} +.icon-remove-sign{background-position:-48px -96px;} +.icon-ok-sign{background-position:-72px -96px;} +.icon-question-sign{background-position:-96px -96px;} +.icon-info-sign{background-position:-120px -96px;} +.icon-screenshot{background-position:-144px -96px;} +.icon-remove-circle{background-position:-168px -96px;} +.icon-ok-circle{background-position:-192px -96px;} +.icon-ban-circle{background-position:-216px -96px;} +.icon-arrow-left{background-position:-240px -96px;} +.icon-arrow-right{background-position:-264px -96px;} +.icon-arrow-up{background-position:-289px -96px;} +.icon-arrow-down{background-position:-312px -96px;} +.icon-share-alt{background-position:-336px -96px;} +.icon-resize-full{background-position:-360px -96px;} +.icon-resize-small{background-position:-384px -96px;} +.icon-plus{background-position:-408px -96px;} +.icon-minus{background-position:-433px -96px;} +.icon-asterisk{background-position:-456px -96px;} +.icon-exclamation-sign{background-position:0 -120px;} +.icon-gift{background-position:-24px -120px;} +.icon-leaf{background-position:-48px -120px;} +.icon-fire{background-position:-72px -120px;} +.icon-eye-open{background-position:-96px -120px;} +.icon-eye-close{background-position:-120px -120px;} +.icon-warning-sign{background-position:-144px -120px;} +.icon-plane{background-position:-168px -120px;} +.icon-calendar{background-position:-192px -120px;} +.icon-random{background-position:-216px -120px;} +.icon-comment{background-position:-240px -120px;} +.icon-magnet{background-position:-264px -120px;} +.icon-chevron-up{background-position:-288px -120px;} +.icon-chevron-down{background-position:-313px -119px;} +.icon-retweet{background-position:-336px -120px;} +.icon-shopping-cart{background-position:-360px -120px;} +.icon-folder-close{background-position:-384px -120px;} +.icon-folder-open{background-position:-408px -120px;} +.icon-resize-vertical{background-position:-432px -119px;} +.icon-resize-horizontal{background-position:-456px -118px;} +.dropdown{position:relative;} +.dropdown-toggle{*margin-bottom:-3px;} +.dropdown-toggle:active,.open .dropdown-toggle{outline:0;} +.caret{display:inline-block;width:0;height:0;text-indent:-99999px;*text-indent:0;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000000;opacity:0.3;filter:alpha(opacity=30);content:"\2193";} +.dropdown .caret{margin-top:8px;margin-left:2px;} +.dropdown:hover .caret,.open.dropdown .caret{opacity:1;filter:alpha(opacity=100);} +.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:4px 0;margin:0;list-style:none;background-color:#ffffff;border-color:#ccc;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:1px;-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;*border-right-width:2px;*border-bottom-width:2px;}.dropdown-menu.bottom-up{top:auto;bottom:100%;margin-bottom:2px;} +.dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;*width:100%;*margin:-5px 0 5px;} +.dropdown-menu a{display:block;padding:3px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;white-space:nowrap;} +.dropdown-menu li>a:hover,.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#ffffff;text-decoration:none;background-color:#0088cc;} +.dropdown.open{*z-index:1000;}.dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);} +.dropdown.open .dropdown-menu{display:block;} +.typeahead{margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);} +.fade{-webkit-transition:opacity 0.15s linear;-moz-transition:opacity 0.15s linear;-ms-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear;opacity:0;}.fade.in{opacity:1;} +.collapse{-webkit-transition:height 0.35s ease;-moz-transition:height 0.35s ease;-ms-transition:height 0.35s ease;-o-transition:height 0.35s ease;transition:height 0.35s ease;position:relative;overflow:hidden;height:0;}.collapse.in{height:auto;} +.close{float:right;font-size:20px;font-weight:bold;line-height:18px;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20);}.close:hover{color:#000000;text-decoration:none;opacity:0.4;filter:alpha(opacity=40);cursor:pointer;} +.btn{display:inline-block;padding:4px 10px 4px;font-size:13px;line-height:18px;color:#333333;text-align:center;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#fafafa;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);cursor:pointer;*margin-left:.3em;}.btn:first-child{*margin-left:0;} +.btn:hover{color:#333333;text-decoration:none;background-color:#e6e6e6;background-position:0 -15px;-webkit-transition:background-position 0.1s linear;-moz-transition:background-position 0.1s linear;-ms-transition:background-position 0.1s linear;-o-transition:background-position 0.1s linear;transition:background-position 0.1s linear;} +.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} +.btn.active,.btn:active{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);background-color:#e6e6e6;background-color:#d9d9d9 \9;color:rgba(0, 0, 0, 0.5);outline:0;} +.btn.disabled,.btn[disabled]{cursor:default;background-image:none;background-color:#e6e6e6;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} +.btn-large{padding:9px 14px;font-size:15px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;} +.btn-large .icon{margin-top:1px;} +.btn-small{padding:5px 9px;font-size:11px;line-height:16px;} +.btn-small .icon{margin-top:-1px;} +.btn-primary,.btn-primary:hover,.btn-warning,.btn-warning:hover,.btn-danger,.btn-danger:hover,.btn-success,.btn-success:hover,.btn-info,.btn-info:hover{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);color:#ffffff;} +.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active{color:rgba(255, 255, 255, 0.75);} +.btn-primary{background-color:#006dcc;background-image:-moz-linear-gradient(top, #0088cc, #0044cc);background-image:-ms-linear-gradient(top, #0088cc, #0044cc);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));background-image:-webkit-linear-gradient(top, #0088cc, #0044cc);background-image:-o-linear-gradient(top, #0088cc, #0044cc);background-image:linear-gradient(top, #0088cc, #0044cc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);border-color:#0044cc #0044cc #002a80;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{background-color:#0044cc;} +.btn-primary:active,.btn-primary.active{background-color:#003399 \9;} +.btn-warning{background-color:#faa732;background-image:-moz-linear-gradient(top, #fbb450, #f89406);background-image:-ms-linear-gradient(top, #fbb450, #f89406);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));background-image:-webkit-linear-gradient(top, #fbb450, #f89406);background-image:-o-linear-gradient(top, #fbb450, #f89406);background-image:linear-gradient(top, #fbb450, #f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);border-color:#f89406 #f89406 #ad6704;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{background-color:#f89406;} +.btn-warning:active,.btn-warning.active{background-color:#c67605 \9;} +.btn-danger{background-color:#da4f49;background-image:-moz-linear-gradient(top, #ee5f5b, #bd362f);background-image:-ms-linear-gradient(top, #ee5f5b, #bd362f);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));background-image:-webkit-linear-gradient(top, #ee5f5b, #bd362f);background-image:-o-linear-gradient(top, #ee5f5b, #bd362f);background-image:linear-gradient(top, #ee5f5b, #bd362f);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0);border-color:#bd362f #bd362f #802420;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{background-color:#bd362f;} +.btn-danger:active,.btn-danger.active{background-color:#942a25 \9;} +.btn-success{background-color:#5bb75b;background-image:-moz-linear-gradient(top, #62c462, #51a351);background-image:-ms-linear-gradient(top, #62c462, #51a351);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));background-image:-webkit-linear-gradient(top, #62c462, #51a351);background-image:-o-linear-gradient(top, #62c462, #51a351);background-image:linear-gradient(top, #62c462, #51a351);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0);border-color:#51a351 #51a351 #387038;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{background-color:#51a351;} +.btn-success:active,.btn-success.active{background-color:#408140 \9;} +.btn-info{background-color:#49afcd;background-image:-moz-linear-gradient(top, #5bc0de, #2f96b4);background-image:-ms-linear-gradient(top, #5bc0de, #2f96b4);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));background-image:-webkit-linear-gradient(top, #5bc0de, #2f96b4);background-image:-o-linear-gradient(top, #5bc0de, #2f96b4);background-image:linear-gradient(top, #5bc0de, #2f96b4);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0);border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{background-color:#2f96b4;} +.btn-info:active,.btn-info.active{background-color:#24748c \9;} +button.btn,input[type="submit"].btn{*padding-top:2px;*padding-bottom:2px;}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0;} +button.btn.large,input[type="submit"].btn.large{*padding-top:7px;*padding-bottom:7px;} +button.btn.small,input[type="submit"].btn.small{*padding-top:3px;*padding-bottom:3px;} +.btn-group{position:relative;*zoom:1;*margin-left:.3em;}.btn-group:before,.btn-group:after{display:table;content:"";} +.btn-group:after{clear:both;} +.btn-group:first-child{*margin-left:0;} +.btn-group+.btn-group{margin-left:5px;} +.btn-toolbar{margin-top:9px;margin-bottom:9px;}.btn-toolbar .btn-group{display:inline-block;*display:inline;*zoom:1;} +.btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.btn-group .btn:first-child{margin-left:0;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;} +.btn-group .btn:last-child,.btn-group .dropdown-toggle{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;} +.btn-group .btn.large:first-child{margin-left:0;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;} +.btn-group .btn.large:last-child,.btn-group .large.dropdown-toggle{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;} +.btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active,.btn-group .btn.active{z-index:2;} +.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0;} +.btn-group .dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);*padding-top:5px;*padding-bottom:5px;} +.btn-group.open{*z-index:1000;}.btn-group.open .dropdown-menu{display:block;margin-top:1px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;} +.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 1px 6px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 6px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 6px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);} +.btn .caret{margin-top:7px;margin-left:0;} +.btn:hover .caret,.open.btn-group .caret{opacity:1;filter:alpha(opacity=100);} +.btn-primary .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret{border-top-color:#ffffff;opacity:0.75;filter:alpha(opacity=75);} +.btn-small .caret{margin-top:4px;} +.alert{padding:8px 35px 8px 14px;margin-bottom:18px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.alert,.alert-heading{color:#c09853;} +.alert .close{position:relative;top:-2px;right:-21px;line-height:18px;} +.alert-success{background-color:#dff0d8;border-color:#d6e9c6;} +.alert-success,.alert-success .alert-heading{color:#468847;} +.alert-danger,.alert-error{background-color:#f2dede;border-color:#eed3d7;} +.alert-danger,.alert-error,.alert-danger .alert-heading,.alert-error .alert-heading{color:#b94a48;} +.alert-info{background-color:#d9edf7;border-color:#bce8f1;} +.alert-info,.alert-info .alert-heading{color:#3a87ad;} +.alert-block{padding-top:14px;padding-bottom:14px;} +.alert-block>p,.alert-block>ul{margin-bottom:0;} +.alert-block p+p{margin-top:5px;} +.nav{margin-left:0;margin-bottom:18px;list-style:none;} +.nav>li>a{display:block;} +.nav>li>a:hover{text-decoration:none;background-color:#eeeeee;} +.nav-list{padding-left:14px;padding-right:14px;margin-bottom:0;} +.nav-list>li>a,.nav-list .nav-header{display:block;padding:3px 15px;margin-left:-15px;margin-right:-15px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);} +.nav-list .nav-header{font-size:11px;font-weight:bold;line-height:18px;color:#999999;text-transform:uppercase;} +.nav-list .nav-header *{text-transform:none;} +.nav-list>li+.nav-header{margin-top:9px;} +.nav-list .active>a,.nav-list .active>a:hover{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.2);background-color:#0088cc;} +.nav-list [class^="icon-"]{margin-right:2px;} +.nav-tabs,.nav-pills{*zoom:1;}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:"";} +.nav-tabs:after,.nav-pills:after{clear:both;} +.nav-tabs>li,.nav-pills>li{float:left;} +.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px;} +.nav-tabs{border-bottom:1px solid #ddd;} +.nav-tabs>li{margin-bottom:-1px;} +.nav-tabs>li>a{padding-top:9px;padding-bottom:9px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #dddddd;} +.nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555555;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;} +.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;} +.nav-pills .active>a,.nav-pills .active>a:hover{color:#ffffff;background-color:#0088cc;} +.nav-stacked>li{float:none;} +.nav-stacked>li>a{margin-right:0;} +.nav-tabs.nav-stacked{border-bottom:0;} +.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;} +.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;} +.nav-tabs.nav-stacked>li>a:hover{border-color:#ddd;z-index:2;} +.nav-pills.nav-stacked>li>a{margin-bottom:3px;} +.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px;} +.nav-tabs .dropdown-menu,.nav-pills .dropdown-menu{margin-top:1px;border-width:1px;} +.nav-pills .dropdown-menu{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.nav-tabs .dropdown-toggle .caret,.nav-pills .dropdown-toggle .caret{border-top-color:#0088cc;margin-top:6px;} +.nav-tabs .dropdown-toggle:hover .caret,.nav-pills .dropdown-toggle:hover .caret{border-top-color:#005580;} +.nav-tabs .active .dropdown-toggle .caret,.nav-pills .active .dropdown-toggle .caret{border-top-color:#333333;} +.nav>.dropdown.active>a:hover{color:#000000;cursor:pointer;} +.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>.open.active>a:hover{color:#ffffff;background-color:#999999;border-color:#999999;} +.nav .open .caret,.nav .open.active .caret,.nav .open a:hover .caret{border-top-color:#ffffff;opacity:1;filter:alpha(opacity=100);} +.tabs-stacked .open>a:hover{border-color:#999999;} +.tabbable{*zoom:1;}.tabbable:before,.tabbable:after{display:table;content:"";} +.tabbable:after{clear:both;} +.tabs-below .nav-tabs,.tabs-right .nav-tabs,.tabs-left .nav-tabs{border-bottom:0;} +.tab-content>.tab-pane,.pill-content>.pill-pane{display:none;} +.tab-content>.active,.pill-content>.active{display:block;} +.tabs-below .nav-tabs{border-top:1px solid #ddd;} +.tabs-below .nav-tabs>li{margin-top:-1px;margin-bottom:0;} +.tabs-below .nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.tabs-below .nav-tabs>li>a:hover{border-bottom-color:transparent;border-top-color:#ddd;} +.tabs-below .nav-tabs .active>a,.tabs-below .nav-tabs .active>a:hover{border-color:transparent #ddd #ddd #ddd;} +.tabs-left .nav-tabs>li,.tabs-right .nav-tabs>li{float:none;} +.tabs-left .nav-tabs>li>a,.tabs-right .nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px;} +.tabs-left .nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd;} +.tabs-left .nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;} +.tabs-left .nav-tabs>li>a:hover{border-color:#eeeeee #dddddd #eeeeee #eeeeee;} +.tabs-left .nav-tabs .active>a,.tabs-left .nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#ffffff;} +.tabs-right .nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd;} +.tabs-right .nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;} +.tabs-right .nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #eeeeee #dddddd;} +.tabs-right .nav-tabs .active>a,.tabs-right .nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#ffffff;} +.navbar{overflow:visible;margin-bottom:18px;} +.navbar-inner{padding-left:20px;padding-right:20px;background-color:#2c2c2c;background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));background-image:-webkit-linear-gradient(top, #333333, #222222);background-image:-o-linear-gradient(top, #333333, #222222);background-image:linear-gradient(top, #333333, #222222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);} +.btn-navbar{display:none;float:right;padding:7px 10px;margin-left:5px;margin-right:5px;background-color:#2c2c2c;background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));background-image:-webkit-linear-gradient(top, #333333, #222222);background-image:-o-linear-gradient(top, #333333, #222222);background-image:linear-gradient(top, #333333, #222222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);border-color:#222222 #222222 #000000;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.075);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.075);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.075);}.btn-navbar:hover,.btn-navbar:active,.btn-navbar.active,.btn-navbar.disabled,.btn-navbar[disabled]{background-color:#222222;} +.btn-navbar:active,.btn-navbar.active{background-color:#080808 \9;} +.btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);-moz-box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);} +.btn-navbar .icon-bar+.icon-bar{margin-top:3px;} +.nav-collapse.collapse{height:auto;} +.navbar .brand:hover{text-decoration:none;} +.navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#ffffff;} +.navbar .navbar-text{margin-bottom:0;line-height:40px;color:#999999;}.navbar .navbar-text a:hover{color:#ffffff;background-color:transparent;} +.navbar .btn,.navbar .btn-group{margin-top:5px;} +.navbar .btn-group .btn{margin-top:0;} +.navbar-form{margin-bottom:0;*zoom:1;}.navbar-form:before,.navbar-form:after{display:table;content:"";} +.navbar-form:after{clear:both;} +.navbar-form input,.navbar-form select{display:inline-block;margin-top:5px;margin-bottom:0;} +.navbar-form .radio,.navbar-form .checkbox{margin-top:5px;} +.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px;} +.navbar-search{position:relative;float:left;margin-top:6px;margin-bottom:0;}.navbar-search .search-query{padding:4px 9px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background:#666;background:rgba(255, 255, 255, 0.3);border:1px solid #111;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.15);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.15);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.15);-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query :-moz-placeholder{color:#eeeeee;} +.navbar-search .search-query::-webkit-input-placeholder{color:#eeeeee;} +.navbar-search .search-query:hover{color:#ffffff;background-color:#999999;background-color:rgba(255, 255, 255, 0.5);} +.navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;text-shadow:0 1px 0 #ffffff;background-color:#ffffff;border:0;-webkit-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);-moz-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);box-shadow:0 0 3px rgba(0, 0, 0, 0.15);outline:0;} +.navbar-fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030;} +.navbar-fixed-top .navbar-inner{padding-left:0;padding-right:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;} +.navbar .nav.pull-right{float:right;} +.navbar .nav>li{display:block;float:left;} +.navbar .nav>li>a{float:none;padding:10px 10px 11px;line-height:19px;color:#999999;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);} +.navbar .nav>li>a:hover{background-color:transparent;color:#ffffff;text-decoration:none;} +.navbar .nav .active>a,.navbar .nav .active>a:hover{color:#ffffff;text-decoration:none;background-color:#222222;background-color:rgba(0, 0, 0, 0.5);} +.navbar .divider-vertical{height:40px;width:1px;margin:0 9px;overflow:hidden;background-color:#222222;border-right:1px solid #333333;} +.navbar .nav.pull-right{margin-left:10px;margin-right:0;} +.navbar .dropdown-menu{margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.navbar .dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.2);position:absolute;top:-7px;left:9px;} +.navbar .dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #ffffff;position:absolute;top:-6px;left:10px;} +.navbar .nav .dropdown-toggle .caret,.navbar .nav .open.dropdown .caret{border-top-color:#ffffff;} +.navbar .nav .active .caret{opacity:1;filter:alpha(opacity=100);} +.navbar .nav .open>.dropdown-toggle,.navbar .nav .active>.dropdown-toggle,.navbar .nav .open.active>.dropdown-toggle{background-color:transparent;} +.navbar .nav .active>.dropdown-toggle:hover{color:#ffffff;} +.navbar .nav.pull-right .dropdown-menu{left:auto;right:0;}.navbar .nav.pull-right .dropdown-menu:before{left:auto;right:12px;} +.navbar .nav.pull-right .dropdown-menu:after{left:auto;right:13px;} +.breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#fbfbfb;background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);background-image:-o-linear-gradient(top, #ffffff, #f5f5f5);background-image:linear-gradient(top, #ffffff, #f5f5f5);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;}.breadcrumb li{display:inline;text-shadow:0 1px 0 #ffffff;} +.breadcrumb .divider{padding:0 5px;color:#999999;} +.breadcrumb .active a{color:#333333;} +.pagination{height:36px;margin:18px 0;} +.pagination ul{display:inline-block;*display:inline;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);} +.pagination li{display:inline;} +.pagination a{float:left;padding:0 14px;line-height:34px;text-decoration:none;border:1px solid #ddd;border-left-width:0;} +.pagination a:hover,.pagination .active a{background-color:#f5f5f5;} +.pagination .active a{color:#999999;cursor:default;} +.pagination .disabled a,.pagination .disabled a:hover{color:#999999;background-color:transparent;cursor:default;} +.pagination li:first-child a{border-left-width:1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;} +.pagination li:last-child a{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;} +.pagination-centered{text-align:center;} +.pagination-right{text-align:right;} +.pager{margin-left:0;margin-bottom:18px;list-style:none;text-align:center;*zoom:1;}.pager:before,.pager:after{display:table;content:"";} +.pager:after{clear:both;} +.pager li{display:inline;} +.pager a{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;} +.pager a:hover{text-decoration:none;background-color:#f5f5f5;} +.pager .next a{float:right;} +.pager .previous a{float:left;} +.modal-open .dropdown-menu{z-index:2050;} +.modal-open .dropdown.open{*z-index:2050;} +.modal-open .popover{z-index:2060;} +.modal-open .tooltip{z-index:2070;} +.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000;}.modal-backdrop.fade{opacity:0;} +.modal-backdrop,.modal-backdrop.fade.in{opacity:0.8;filter:alpha(opacity=80);} +.modal{position:fixed;top:50%;left:50%;z-index:1050;max-height:500px;overflow:auto;width:560px;margin:-250px 0 0 -280px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.modal.fade{-webkit-transition:opacity .3s linear, top .3s ease-out;-moz-transition:opacity .3s linear, top .3s ease-out;-ms-transition:opacity .3s linear, top .3s ease-out;-o-transition:opacity .3s linear, top .3s ease-out;transition:opacity .3s linear, top .3s ease-out;top:-25%;} +.modal.fade.in{top:50%;} +.modal-header{padding:9px 15px;border-bottom:1px solid #eee;}.modal-header .close{margin-top:2px;} +.modal-body{padding:15px;} +.modal-footer{padding:14px 15px 15px;margin-bottom:0;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;*zoom:1;}.modal-footer:before,.modal-footer:after{display:table;content:"";} +.modal-footer:after{clear:both;} +.modal-footer .btn{float:right;margin-left:5px;margin-bottom:0;} +.tooltip{position:absolute;z-index:1020;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.8;filter:alpha(opacity=80);} +.tooltip.top{margin-top:-2px;} +.tooltip.right{margin-left:2px;} +.tooltip.bottom{margin-top:2px;} +.tooltip.left{margin-left:-2px;} +.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;} +.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;} +.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;} +.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;} +.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.tooltip-arrow{position:absolute;width:0;height:0;} +.popover{position:absolute;top:0;left:0;z-index:1010;display:none;padding:5px;}.popover.top{margin-top:-5px;} +.popover.right{margin-left:5px;} +.popover.bottom{margin-top:5px;} +.popover.left{margin-left:-5px;} +.popover.top .arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;} +.popover.right .arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;} +.popover.bottom .arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;} +.popover.left .arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;} +.popover .arrow{position:absolute;width:0;height:0;} +.popover-inner{padding:3px;width:280px;overflow:hidden;background:#000000;background:rgba(0, 0, 0, 0.8);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);} +.popover-title{padding:9px 15px;line-height:1;background-color:#f5f5f5;border-bottom:1px solid #eee;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;} +.popover-content{padding:14px;background-color:#ffffff;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.popover-content p,.popover-content ul,.popover-content ol{margin-bottom:0;} +.thumbnails{margin-left:-20px;list-style:none;*zoom:1;}.thumbnails:before,.thumbnails:after{display:table;content:"";} +.thumbnails:after{clear:both;} +.thumbnails>li{float:left;margin:0 0 18px 20px;} +.thumbnail{display:block;padding:4px;line-height:1;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);} +a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);-moz-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);} +.thumbnail>img{display:block;max-width:100%;margin-left:auto;margin-right:auto;} +.thumbnail .caption{padding:9px;} +.label{padding:1px 3px 2px;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;background-color:#999999;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +.label-important{background-color:#b94a48;} +.label-warning{background-color:#f89406;} +.label-success{background-color:#468847;} +.label-info{background-color:#3a87ad;} +@-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@-moz-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.progress{overflow:hidden;height:18px;margin-bottom:18px;background-color:#f7f7f7;background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-ms-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-o-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:linear-gradient(top, #f5f5f5, #f9f9f9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.progress .bar{width:0%;height:18px;color:#ffffff;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-ms-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));background-image:-webkit-linear-gradient(top, #149bdf, #0480be);background-image:-o-linear-gradient(top, #149bdf, #0480be);background-image:linear-gradient(top, #149bdf, #0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width 0.6s ease;-moz-transition:width 0.6s ease;-ms-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease;} +.progress-striped .bar{background-color:#62c462;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px;} +.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite;} +.progress-danger .bar{background-color:#dd514c;background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);background-image:-o-linear-gradient(top, #ee5f5b, #c43c35);background-image:linear-gradient(top, #ee5f5b, #c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);} +.progress-danger.progress-striped .bar{background-color:#ee5f5b;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} +.progress-success .bar{background-color:#5eb95e;background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);background-image:-o-linear-gradient(top, #62c462, #57a957);background-image:linear-gradient(top, #62c462, #57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);} +.progress-success.progress-striped .bar{background-color:#62c462;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} +.progress-info .bar{background-color:#4bb1cf;background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);background-image:-o-linear-gradient(top, #5bc0de, #339bb9);background-image:linear-gradient(top, #5bc0de, #339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);} +.progress-info.progress-striped .bar{background-color:#5bc0de;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} +.accordion{margin-bottom:18px;} +.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.accordion-heading{border-bottom:0;} +.accordion-heading .accordion-toggle{display:block;padding:8px 15px;} +.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5;} +.carousel{position:relative;margin-bottom:18px;line-height:1;} +.carousel-inner{overflow:hidden;width:100%;position:relative;} +.carousel .item{display:none;position:relative;-webkit-transition:0.6s ease-in-out left;-moz-transition:0.6s ease-in-out left;-ms-transition:0.6s ease-in-out left;-o-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left;} +.carousel .item>img{display:block;line-height:1;} +.carousel .active,.carousel .next,.carousel .prev{display:block;} +.carousel .active{left:0;} +.carousel .next,.carousel .prev{position:absolute;top:0;width:100%;} +.carousel .next{left:100%;} +.carousel .prev{left:-100%;} +.carousel .next.left,.carousel .prev.right{left:0;} +.carousel .active.left{left:-100%;} +.carousel .active.right{left:100%;} +.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#ffffff;text-align:center;background:#222222;border:3px solid #ffffff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:0.5;filter:alpha(opacity=50);}.carousel-control.right{left:auto;right:15px;} +.carousel-control:hover{color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90);} +.carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:10px 15px 5px;background:#333333;background:rgba(0, 0, 0, 0.75);} +.carousel-caption h4,.carousel-caption p{color:#ffffff;} +.hero-unit{padding:60px;margin-bottom:30px;background-color:#f5f5f5;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;} +.hero-unit p{font-size:18px;font-weight:200;line-height:27px;} +.pull-right{float:right;} +.pull-left{float:left;} +.hide{display:none;} +.show{display:block;} +.invisible{visibility:hidden;} diff --git a/apiDocumentation/css/font-awesome.min.css b/apiDocumentation/css/font-awesome.min.css new file mode 100644 index 0000000..866437f --- /dev/null +++ b/apiDocumentation/css/font-awesome.min.css @@ -0,0 +1,403 @@ +@font-face{font-family:'FontAwesome';src:url('../font/fontawesome-webfont.eot?v=3.2.1');src:url('../font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'),url('../font/fontawesome-webfont.woff?v=3.2.1') format('woff'),url('../font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'),url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg');font-weight:normal;font-style:normal;}[class^="icon-"],[class*=" icon-"]{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;} +[class^="icon-"]:before,[class*=" icon-"]:before{text-decoration:inherit;display:inline-block;speak:none;} +.icon-large:before{vertical-align:-10%;font-size:1.3333333333333333em;} +a [class^="icon-"],a [class*=" icon-"]{display:inline;} +[class^="icon-"].icon-fixed-width,[class*=" icon-"].icon-fixed-width{display:inline-block;width:1.1428571428571428em;text-align:right;padding-right:0.2857142857142857em;}[class^="icon-"].icon-fixed-width.icon-large,[class*=" icon-"].icon-fixed-width.icon-large{width:1.4285714285714286em;} +.icons-ul{margin-left:2.142857142857143em;list-style-type:none;}.icons-ul>li{position:relative;} +.icons-ul .icon-li{position:absolute;left:-2.142857142857143em;width:2.142857142857143em;text-align:center;line-height:inherit;} +[class^="icon-"].hide,[class*=" icon-"].hide{display:none;} +.icon-muted{color:#eeeeee;} +.icon-light{color:#ffffff;} +.icon-dark{color:#333333;} +.icon-border{border:solid 1px #eeeeee;padding:.2em .25em .15em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +.icon-2x{font-size:2em;}.icon-2x.icon-border{border-width:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.icon-3x{font-size:3em;}.icon-3x.icon-border{border-width:3px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;} +.icon-4x{font-size:4em;}.icon-4x.icon-border{border-width:4px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} +.icon-5x{font-size:5em;}.icon-5x.icon-border{border-width:5px;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px;} +.pull-right{float:right;} +.pull-left{float:left;} +[class^="icon-"].pull-left,[class*=" icon-"].pull-left{margin-right:.3em;} +[class^="icon-"].pull-right,[class*=" icon-"].pull-right{margin-left:.3em;} +[class^="icon-"],[class*=" icon-"]{display:inline;width:auto;height:auto;line-height:normal;vertical-align:baseline;background-image:none;background-position:0% 0%;background-repeat:repeat;margin-top:0;} +.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:none;} +.btn [class^="icon-"].icon-large,.nav [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large,.nav [class*=" icon-"].icon-large{line-height:.9em;} +.btn [class^="icon-"].icon-spin,.nav [class^="icon-"].icon-spin,.btn [class*=" icon-"].icon-spin,.nav [class*=" icon-"].icon-spin{display:inline-block;} +.nav-tabs [class^="icon-"],.nav-pills [class^="icon-"],.nav-tabs [class*=" icon-"],.nav-pills [class*=" icon-"],.nav-tabs [class^="icon-"].icon-large,.nav-pills [class^="icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large{line-height:.9em;} +.btn [class^="icon-"].pull-left.icon-2x,.btn [class*=" icon-"].pull-left.icon-2x,.btn [class^="icon-"].pull-right.icon-2x,.btn [class*=" icon-"].pull-right.icon-2x{margin-top:.18em;} +.btn [class^="icon-"].icon-spin.icon-large,.btn [class*=" icon-"].icon-spin.icon-large{line-height:.8em;} +.btn.btn-small [class^="icon-"].pull-left.icon-2x,.btn.btn-small [class*=" icon-"].pull-left.icon-2x,.btn.btn-small [class^="icon-"].pull-right.icon-2x,.btn.btn-small [class*=" icon-"].pull-right.icon-2x{margin-top:.25em;} +.btn.btn-large [class^="icon-"],.btn.btn-large [class*=" icon-"]{margin-top:0;}.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x,.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-top:.05em;} +.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x{margin-right:.2em;} +.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-left:.2em;} +.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{line-height:inherit;} +.icon-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:-35%;}.icon-stack [class^="icon-"],.icon-stack [class*=" icon-"]{display:block;text-align:center;position:absolute;width:100%;height:100%;font-size:1em;line-height:inherit;*line-height:2em;} +.icon-stack .icon-stack-base{font-size:2em;*line-height:1em;} +.icon-spin{display:inline-block;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear;} +a .icon-stack,a .icon-spin{display:inline-block;text-decoration:none;} +@-moz-keyframes spin{0%{-moz-transform:rotate(0deg);} 100%{-moz-transform:rotate(359deg);}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);} 100%{-webkit-transform:rotate(359deg);}}@-o-keyframes spin{0%{-o-transform:rotate(0deg);} 100%{-o-transform:rotate(359deg);}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg);} 100%{-ms-transform:rotate(359deg);}}@keyframes spin{0%{transform:rotate(0deg);} 100%{transform:rotate(359deg);}}.icon-rotate-90:before{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);} +.icon-rotate-180:before{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);} +.icon-rotate-270:before{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);} +.icon-flip-horizontal:before{-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1);} +.icon-flip-vertical:before{-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1);} +a .icon-rotate-90:before,a .icon-rotate-180:before,a .icon-rotate-270:before,a .icon-flip-horizontal:before,a .icon-flip-vertical:before{display:inline-block;} +.icon-glass:before{content:"\f000";} +.icon-music:before{content:"\f001";} +.icon-search:before{content:"\f002";} +.icon-envelope-alt:before{content:"\f003";} +.icon-heart:before{content:"\f004";} +.icon-star:before{content:"\f005";} +.icon-star-empty:before{content:"\f006";} +.icon-user:before{content:"\f007";} +.icon-film:before{content:"\f008";} +.icon-th-large:before{content:"\f009";} +.icon-th:before{content:"\f00a";} +.icon-th-list:before{content:"\f00b";} +.icon-ok:before{content:"\f00c";} +.icon-remove:before{content:"\f00d";} +.icon-zoom-in:before{content:"\f00e";} +.icon-zoom-out:before{content:"\f010";} +.icon-power-off:before,.icon-off:before{content:"\f011";} +.icon-signal:before{content:"\f012";} +.icon-gear:before,.icon-cog:before{content:"\f013";} +.icon-trash:before{content:"\f014";} +.icon-home:before{content:"\f015";} +.icon-file-alt:before{content:"\f016";} +.icon-time:before{content:"\f017";} +.icon-road:before{content:"\f018";} +.icon-download-alt:before{content:"\f019";} +.icon-download:before{content:"\f01a";} +.icon-upload:before{content:"\f01b";} +.icon-inbox:before{content:"\f01c";} +.icon-play-circle:before{content:"\f01d";} +.icon-rotate-right:before,.icon-repeat:before{content:"\f01e";} +.icon-refresh:before{content:"\f021";} +.icon-list-alt:before{content:"\f022";} +.icon-lock:before{content:"\f023";} +.icon-flag:before{content:"\f024";} +.icon-headphones:before{content:"\f025";} +.icon-volume-off:before{content:"\f026";} +.icon-volume-down:before{content:"\f027";} +.icon-volume-up:before{content:"\f028";} +.icon-qrcode:before{content:"\f029";} +.icon-barcode:before{content:"\f02a";} +.icon-tag:before{content:"\f02b";} +.icon-tags:before{content:"\f02c";} +.icon-book:before{content:"\f02d";} +.icon-bookmark:before{content:"\f02e";} +.icon-print:before{content:"\f02f";} +.icon-camera:before{content:"\f030";} +.icon-font:before{content:"\f031";} +.icon-bold:before{content:"\f032";} +.icon-italic:before{content:"\f033";} +.icon-text-height:before{content:"\f034";} +.icon-text-width:before{content:"\f035";} +.icon-align-left:before{content:"\f036";} +.icon-align-center:before{content:"\f037";} +.icon-align-right:before{content:"\f038";} +.icon-align-justify:before{content:"\f039";} +.icon-list:before{content:"\f03a";} +.icon-indent-left:before{content:"\f03b";} +.icon-indent-right:before{content:"\f03c";} +.icon-facetime-video:before{content:"\f03d";} +.icon-picture:before{content:"\f03e";} +.icon-pencil:before{content:"\f040";} +.icon-map-marker:before{content:"\f041";} +.icon-adjust:before{content:"\f042";} +.icon-tint:before{content:"\f043";} +.icon-edit:before{content:"\f044";} +.icon-share:before{content:"\f045";} +.icon-check:before{content:"\f046";} +.icon-move:before{content:"\f047";} +.icon-step-backward:before{content:"\f048";} +.icon-fast-backward:before{content:"\f049";} +.icon-backward:before{content:"\f04a";} +.icon-play:before{content:"\f04b";} +.icon-pause:before{content:"\f04c";} +.icon-stop:before{content:"\f04d";} +.icon-forward:before{content:"\f04e";} +.icon-fast-forward:before{content:"\f050";} +.icon-step-forward:before{content:"\f051";} +.icon-eject:before{content:"\f052";} +.icon-chevron-left:before{content:"\f053";} +.icon-chevron-right:before{content:"\f054";} +.icon-plus-sign:before{content:"\f055";} +.icon-minus-sign:before{content:"\f056";} +.icon-remove-sign:before{content:"\f057";} +.icon-ok-sign:before{content:"\f058";} +.icon-question-sign:before{content:"\f059";} +.icon-info-sign:before{content:"\f05a";} +.icon-screenshot:before{content:"\f05b";} +.icon-remove-circle:before{content:"\f05c";} +.icon-ok-circle:before{content:"\f05d";} +.icon-ban-circle:before{content:"\f05e";} +.icon-arrow-left:before{content:"\f060";} +.icon-arrow-right:before{content:"\f061";} +.icon-arrow-up:before{content:"\f062";} +.icon-arrow-down:before{content:"\f063";} +.icon-mail-forward:before,.icon-share-alt:before{content:"\f064";} +.icon-resize-full:before{content:"\f065";} +.icon-resize-small:before{content:"\f066";} +.icon-plus:before{content:"\f067";} +.icon-minus:before{content:"\f068";} +.icon-asterisk:before{content:"\f069";} +.icon-exclamation-sign:before{content:"\f06a";} +.icon-gift:before{content:"\f06b";} +.icon-leaf:before{content:"\f06c";} +.icon-fire:before{content:"\f06d";} +.icon-eye-open:before{content:"\f06e";} +.icon-eye-close:before{content:"\f070";} +.icon-warning-sign:before{content:"\f071";} +.icon-plane:before{content:"\f072";} +.icon-calendar:before{content:"\f073";} +.icon-random:before{content:"\f074";} +.icon-comment:before{content:"\f075";} +.icon-magnet:before{content:"\f076";} +.icon-chevron-up:before{content:"\f077";} +.icon-chevron-down:before{content:"\f078";} +.icon-retweet:before{content:"\f079";} +.icon-shopping-cart:before{content:"\f07a";} +.icon-folder-close:before{content:"\f07b";} +.icon-folder-open:before{content:"\f07c";} +.icon-resize-vertical:before{content:"\f07d";} +.icon-resize-horizontal:before{content:"\f07e";} +.icon-bar-chart:before{content:"\f080";} +.icon-twitter-sign:before{content:"\f081";} +.icon-facebook-sign:before{content:"\f082";} +.icon-camera-retro:before{content:"\f083";} +.icon-key:before{content:"\f084";} +.icon-gears:before,.icon-cogs:before{content:"\f085";} +.icon-comments:before{content:"\f086";} +.icon-thumbs-up-alt:before{content:"\f087";} +.icon-thumbs-down-alt:before{content:"\f088";} +.icon-star-half:before{content:"\f089";} +.icon-heart-empty:before{content:"\f08a";} +.icon-signout:before{content:"\f08b";} +.icon-linkedin-sign:before{content:"\f08c";} +.icon-pushpin:before{content:"\f08d";} +.icon-external-link:before{content:"\f08e";} +.icon-signin:before{content:"\f090";} +.icon-trophy:before{content:"\f091";} +.icon-github-sign:before{content:"\f092";} +.icon-upload-alt:before{content:"\f093";} +.icon-lemon:before{content:"\f094";} +.icon-phone:before{content:"\f095";} +.icon-unchecked:before,.icon-check-empty:before{content:"\f096";} +.icon-bookmark-empty:before{content:"\f097";} +.icon-phone-sign:before{content:"\f098";} +.icon-twitter:before{content:"\f099";} +.icon-facebook:before{content:"\f09a";} +.icon-github:before{content:"\f09b";} +.icon-unlock:before{content:"\f09c";} +.icon-credit-card:before{content:"\f09d";} +.icon-rss:before{content:"\f09e";} +.icon-hdd:before{content:"\f0a0";} +.icon-bullhorn:before{content:"\f0a1";} +.icon-bell:before{content:"\f0a2";} +.icon-certificate:before{content:"\f0a3";} +.icon-hand-right:before{content:"\f0a4";} +.icon-hand-left:before{content:"\f0a5";} +.icon-hand-up:before{content:"\f0a6";} +.icon-hand-down:before{content:"\f0a7";} +.icon-circle-arrow-left:before{content:"\f0a8";} +.icon-circle-arrow-right:before{content:"\f0a9";} +.icon-circle-arrow-up:before{content:"\f0aa";} +.icon-circle-arrow-down:before{content:"\f0ab";} +.icon-globe:before{content:"\f0ac";} +.icon-wrench:before{content:"\f0ad";} +.icon-tasks:before{content:"\f0ae";} +.icon-filter:before{content:"\f0b0";} +.icon-briefcase:before{content:"\f0b1";} +.icon-fullscreen:before{content:"\f0b2";} +.icon-group:before{content:"\f0c0";} +.icon-link:before{content:"\f0c1";} +.icon-cloud:before{content:"\f0c2";} +.icon-beaker:before{content:"\f0c3";} +.icon-cut:before{content:"\f0c4";} +.icon-copy:before{content:"\f0c5";} +.icon-paperclip:before,.icon-paper-clip:before{content:"\f0c6";} +.icon-save:before{content:"\f0c7";} +.icon-sign-blank:before{content:"\f0c8";} +.icon-reorder:before{content:"\f0c9";} +.icon-list-ul:before{content:"\f0ca";} +.icon-list-ol:before{content:"\f0cb";} +.icon-strikethrough:before{content:"\f0cc";} +.icon-underline:before{content:"\f0cd";} +.icon-table:before{content:"\f0ce";} +.icon-magic:before{content:"\f0d0";} +.icon-truck:before{content:"\f0d1";} +.icon-pinterest:before{content:"\f0d2";} +.icon-pinterest-sign:before{content:"\f0d3";} +.icon-google-plus-sign:before{content:"\f0d4";} +.icon-google-plus:before{content:"\f0d5";} +.icon-money:before{content:"\f0d6";} +.icon-caret-down:before{content:"\f0d7";} +.icon-caret-up:before{content:"\f0d8";} +.icon-caret-left:before{content:"\f0d9";} +.icon-caret-right:before{content:"\f0da";} +.icon-columns:before{content:"\f0db";} +.icon-sort:before{content:"\f0dc";} +.icon-sort-down:before{content:"\f0dd";} +.icon-sort-up:before{content:"\f0de";} +.icon-envelope:before{content:"\f0e0";} +.icon-linkedin:before{content:"\f0e1";} +.icon-rotate-left:before,.icon-undo:before{content:"\f0e2";} +.icon-legal:before{content:"\f0e3";} +.icon-dashboard:before{content:"\f0e4";} +.icon-comment-alt:before{content:"\f0e5";} +.icon-comments-alt:before{content:"\f0e6";} +.icon-bolt:before{content:"\f0e7";} +.icon-sitemap:before{content:"\f0e8";} +.icon-umbrella:before{content:"\f0e9";} +.icon-paste:before{content:"\f0ea";} +.icon-lightbulb:before{content:"\f0eb";} +.icon-exchange:before{content:"\f0ec";} +.icon-cloud-download:before{content:"\f0ed";} +.icon-cloud-upload:before{content:"\f0ee";} +.icon-user-md:before{content:"\f0f0";} +.icon-stethoscope:before{content:"\f0f1";} +.icon-suitcase:before{content:"\f0f2";} +.icon-bell-alt:before{content:"\f0f3";} +.icon-coffee:before{content:"\f0f4";} +.icon-food:before{content:"\f0f5";} +.icon-file-text-alt:before{content:"\f0f6";} +.icon-building:before{content:"\f0f7";} +.icon-hospital:before{content:"\f0f8";} +.icon-ambulance:before{content:"\f0f9";} +.icon-medkit:before{content:"\f0fa";} +.icon-fighter-jet:before{content:"\f0fb";} +.icon-beer:before{content:"\f0fc";} +.icon-h-sign:before{content:"\f0fd";} +.icon-plus-sign-alt:before{content:"\f0fe";} +.icon-double-angle-left:before{content:"\f100";} +.icon-double-angle-right:before{content:"\f101";} +.icon-double-angle-up:before{content:"\f102";} +.icon-double-angle-down:before{content:"\f103";} +.icon-angle-left:before{content:"\f104";} +.icon-angle-right:before{content:"\f105";} +.icon-angle-up:before{content:"\f106";} +.icon-angle-down:before{content:"\f107";} +.icon-desktop:before{content:"\f108";} +.icon-laptop:before{content:"\f109";} +.icon-tablet:before{content:"\f10a";} +.icon-mobile-phone:before{content:"\f10b";} +.icon-circle-blank:before{content:"\f10c";} +.icon-quote-left:before{content:"\f10d";} +.icon-quote-right:before{content:"\f10e";} +.icon-spinner:before{content:"\f110";} +.icon-circle:before{content:"\f111";} +.icon-mail-reply:before,.icon-reply:before{content:"\f112";} +.icon-github-alt:before{content:"\f113";} +.icon-folder-close-alt:before{content:"\f114";} +.icon-folder-open-alt:before{content:"\f115";} +.icon-expand-alt:before{content:"\f116";} +.icon-collapse-alt:before{content:"\f117";} +.icon-smile:before{content:"\f118";} +.icon-frown:before{content:"\f119";} +.icon-meh:before{content:"\f11a";} +.icon-gamepad:before{content:"\f11b";} +.icon-keyboard:before{content:"\f11c";} +.icon-flag-alt:before{content:"\f11d";} +.icon-flag-checkered:before{content:"\f11e";} +.icon-terminal:before{content:"\f120";} +.icon-code:before{content:"\f121";} +.icon-reply-all:before{content:"\f122";} +.icon-mail-reply-all:before{content:"\f122";} +.icon-star-half-full:before,.icon-star-half-empty:before{content:"\f123";} +.icon-location-arrow:before{content:"\f124";} +.icon-crop:before{content:"\f125";} +.icon-code-fork:before{content:"\f126";} +.icon-unlink:before{content:"\f127";} +.icon-question:before{content:"\f128";} +.icon-info:before{content:"\f129";} +.icon-exclamation:before{content:"\f12a";} +.icon-superscript:before{content:"\f12b";} +.icon-subscript:before{content:"\f12c";} +.icon-eraser:before{content:"\f12d";} +.icon-puzzle-piece:before{content:"\f12e";} +.icon-microphone:before{content:"\f130";} +.icon-microphone-off:before{content:"\f131";} +.icon-shield:before{content:"\f132";} +.icon-calendar-empty:before{content:"\f133";} +.icon-fire-extinguisher:before{content:"\f134";} +.icon-rocket:before{content:"\f135";} +.icon-maxcdn:before{content:"\f136";} +.icon-chevron-sign-left:before{content:"\f137";} +.icon-chevron-sign-right:before{content:"\f138";} +.icon-chevron-sign-up:before{content:"\f139";} +.icon-chevron-sign-down:before{content:"\f13a";} +.icon-html5:before{content:"\f13b";} +.icon-css3:before{content:"\f13c";} +.icon-anchor:before{content:"\f13d";} +.icon-unlock-alt:before{content:"\f13e";} +.icon-bullseye:before{content:"\f140";} +.icon-ellipsis-horizontal:before{content:"\f141";} +.icon-ellipsis-vertical:before{content:"\f142";} +.icon-rss-sign:before{content:"\f143";} +.icon-play-sign:before{content:"\f144";} +.icon-ticket:before{content:"\f145";} +.icon-minus-sign-alt:before{content:"\f146";} +.icon-check-minus:before{content:"\f147";} +.icon-level-up:before{content:"\f148";} +.icon-level-down:before{content:"\f149";} +.icon-check-sign:before{content:"\f14a";} +.icon-edit-sign:before{content:"\f14b";} +.icon-external-link-sign:before{content:"\f14c";} +.icon-share-sign:before{content:"\f14d";} +.icon-compass:before{content:"\f14e";} +.icon-collapse:before{content:"\f150";} +.icon-collapse-top:before{content:"\f151";} +.icon-expand:before{content:"\f152";} +.icon-euro:before,.icon-eur:before{content:"\f153";} +.icon-gbp:before{content:"\f154";} +.icon-dollar:before,.icon-usd:before{content:"\f155";} +.icon-rupee:before,.icon-inr:before{content:"\f156";} +.icon-yen:before,.icon-jpy:before{content:"\f157";} +.icon-renminbi:before,.icon-cny:before{content:"\f158";} +.icon-won:before,.icon-krw:before{content:"\f159";} +.icon-bitcoin:before,.icon-btc:before{content:"\f15a";} +.icon-file:before{content:"\f15b";} +.icon-file-text:before{content:"\f15c";} +.icon-sort-by-alphabet:before{content:"\f15d";} +.icon-sort-by-alphabet-alt:before{content:"\f15e";} +.icon-sort-by-attributes:before{content:"\f160";} +.icon-sort-by-attributes-alt:before{content:"\f161";} +.icon-sort-by-order:before{content:"\f162";} +.icon-sort-by-order-alt:before{content:"\f163";} +.icon-thumbs-up:before{content:"\f164";} +.icon-thumbs-down:before{content:"\f165";} +.icon-youtube-sign:before{content:"\f166";} +.icon-youtube:before{content:"\f167";} +.icon-xing:before{content:"\f168";} +.icon-xing-sign:before{content:"\f169";} +.icon-youtube-play:before{content:"\f16a";} +.icon-dropbox:before{content:"\f16b";} +.icon-stackexchange:before{content:"\f16c";} +.icon-instagram:before{content:"\f16d";} +.icon-flickr:before{content:"\f16e";} +.icon-adn:before{content:"\f170";} +.icon-bitbucket:before{content:"\f171";} +.icon-bitbucket-sign:before{content:"\f172";} +.icon-tumblr:before{content:"\f173";} +.icon-tumblr-sign:before{content:"\f174";} +.icon-long-arrow-down:before{content:"\f175";} +.icon-long-arrow-up:before{content:"\f176";} +.icon-long-arrow-left:before{content:"\f177";} +.icon-long-arrow-right:before{content:"\f178";} +.icon-apple:before{content:"\f179";} +.icon-windows:before{content:"\f17a";} +.icon-android:before{content:"\f17b";} +.icon-linux:before{content:"\f17c";} +.icon-dribbble:before{content:"\f17d";} +.icon-skype:before{content:"\f17e";} +.icon-foursquare:before{content:"\f180";} +.icon-trello:before{content:"\f181";} +.icon-female:before{content:"\f182";} +.icon-male:before{content:"\f183";} +.icon-gittip:before{content:"\f184";} +.icon-sun:before{content:"\f185";} +.icon-moon:before{content:"\f186";} +.icon-archive:before{content:"\f187";} +.icon-bug:before{content:"\f188";} +.icon-vk:before{content:"\f189";} +.icon-weibo:before{content:"\f18a";} +.icon-renren:before{content:"\f18b";} diff --git a/apiDocumentation/css/jquery.iviewer.css b/apiDocumentation/css/jquery.iviewer.css new file mode 100644 index 0000000..11f5f09 --- /dev/null +++ b/apiDocumentation/css/jquery.iviewer.css @@ -0,0 +1,65 @@ +.viewer { + -ms-touch-action: none; +} + +.iviewer_common { + position:absolute; + bottom:10px; + border: 1px solid #000; + height: 28px; + z-index: 5000; +} + +.iviewer_cursor { + cursor: url(../images/iviewer/hand.cur) 6 8, pointer; +} + +.iviewer_drag_cursor { + cursor: url(../images/iviewer/grab.cur) 6 8, pointer; +} + +.iviewer_button { + width: 28px; + cursor: pointer; + background-position: center center; + background-repeat: no-repeat; +} + +.iviewer_zoom_in { + left: 20px; + background: url(../images/iviewer/iviewer.zoom_in.png); +} + +.iviewer_zoom_out { + left: 55px; + background: url(../images/iviewer/iviewer.zoom_out.png); +} + +.iviewer_zoom_zero { + left: 90px; + background: url(../images/iviewer/iviewer.zoom_zero.png); +} + +.iviewer_zoom_fit { + left: 125px; + background: url(../images/iviewer/iviewer.zoom_fit.png); +} + +.iviewer_zoom_status { + left: 160px; + font: 1em/28px Sans; + color: #000; + background-color: #fff; + text-align: center; + width: 60px; +} + +.iviewer_rotate_left { + left: 227px; + background: #fff url(../images/iviewer/iviewer.rotate_left.png) center center no-repeat; +} + +.iviewer_rotate_right { + left: 262px; + background: #fff url(../images/iviewer/iviewer.rotate_right.png) center center no-repeat; +} diff --git a/apiDocumentation/css/normalize.css b/apiDocumentation/css/normalize.css new file mode 100644 index 0000000..579152b --- /dev/null +++ b/apiDocumentation/css/normalize.css @@ -0,0 +1,427 @@ +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ + +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ + +html { + font-family: sans-serif; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/** + * Remove default margin. + */ + +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ + +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 + * and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ + +audio, +canvas, +progress, +video { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. + */ + +[hidden], +template { + display: none; +} + +/* Links + ========================================================================== */ + +/** + * Remove the gray background color from active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ + +a:active, +a:hover { + outline: 0; +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari and Chrome. + */ + +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/** + * Address styling not present in IE 8/9. + */ + +mark { + background: #ff0; + color: #000; +} + +/** + * Address inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove border when inside `a` element in IE 8/9/10. + */ + +img { + border: 0; +} + +/** + * Correct overflow not hidden in IE 9/10/11. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ + +/** + * Address margin not present in IE 8/9 and Safari. + */ + +figure { + margin: 1em 40px; +} + +/** + * Address differences between Firefox and other browsers. + */ + +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ + +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ + +code, +kbd, +pre, +samp { + font-family: var(--font-monospace); + font-size: 1em; +} + +/* Forms + ========================================================================== */ + +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ + +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + */ + +button, +input, +optgroup, +select, +textarea { + color: inherit; /* 1 */ + font: inherit; /* 2 */ + margin: 0; /* 3 */ +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ + +button { + overflow: visible; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ + +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ + +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +input { + line-height: normal; +} + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome + * (include `-moz` to future-proof). + */ + +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ + +legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ + +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ + +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ + +/** + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} diff --git a/apiDocumentation/css/phpdocumentor-clean-icons/Read Me.txt b/apiDocumentation/css/phpdocumentor-clean-icons/Read Me.txt new file mode 100644 index 0000000..9664909 --- /dev/null +++ b/apiDocumentation/css/phpdocumentor-clean-icons/Read Me.txt @@ -0,0 +1,3 @@ +To modify your generated font, use the *dev.svg* file, located in the *fonts* folder in this package. You can import this dev.svg file to the IcoMoon app. All the tags (class names) and the Unicode points of your glyphs are saved in this file. + +See the documentation for more info on how to use this package: https://icomoon.io/#docs/font-face diff --git a/apiDocumentation/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.dev.svg b/apiDocumentation/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.dev.svg new file mode 100644 index 0000000..4cb9bd0 --- /dev/null +++ b/apiDocumentation/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.dev.svg @@ -0,0 +1,17 @@ + + + + +This is a custom SVG font generated by IcoMoon. + + + + + + + + + + + + \ No newline at end of file diff --git a/apiDocumentation/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.eot b/apiDocumentation/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.eot new file mode 100644 index 0000000..ef43f26 Binary files /dev/null and b/apiDocumentation/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.eot differ diff --git a/apiDocumentation/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.svg b/apiDocumentation/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.svg new file mode 100644 index 0000000..d454385 --- /dev/null +++ b/apiDocumentation/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.svg @@ -0,0 +1,17 @@ + + + + +This is a custom SVG font generated by IcoMoon. + + + + + + + + + + + + \ No newline at end of file diff --git a/apiDocumentation/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.ttf b/apiDocumentation/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.ttf new file mode 100644 index 0000000..1937c7a Binary files /dev/null and b/apiDocumentation/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.ttf differ diff --git a/apiDocumentation/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.woff b/apiDocumentation/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.woff new file mode 100644 index 0000000..32fe30d Binary files /dev/null and b/apiDocumentation/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.woff differ diff --git a/apiDocumentation/css/phpdocumentor-clean-icons/lte-ie7.js b/apiDocumentation/css/phpdocumentor-clean-icons/lte-ie7.js new file mode 100644 index 0000000..881c16e --- /dev/null +++ b/apiDocumentation/css/phpdocumentor-clean-icons/lte-ie7.js @@ -0,0 +1,30 @@ +/* Load this script using conditional IE comments if you need to support IE 7 and IE 6. */ + +window.onload = function() { + function addIcon(el, entity) { + var html = el.innerHTML; + el.innerHTML = '' + entity + '' + html; + } + var icons = { + 'icon-trait' : '', + 'icon-interface' : '', + 'icon-class' : '' + }, + els = document.getElementsByTagName('*'), + i, attr, html, c, el; + for (i = 0; ; i += 1) { + el = els[i]; + if(!el) { + break; + } + attr = el.getAttribute('data-icon'); + if (attr) { + addIcon(el, attr); + } + c = el.className; + c = c.match(/icon-[^\s'"]+/); + if (c && icons[c[0]]) { + addIcon(el, icons[c[0]]); + } + } +}; \ No newline at end of file diff --git a/apiDocumentation/css/phpdocumentor-clean-icons/style.css b/apiDocumentation/css/phpdocumentor-clean-icons/style.css new file mode 100644 index 0000000..f069ec1 --- /dev/null +++ b/apiDocumentation/css/phpdocumentor-clean-icons/style.css @@ -0,0 +1,48 @@ +@font-face { + font-family: 'phpdocumentor-clean-icons'; + src:url('fonts/phpdocumentor-clean-icons.eot'); + src:url('fonts/phpdocumentor-clean-icons.eot?#iefix') format('embedded-opentype'), + url('fonts/phpdocumentor-clean-icons.woff') format('woff'), + url('fonts/phpdocumentor-clean-icons.ttf') format('truetype'), + url('fonts/phpdocumentor-clean-icons.svg#phpdocumentor-clean-icons') format('svg'); + font-weight: normal; + font-style: normal; +} + +/* Use the following CSS code if you want to use data attributes for inserting your icons */ +[data-icon]:before { + font-family: 'phpdocumentor-clean-icons'; + content: attr(data-icon); + speak: none; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + -webkit-font-smoothing: antialiased; +} + +/* Use the following CSS code if you want to have a class per icon */ +/* +Instead of a list of all class selectors, +you can use the generic selector below, but it's slower: +[class*="icon-"] { +*/ +.icon-trait, .icon-interface, .icon-class { + font-family: 'phpdocumentor-clean-icons'; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + -webkit-font-smoothing: antialiased; +} +.icon-trait:before { + content: "\e000"; +} +.icon-interface:before { + content: "\e001"; +} +.icon-class:before { + content: "\e002"; +} diff --git a/apiDocumentation/css/prettify.css b/apiDocumentation/css/prettify.css new file mode 100644 index 0000000..b317a7c --- /dev/null +++ b/apiDocumentation/css/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/apiDocumentation/css/prism.css b/apiDocumentation/css/prism.css new file mode 100644 index 0000000..17876af --- /dev/null +++ b/apiDocumentation/css/prism.css @@ -0,0 +1,204 @@ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ + +code[class*="language-"], +pre[class*="language-"] { + color: black; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', monospace; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} + +::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #a67f59; + background: hsla(0,0%,100%,.5); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + + +.token.regex, +.token.important { + color: #e90; +} + +.token.important { + font-weight: bold; +} + +.token.entity { + cursor: help; +} +pre[data-line] { + position: relative; + padding: 1em 0 1em 3em; +} + +.line-highlight { + position: absolute; + left: 0; + right: 0; + padding: inherit 0; + margin-top: 1em; /* Same as .prism’s padding-top */ + + background: hsla(24, 20%, 50%,.08); + background: -moz-linear-gradient(left, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0)); + background: -webkit-linear-gradient(left, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0)); + background: -o-linear-gradient(left, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0)); + background: linear-gradient(left, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0)); + + pointer-events: none; + + line-height: inherit; + white-space: pre; +} + + .line-highlight:before, + .line-highlight[data-end]:after { + content: attr(data-start); + position: absolute; + top: .4em; + left: .6em; + min-width: 1em; + padding: 0 .5em; + background-color: hsla(24, 20%, 50%,.4); + color: hsl(24, 20%, 95%); + font: bold 65%/1.5 sans-serif; + text-align: center; + vertical-align: .3em; + border-radius: 999px; + text-shadow: none; + box-shadow: 0 1px white; + } + + .line-highlight[data-end]:after { + content: attr(data-end); + top: auto; + bottom: .4em; + } +pre.line-numbers { + position: relative; + padding-left: 3.8em; + counter-reset: linenumber; +} + +pre.line-numbers > code { + position: relative; +} + +.line-numbers .line-numbers-rows { + position: absolute; + pointer-events: none; + top: 0; + font-size: 100%; + left: -3.8em; + width: 3em; /* works for line-numbers below 1000 lines */ + letter-spacing: -1px; + border-right: 1px solid #999; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + +} + + .line-numbers-rows > span { + pointer-events: none; + display: block; + counter-increment: linenumber; + } + + .line-numbers-rows > span:before { + content: counter(linenumber); + color: #999; + display: block; + padding-right: 0.8em; + text-align: right; + } diff --git a/apiDocumentation/css/template.css b/apiDocumentation/css/template.css new file mode 100644 index 0000000..f717828 --- /dev/null +++ b/apiDocumentation/css/template.css @@ -0,0 +1,192 @@ +.phpdocumentor-summary { + font-style: italic; +} +.phpdocumentor-description { + margin-bottom: var(--spacing-md); +} +.phpdocumentor-element { + position: relative; +} + +.phpdocumentor .phpdocumentor-element__name { + line-height: 1; +} + +.phpdocumentor-element__package, +.phpdocumentor-element__extends, +.phpdocumentor-element__implements { + display: block; + font-size: var(--text-xxs); + font-weight: normal; + opacity: .7; +} + +.phpdocumentor-element__package .phpdocumentor-breadcrumbs { + display: inline; +} + +.phpdocumentor-element:not(:last-child) { + border-bottom: 1px solid var(--primary-color-lighten); + padding-bottom: var(--spacing-lg); +} + +.phpdocumentor-element.-deprecated .phpdocumentor-element__name { + text-decoration: line-through; +} + +.phpdocumentor-element__modifier { + font-size: var(--text-xxs); + padding: calc(var(--spacing-base-size) / 4) calc(var(--spacing-base-size) / 2); + color: var(--text-color); + background-color: var(--light-gray); + border-radius: 3px; + text-transform: uppercase; +} +.phpdocumentor-signature { + display: inline-block; + font-size: var(--text-sm); + margin-bottom: var(--spacing-md); +} + +.phpdocumentor-signature.-deprecated .phpdocumentor-signature__name { + text-decoration: line-through; +} +.phpdocumentor-table-of-contents { +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry { + padding-top: var(--spacing-xs); + margin-left: 2rem; + display: flex; +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry > a { + flex: 0 1 auto; +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry > span { + flex: 1; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry:after { + content: ''; + height: 12px; + width: 12px; + left: 16px; + position: absolute; +} +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-private:after { + background: url('data:image/svg+xml;utf8,') no-repeat; +} +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-protected:after { + left: 13px; + background: url('data:image/svg+xml;utf8,') no-repeat; +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry:before { + width: 1.25rem; + height: 1.25rem; + line-height: 1.25rem; + background: transparent url('data:image/svg+xml;utf8,') no-repeat center center; + content: ''; + position: absolute; + left: 0; + border-radius: 50%; + font-weight: 600; + color: white; + text-align: center; + font-size: .75rem; + margin-top: .2rem; +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-method:before { + content: 'M'; + background-image: url('data:image/svg+xml;utf8,'); +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-function:before { + content: 'M'; + background-image: url('data:image/svg+xml;utf8,'); +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-property:before { + content: 'P' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-constant:before { + content: 'C'; + background-color: transparent; + background-image: url('data:image/svg+xml;utf8,'); +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-class:before { + content: 'C' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-interface:before { + content: 'I' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-trait:before { + content: 'T' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-namespace:before { + content: 'N' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-package:before { + content: 'P' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-enum:before { + content: 'E' +} + +.phpdocumentor-table-of-contents dd { + font-style: italic; + margin-left: 2rem; +} +.phpdocumentor-element-found-in { + position: absolute; + top: 0; + right: 0; + font-size: var(--text-sm); + color: gray; +} + +.phpdocumentor-element-found-in .phpdocumentor-element-found-in__source { + flex: 0 1 auto; + display: inline-flex; +} + +.phpdocumentor-element-found-in .phpdocumentor-element-found-in__source:after { + width: 1.25rem; + height: 1.25rem; + line-height: 1.25rem; + background: transparent url('data:image/svg+xml;utf8,') no-repeat center center; + content: ''; + left: 0; + border-radius: 50%; + font-weight: 600; + text-align: center; + font-size: .75rem; + margin-top: .2rem; +} +.phpdocumentor-class-graph { + width: 100%; height: 600px; border:1px solid black; overflow: hidden +} + +.phpdocumentor-class-graph__graph { + width: 100%; +} +.phpdocumentor-tag-list__definition { + display: flex; +} + +.phpdocumentor-tag-link { + margin-right: var(--spacing-sm); +} diff --git a/apiDocumentation/deprecated.html b/apiDocumentation/deprecated.html new file mode 100644 index 0000000..00e12b1 --- /dev/null +++ b/apiDocumentation/deprecated.html @@ -0,0 +1,244 @@ + + + + + + » Deprecated elements + + + + + + + + + + + + + + + + + + + + + + + + +
                                                        + + + +
                                                        + + + +
                                                        + + +
                                                        + +

                                                        + src/Drivers/AbstractDriver.php + 1 +

                                                        +
                                                        + + + + + + + + + + + +
                                                        TypeLineDescription
                                                        getFunctions345
                                                        +
                                                        + +

                                                        + src/Drivers/AbstractDriver.php + 1 +

                                                        +
                                                        + + + + + + + + + + + +
                                                        TypeLineDescription
                                                        getProcedures355
                                                        +
                                                        + +

                                                        + src/Drivers/AbstractDriver.php + 1 +

                                                        +
                                                        + + + + + + + + + + + +
                                                        TypeLineDescription
                                                        getTriggers365
                                                        +
                                                        + +

                                                        + src/Drivers/DriverInterface.php + 1 +

                                                        +
                                                        + + + + + + + + + + + +
                                                        TypeLineDescription
                                                        getFunctions108
                                                        +
                                                        + +

                                                        + src/Drivers/DriverInterface.php + 1 +

                                                        +
                                                        + + + + + + + + + + + +
                                                        TypeLineDescription
                                                        getProcedures115
                                                        +
                                                        + +

                                                        + src/Drivers/DriverInterface.php + 1 +

                                                        +
                                                        + + + + + + + + + + + +
                                                        TypeLineDescription
                                                        getTriggers122
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        + + + + diff --git a/apiDocumentation/errors.html b/apiDocumentation/errors.html new file mode 100644 index 0000000..87756bd --- /dev/null +++ b/apiDocumentation/errors.html @@ -0,0 +1,192 @@ + + + + + + » Compilation errors + + + + + + + + + + + + + + + + + + + + + + + + +
                                                        + + + +
                                                        +
                                                        + + +
                                                        + +
                                                        + + +
                                                        No errors have been found in this project.
                                                        + +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        + + + + diff --git a/apiDocumentation/files/src-common.html b/apiDocumentation/files/src-common.html new file mode 100644 index 0000000..11f3e4b --- /dev/null +++ b/apiDocumentation/files/src-common.html @@ -0,0 +1,469 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                        +

                                                        Documentation

                                                        + + + + + +
                                                        + +
                                                        +
                                                        + + + + +
                                                        +
                                                          +
                                                        + +
                                                        +

                                                        common.php

                                                        + +

                                                        Query

                                                        + +

                                                        SQL Query Builder / Database Abstraction Layer

                                                        +

                                                        PHP version 8.1

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + author +
                                                        +
                                                        + +

                                                        Timothy J. Warren tim@timshome.page

                                                        +
                                                        + +
                                                        +
                                                        + copyright +
                                                        +
                                                        + +

                                                        2012 - 2023 Timothy J. Warren

                                                        +
                                                        + +
                                                        +
                                                        + license +
                                                        +
                                                        + +

                                                        http://www.opensource.org/licenses/mit-license.html MIT License

                                                        +
                                                        + +
                                                        +
                                                        + link +
                                                        +
                                                        + https://git.timshomepage.net/aviat/Query + +
                                                        +
                                                        + version +
                                                        +
                                                        + 4.0.0 + + +
                                                        +
                                                        + + + + + + +

                                                        + Table of Contents + +

                                                        + +
                                                        +
                                                        + mb_trim() + +  : string +
                                                        +
                                                        Multibyte-safe trim function
                                                        + +
                                                        + dbFilter() + +  : array<string|int, mixed> +
                                                        +
                                                        Filter out db rows into one array
                                                        + +
                                                        + arrayZipper() + +  : array<string|int, mixed> +
                                                        +
                                                        Zip a set of arrays together on common keys
                                                        + +
                                                        + regexInArray() + +  : bool +
                                                        +
                                                        Determine whether a value in the passed array matches the pattern +passed
                                                        + +
                                                        + Query() + +  : QueryBuilderInterface|null +
                                                        +
                                                        Connection function
                                                        + +
                                                        + + + + + +
                                                        +

                                                        + Functions + +

                                                        +
                                                        +

                                                        + mb_trim() + +

                                                        + + +

                                                        Multibyte-safe trim function

                                                        + + + + mb_trim(string $string) : string + + +
                                                        Parameters
                                                        +
                                                        +
                                                        + $string + : string +
                                                        +
                                                        +
                                                        + +
                                                        +
                                                        + + + +
                                                        Return values
                                                        + string + — + + +
                                                        +
                                                        +

                                                        + dbFilter() + +

                                                        + + +

                                                        Filter out db rows into one array

                                                        + + + + dbFilter(array<string|int, mixed> $array, mixed $index) : array<string|int, mixed> + + +
                                                        Parameters
                                                        +
                                                        +
                                                        + $array + : array<string|int, mixed> +
                                                        +
                                                        +
                                                        + +
                                                        +
                                                        + $index + : mixed +
                                                        +
                                                        +
                                                        + +
                                                        +
                                                        + + + +
                                                        Return values
                                                        + array<string|int, mixed> + — + + +
                                                        +
                                                        +

                                                        + arrayZipper() + +

                                                        + + +

                                                        Zip a set of arrays together on common keys

                                                        + + + + arrayZipper(array<string|int, mixed> $zipperInput) : array<string|int, mixed> + +

                                                        The $zipperInput array is an array of arrays indexed by their place in the output +array.

                                                        +
                                                        + +
                                                        Parameters
                                                        +
                                                        +
                                                        + $zipperInput + : array<string|int, mixed> +
                                                        +
                                                        +
                                                        + +
                                                        +
                                                        + + + +
                                                        Return values
                                                        + array<string|int, mixed> + — + + +
                                                        +
                                                        +

                                                        + regexInArray() + +

                                                        + + +

                                                        Determine whether a value in the passed array matches the pattern +passed

                                                        + + + + regexInArray(array<string|int, mixed> $array, string $pattern) : bool + + +
                                                        Parameters
                                                        +
                                                        +
                                                        + $array + : array<string|int, mixed> +
                                                        +
                                                        +
                                                        + +
                                                        +
                                                        + $pattern + : string +
                                                        +
                                                        +
                                                        + +
                                                        +
                                                        + + + +
                                                        Return values
                                                        + bool + — + + +
                                                        +
                                                        +

                                                        + Query() + +

                                                        + + +

                                                        Connection function

                                                        + + + + Query([string|object|array<string|int, mixed>|null $params = '' ]) : QueryBuilderInterface|null + +

                                                        Send an array or object as connection parameters to create a connection. If +the array or object has an 'alias' parameter, passing that string to this +function will return that connection. Passing no parameters returns the last +connection created.

                                                        +
                                                        + +
                                                        Parameters
                                                        +
                                                        +
                                                        + $params + : string|object|array<string|int, mixed>|null + = ''
                                                        +
                                                        +
                                                        + +
                                                        +
                                                        + + + +
                                                        Return values
                                                        + QueryBuilderInterface|null + — + + +
                                                        +
                                                        + +
                                                        +
                                                        +
                                                        +
                                                        +

                                                        Search results

                                                        + +
                                                        +
                                                        +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          + + +
                                                          + + + + + + + + diff --git a/apiDocumentation/files/src-connectionmanager.html b/apiDocumentation/files/src-connectionmanager.html new file mode 100644 index 0000000..2e77e92 --- /dev/null +++ b/apiDocumentation/files/src-connectionmanager.html @@ -0,0 +1,208 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                          +

                                                          Documentation

                                                          + + + + + +
                                                          + +
                                                          +
                                                          + + + + +
                                                          +
                                                            +
                                                          + +
                                                          +

                                                          ConnectionManager.php

                                                          + +

                                                          Query

                                                          + +

                                                          SQL Query Builder / Database Abstraction Layer

                                                          +

                                                          PHP version 8.1

                                                          +
                                                          + + +
                                                          + Tags + +
                                                          +
                                                          +
                                                          + author +
                                                          +
                                                          + +

                                                          Timothy J. Warren tim@timshome.page

                                                          +
                                                          + +
                                                          +
                                                          + copyright +
                                                          +
                                                          + +

                                                          2012 - 2023 Timothy J. Warren

                                                          +
                                                          + +
                                                          +
                                                          + license +
                                                          +
                                                          + +

                                                          http://www.opensource.org/licenses/mit-license.html MIT License

                                                          +
                                                          + +
                                                          +
                                                          + link +
                                                          +
                                                          + https://git.timshomepage.net/aviat/Query + +
                                                          +
                                                          + version +
                                                          +
                                                          + 4.0.0 + + +
                                                          +
                                                          + + + + +

                                                          + Interfaces, Classes, Traits and Enums + +

                                                          + +
                                                          + +
                                                          ConnectionManager
                                                          +
                                                          Connection manager class to manage connections for the +Query method
                                                          + + +
                                                          + + + + + + + + +
                                                          +
                                                          +
                                                          +
                                                          +

                                                          Search results

                                                          + +
                                                          +
                                                          +
                                                            +
                                                            +
                                                            +
                                                            +
                                                            +
                                                            + + +
                                                            + + + + + + + + diff --git a/apiDocumentation/files/src-drivers-abstractdriver.html b/apiDocumentation/files/src-drivers-abstractdriver.html new file mode 100644 index 0000000..7c4ebc7 --- /dev/null +++ b/apiDocumentation/files/src-drivers-abstractdriver.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                            +

                                                            Documentation

                                                            + + + + + +
                                                            + +
                                                            +
                                                            + + + + +
                                                            +
                                                              +
                                                            + +
                                                            +

                                                            AbstractDriver.php

                                                            + +

                                                            Query

                                                            + +

                                                            SQL Query Builder / Database Abstraction Layer

                                                            +

                                                            PHP version 8.1

                                                            +
                                                            + + +
                                                            + Tags + +
                                                            +
                                                            +
                                                            + author +
                                                            +
                                                            + +

                                                            Timothy J. Warren tim@timshome.page

                                                            +
                                                            + +
                                                            +
                                                            + copyright +
                                                            +
                                                            + +

                                                            2012 - 2023 Timothy J. Warren

                                                            +
                                                            + +
                                                            +
                                                            + license +
                                                            +
                                                            + +

                                                            http://www.opensource.org/licenses/mit-license.html MIT License

                                                            +
                                                            + +
                                                            +
                                                            + link +
                                                            +
                                                            + https://git.timshomepage.net/aviat/Query + +
                                                            +
                                                            + version +
                                                            +
                                                            + 4.0.0 + + +
                                                            +
                                                            + + + + +

                                                            + Interfaces, Classes, Traits and Enums + +

                                                            + +
                                                            + +
                                                            AbstractDriver
                                                            +
                                                            Base Database class
                                                            + + +
                                                            + + + + + + + + +
                                                            +
                                                            +
                                                            +
                                                            +

                                                            Search results

                                                            + +
                                                            +
                                                            +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              + + +
                                                              + + + + + + + + diff --git a/apiDocumentation/files/src-drivers-abstractsql.html b/apiDocumentation/files/src-drivers-abstractsql.html new file mode 100644 index 0000000..da1272f --- /dev/null +++ b/apiDocumentation/files/src-drivers-abstractsql.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                              +

                                                              Documentation

                                                              + + + + + +
                                                              + +
                                                              +
                                                              + + + + +
                                                              +
                                                                +
                                                              + +
                                                              +

                                                              AbstractSQL.php

                                                              + +

                                                              Query

                                                              + +

                                                              SQL Query Builder / Database Abstraction Layer

                                                              +

                                                              PHP version 8.1

                                                              +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + author +
                                                              +
                                                              + +

                                                              Timothy J. Warren tim@timshome.page

                                                              +
                                                              + +
                                                              +
                                                              + copyright +
                                                              +
                                                              + +

                                                              2012 - 2023 Timothy J. Warren

                                                              +
                                                              + +
                                                              +
                                                              + license +
                                                              +
                                                              + +

                                                              http://www.opensource.org/licenses/mit-license.html MIT License

                                                              +
                                                              + +
                                                              +
                                                              + link +
                                                              +
                                                              + https://git.timshomepage.net/aviat/Query + +
                                                              +
                                                              + version +
                                                              +
                                                              + 4.0.0 + + +
                                                              +
                                                              + + + + +

                                                              + Interfaces, Classes, Traits and Enums + +

                                                              + +
                                                              + +
                                                              AbstractSQL
                                                              +
                                                              Parent for database-specific syntax subclasses
                                                              + + +
                                                              + + + + + + + + +
                                                              +
                                                              +
                                                              +
                                                              +

                                                              Search results

                                                              + +
                                                              +
                                                              +
                                                                +
                                                                +
                                                                +
                                                                +
                                                                +
                                                                + + +
                                                                + + + + + + + + diff --git a/apiDocumentation/files/src-drivers-abstractutil.html b/apiDocumentation/files/src-drivers-abstractutil.html new file mode 100644 index 0000000..8197cd5 --- /dev/null +++ b/apiDocumentation/files/src-drivers-abstractutil.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                +

                                                                Documentation

                                                                + + + + + +
                                                                + +
                                                                +
                                                                + + + + +
                                                                +
                                                                  +
                                                                + +
                                                                +

                                                                AbstractUtil.php

                                                                + +

                                                                Query

                                                                + +

                                                                SQL Query Builder / Database Abstraction Layer

                                                                +

                                                                PHP version 8.1

                                                                +
                                                                + + +
                                                                + Tags + +
                                                                +
                                                                +
                                                                + author +
                                                                +
                                                                + +

                                                                Timothy J. Warren tim@timshome.page

                                                                +
                                                                + +
                                                                +
                                                                + copyright +
                                                                +
                                                                + +

                                                                2012 - 2023 Timothy J. Warren

                                                                +
                                                                + +
                                                                +
                                                                + license +
                                                                +
                                                                + +

                                                                http://www.opensource.org/licenses/mit-license.html MIT License

                                                                +
                                                                + +
                                                                +
                                                                + link +
                                                                +
                                                                + https://git.timshomepage.net/aviat/Query + +
                                                                +
                                                                + version +
                                                                +
                                                                + 4.0.0 + + +
                                                                +
                                                                + + + + +

                                                                + Interfaces, Classes, Traits and Enums + +

                                                                + +
                                                                + +
                                                                AbstractUtil
                                                                +
                                                                Abstract class defining database / table creation methods
                                                                + + +
                                                                + + + + + + + + +
                                                                +
                                                                +
                                                                +
                                                                +

                                                                Search results

                                                                + +
                                                                +
                                                                +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  + + +
                                                                  + + + + + + + + diff --git a/apiDocumentation/files/src-drivers-driverinterface.html b/apiDocumentation/files/src-drivers-driverinterface.html new file mode 100644 index 0000000..81277ad --- /dev/null +++ b/apiDocumentation/files/src-drivers-driverinterface.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                  +

                                                                  Documentation

                                                                  + + + + + +
                                                                  + +
                                                                  +
                                                                  + + + + +
                                                                  +
                                                                    +
                                                                  + +
                                                                  +

                                                                  DriverInterface.php

                                                                  + +

                                                                  Query

                                                                  + +

                                                                  SQL Query Builder / Database Abstraction Layer

                                                                  +

                                                                  PHP version 8.1

                                                                  +
                                                                  + + +
                                                                  + Tags + +
                                                                  +
                                                                  +
                                                                  + author +
                                                                  +
                                                                  + +

                                                                  Timothy J. Warren tim@timshome.page

                                                                  +
                                                                  + +
                                                                  +
                                                                  + copyright +
                                                                  +
                                                                  + +

                                                                  2012 - 2023 Timothy J. Warren

                                                                  +
                                                                  + +
                                                                  +
                                                                  + license +
                                                                  +
                                                                  + +

                                                                  http://www.opensource.org/licenses/mit-license.html MIT License

                                                                  +
                                                                  + +
                                                                  +
                                                                  + link +
                                                                  +
                                                                  + https://git.timshomepage.net/aviat/Query + +
                                                                  +
                                                                  + version +
                                                                  +
                                                                  + 4.0.0 + + +
                                                                  +
                                                                  + + + + +

                                                                  + Interfaces, Classes, Traits and Enums + +

                                                                  + +
                                                                  +
                                                                  DriverInterface
                                                                  +
                                                                  PDO Interface to implement for database drivers
                                                                  + + + +
                                                                  + + + + + + + + +
                                                                  +
                                                                  +
                                                                  +
                                                                  +

                                                                  Search results

                                                                  + +
                                                                  +
                                                                  +
                                                                    +
                                                                    +
                                                                    +
                                                                    +
                                                                    +
                                                                    + + +
                                                                    + + + + + + + + diff --git a/apiDocumentation/files/src-drivers-mysql-driver.html b/apiDocumentation/files/src-drivers-mysql-driver.html new file mode 100644 index 0000000..de0b9ce --- /dev/null +++ b/apiDocumentation/files/src-drivers-mysql-driver.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                    +

                                                                    Documentation

                                                                    + + + + + +
                                                                    + +
                                                                    +
                                                                    + + + + +
                                                                    +
                                                                      +
                                                                    + +
                                                                    +

                                                                    Driver.php

                                                                    + +

                                                                    Query

                                                                    + +

                                                                    SQL Query Builder / Database Abstraction Layer

                                                                    +

                                                                    PHP version 8.1

                                                                    +
                                                                    + + +
                                                                    + Tags + +
                                                                    +
                                                                    +
                                                                    + author +
                                                                    +
                                                                    + +

                                                                    Timothy J. Warren tim@timshome.page

                                                                    +
                                                                    + +
                                                                    +
                                                                    + copyright +
                                                                    +
                                                                    + +

                                                                    2012 - 2023 Timothy J. Warren

                                                                    +
                                                                    + +
                                                                    +
                                                                    + license +
                                                                    +
                                                                    + +

                                                                    http://www.opensource.org/licenses/mit-license.html MIT License

                                                                    +
                                                                    + +
                                                                    +
                                                                    + link +
                                                                    +
                                                                    + https://git.timshomepage.net/aviat/Query + +
                                                                    +
                                                                    + version +
                                                                    +
                                                                    + 4.0.0 + + +
                                                                    +
                                                                    + + + + +

                                                                    + Interfaces, Classes, Traits and Enums + +

                                                                    + +
                                                                    + +
                                                                    Driver
                                                                    +
                                                                    MySQL specific class
                                                                    + + +
                                                                    + + + + + + + + +
                                                                    +
                                                                    +
                                                                    +
                                                                    +

                                                                    Search results

                                                                    + +
                                                                    +
                                                                    +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      + + +
                                                                      + + + + + + + + diff --git a/apiDocumentation/files/src-drivers-mysql-sql.html b/apiDocumentation/files/src-drivers-mysql-sql.html new file mode 100644 index 0000000..70d7df7 --- /dev/null +++ b/apiDocumentation/files/src-drivers-mysql-sql.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                      +

                                                                      Documentation

                                                                      + + + + + +
                                                                      + +
                                                                      +
                                                                      + + + + +
                                                                      +
                                                                        +
                                                                      + +
                                                                      +

                                                                      SQL.php

                                                                      + +

                                                                      Query

                                                                      + +

                                                                      SQL Query Builder / Database Abstraction Layer

                                                                      +

                                                                      PHP version 8.1

                                                                      +
                                                                      + + +
                                                                      + Tags + +
                                                                      +
                                                                      +
                                                                      + author +
                                                                      +
                                                                      + +

                                                                      Timothy J. Warren tim@timshome.page

                                                                      +
                                                                      + +
                                                                      +
                                                                      + copyright +
                                                                      +
                                                                      + +

                                                                      2012 - 2023 Timothy J. Warren

                                                                      +
                                                                      + +
                                                                      +
                                                                      + license +
                                                                      +
                                                                      + +

                                                                      http://www.opensource.org/licenses/mit-license.html MIT License

                                                                      +
                                                                      + +
                                                                      +
                                                                      + link +
                                                                      +
                                                                      + https://git.timshomepage.net/aviat/Query + +
                                                                      +
                                                                      + version +
                                                                      +
                                                                      + 4.0.0 + + +
                                                                      +
                                                                      + + + + +

                                                                      + Interfaces, Classes, Traits and Enums + +

                                                                      + +
                                                                      + +
                                                                      SQL
                                                                      +
                                                                      MySQL specific SQL
                                                                      + + +
                                                                      + + + + + + + + +
                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      Search results

                                                                      + +
                                                                      +
                                                                      +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        + + +
                                                                        + + + + + + + + diff --git a/apiDocumentation/files/src-drivers-mysql-util.html b/apiDocumentation/files/src-drivers-mysql-util.html new file mode 100644 index 0000000..ac19390 --- /dev/null +++ b/apiDocumentation/files/src-drivers-mysql-util.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                        +

                                                                        Documentation

                                                                        + + + + + +
                                                                        + +
                                                                        +
                                                                        + + + + +
                                                                        +
                                                                          +
                                                                        + +
                                                                        +

                                                                        Util.php

                                                                        + +

                                                                        Query

                                                                        + +

                                                                        SQL Query Builder / Database Abstraction Layer

                                                                        +

                                                                        PHP version 8.1

                                                                        +
                                                                        + + +
                                                                        + Tags + +
                                                                        +
                                                                        +
                                                                        + author +
                                                                        +
                                                                        + +

                                                                        Timothy J. Warren tim@timshome.page

                                                                        +
                                                                        + +
                                                                        +
                                                                        + copyright +
                                                                        +
                                                                        + +

                                                                        2012 - 2023 Timothy J. Warren

                                                                        +
                                                                        + +
                                                                        +
                                                                        + license +
                                                                        +
                                                                        + +

                                                                        http://www.opensource.org/licenses/mit-license.html MIT License

                                                                        +
                                                                        + +
                                                                        +
                                                                        + link +
                                                                        +
                                                                        + https://git.timshomepage.net/aviat/Query + +
                                                                        +
                                                                        + version +
                                                                        +
                                                                        + 4.0.0 + + +
                                                                        +
                                                                        + + + + +

                                                                        + Interfaces, Classes, Traits and Enums + +

                                                                        + +
                                                                        + +
                                                                        Util
                                                                        +
                                                                        MySQL-specific backup, import and creation methods
                                                                        + + +
                                                                        + + + + + + + + +
                                                                        +
                                                                        +
                                                                        +
                                                                        +

                                                                        Search results

                                                                        + +
                                                                        +
                                                                        +
                                                                          +
                                                                          +
                                                                          +
                                                                          +
                                                                          +
                                                                          + + +
                                                                          + + + + + + + + diff --git a/apiDocumentation/files/src-drivers-pgsql-driver.html b/apiDocumentation/files/src-drivers-pgsql-driver.html new file mode 100644 index 0000000..e047b3a --- /dev/null +++ b/apiDocumentation/files/src-drivers-pgsql-driver.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                          +

                                                                          Documentation

                                                                          + + + + + +
                                                                          + +
                                                                          +
                                                                          + + + + +
                                                                          +
                                                                            +
                                                                          + +
                                                                          +

                                                                          Driver.php

                                                                          + +

                                                                          Query

                                                                          + +

                                                                          SQL Query Builder / Database Abstraction Layer

                                                                          +

                                                                          PHP version 8.1

                                                                          +
                                                                          + + +
                                                                          + Tags + +
                                                                          +
                                                                          +
                                                                          + author +
                                                                          +
                                                                          + +

                                                                          Timothy J. Warren tim@timshome.page

                                                                          +
                                                                          + +
                                                                          +
                                                                          + copyright +
                                                                          +
                                                                          + +

                                                                          2012 - 2023 Timothy J. Warren

                                                                          +
                                                                          + +
                                                                          +
                                                                          + license +
                                                                          +
                                                                          + +

                                                                          http://www.opensource.org/licenses/mit-license.html MIT License

                                                                          +
                                                                          + +
                                                                          +
                                                                          + link +
                                                                          +
                                                                          + https://git.timshomepage.net/aviat/Query + +
                                                                          +
                                                                          + version +
                                                                          +
                                                                          + 4.0.0 + + +
                                                                          +
                                                                          + + + + +

                                                                          + Interfaces, Classes, Traits and Enums + +

                                                                          + +
                                                                          + +
                                                                          Driver
                                                                          +
                                                                          PostgreSQL specific class
                                                                          + + +
                                                                          + + + + + + + + +
                                                                          +
                                                                          +
                                                                          +
                                                                          +

                                                                          Search results

                                                                          + +
                                                                          +
                                                                          +
                                                                            +
                                                                            +
                                                                            +
                                                                            +
                                                                            +
                                                                            + + +
                                                                            + + + + + + + + diff --git a/apiDocumentation/files/src-drivers-pgsql-sql.html b/apiDocumentation/files/src-drivers-pgsql-sql.html new file mode 100644 index 0000000..328f6ad --- /dev/null +++ b/apiDocumentation/files/src-drivers-pgsql-sql.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                            +

                                                                            Documentation

                                                                            + + + + + +
                                                                            + +
                                                                            +
                                                                            + + + + +
                                                                            +
                                                                              +
                                                                            + +
                                                                            +

                                                                            SQL.php

                                                                            + +

                                                                            Query

                                                                            + +

                                                                            SQL Query Builder / Database Abstraction Layer

                                                                            +

                                                                            PHP version 8.1

                                                                            +
                                                                            + + +
                                                                            + Tags + +
                                                                            +
                                                                            +
                                                                            + author +
                                                                            +
                                                                            + +

                                                                            Timothy J. Warren tim@timshome.page

                                                                            +
                                                                            + +
                                                                            +
                                                                            + copyright +
                                                                            +
                                                                            + +

                                                                            2012 - 2023 Timothy J. Warren

                                                                            +
                                                                            + +
                                                                            +
                                                                            + license +
                                                                            +
                                                                            + +

                                                                            http://www.opensource.org/licenses/mit-license.html MIT License

                                                                            +
                                                                            + +
                                                                            +
                                                                            + link +
                                                                            +
                                                                            + https://git.timshomepage.net/aviat/Query + +
                                                                            +
                                                                            + version +
                                                                            +
                                                                            + 4.0.0 + + +
                                                                            +
                                                                            + + + + +

                                                                            + Interfaces, Classes, Traits and Enums + +

                                                                            + +
                                                                            + +
                                                                            SQL
                                                                            +
                                                                            PostgreSQL specific SQL
                                                                            + + +
                                                                            + + + + + + + + +
                                                                            +
                                                                            +
                                                                            +
                                                                            +

                                                                            Search results

                                                                            + +
                                                                            +
                                                                            +
                                                                              +
                                                                              +
                                                                              +
                                                                              +
                                                                              +
                                                                              + + +
                                                                              + + + + + + + + diff --git a/apiDocumentation/files/src-drivers-pgsql-util.html b/apiDocumentation/files/src-drivers-pgsql-util.html new file mode 100644 index 0000000..15397ec --- /dev/null +++ b/apiDocumentation/files/src-drivers-pgsql-util.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                              +

                                                                              Documentation

                                                                              + + + + + +
                                                                              + +
                                                                              +
                                                                              + + + + +
                                                                              +
                                                                                +
                                                                              + +
                                                                              +

                                                                              Util.php

                                                                              + +

                                                                              Query

                                                                              + +

                                                                              SQL Query Builder / Database Abstraction Layer

                                                                              +

                                                                              PHP version 8.1

                                                                              +
                                                                              + + +
                                                                              + Tags + +
                                                                              +
                                                                              +
                                                                              + author +
                                                                              +
                                                                              + +

                                                                              Timothy J. Warren tim@timshome.page

                                                                              +
                                                                              + +
                                                                              +
                                                                              + copyright +
                                                                              +
                                                                              + +

                                                                              2012 - 2023 Timothy J. Warren

                                                                              +
                                                                              + +
                                                                              +
                                                                              + license +
                                                                              +
                                                                              + +

                                                                              http://www.opensource.org/licenses/mit-license.html MIT License

                                                                              +
                                                                              + +
                                                                              +
                                                                              + link +
                                                                              +
                                                                              + https://git.timshomepage.net/aviat/Query + +
                                                                              +
                                                                              + version +
                                                                              +
                                                                              + 4.0.0 + + +
                                                                              +
                                                                              + + + + +

                                                                              + Interfaces, Classes, Traits and Enums + +

                                                                              + +
                                                                              + +
                                                                              Util
                                                                              +
                                                                              Postgres-specific backup, import and creation methods
                                                                              + + +
                                                                              + + + + + + + + +
                                                                              +
                                                                              +
                                                                              +
                                                                              +

                                                                              Search results

                                                                              + +
                                                                              +
                                                                              +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                + + +
                                                                                + + + + + + + + diff --git a/apiDocumentation/files/src-drivers-sqlinterface.html b/apiDocumentation/files/src-drivers-sqlinterface.html new file mode 100644 index 0000000..3155024 --- /dev/null +++ b/apiDocumentation/files/src-drivers-sqlinterface.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                                +

                                                                                Documentation

                                                                                + + + + + +
                                                                                + +
                                                                                +
                                                                                + + + + +
                                                                                +
                                                                                  +
                                                                                + +
                                                                                +

                                                                                SQLInterface.php

                                                                                + +

                                                                                Query

                                                                                + +

                                                                                SQL Query Builder / Database Abstraction Layer

                                                                                +

                                                                                PHP version 8.1

                                                                                +
                                                                                + + +
                                                                                + Tags + +
                                                                                +
                                                                                +
                                                                                + author +
                                                                                +
                                                                                + +

                                                                                Timothy J. Warren tim@timshome.page

                                                                                +
                                                                                + +
                                                                                +
                                                                                + copyright +
                                                                                +
                                                                                + +

                                                                                2012 - 2023 Timothy J. Warren

                                                                                +
                                                                                + +
                                                                                +
                                                                                + license +
                                                                                +
                                                                                + +

                                                                                http://www.opensource.org/licenses/mit-license.html MIT License

                                                                                +
                                                                                + +
                                                                                +
                                                                                + link +
                                                                                +
                                                                                + https://git.timshomepage.net/aviat/Query + +
                                                                                +
                                                                                + version +
                                                                                +
                                                                                + 4.0.0 + + +
                                                                                +
                                                                                + + + + +

                                                                                + Interfaces, Classes, Traits and Enums + +

                                                                                + +
                                                                                +
                                                                                SQLInterface
                                                                                +
                                                                                Interface for database-specific syntax subclasses
                                                                                + + + +
                                                                                + + + + + + + + +
                                                                                +
                                                                                +
                                                                                +
                                                                                +

                                                                                Search results

                                                                                + +
                                                                                +
                                                                                +
                                                                                  +
                                                                                  +
                                                                                  +
                                                                                  +
                                                                                  +
                                                                                  + + +
                                                                                  + + + + + + + + diff --git a/apiDocumentation/files/src-drivers-sqlite-driver.html b/apiDocumentation/files/src-drivers-sqlite-driver.html new file mode 100644 index 0000000..39a3237 --- /dev/null +++ b/apiDocumentation/files/src-drivers-sqlite-driver.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                                  +

                                                                                  Documentation

                                                                                  + + + + + +
                                                                                  + +
                                                                                  +
                                                                                  + + + + +
                                                                                  +
                                                                                    +
                                                                                  + +
                                                                                  +

                                                                                  Driver.php

                                                                                  + +

                                                                                  Query

                                                                                  + +

                                                                                  SQL Query Builder / Database Abstraction Layer

                                                                                  +

                                                                                  PHP version 8.1

                                                                                  +
                                                                                  + + +
                                                                                  + Tags + +
                                                                                  +
                                                                                  +
                                                                                  + author +
                                                                                  +
                                                                                  + +

                                                                                  Timothy J. Warren tim@timshome.page

                                                                                  +
                                                                                  + +
                                                                                  +
                                                                                  + copyright +
                                                                                  +
                                                                                  + +

                                                                                  2012 - 2023 Timothy J. Warren

                                                                                  +
                                                                                  + +
                                                                                  +
                                                                                  + license +
                                                                                  +
                                                                                  + +

                                                                                  http://www.opensource.org/licenses/mit-license.html MIT License

                                                                                  +
                                                                                  + +
                                                                                  +
                                                                                  + link +
                                                                                  +
                                                                                  + https://git.timshomepage.net/aviat/Query + +
                                                                                  +
                                                                                  + version +
                                                                                  +
                                                                                  + 4.0.0 + + +
                                                                                  +
                                                                                  + + + + +

                                                                                  + Interfaces, Classes, Traits and Enums + +

                                                                                  + +
                                                                                  + +
                                                                                  Driver
                                                                                  +
                                                                                  SQLite specific class
                                                                                  + + +
                                                                                  + + + + + + + + +
                                                                                  +
                                                                                  +
                                                                                  +
                                                                                  +

                                                                                  Search results

                                                                                  + +
                                                                                  +
                                                                                  +
                                                                                    +
                                                                                    +
                                                                                    +
                                                                                    +
                                                                                    +
                                                                                    + + +
                                                                                    + + + + + + + + diff --git a/apiDocumentation/files/src-drivers-sqlite-sql.html b/apiDocumentation/files/src-drivers-sqlite-sql.html new file mode 100644 index 0000000..6c20edf --- /dev/null +++ b/apiDocumentation/files/src-drivers-sqlite-sql.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                                    +

                                                                                    Documentation

                                                                                    + + + + + +
                                                                                    + +
                                                                                    +
                                                                                    + + + + +
                                                                                    +
                                                                                      +
                                                                                    + +
                                                                                    +

                                                                                    SQL.php

                                                                                    + +

                                                                                    Query

                                                                                    + +

                                                                                    SQL Query Builder / Database Abstraction Layer

                                                                                    +

                                                                                    PHP version 8.1

                                                                                    +
                                                                                    + + +
                                                                                    + Tags + +
                                                                                    +
                                                                                    +
                                                                                    + author +
                                                                                    +
                                                                                    + +

                                                                                    Timothy J. Warren tim@timshome.page

                                                                                    +
                                                                                    + +
                                                                                    +
                                                                                    + copyright +
                                                                                    +
                                                                                    + +

                                                                                    2012 - 2023 Timothy J. Warren

                                                                                    +
                                                                                    + +
                                                                                    +
                                                                                    + license +
                                                                                    +
                                                                                    + +

                                                                                    http://www.opensource.org/licenses/mit-license.html MIT License

                                                                                    +
                                                                                    + +
                                                                                    +
                                                                                    + link +
                                                                                    +
                                                                                    + https://git.timshomepage.net/aviat/Query + +
                                                                                    +
                                                                                    + version +
                                                                                    +
                                                                                    + 4.0.0 + + +
                                                                                    +
                                                                                    + + + + +

                                                                                    + Interfaces, Classes, Traits and Enums + +

                                                                                    + +
                                                                                    + +
                                                                                    SQL
                                                                                    +
                                                                                    SQLite Specific SQL
                                                                                    + + +
                                                                                    + + + + + + + + +
                                                                                    +
                                                                                    +
                                                                                    +
                                                                                    +

                                                                                    Search results

                                                                                    + +
                                                                                    +
                                                                                    +
                                                                                      +
                                                                                      +
                                                                                      +
                                                                                      +
                                                                                      +
                                                                                      + + +
                                                                                      + + + + + + + + diff --git a/apiDocumentation/files/src-drivers-sqlite-util.html b/apiDocumentation/files/src-drivers-sqlite-util.html new file mode 100644 index 0000000..80c1e11 --- /dev/null +++ b/apiDocumentation/files/src-drivers-sqlite-util.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                                      +

                                                                                      Documentation

                                                                                      + + + + + +
                                                                                      + +
                                                                                      +
                                                                                      + + + + +
                                                                                      +
                                                                                        +
                                                                                      + +
                                                                                      +

                                                                                      Util.php

                                                                                      + +

                                                                                      Query

                                                                                      + +

                                                                                      SQL Query Builder / Database Abstraction Layer

                                                                                      +

                                                                                      PHP version 8.1

                                                                                      +
                                                                                      + + +
                                                                                      + Tags + +
                                                                                      +
                                                                                      +
                                                                                      + author +
                                                                                      +
                                                                                      + +

                                                                                      Timothy J. Warren tim@timshome.page

                                                                                      +
                                                                                      + +
                                                                                      +
                                                                                      + copyright +
                                                                                      +
                                                                                      + +

                                                                                      2012 - 2023 Timothy J. Warren

                                                                                      +
                                                                                      + +
                                                                                      +
                                                                                      + license +
                                                                                      +
                                                                                      + +

                                                                                      http://www.opensource.org/licenses/mit-license.html MIT License

                                                                                      +
                                                                                      + +
                                                                                      +
                                                                                      + link +
                                                                                      +
                                                                                      + https://git.timshomepage.net/aviat/Query + +
                                                                                      +
                                                                                      + version +
                                                                                      +
                                                                                      + 4.0.0 + + +
                                                                                      +
                                                                                      + + + + +

                                                                                      + Interfaces, Classes, Traits and Enums + +

                                                                                      + +
                                                                                      + +
                                                                                      Util
                                                                                      +
                                                                                      SQLite-specific backup, import and creation methods
                                                                                      + + +
                                                                                      + + + + + + + + +
                                                                                      +
                                                                                      +
                                                                                      +
                                                                                      +

                                                                                      Search results

                                                                                      + +
                                                                                      +
                                                                                      +
                                                                                        +
                                                                                        +
                                                                                        +
                                                                                        +
                                                                                        +
                                                                                        + + +
                                                                                        + + + + + + + + diff --git a/apiDocumentation/files/src-exception-baddbdriverexception.html b/apiDocumentation/files/src-exception-baddbdriverexception.html new file mode 100644 index 0000000..7036874 --- /dev/null +++ b/apiDocumentation/files/src-exception-baddbdriverexception.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                                        +

                                                                                        Documentation

                                                                                        + + + + + +
                                                                                        + +
                                                                                        +
                                                                                        + + + + +
                                                                                        +
                                                                                          +
                                                                                        + +
                                                                                        +

                                                                                        BadDBDriverException.php

                                                                                        + +

                                                                                        Query

                                                                                        + +

                                                                                        SQL Query Builder / Database Abstraction Layer

                                                                                        +

                                                                                        PHP version 8.1

                                                                                        +
                                                                                        + + +
                                                                                        + Tags + +
                                                                                        +
                                                                                        +
                                                                                        + author +
                                                                                        +
                                                                                        + +

                                                                                        Timothy J. Warren tim@timshome.page

                                                                                        +
                                                                                        + +
                                                                                        +
                                                                                        + copyright +
                                                                                        +
                                                                                        + +

                                                                                        2012 - 2023 Timothy J. Warren

                                                                                        +
                                                                                        + +
                                                                                        +
                                                                                        + license +
                                                                                        +
                                                                                        + +

                                                                                        http://www.opensource.org/licenses/mit-license.html MIT License

                                                                                        +
                                                                                        + +
                                                                                        +
                                                                                        + link +
                                                                                        +
                                                                                        + https://git.timshomepage.net/aviat/Query + +
                                                                                        +
                                                                                        + version +
                                                                                        +
                                                                                        + 4.0.0 + + +
                                                                                        +
                                                                                        + + + + +

                                                                                        + Interfaces, Classes, Traits and Enums + +

                                                                                        + +
                                                                                        + +
                                                                                        BadDBDriverException
                                                                                        +
                                                                                        Generic exception for bad drivers
                                                                                        + + +
                                                                                        + + + + + + + + +
                                                                                        +
                                                                                        +
                                                                                        +
                                                                                        +

                                                                                        Search results

                                                                                        + +
                                                                                        +
                                                                                        +
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          + + +
                                                                                          + + + + + + + + diff --git a/apiDocumentation/files/src-exception-nonexistentconnectionexception.html b/apiDocumentation/files/src-exception-nonexistentconnectionexception.html new file mode 100644 index 0000000..b94cffd --- /dev/null +++ b/apiDocumentation/files/src-exception-nonexistentconnectionexception.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                                          +

                                                                                          Documentation

                                                                                          + + + + + +
                                                                                          + +
                                                                                          +
                                                                                          + + + + +
                                                                                          +
                                                                                            +
                                                                                          + +
                                                                                          +

                                                                                          NonExistentConnectionException.php

                                                                                          + +

                                                                                          Query

                                                                                          + +

                                                                                          SQL Query Builder / Database Abstraction Layer

                                                                                          +

                                                                                          PHP version 8.1

                                                                                          +
                                                                                          + + +
                                                                                          + Tags + +
                                                                                          +
                                                                                          +
                                                                                          + author +
                                                                                          +
                                                                                          + +

                                                                                          Timothy J. Warren tim@timshome.page

                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          + copyright +
                                                                                          +
                                                                                          + +

                                                                                          2012 - 2023 Timothy J. Warren

                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          + license +
                                                                                          +
                                                                                          + +

                                                                                          http://www.opensource.org/licenses/mit-license.html MIT License

                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          + link +
                                                                                          +
                                                                                          + https://git.timshomepage.net/aviat/Query + +
                                                                                          +
                                                                                          + version +
                                                                                          +
                                                                                          + 4.0.0 + + +
                                                                                          +
                                                                                          + + + + +

                                                                                          + Interfaces, Classes, Traits and Enums + +

                                                                                          + +
                                                                                          + +
                                                                                          NonExistentConnectionException
                                                                                          +
                                                                                          Exception for missing database connection
                                                                                          + + +
                                                                                          + + + + + + + + +
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          +

                                                                                          Search results

                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            + + +
                                                                                            + + + + + + + + diff --git a/apiDocumentation/files/src-exception-notimplementedexception.html b/apiDocumentation/files/src-exception-notimplementedexception.html new file mode 100644 index 0000000..11ed4d4 --- /dev/null +++ b/apiDocumentation/files/src-exception-notimplementedexception.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                                            +

                                                                                            Documentation

                                                                                            + + + + + +
                                                                                            + +
                                                                                            +
                                                                                            + + + + +
                                                                                            +
                                                                                              +
                                                                                            + +
                                                                                            +

                                                                                            NotImplementedException.php

                                                                                            + +

                                                                                            Query

                                                                                            + +

                                                                                            SQL Query Builder / Database Abstraction Layer

                                                                                            +

                                                                                            PHP version 8.1

                                                                                            +
                                                                                            + + +
                                                                                            + Tags + +
                                                                                            +
                                                                                            +
                                                                                            + author +
                                                                                            +
                                                                                            + +

                                                                                            Timothy J. Warren tim@timshome.page

                                                                                            +
                                                                                            + +
                                                                                            +
                                                                                            + copyright +
                                                                                            +
                                                                                            + +

                                                                                            2012 - 2023 Timothy J. Warren

                                                                                            +
                                                                                            + +
                                                                                            +
                                                                                            + license +
                                                                                            +
                                                                                            + +

                                                                                            http://www.opensource.org/licenses/mit-license.html MIT License

                                                                                            +
                                                                                            + +
                                                                                            +
                                                                                            + link +
                                                                                            +
                                                                                            + https://git.timshomepage.net/aviat/Query + +
                                                                                            +
                                                                                            + version +
                                                                                            +
                                                                                            + 4.0.0 + + +
                                                                                            +
                                                                                            + + + + +

                                                                                            + Interfaces, Classes, Traits and Enums + +

                                                                                            + +
                                                                                            + +
                                                                                            NotImplementedException
                                                                                            +
                                                                                            Exception for non-implemented method
                                                                                            + + +
                                                                                            + + + + + + + + +
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            +

                                                                                            Search results

                                                                                            + +
                                                                                            +
                                                                                            +
                                                                                              +
                                                                                              +
                                                                                              +
                                                                                              +
                                                                                              +
                                                                                              + + +
                                                                                              + + + + + + + + diff --git a/apiDocumentation/files/src-jointype.html b/apiDocumentation/files/src-jointype.html new file mode 100644 index 0000000..509e990 --- /dev/null +++ b/apiDocumentation/files/src-jointype.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                                              +

                                                                                              Documentation

                                                                                              + + + + + +
                                                                                              + +
                                                                                              +
                                                                                              + + + + +
                                                                                              +
                                                                                                +
                                                                                              + +
                                                                                              +

                                                                                              JoinType.php

                                                                                              + +

                                                                                              Query

                                                                                              + +

                                                                                              SQL Query Builder / Database Abstraction Layer

                                                                                              +

                                                                                              PHP version 8.1

                                                                                              +
                                                                                              + + +
                                                                                              + Tags + +
                                                                                              +
                                                                                              +
                                                                                              + author +
                                                                                              +
                                                                                              + +

                                                                                              Timothy J. Warren tim@timshome.page

                                                                                              +
                                                                                              + +
                                                                                              +
                                                                                              + copyright +
                                                                                              +
                                                                                              + +

                                                                                              2012 - 2023 Timothy J. Warren

                                                                                              +
                                                                                              + +
                                                                                              +
                                                                                              + license +
                                                                                              +
                                                                                              + +

                                                                                              http://www.opensource.org/licenses/mit-license.html MIT License

                                                                                              +
                                                                                              + +
                                                                                              +
                                                                                              + link +
                                                                                              +
                                                                                              + https://git.timshomepage.net/aviat/Query + +
                                                                                              +
                                                                                              + version +
                                                                                              +
                                                                                              + 4.0.0 + + +
                                                                                              +
                                                                                              + + + + +

                                                                                              + Interfaces, Classes, Traits and Enums + +

                                                                                              + +
                                                                                              + + + +
                                                                                              JoinType
                                                                                              +
                                                                                              Enum of join types
                                                                                              +
                                                                                              + + + + + + + + +
                                                                                              +
                                                                                              +
                                                                                              +
                                                                                              +

                                                                                              Search results

                                                                                              + +
                                                                                              +
                                                                                              +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                + + +
                                                                                                + + + + + + + + diff --git a/apiDocumentation/files/src-liketype.html b/apiDocumentation/files/src-liketype.html new file mode 100644 index 0000000..ff120e2 --- /dev/null +++ b/apiDocumentation/files/src-liketype.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                                                +

                                                                                                Documentation

                                                                                                + + + + + +
                                                                                                + +
                                                                                                +
                                                                                                + + + + +
                                                                                                +
                                                                                                  +
                                                                                                + +
                                                                                                +

                                                                                                LikeType.php

                                                                                                + +

                                                                                                Query

                                                                                                + +

                                                                                                SQL Query Builder / Database Abstraction Layer

                                                                                                +

                                                                                                PHP version 8.1

                                                                                                +
                                                                                                + + +
                                                                                                + Tags + +
                                                                                                +
                                                                                                +
                                                                                                + author +
                                                                                                +
                                                                                                + +

                                                                                                Timothy J. Warren tim@timshome.page

                                                                                                +
                                                                                                + +
                                                                                                +
                                                                                                + copyright +
                                                                                                +
                                                                                                + +

                                                                                                2012 - 2023 Timothy J. Warren

                                                                                                +
                                                                                                + +
                                                                                                +
                                                                                                + license +
                                                                                                +
                                                                                                + +

                                                                                                http://www.opensource.org/licenses/mit-license.html MIT License

                                                                                                +
                                                                                                + +
                                                                                                +
                                                                                                + link +
                                                                                                +
                                                                                                + https://git.timshomepage.net/aviat/Query + +
                                                                                                +
                                                                                                + version +
                                                                                                +
                                                                                                + 4.0.0 + + +
                                                                                                +
                                                                                                + + + + +

                                                                                                + Interfaces, Classes, Traits and Enums + +

                                                                                                + +
                                                                                                + + + +
                                                                                                LikeType
                                                                                                +
                                                                                                'Enum' of join types
                                                                                                +
                                                                                                + + + + + + + + +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +

                                                                                                Search results

                                                                                                + +
                                                                                                +
                                                                                                +
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  + + +
                                                                                                  + + + + + + + + diff --git a/apiDocumentation/files/src-maptype.html b/apiDocumentation/files/src-maptype.html new file mode 100644 index 0000000..34e7461 --- /dev/null +++ b/apiDocumentation/files/src-maptype.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                                                  +

                                                                                                  Documentation

                                                                                                  + + + + + +
                                                                                                  + +
                                                                                                  +
                                                                                                  + + + + +
                                                                                                  +
                                                                                                    +
                                                                                                  + +
                                                                                                  +

                                                                                                  MapType.php

                                                                                                  + +

                                                                                                  Query

                                                                                                  + +

                                                                                                  SQL Query Builder / Database Abstraction Layer

                                                                                                  +

                                                                                                  PHP version 8.1

                                                                                                  +
                                                                                                  + + +
                                                                                                  + Tags + +
                                                                                                  +
                                                                                                  +
                                                                                                  + author +
                                                                                                  +
                                                                                                  + +

                                                                                                  Timothy J. Warren tim@timshome.page

                                                                                                  +
                                                                                                  + +
                                                                                                  +
                                                                                                  + copyright +
                                                                                                  +
                                                                                                  + +

                                                                                                  2012 - 2023 Timothy J. Warren

                                                                                                  +
                                                                                                  + +
                                                                                                  +
                                                                                                  + license +
                                                                                                  +
                                                                                                  + +

                                                                                                  http://www.opensource.org/licenses/mit-license.html MIT License

                                                                                                  +
                                                                                                  + +
                                                                                                  +
                                                                                                  + link +
                                                                                                  +
                                                                                                  + https://git.timshomepage.net/aviat/Query + +
                                                                                                  +
                                                                                                  + version +
                                                                                                  +
                                                                                                  + 4.0.0 + + +
                                                                                                  +
                                                                                                  + + + + +

                                                                                                  + Interfaces, Classes, Traits and Enums + +

                                                                                                  + +
                                                                                                  + + + +
                                                                                                  MapType
                                                                                                  +
                                                                                                  Enum of query map types
                                                                                                  +
                                                                                                  + + + + + + + + +
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  +

                                                                                                  Search results

                                                                                                  + +
                                                                                                  +
                                                                                                  +
                                                                                                    +
                                                                                                    +
                                                                                                    +
                                                                                                    +
                                                                                                    +
                                                                                                    + + +
                                                                                                    + + + + + + + + diff --git a/apiDocumentation/files/src-querybuilder.html b/apiDocumentation/files/src-querybuilder.html new file mode 100644 index 0000000..e22b05d --- /dev/null +++ b/apiDocumentation/files/src-querybuilder.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                                                    +

                                                                                                    Documentation

                                                                                                    + + + + + +
                                                                                                    + +
                                                                                                    +
                                                                                                    + + + + +
                                                                                                    +
                                                                                                      +
                                                                                                    + +
                                                                                                    +

                                                                                                    QueryBuilder.php

                                                                                                    + +

                                                                                                    Query

                                                                                                    + +

                                                                                                    SQL Query Builder / Database Abstraction Layer

                                                                                                    +

                                                                                                    PHP version 8.1

                                                                                                    +
                                                                                                    + + +
                                                                                                    + Tags + +
                                                                                                    +
                                                                                                    +
                                                                                                    + author +
                                                                                                    +
                                                                                                    + +

                                                                                                    Timothy J. Warren tim@timshome.page

                                                                                                    +
                                                                                                    + +
                                                                                                    +
                                                                                                    + copyright +
                                                                                                    +
                                                                                                    + +

                                                                                                    2012 - 2023 Timothy J. Warren

                                                                                                    +
                                                                                                    + +
                                                                                                    +
                                                                                                    + license +
                                                                                                    +
                                                                                                    + +

                                                                                                    http://www.opensource.org/licenses/mit-license.html MIT License

                                                                                                    +
                                                                                                    + +
                                                                                                    +
                                                                                                    + link +
                                                                                                    +
                                                                                                    + https://git.timshomepage.net/aviat/Query + +
                                                                                                    +
                                                                                                    + version +
                                                                                                    +
                                                                                                    + 4.0.0 + + +
                                                                                                    +
                                                                                                    + + + + +

                                                                                                    + Interfaces, Classes, Traits and Enums + +

                                                                                                    + +
                                                                                                    + +
                                                                                                    QueryBuilder
                                                                                                    +
                                                                                                    Convenience class for creating sql queries
                                                                                                    + + +
                                                                                                    + + + + + + + + +
                                                                                                    +
                                                                                                    +
                                                                                                    +
                                                                                                    +

                                                                                                    Search results

                                                                                                    + +
                                                                                                    +
                                                                                                    +
                                                                                                      +
                                                                                                      +
                                                                                                      +
                                                                                                      +
                                                                                                      +
                                                                                                      + + +
                                                                                                      + + + + + + + + diff --git a/apiDocumentation/files/src-querybuilderbase.html b/apiDocumentation/files/src-querybuilderbase.html new file mode 100644 index 0000000..9a15d15 --- /dev/null +++ b/apiDocumentation/files/src-querybuilderbase.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                                                      +

                                                                                                      Documentation

                                                                                                      + + + + + +
                                                                                                      + +
                                                                                                      +
                                                                                                      + + + + +
                                                                                                      +
                                                                                                        +
                                                                                                      + +
                                                                                                      +

                                                                                                      QueryBuilderBase.php

                                                                                                      + +

                                                                                                      Query

                                                                                                      + +

                                                                                                      SQL Query Builder / Database Abstraction Layer

                                                                                                      +

                                                                                                      PHP version 8.1

                                                                                                      +
                                                                                                      + + +
                                                                                                      + Tags + +
                                                                                                      +
                                                                                                      +
                                                                                                      + author +
                                                                                                      +
                                                                                                      + +

                                                                                                      Timothy J. Warren tim@timshome.page

                                                                                                      +
                                                                                                      + +
                                                                                                      +
                                                                                                      + copyright +
                                                                                                      +
                                                                                                      + +

                                                                                                      2012 - 2023 Timothy J. Warren

                                                                                                      +
                                                                                                      + +
                                                                                                      +
                                                                                                      + license +
                                                                                                      +
                                                                                                      + +

                                                                                                      http://www.opensource.org/licenses/mit-license.html MIT License

                                                                                                      +
                                                                                                      + +
                                                                                                      +
                                                                                                      + link +
                                                                                                      +
                                                                                                      + https://git.timshomepage.net/aviat/Query + +
                                                                                                      +
                                                                                                      + version +
                                                                                                      +
                                                                                                      + 4.0.0 + + +
                                                                                                      +
                                                                                                      + + + + +

                                                                                                      + Interfaces, Classes, Traits and Enums + +

                                                                                                      + +
                                                                                                      + +
                                                                                                      QueryBuilderBase
                                                                                                      +
                                                                                                      + + +
                                                                                                      + + + + + + + + +
                                                                                                      +
                                                                                                      +
                                                                                                      +
                                                                                                      +

                                                                                                      Search results

                                                                                                      + +
                                                                                                      +
                                                                                                      +
                                                                                                        +
                                                                                                        +
                                                                                                        +
                                                                                                        +
                                                                                                        +
                                                                                                        + + +
                                                                                                        + + + + + + + + diff --git a/apiDocumentation/files/src-querybuilderinterface.html b/apiDocumentation/files/src-querybuilderinterface.html new file mode 100644 index 0000000..5aba949 --- /dev/null +++ b/apiDocumentation/files/src-querybuilderinterface.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                                                        +

                                                                                                        Documentation

                                                                                                        + + + + + +
                                                                                                        + +
                                                                                                        +
                                                                                                        + + + + +
                                                                                                        +
                                                                                                          +
                                                                                                        + +
                                                                                                        +

                                                                                                        QueryBuilderInterface.php

                                                                                                        + +

                                                                                                        Query

                                                                                                        + +

                                                                                                        SQL Query Builder / Database Abstraction Layer

                                                                                                        +

                                                                                                        PHP version 8.1

                                                                                                        +
                                                                                                        + + +
                                                                                                        + Tags + +
                                                                                                        +
                                                                                                        +
                                                                                                        + author +
                                                                                                        +
                                                                                                        + +

                                                                                                        Timothy J. Warren tim@timshome.page

                                                                                                        +
                                                                                                        + +
                                                                                                        +
                                                                                                        + copyright +
                                                                                                        +
                                                                                                        + +

                                                                                                        2012 - 2023 Timothy J. Warren

                                                                                                        +
                                                                                                        + +
                                                                                                        +
                                                                                                        + license +
                                                                                                        +
                                                                                                        + +

                                                                                                        http://www.opensource.org/licenses/mit-license.html MIT License

                                                                                                        +
                                                                                                        + +
                                                                                                        +
                                                                                                        + link +
                                                                                                        +
                                                                                                        + https://git.timshomepage.net/aviat/Query + +
                                                                                                        +
                                                                                                        + version +
                                                                                                        +
                                                                                                        + 4.0.0 + + +
                                                                                                        +
                                                                                                        + + + + +

                                                                                                        + Interfaces, Classes, Traits and Enums + +

                                                                                                        + +
                                                                                                        +
                                                                                                        QueryBuilderInterface
                                                                                                        +
                                                                                                        Interface defining the Query Builder class
                                                                                                        + + + +
                                                                                                        + + + + + + + + +
                                                                                                        +
                                                                                                        +
                                                                                                        +
                                                                                                        +

                                                                                                        Search results

                                                                                                        + +
                                                                                                        +
                                                                                                        +
                                                                                                          +
                                                                                                          +
                                                                                                          +
                                                                                                          +
                                                                                                          +
                                                                                                          + + +
                                                                                                          + + + + + + + + diff --git a/apiDocumentation/files/src-queryparser.html b/apiDocumentation/files/src-queryparser.html new file mode 100644 index 0000000..cc4e1b5 --- /dev/null +++ b/apiDocumentation/files/src-queryparser.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                                                          +

                                                                                                          Documentation

                                                                                                          + + + + + +
                                                                                                          + +
                                                                                                          +
                                                                                                          + + + + +
                                                                                                          +
                                                                                                            +
                                                                                                          + +
                                                                                                          +

                                                                                                          QueryParser.php

                                                                                                          + +

                                                                                                          Query

                                                                                                          + +

                                                                                                          SQL Query Builder / Database Abstraction Layer

                                                                                                          +

                                                                                                          PHP version 8.1

                                                                                                          +
                                                                                                          + + +
                                                                                                          + Tags + +
                                                                                                          +
                                                                                                          +
                                                                                                          + author +
                                                                                                          +
                                                                                                          + +

                                                                                                          Timothy J. Warren tim@timshome.page

                                                                                                          +
                                                                                                          + +
                                                                                                          +
                                                                                                          + copyright +
                                                                                                          +
                                                                                                          + +

                                                                                                          2012 - 2023 Timothy J. Warren

                                                                                                          +
                                                                                                          + +
                                                                                                          +
                                                                                                          + license +
                                                                                                          +
                                                                                                          + +

                                                                                                          http://www.opensource.org/licenses/mit-license.html MIT License

                                                                                                          +
                                                                                                          + +
                                                                                                          +
                                                                                                          + link +
                                                                                                          +
                                                                                                          + https://git.timshomepage.net/aviat/Query + +
                                                                                                          +
                                                                                                          + version +
                                                                                                          +
                                                                                                          + 4.0.0 + + +
                                                                                                          +
                                                                                                          + + + + +

                                                                                                          + Interfaces, Classes, Traits and Enums + +

                                                                                                          + +
                                                                                                          + +
                                                                                                          QueryParser
                                                                                                          +
                                                                                                          Utility Class to parse sql clauses for properly escaping identifiers
                                                                                                          + + +
                                                                                                          + + + + + + + + +
                                                                                                          +
                                                                                                          +
                                                                                                          +
                                                                                                          +

                                                                                                          Search results

                                                                                                          + +
                                                                                                          +
                                                                                                          +
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            + + +
                                                                                                            + + + + + + + + diff --git a/apiDocumentation/files/src-querytype.html b/apiDocumentation/files/src-querytype.html new file mode 100644 index 0000000..b1de736 --- /dev/null +++ b/apiDocumentation/files/src-querytype.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                                                            +

                                                                                                            Documentation

                                                                                                            + + + + + +
                                                                                                            + +
                                                                                                            +
                                                                                                            + + + + +
                                                                                                            +
                                                                                                              +
                                                                                                            + +
                                                                                                            +

                                                                                                            QueryType.php

                                                                                                            + +

                                                                                                            Query

                                                                                                            + +

                                                                                                            SQL Query Builder / Database Abstraction Layer

                                                                                                            +

                                                                                                            PHP version 8.1

                                                                                                            +
                                                                                                            + + +
                                                                                                            + Tags + +
                                                                                                            +
                                                                                                            +
                                                                                                            + author +
                                                                                                            +
                                                                                                            + +

                                                                                                            Timothy J. Warren tim@timshome.page

                                                                                                            +
                                                                                                            + +
                                                                                                            +
                                                                                                            + copyright +
                                                                                                            +
                                                                                                            + +

                                                                                                            2012 - 2023 Timothy J. Warren

                                                                                                            +
                                                                                                            + +
                                                                                                            +
                                                                                                            + license +
                                                                                                            +
                                                                                                            + +

                                                                                                            http://www.opensource.org/licenses/mit-license.html MIT License

                                                                                                            +
                                                                                                            + +
                                                                                                            +
                                                                                                            + link +
                                                                                                            +
                                                                                                            + https://git.timshomepage.net/aviat/Query + +
                                                                                                            +
                                                                                                            + version +
                                                                                                            +
                                                                                                            + 4.0.0 + + +
                                                                                                            +
                                                                                                            + + + + +

                                                                                                            + Interfaces, Classes, Traits and Enums + +

                                                                                                            + +
                                                                                                            + + + +
                                                                                                            QueryType
                                                                                                            +
                                                                                                            Enum of query types
                                                                                                            +
                                                                                                            + + + + + + + + +
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            +

                                                                                                            Search results

                                                                                                            + +
                                                                                                            +
                                                                                                            +
                                                                                                              +
                                                                                                              +
                                                                                                              +
                                                                                                              +
                                                                                                              +
                                                                                                              + + +
                                                                                                              + + + + + + + + diff --git a/apiDocumentation/files/src-state.html b/apiDocumentation/files/src-state.html new file mode 100644 index 0000000..6cc5453 --- /dev/null +++ b/apiDocumentation/files/src-state.html @@ -0,0 +1,207 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                                                              +

                                                                                                              Documentation

                                                                                                              + + + + + +
                                                                                                              + +
                                                                                                              +
                                                                                                              + + + + +
                                                                                                              +
                                                                                                                +
                                                                                                              + +
                                                                                                              +

                                                                                                              State.php

                                                                                                              + +

                                                                                                              Query

                                                                                                              + +

                                                                                                              SQL Query Builder / Database Abstraction Layer

                                                                                                              +

                                                                                                              PHP version 8.1

                                                                                                              +
                                                                                                              + + +
                                                                                                              + Tags + +
                                                                                                              +
                                                                                                              +
                                                                                                              + author +
                                                                                                              +
                                                                                                              + +

                                                                                                              Timothy J. Warren tim@timshome.page

                                                                                                              +
                                                                                                              + +
                                                                                                              +
                                                                                                              + copyright +
                                                                                                              +
                                                                                                              + +

                                                                                                              2012 - 2023 Timothy J. Warren

                                                                                                              +
                                                                                                              + +
                                                                                                              +
                                                                                                              + license +
                                                                                                              +
                                                                                                              + +

                                                                                                              http://www.opensource.org/licenses/mit-license.html MIT License

                                                                                                              +
                                                                                                              + +
                                                                                                              +
                                                                                                              + link +
                                                                                                              +
                                                                                                              + https://git.timshomepage.net/aviat/Query + +
                                                                                                              +
                                                                                                              + version +
                                                                                                              +
                                                                                                              + 4.0.0 + + +
                                                                                                              +
                                                                                                              + + + + +

                                                                                                              + Interfaces, Classes, Traits and Enums + +

                                                                                                              + +
                                                                                                              + +
                                                                                                              State
                                                                                                              +
                                                                                                              Query builder state
                                                                                                              + + +
                                                                                                              + + + + + + + + +
                                                                                                              +
                                                                                                              +
                                                                                                              +
                                                                                                              +

                                                                                                              Search results

                                                                                                              + +
                                                                                                              +
                                                                                                              +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                + + +
                                                                                                                + + + + + + + + diff --git a/apiDocumentation/files/src/ConnectionManager.php.txt b/apiDocumentation/files/src/ConnectionManager.php.txt new file mode 100644 index 0000000..6b6ffac --- /dev/null +++ b/apiDocumentation/files/src/ConnectionManager.php.txt @@ -0,0 +1,225 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query; + +use DomainException; +use stdClass; + +/** + * Connection manager class to manage connections for the + * Query method + */ +final class ConnectionManager { + + /** + * Map of named database connections + */ + private array $connections = []; + + /** + * Class instance variable + */ + private static ?ConnectionManager $instance = NULL; + + /** + * Private constructor to prevent multiple instances + * @codeCoverageIgnore + */ + private function __construct() + { + } + + /** + * Private clone method to prevent cloning + * + * @throws DomainException + * @return void + */ + public function __clone() + { + throw new DomainException("Can't clone singleton"); + } + + /** + * Prevent serialization of this object + * + * @throws DomainException + */ + public function __sleep() + { + throw new DomainException('No serializing of singleton'); + } + + /** + * Make sure serialize/deserialize doesn't work + * + * @throws DomainException + */ + public function __wakeup(): void + { + throw new DomainException("Can't unserialize singleton"); + } + + /** + * Return a connection manager instance + * + * @staticvar null $instance + */ + public static function getInstance(): ConnectionManager + { + if (self::$instance === NULL) + { + self::$instance = new self(); + } + + return self::$instance; + } + + /** + * Returns the connection specified by the name given + * + * @param string $name + * @throws Exception\NonExistentConnectionException + */ + public function getConnection(string $name = ''): QueryBuilderInterface + { + // If the parameter is a string, use it as an array index + if (is_scalar($name) && isset($this->connections[$name])) + { + return $this->connections[$name]; + } + + if (empty($name) && ! empty($this->connections)) // Otherwise, return the last one + { + return end($this->connections); + } + + // You should actually connect before trying to get a connection... + throw new Exception\NonExistentConnectionException('The specified connection does not exist'); + } + + /** + * Parse the passed parameters and return a connection + * + * @param array|object $params + * @return QueryBuilderInterface + */ + public function connect(array|object $params): QueryBuilderInterface + { + [$dsn, $dbType, $params, $options] = $this->parseParams($params); + + $dbType = ucfirst($dbType); + $driver = "\\Query\\Drivers\\{$dbType}\\Driver"; + + // Create the database connection + $db = empty($params->user) + ? new $driver($dsn, '', '', $options) + : new $driver($dsn, $params->user, $params->pass, $options); + + // Set the table prefix, if it exists + if (isset($params->prefix)) + { + $db->setTablePrefix($params->prefix); + } + + // Create Query Builder object + $conn = new QueryBuilder($db, new QueryParser($db)); + + + // Save it for later + if (isset($params->alias)) + { + $this->connections[$params->alias] = $conn; + } + else + { + $this->connections[] = $conn; + } + + return $conn; + } + + /** + * Parses params into a dsn and option array + * + * @param array|object $rawParams + * @throws Exception\BadDBDriverException + * @return array + */ + public function parseParams(array|object $rawParams): array + { + $params = (object) $rawParams; + $params->type = strtolower($params->type); + $dbType = ($params->type === 'postgresql') ? 'pgsql' : $params->type; + $dbType = ucfirst($dbType); + + // Make sure the class exists + if ( ! class_exists("\\Query\\Drivers\\{$dbType}\\Driver")) + { + throw new Exception\BadDBDriverException('Database driver does not exist, or is not supported'); + } + + // Set additional PDO options + $options = []; + + if (isset($params->options)) + { + $options = (array) $params->options; + } + + // Create the dsn for the database to connect to + $dsn = strtolower($dbType) === 'sqlite' ? $params->file : $this->createDsn($dbType, $params); + + + return [$dsn, $dbType, $params, $options]; + } + + /** + * Create the dsn from the db type and params + * + * @codeCoverageIgnore + */ + private function createDsn(string $dbType, stdClass $params): string + { + $pairs = []; + + if ( ! empty($params->database)) + { + $pairs[] = implode('=', ['dbname', $params->database]); + } + + $skip = [ + 'name' => 'name', + 'pass' => 'pass', + 'user' => 'user', + 'type' => 'type', + 'prefix' => 'prefix', + 'options' => 'options', + 'database' => 'database', + 'alias' => 'alias' + ]; + + foreach($params as $key => $val) + { + if (( ! array_key_exists($key, $skip)) && ! empty($val)) + { + $pairs[] = implode('=', [$key, $val]); + } + } + + return strtolower($dbType) . ':' . implode(';', $pairs); + } +} \ No newline at end of file diff --git a/apiDocumentation/files/src/Drivers/AbstractDriver.php.txt b/apiDocumentation/files/src/Drivers/AbstractDriver.php.txt new file mode 100644 index 0000000..e4274ef --- /dev/null +++ b/apiDocumentation/files/src/Drivers/AbstractDriver.php.txt @@ -0,0 +1,627 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query\Drivers; + +use InvalidArgumentException; +use PDO; +use PDOStatement; + +use function call_user_func_array; +use function dbFilter; +use function is_object; +use function is_string; + +/** + * Base Database class + * + * Extends PDO to simplify cross-database issues + */ +abstract class AbstractDriver + extends PDO + implements DriverInterface { + + /** + * Reference to the last executed query + */ + protected PDOStatement $statement; + + /** + * Start character to escape identifiers + */ + protected string $escapeCharOpen = '"'; + + /** + * End character to escape identifiers + */ + protected string $escapeCharClose = '"'; + + /** + * Reference to sql class + */ + protected SQLInterface $driverSQL; + + /** + * Reference to util class + */ + protected AbstractUtil $util; + + /** + * Last query executed + */ + protected string $lastQuery = ''; + + /** + * Prefix to apply to table names + */ + protected string $tablePrefix = ''; + + /** + * Whether the driver supports 'TRUNCATE' + */ + protected bool $hasTruncate = TRUE; + + /** + * PDO constructor wrapper + */ + public function __construct(string $dsn, string $username=NULL, string $password=NULL, array $driverOptions=[]) + { + // Set PDO to display errors as exceptions, and apply driver options + $driverOptions[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; + parent::__construct($dsn, $username, $password, $driverOptions); + + $this->_loadSubClasses(); + } + + /** + * Loads the subclasses for the driver + */ + protected function _loadSubClasses(): void + { + // Load the sql and util class for the driver + $thisClass = $this::class; + $nsArray = explode("\\", $thisClass); + array_pop($nsArray); + $driver = array_pop($nsArray); + $sqlClass = __NAMESPACE__ . "\\{$driver}\\SQL"; + $utilClass = __NAMESPACE__ . "\\{$driver}\\Util"; + + $this->driverSQL = new $sqlClass(); + $this->util = new $utilClass($this); + } + + /** + * Allow invoke to work on table object + * + * @codeCoverageIgnore + * @return mixed + */ + public function __call(string $name, array $args = []) + { + if ( + isset($this->$name) + && is_object($this->$name) + && method_exists($this->$name, '__invoke') + ) + { + return call_user_func_array([$this->$name, '__invoke'], $args); + } + + return NULL; + } + + // -------------------------------------------------------------------------- + // ! Accessors / Mutators + // -------------------------------------------------------------------------- + /** + * Get the last sql query executed + */ + public function getLastQuery(): string + { + return $this->lastQuery; + } + + /** + * Set the last query sql + */ + public function setLastQuery(string $queryString): void + { + $this->lastQuery = $queryString; + } + + /** + * Get the SQL class for the current driver + */ + public function getSql(): SQLInterface + { + return $this->driverSQL; + } + + /** + * Get the Util class for the current driver + */ + public function getUtil(): AbstractUtil + { + return $this->util; + } + + /** + * Set the common table name prefix + */ + public function setTablePrefix(string $prefix): void + { + $this->tablePrefix = $prefix; + } + + // -------------------------------------------------------------------------- + // ! Concrete functions that can be overridden in child classes + // -------------------------------------------------------------------------- + /** + * Simplifies prepared statements for database queries + */ + public function prepareQuery(string $sql, array $data): PDOStatement + { + // Prepare the sql, save the statement for easy access later + $this->statement = $this->prepare($sql); + + // Bind the parameters + foreach($data as $k => $value) + { + // Parameters are 1-based, the data is 0-based + // So, if the key is numeric, add 1 + if(is_numeric($k)) + { + $k++; + } + $this->statement->bindValue($k, $value); + } + + return $this->statement; + } + + /** + * Create and execute a prepared statement with the provided parameters + * + * @throws InvalidArgumentException + */ + public function prepareExecute(string $sql, array $params): PDOStatement + { + $this->statement = $this->prepareQuery($sql, $params); + $this->statement->execute(); + + return $this->statement; + } + + /** + * Returns number of rows affected by an INSERT, UPDATE, DELETE type query + */ + public function affectedRows(): int + { + // Return number of rows affected + return $this->statement->rowCount(); + } + + /** + * Prefixes a table if it is not already prefixed + */ + public function prefixTable(string $table): string + { + // Add the prefix to the table name + // before quoting it + if ( ! empty($this->tablePrefix)) + { + // Split identifier by period, will split into: + // database.schema.table OR + // schema.table OR + // database.table OR + // table + $identifiers = explode('.', $table); + $segments = count($identifiers); + + // Quote the last item, and add the database prefix + $identifiers[$segments - 1] = $this->_prefix(end($identifiers)); + + // Rejoin + $table = implode('.', $identifiers); + } + + return $table; + } + + /** + * Quote database table name, and set prefix + */ + public function quoteTable(string $table): string + { + $table = $this->prefixTable($table); + + // Finally, quote the table + return $this->quoteIdent($table); + } + + /** + * Surrounds the string with the databases identifier escape characters + */ + public function quoteIdent(string|array $identifier): string|array + { + if (is_array($identifier)) + { + return array_map([$this, __METHOD__], $identifier); + } + + // Make all the string-handling methods happy + // $identifier = (string)$identifier; + + // Handle comma-separated identifiers + if (str_contains($identifier, ',')) + { + $parts = array_map('mb_trim', explode(',', $identifier)); + $parts = array_map([$this, __METHOD__], $parts); + $identifier = implode(',', $parts); + } + + // Split each identifier by the period + $hiers = explode('.', $identifier); + $hiers = array_map('mb_trim', $hiers); + + // Re-compile the string + $raw = implode('.', array_map([$this, '_quote'], $hiers)); + + // Fix functions + $funcs = []; + preg_match_all("#{$this->escapeCharOpen}([a-zA-Z0-9_]+(\((.*?)\))){$this->escapeCharClose}#iu", $raw, $funcs, PREG_SET_ORDER); + foreach($funcs as $f) + { + // Unquote the function + // Quote the inside identifiers + $raw = str_replace([$f[0], $f[3]], [$f[1], $this->quoteIdent($f[3])], $raw); + } + + return $raw; + } + + /** + * Return schemas for databases that list them + */ + public function getSchemas(): ?array + { + // Most DBMSs conflate schemas and databases + return $this->getDbs(); + } + + /** + * Return list of tables for the current database + */ + public function getTables(): ?array + { + $tables = $this->driverQuery('tableList'); + natsort($tables); + return $tables; + } + + /** + * Return list of dbs for the current connection, if possible + */ + public function getDbs(): ?array + { + return $this->driverQuery('dbList'); + } + + /** + * Return list of views for the current database + */ + public function getViews(): ?array + { + $views = $this->driverQuery('viewList'); + sort($views); + return $views; + } + + /** + * Return list of sequences for the current database, if they exist + */ + public function getSequences(): ?array + { + return $this->driverQuery('sequenceList'); + } + + /** + * Return list of functions for the current database + * + * @deprecated Will be removed in next version + */ + public function getFunctions(): ?array + { + return $this->driverQuery('functionList', FALSE); + } + + /** + * Return list of stored procedures for the current database + * + * @deprecated Will be removed in next version + */ + public function getProcedures(): ?array + { + return $this->driverQuery('procedureList', FALSE); + } + + /** + * Return list of triggers for the current database + * + * @deprecated Will be removed in next version + */ + public function getTriggers(): ?array + { + return $this->driverQuery('triggerList', FALSE); + } + + /** + * Retrieves an array of non-user-created tables for + * the connection/database + */ + public function getSystemTables(): ?array + { + return $this->driverQuery('systemTableList'); + } + + /** + * Retrieve column information for the current database table + */ + public function getColumns(string $table): ?array + { + return $this->driverQuery($this->getSql()->columnList($this->prefixTable($table)), FALSE); + } + + /** + * Retrieve foreign keys for the table + */ + public function getFks(string $table): ?array + { + return $this->driverQuery($this->getSql()->fkList($table), FALSE); + } + + /** + * Retrieve indexes for the table + */ + public function getIndexes(string $table): ?array + { + return $this->driverQuery($this->getSql()->indexList($this->prefixTable($table)), FALSE); + } + + /** + * Retrieve list of data types for the database + */ + public function getTypes(): ?array + { + return $this->driverQuery('typeList', FALSE); + } + + /** + * Get the version of the database engine + */ + public function getVersion(): string + { + return $this->getAttribute(PDO::ATTR_SERVER_VERSION); + } + + /** + * Method to simplify retrieving db results for meta-data queries + */ + public function driverQuery(string|array $query, bool $filteredIndex=TRUE): ?array + { + // Call the appropriate method, if it exists + if (is_string($query) && method_exists($this->driverSQL, $query)) + { + $query = $this->getSql()->$query(); + } + + // Return if the values are returned instead of a query, + // or if the query doesn't apply to the driver + if ( ! is_string($query)) + { + return $query; + } + + // Run the query! + $res = $this->query($query); + + $flag = $filteredIndex ? PDO::FETCH_NUM : PDO::FETCH_ASSOC; + $all = $res->fetchAll($flag); + + return $filteredIndex ? dbFilter($all, 0) : $all; + } + + /** + * Return the number of rows returned for a SELECT query + * + * @see http://us3.php.net/manual/en/pdostatement.rowcount.php#87110 + */ + public function numRows(): ?int + { + $regex = '/^SELECT\s+(?:ALL\s+|DISTINCT\s+)?(?:.*?)\s+FROM\s+(.*)$/i'; + $output = []; + + if (preg_match($regex, $this->lastQuery, $output) > 0) + { + $stmt = $this->query("SELECT COUNT(*) FROM {$output[1]}"); + return (int) $stmt->fetchColumn(); + } + + return NULL; + } + + /** + * Create sql for batch insert + */ + public function insertBatch(string $table, array $data=[]): array + { + $data = (array) $data; + $firstRow = (array) current($data); + + // Values for insertion + $vals = []; + foreach($data as $group) + { + $vals = [...$vals, ...array_values($group)]; + } + + $table = $this->quoteTable($table); + $fields = array_keys($firstRow); + + $sql = "INSERT INTO {$table} (" + . implode(',', $this->quoteIdent($fields)) + . ') VALUES '; + + // Create the placeholder groups + $params = array_fill(0, count($fields), '?'); + $paramString = '(' . implode(',', $params) . ')'; + $paramList = array_fill(0, count($data), $paramString); + + // Append the placeholder groups to the query + $sql .= implode(',', $paramList); + + return [$sql, $vals]; + } + + /** + * Creates a batch update, and executes it. + * Returns the number of affected rows + * + * @param string $table The table to update + * @param array $data an array of update values + * @param string $where The where key + */ + public function updateBatch(string $table, array $data, string $where): array + { + $affectedRows = 0; + $insertData = []; + $fieldLines = []; + + $sql = 'UPDATE ' . $this->quoteTable($table) . ' SET '; + + // Get the keys of the current set of data, except the one used to + // set the update condition + $fields = array_unique( + array_reduce($data, static function ($previous, $current) use (&$affectedRows, $where): array { + $affectedRows++; + $keys = array_diff(array_keys($current), [$where]); + + if ($previous === NULL) + { + return $keys; + } + + return array_merge($previous, $keys); + }) + ); + + // Create the CASE blocks for each data set + foreach ($fields as $field) + { + $line = $this->quoteIdent($field) . " = CASE\n"; + + $cases = []; + foreach ($data as $case) + { + if (array_key_exists($field, $case)) + { + $insertData[] = $case[$where]; + $insertData[] = $case[$field]; + $cases[] = 'WHEN ' . $this->quoteIdent($where) . ' =? ' + . 'THEN ? '; + } + } + + $line .= implode("\n", $cases) . "\n"; + $line .= 'ELSE ' . $this->quoteIdent($field) . ' END'; + + $fieldLines[] = $line; + } + + $sql .= implode(",\n", $fieldLines) . "\n"; + + $whereValues = array_column($data, $where); + foreach ($whereValues as $value) + { + $insertData[] = $value; + } + + // Create the placeholders for the WHERE IN clause + $placeholders = array_fill(0, count($whereValues), '?'); + + $sql .= 'WHERE ' . $this->quoteIdent($where) . ' IN '; + $sql .= '(' . implode(',', $placeholders) . ')'; + + return [$sql, $insertData, $affectedRows]; + } + + /** + * Empty the passed table + */ + public function truncate(string $table): PDOStatement + { + $sql = $this->hasTruncate + ? 'TRUNCATE TABLE ' + : 'DELETE FROM '; + + $sql .= $this->quoteTable($table); + + $this->statement = $this->query($sql); + return $this->statement; + } + + /** + * Generate the returning clause for the current database + */ + public function returning(string $query, string $select): string + { + return "{$query} RETURNING {$select}"; + } + + /** + * Helper method for quote_ident + * + * @param mixed $str + * @return mixed + */ + public function _quote(mixed $str): mixed + { + // Check that the current value is a string, + // and is not already quoted before quoting + // that value, otherwise, return the original value + return ( + is_string($str) + && ( ! str_starts_with($str, $this->escapeCharOpen)) + && strrpos($str, $this->escapeCharClose) !== 0 + ) + ? "{$this->escapeCharOpen}{$str}{$this->escapeCharClose}" + : $str; + + } + + /** + * Sets the table prefix on the passed string + */ + protected function _prefix(string $str): string + { + // Don't prefix an already prefixed table + if (str_contains($str, $this->tablePrefix)) + { + return $str; + } + + return $this->tablePrefix . $str; + } +} diff --git a/apiDocumentation/files/src/Drivers/AbstractSQL.php.txt b/apiDocumentation/files/src/Drivers/AbstractSQL.php.txt new file mode 100644 index 0000000..3dcfd89 --- /dev/null +++ b/apiDocumentation/files/src/Drivers/AbstractSQL.php.txt @@ -0,0 +1,37 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query\Drivers; + +/** + * Parent for database-specific syntax subclasses + */ +abstract class AbstractSQL implements SQLInterface { + + /** + * Limit clause + */ + public function limit(string $sql, int $limit, ?int $offset=NULL): string + { + $sql .= "\nLIMIT {$limit}"; + + if (is_numeric($offset)) + { + $sql .= " OFFSET {$offset}"; + } + + return $sql; + } +} diff --git a/apiDocumentation/files/src/Drivers/AbstractUtil.php.txt b/apiDocumentation/files/src/Drivers/AbstractUtil.php.txt new file mode 100644 index 0000000..b3bc5ea --- /dev/null +++ b/apiDocumentation/files/src/Drivers/AbstractUtil.php.txt @@ -0,0 +1,100 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query\Drivers; + +/** + * Abstract class defining database / table creation methods + */ +abstract class AbstractUtil { + + /** + * Save a reference to the connection object for later use + */ + public function __construct(private readonly DriverInterface $connection) + { + } + + /** + * Get the driver object for the current connection + */ + public function getDriver(): DriverInterface + { + return $this->connection; + } + + /** + * Convenience public function to generate sql for creating a db table + */ + public function createTable(string $name, array $fields, array $constraints=[], bool $ifNotExists=TRUE): string + { + $existsStr = $ifNotExists ? ' IF NOT EXISTS ' : ' '; + + // Reorganize into an array indexed with column information + // Eg $columnArray[$colname] = [ + // 'type' => ..., + // 'constraint' => ..., + // 'index' => ..., + // ] + $columnArray = \arrayZipper([ + 'type' => $fields, + 'constraint' => $constraints + ]); + + // Join column definitions together + $columns = []; + foreach($columnArray as $n => $props) + { + $str = $this->getDriver()->quoteIdent($n); + $str .= isset($props['type']) ? " {$props['type']}" : ''; + $str .= isset($props['constraint']) ? " {$props['constraint']}" : ''; + + $columns[] = $str; + } + + // Generate the sql for the creation of the table + $sql = 'CREATE TABLE'.$existsStr.$this->getDriver()->quoteTable($name).' ('; + $sql .= implode(', ', $columns); + $sql .= ')'; + + return $sql; + } + + /** + * Drop the selected table + */ + public function deleteTable(string $name): string + { + return 'DROP TABLE IF EXISTS '.$this->getDriver()->quoteTable($name); + } + + // -------------------------------------------------------------------------- + // ! Abstract Methods + // -------------------------------------------------------------------------- + /** + * Return an SQL file with the database table structure + * + * @abstract + */ + abstract public function backupStructure(): string; + + /** + * Return an SQL file with the database data as insert statements + * + * @abstract + */ + abstract public function backupData(): string; + +} \ No newline at end of file diff --git a/apiDocumentation/files/src/Drivers/DriverInterface.php.txt b/apiDocumentation/files/src/Drivers/DriverInterface.php.txt new file mode 100644 index 0000000..d3073fd --- /dev/null +++ b/apiDocumentation/files/src/Drivers/DriverInterface.php.txt @@ -0,0 +1,205 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query\Drivers; + +use InvalidArgumentException; +use PDO; +use PDOStatement; + +/** + * PDO Interface to implement for database drivers + * + * @method beginTransaction(): bool + * @method commit(): bool + * @method errorCode(): string + * @method errorInfo(): array + * @method exec(string $statement): int + * @method getAttribute(int $attribute) + * @method inTransaction(): bool + * @method lastInsertId(string $name = NULL): string + * @method prepare(string $statement, array $driver_options = []): PDOStatement + * @method query(string $statement): PDOStatement + * @method quote(string $string, int $parameter_type = PDO::PARAM_STR): string + * @method rollback(): bool + * @method setAttribute(int $attribute, $value): bool + */ +interface DriverInterface /* extends the interface of PDO */ { + + /** + * Constructor/Connection method + */ + public function __construct(string $dsn, string $username=NULL, string $password=NULL, array $driverOptions = []); + + /** + * Simplifies prepared statements for database queries + */ + public function prepareQuery(string $sql, array $data): PDOStatement; + + /** + * Retrieve column information for the current database table + */ + public function getColumns(string $table): ?array; + + /** + * Retrieve list of data types for the database + */ + public function getTypes(): ?array; + + /** + * Retrieve indexes for the table + */ + public function getIndexes(string $table): ?array; + + /** + * Retrieve foreign keys for the table + */ + public function getFks(string $table): ?array; + + /** + * Return list of tables for the current database + */ + public function getTables(): ?array; + + /** + * Retrieves an array of non-user-created tables for + * the connection/database + */ + public function getSystemTables(): ?array; + + /** + * Return schemas for databases that list them. Returns + * database list if schemas are databases for the current driver. + */ + public function getSchemas(): ?array; + + /** + * Return list of dbs for the current connection, if possible + */ + public function getDbs(): ?array; + + /** + * Return list of views for the current database + */ + public function getViews(): ?array; + + /** + * Return list of sequences for the current database, if they exist + */ + public function getSequences(): ?array; + + /** + * Return list of functions for the current database + * + * @deprecated Will be removed in next version + */ + public function getFunctions(): ?array; + + /** + * Return list of stored procedures for the current database + * + * @deprecated Will be removed in next version + */ + public function getProcedures(): ?array; + + /** + * Return list of triggers for the current database + * + * @deprecated Will be removed in next version + */ + public function getTriggers(): ?array; + + /** + * Surrounds the string with the databases identifier escape characters + */ + public function quoteIdent(string|array $identifier): string|array; + + /** + * Quote database table name, and set prefix + */ + public function quoteTable(string $table): string; + + /** + * Create and execute a prepared statement with the provided parameters + */ + public function prepareExecute(string $sql, array $params): PDOStatement; + + /** + * Method to simplify retrieving db results for meta-data queries + */ + public function driverQuery(string|array $query, bool $filteredIndex=TRUE): ?array; + + /** + * Returns number of rows affected by an INSERT, UPDATE, DELETE type query + */ + public function affectedRows(): int; + + /** + * Return the number of rows returned for a SELECT query + * @see http://us3.php.net/manual/en/pdostatement.rowcount.php#87110 + */ + public function numRows(): ?int; + + /** + * Prefixes a table if it is not already prefixed + */ + public function prefixTable(string $table): string; + + /** + * Create sql for batch insert + */ + public function insertBatch(string $table, array $data=[]): array; + + /** + * Creates a batch update, and executes it. + * Returns the number of affected rows + */ + public function updateBatch(string $table, array $data, string $where): array; + + /** + * Empty the passed table + */ + public function truncate(string $table): PDOStatement; + + /** + * Get the SQL class for the current driver + */ + public function getSql(): SQLInterface; + + /** + * Get the Util class for the current driver + */ + public function getUtil(): AbstractUtil; + + /** + * Get the version of the database engine + */ + public function getVersion(): string; + + /** + * Get the last sql query executed + */ + public function getLastQuery(): string; + + /** + * Set the last query sql + */ + public function setLastQuery(string $queryString): void; + + /** + * Set the common table name prefix + */ + public function setTablePrefix(string $prefix): void; +} diff --git a/apiDocumentation/files/src/Drivers/Mysql/Driver.php.txt b/apiDocumentation/files/src/Drivers/Mysql/Driver.php.txt new file mode 100644 index 0000000..c03fc32 --- /dev/null +++ b/apiDocumentation/files/src/Drivers/Mysql/Driver.php.txt @@ -0,0 +1,85 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query\Drivers\Mysql; + +use PDO; +use Query\Drivers\AbstractDriver; +use function defined; + +/** + * MySQL specific class + */ +class Driver extends AbstractDriver { + + /** + * Set the backtick as the MySQL escape character + */ + protected string $escapeCharOpen = '`'; + + /** + * Set the backtick as the MySQL escape character + */ + protected string $escapeCharClose = '`'; + + /** + * Connect to MySQL Database + * + * @codeCoverageIgnore + */ + public function __construct(string $dsn, string $username=NULL, string $password=NULL, array $options=[]) + { + // Set the charset to UTF-8 + if (defined('\\PDO::MYSQL_ATTR_INIT_COMMAND')) + { + $options = array_merge($options, [ + PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES UTF-8 COLLATE 'UTF-8'", + ]); + } + + if ( ! str_contains($dsn, 'mysql')) + { + $dsn = 'mysql:'.$dsn; + } + + parent::__construct($dsn, $username, $password, $options); + } + + /** + * Generate the returning clause for the current database + */ + public function returning(string $query, string $select): string + { + // @TODO add checks for MariaDB for future-proofing + // MariaDB 10.5.0+ supports the returning clause for insert + if ( + stripos($query, 'insert') !== FALSE + && version_compare($this->getVersion(), '10.5.0', '>=') + ){ + return parent::returning($query, $select); + } + + // MariaDB 10.0.5+ supports the returning clause for delete + if ( + stripos($query, 'delete') !== FALSE + && version_compare($this->getVersion(), '10.0.5', '>=') + ){ + return parent::returning($query, $select); + } + + // Just return the same SQL if the returning clause is not supported + return $query; + } +} \ No newline at end of file diff --git a/apiDocumentation/files/src/Drivers/Mysql/SQL.php.txt b/apiDocumentation/files/src/Drivers/Mysql/SQL.php.txt new file mode 100644 index 0000000..e0e8a59 --- /dev/null +++ b/apiDocumentation/files/src/Drivers/Mysql/SQL.php.txt @@ -0,0 +1,183 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query\Drivers\Mysql; + +use Query\Drivers\AbstractSQL; + +/** + * MySQL specific SQL + */ +class SQL extends AbstractSQL { + + /** + * Limit clause + */ + public function limit(string $sql, int $limit, ?int $offset=NULL): string + { + if ( ! is_numeric($offset)) + { + return $sql." LIMIT {$limit}"; + } + + return $sql." LIMIT {$offset}, {$limit}"; + } + + /** + * Get the query plan for the sql query + */ + public function explain(string $sql): string + { + return "EXPLAIN EXTENDED {$sql}"; + } + + /** + * Random ordering keyword + */ + public function random(): string + { + return ' RAND() DESC'; + } + + /** + * Returns sql to list other databases + */ + public function dbList(): string + { + return << + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query\Drivers\Mysql; + +use PDO; +use Query\Drivers\AbstractUtil; + +/** + * MySQL-specific backup, import and creation methods + */ +class Util extends AbstractUtil { + + /** + * Create an SQL backup file for the current database's structure + */ + public function backupStructure(): string + { + $string = []; + + // Get databases + $driver = $this->getDriver(); + $dbs = $driver->getDbs(); + + foreach($dbs as &$d) + { + // Skip built-in dbs + // @codeCoverageIgnoreStart + if ($d === 'mysql') + { + continue; + } + // @codeCoverageIgnoreEnd + + // Get the list of tables + $tables = $driver->driverQuery("SHOW TABLES FROM `{$d}`", TRUE); + + foreach($tables as $table) + { + $array = $driver->driverQuery("SHOW CREATE TABLE `{$d}`.`{$table}`", FALSE); + $row = current($array); + + if ( ! isset($row['Create Table'])) + { + continue; + } + + + $string[] = $row['Create Table']; + } + } + + return implode("\n\n", $string); + } + + /** + * Create an SQL backup file for the current database's data + */ + public function backupData(array $exclude=[]): string + { + $driver = $this->getDriver(); + $tables = $driver->getTables(); + + // Filter out the tables you don't want + if( ! empty($exclude)) + { + $tables = array_diff($tables, $exclude); + } + + $outputSql = ''; + + // Select the rows from each Table + foreach($tables as $t) + { + $sql = "SELECT * FROM `{$t}`"; + $res = $driver->query($sql); + $rows = $res->fetchAll(PDO::FETCH_ASSOC); + + // Skip empty tables + if ((is_countable($rows) ? count($rows) : 0) < 1) + { + continue; + } + + // Nab the column names by getting the keys of the first row + $columns = @array_keys($rows[0]); + + $insertRows = []; + + // Create the insert statements + foreach($rows as $row) + { + $row = array_values($row); + + // Quote strings + $row = array_map(fn ($r) => is_string($r) ? $driver->quote($r) : $r, $row); + $row = array_map('trim', $row); + + $rowString = 'INSERT INTO `'.trim($t).'` (`'.implode('`,`', $columns).'`) VALUES ('.implode(',', $row).');'; + + $row = NULL; + + $insertRows[] = $rowString; + } + + $outputSql .= "\n\n".implode("\n", $insertRows)."\n"; + } + + return $outputSql; + } +} \ No newline at end of file diff --git a/apiDocumentation/files/src/Drivers/Pgsql/Driver.php.txt b/apiDocumentation/files/src/Drivers/Pgsql/Driver.php.txt new file mode 100644 index 0000000..86e6e60 --- /dev/null +++ b/apiDocumentation/files/src/Drivers/Pgsql/Driver.php.txt @@ -0,0 +1,83 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query\Drivers\Pgsql; + +use Query\Drivers\AbstractDriver; + +/** + * PostgreSQL specific class + */ +class Driver extends AbstractDriver { + + /** + * Connect to a PosgreSQL database + * + * @codeCoverageIgnore + */ + public function __construct(string $dsn, string $username=NULL, string $password=NULL, array $options=[]) + { + if ( ! str_contains($dsn, 'pgsql')) + { + $dsn = 'pgsql:'.$dsn; + } + + parent::__construct($dsn, $username, $password, $options); + } + + /** + * Get a list of schemas for the current connection + */ + public function getSchemas(): ?array + { + $sql = <<driverQuery($sql); + } + + /** + * Retrieve foreign keys for the table + */ + public function getFks(string $table): array + { + $valueMap = [ + 'c' => 'CASCADE', + 'r' => 'RESTRICT', + ]; + + $keys = parent::getFks($table); + + foreach($keys as &$key) + { + foreach(['update', 'delete'] AS $type) + { + if ( ! isset($valueMap[$key[$type]])) + { + // @codeCoverageIgnoreStart + continue; + // @codeCoverageIgnoreEnd + } + + $key[$type] = $valueMap[$key[$type]]; + } + } + + return $keys; + } +} \ No newline at end of file diff --git a/apiDocumentation/files/src/Drivers/Pgsql/SQL.php.txt b/apiDocumentation/files/src/Drivers/Pgsql/SQL.php.txt new file mode 100644 index 0000000..4fb34aa --- /dev/null +++ b/apiDocumentation/files/src/Drivers/Pgsql/SQL.php.txt @@ -0,0 +1,245 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query\Drivers\Pgsql; + +use Query\Drivers\AbstractSQL; + +/** + * PostgreSQL specific SQL + */ +class SQL extends AbstractSQL { + + /** + * Get the query plan for the sql query + */ + public function explain(string $sql): string + { + return "EXPLAIN VERBOSE {$sql}"; + } + + /** + * Random ordering keyword + */ + public function random(): string + { + return ' RANDOM()'; + } + + /** + * Returns sql to list other databases + */ + public function dbList(): string + { + return << + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query\Drivers\Pgsql; + +use PDO; +use Query\Drivers\AbstractUtil; + +/** + * Postgres-specific backup, import and creation methods + */ +class Util extends AbstractUtil { + + /** + * Create an SQL backup file for the current database's structure + */ + public function backupStructure(): string + { + // @TODO Implement Backup function + return ''; + } + + /** + * Create an SQL backup file for the current database's data + */ + public function backupData(array $exclude=[]): string + { + $tables = $this->getDriver()->getTables(); + + // Filter out the tables you don't want + if( ! empty($exclude)) + { + $tables = array_diff($tables, $exclude); + } + + $outputSql = ''; + + // Get the data for each object + foreach($tables as $t) + { + $sql = 'SELECT * FROM "'.trim($t).'"'; + $res = $this->getDriver()->query($sql); + $objRes = $res->fetchAll(PDO::FETCH_ASSOC); + + // Don't add to the file if the table is empty + if ((is_countable($objRes) ? count($objRes) : 0) < 1) + { + continue; + } + + $res = NULL; + + // Nab the column names by getting the keys of the first row + $columns = @array_keys($objRes[0]); + + $insertRows = []; + + // Create the insert statements + foreach($objRes as $row) + { + $row = array_values($row); + + // Quote values as needed by type + $row = array_map([$this->getDriver(), 'quote'], $row); + $row = array_map('trim', $row); + + + $rowString = 'INSERT INTO "'.trim($t).'" ("'.implode('","', $columns).'") VALUES ('.implode(',', $row).');'; + + $row = NULL; + + $insertRows[] = $rowString; + } + + $objRes = NULL; + + $outputSql .= "\n\n".implode("\n", $insertRows)."\n"; + } + + return $outputSql; + } +} \ No newline at end of file diff --git a/apiDocumentation/files/src/Drivers/SQLInterface.php.txt b/apiDocumentation/files/src/Drivers/SQLInterface.php.txt new file mode 100644 index 0000000..048d463 --- /dev/null +++ b/apiDocumentation/files/src/Drivers/SQLInterface.php.txt @@ -0,0 +1,99 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query\Drivers; + +/** + * Interface for database-specific syntax subclasses + */ +interface SQLInterface { + + /** + * Get database specific sql for limit clause + */ + public function limit(string $sql, int $limit, ?int $offset=NULL): string; + + /** + * Modify the query to get the query plan + */ + public function explain(string $sql): string; + + /** + * Get the sql for random ordering + */ + public function random(): string; + + /** + * Returns sql to list other databases + */ + public function dbList(): string; + + /** + * Returns sql to list tables + */ + public function tableList(): string; + + /** + * Returns sql to list system tables + */ + public function systemTableList(): string|array; + + /** + * Returns sql to list views + */ + public function viewList(): string; + + /** + * Returns sql to list triggers + */ + public function triggerList(): ?string; + + /** + * Return sql to list functions + */ + public function functionList(): ?string; + + /** + * Return sql to list stored procedures + */ + public function procedureList(): ?string; + + /** + * Return sql to list sequences + */ + public function sequenceList(): ?string; + + /** + * Return sql to list database field types + */ + public function typeList(): string|array; + + /** + * Get information about the columns in the + * specified table + */ + public function columnList(string $table): string; + + /** + * Get the list of foreign keys for the current + * table + */ + public function fkList(string $table): string; + + /** + * Get the list of indexes for the current table + */ + public function indexList(string $table): string; +} \ No newline at end of file diff --git a/apiDocumentation/files/src/Drivers/Sqlite/Driver.php.txt b/apiDocumentation/files/src/Drivers/Sqlite/Driver.php.txt new file mode 100644 index 0000000..44e7d59 --- /dev/null +++ b/apiDocumentation/files/src/Drivers/Sqlite/Driver.php.txt @@ -0,0 +1,141 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query\Drivers\Sqlite; + +use function is_array; + +use InvalidArgumentException; +use PDO; +use Query\Drivers\AbstractDriver; + +/** + * SQLite specific class + */ +class Driver extends AbstractDriver { + /** + * SQLite has a truncate optimization, + * but no support for the actual keyword + */ + protected bool $hasTruncate = FALSE; + + /** + * Open SQLite Database + */ + public function __construct(string $dsn, string $user=NULL, string $pass=NULL, array $driverOptions=[]) + { + if ( ! str_contains($dsn, 'sqlite:')) + { + $dsn = "sqlite:{$dsn}"; + } + + parent::__construct($dsn, $user, $pass); + } + + /** + * Return list of dbs for the current connection, if possible. Meaningless for SQLite. + */ + public function getDbs(): ?array + { + return NULL; + } + + /** + * List tables for the current database + */ + public function getTables(): array + { + $sql = $this->getSql()->tableList(); + $res = $this->query($sql); + return dbFilter($res->fetchAll(PDO::FETCH_ASSOC), 'name'); + } + + /** + * Retrieve foreign keys for the table + */ + public function getFks(string $table): array + { + $returnRows = []; + + foreach(parent::getFks($table) as $row) + { + $returnRows[] = [ + 'child_column' => $row['from'], + 'parent_table' => $row['table'], + 'parent_column' => $row['to'], + 'update' => $row['on_update'], + 'delete' => $row['on_delete'] + ]; + } + + return $returnRows; + } + + /** + * Create sql for batch insert + * + * @codeCoverageIgnore + * @return array[]|string[]|null[] + */ + public function insertBatch(string $table, array $data=[]): array + { + // If greater than version 3.7.11, supports the same syntax as + // MySQL and Postgres + if (version_compare($this->getVersion(), '3.7.11', '>=')) + { + return parent::insertBatch($table, $data); + } + + // -------------------------------------------------------------------------- + // Otherwise, do a union query as an analogue to a 'proper' batch insert + // -------------------------------------------------------------------------- + + // Each member of the data array needs to be an array + if ( ! is_array(current($data))) + { + throw new InvalidArgumentException('$data must be an array of arrays'); + } + + // Start the block of sql statements + $table = $this->quoteTable($table); + $sql = "INSERT INTO {$table} \n"; + + // Create a key-value mapping for each field + $first = array_shift($data); + $cols = []; + foreach($first as $colName => $datum) + { + $cols[] = $this->_quote($datum) . ' AS ' . $this->quoteIdent($colName); + } + $sql .= 'SELECT ' . implode(', ', $cols) . "\n"; + + foreach($data as $union) + { + $vals = array_map([$this, 'quote'], $union); + $sql .= 'UNION SELECT ' . implode(',', $vals) . "\n"; + } + + return [$sql, NULL]; + } + + /** + * Generate the returning clause for the current database + */ + public function returning(string $query, string $select): string + { + // Return the same query, as the returning clause is not supported + return $query; + } +} \ No newline at end of file diff --git a/apiDocumentation/files/src/Drivers/Sqlite/SQL.php.txt b/apiDocumentation/files/src/Drivers/Sqlite/SQL.php.txt new file mode 100644 index 0000000..5b5971e --- /dev/null +++ b/apiDocumentation/files/src/Drivers/Sqlite/SQL.php.txt @@ -0,0 +1,170 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query\Drivers\Sqlite; + +use Query\Drivers\AbstractSQL; +use Query\Exception\NotImplementedException; + +/** + * SQLite Specific SQL + */ +class SQL extends AbstractSQL { + + /** + * Get the query plan for the sql query + */ + public function explain(string $sql): string + { + return "EXPLAIN QUERY PLAN {$sql}"; + } + + /** + * Random ordering keyword + */ + public function random(): string + { + return ' RANDOM()'; + } + + /** + * Returns sql to list other databases. Meaningless for SQLite, as this + * just returns the database(s) that we are currently connected to. + */ + public function dbList(): string + { + return ''; + } + + /** + * Returns sql to list tables + */ + public function tableList(): string + { + return << + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query\Drivers\Sqlite; + +use PDO; +use Query\Drivers\AbstractUtil; + +/** + * SQLite-specific backup, import and creation methods + */ +class Util extends AbstractUtil { + + /** + * Create an SQL backup file for the current database's data + */ + public function backupData(array $excluded=[]): string + { + // Get a list of all the objects + $sql = 'SELECT DISTINCT "name" + FROM "sqlite_master" + WHERE "type"=\'table\''; + + if( ! empty($excluded)) + { + $sql .= " AND \"name\" NOT IN('".implode("','", $excluded)."')"; + } + + $res = $this->getDriver()->query($sql); + $result = $res->fetchAll(PDO::FETCH_ASSOC); + + unset($res); + + $outputSql = ''; + + // Get the data for each object + foreach($result as $r) + { + $sql = 'SELECT * FROM "'.$r['name'].'"'; + $res = $this->getDriver()->query($sql); + $objRes = $res->fetchAll(PDO::FETCH_ASSOC); + + unset($res); + + // If the row is empty, continue + if (empty($objRes)) + { + continue; + } + + // Nab the column names by getting the keys of the first row + $columns = array_keys(current($objRes)); + + $insertRows = []; + + // Create the insert statements + foreach($objRes as $row) + { + $row = array_values($row); + + // Quote values as needed by type + foreach ($row as $i => $_) + { + $row[$i] = (is_numeric($row[$i])) + ? $row[$i] + : $this->getDriver()->quote($row[$i]); + } + + $rowString = 'INSERT INTO "'.$r['name'].'" ("'.implode('","', $columns).'") VALUES ('.implode(',', $row).');'; + + unset($row); + + $insertRows[] = $rowString; + } + + unset($objRes); + + $outputSql .= "\n\n".implode("\n", $insertRows); + } + + return $outputSql; + } + + /** + * Create an SQL backup file for the current database's structure + */ + public function backupStructure(): string + { + // Fairly easy for SQLite...just query the master table + $sql = 'SELECT "sql" FROM "sqlite_master"'; + $res = $this->getDriver()->query($sql); + $result = $res->fetchAll(PDO::FETCH_ASSOC); + + $sqlArray = []; + + foreach($result as $r) + { + $sqlArray[] = $r['sql']; + } + + return implode(";\n", $sqlArray) . ';'; + } +} \ No newline at end of file diff --git a/apiDocumentation/files/src/Exception/BadDBDriverException.php.txt b/apiDocumentation/files/src/Exception/BadDBDriverException.php.txt new file mode 100644 index 0000000..be0f0fa --- /dev/null +++ b/apiDocumentation/files/src/Exception/BadDBDriverException.php.txt @@ -0,0 +1,24 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query\Exception; + +use InvalidArgumentException; + +/** + * Generic exception for bad drivers + */ +class BadDBDriverException extends InvalidArgumentException { +} \ No newline at end of file diff --git a/apiDocumentation/files/src/Exception/NonExistentConnectionException.php.txt b/apiDocumentation/files/src/Exception/NonExistentConnectionException.php.txt new file mode 100644 index 0000000..0e80797 --- /dev/null +++ b/apiDocumentation/files/src/Exception/NonExistentConnectionException.php.txt @@ -0,0 +1,24 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query\Exception; + +use InvalidArgumentException; + +/** + * Exception for missing database connection + */ +class NonExistentConnectionException extends InvalidArgumentException { +} \ No newline at end of file diff --git a/apiDocumentation/files/src/Exception/NotImplementedException.php.txt b/apiDocumentation/files/src/Exception/NotImplementedException.php.txt new file mode 100644 index 0000000..a0510d2 --- /dev/null +++ b/apiDocumentation/files/src/Exception/NotImplementedException.php.txt @@ -0,0 +1,24 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query\Exception; + +use BadMethodCallException; + +/** + * Exception for non-implemented method + */ +class NotImplementedException extends BadMethodCallException{ +} \ No newline at end of file diff --git a/apiDocumentation/files/src/JoinType.php.txt b/apiDocumentation/files/src/JoinType.php.txt new file mode 100644 index 0000000..f7a9f5b --- /dev/null +++ b/apiDocumentation/files/src/JoinType.php.txt @@ -0,0 +1,37 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query; + +/** + * Enum of join types + */ +enum JoinType: string { + case CROSS = 'cross'; + case INNER = 'inner'; + case OUTER = 'outer'; + case LEFT = 'left'; + case RIGHT = 'right'; + + public static function parse(string|self $val): self { + if ($val instanceof self) + { + return $val; + } + + return self::from($val); + } +} + diff --git a/apiDocumentation/files/src/LikeType.php.txt b/apiDocumentation/files/src/LikeType.php.txt new file mode 100644 index 0000000..5714c2a --- /dev/null +++ b/apiDocumentation/files/src/LikeType.php.txt @@ -0,0 +1,34 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query; + +/** + * 'Enum' of join types + */ +enum LikeType: string { + case BEFORE = 'before'; + case AFTER = 'after'; + case BOTH = 'both'; + + public static function parse(string|self $val): self { + if ($val instanceof self) + { + return $val; + } + + return self::from($val); + } +} \ No newline at end of file diff --git a/apiDocumentation/files/src/MapType.php.txt b/apiDocumentation/files/src/MapType.php.txt new file mode 100644 index 0000000..d58b4e8 --- /dev/null +++ b/apiDocumentation/files/src/MapType.php.txt @@ -0,0 +1,28 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query; + +/** + * Enum of query map types + */ +enum MapType: string { + case GROUP_END = 'group_end'; + case GROUP_START = 'group_start'; + case JOIN = 'join'; + case LIKE = 'like'; + case WHERE = 'where'; + case WHERE_IN = 'where_in'; +} \ No newline at end of file diff --git a/apiDocumentation/files/src/QueryBuilder.php.txt b/apiDocumentation/files/src/QueryBuilder.php.txt new file mode 100644 index 0000000..49fb0e5 --- /dev/null +++ b/apiDocumentation/files/src/QueryBuilder.php.txt @@ -0,0 +1,649 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query; + +use function is_array; +use function is_int; +use function mb_trim; + +use PDOStatement; + +/** + * Convenience class for creating sql queries + */ +class QueryBuilder extends QueryBuilderBase implements QueryBuilderInterface { + // -------------------------------------------------------------------------- + // ! Select Queries + // -------------------------------------------------------------------------- + /** + * Specifies rows to select in a query + */ + public function select(string $fields): self + { + // Split fields by comma + $fieldsArray = explode(',', $fields); + $fieldsArray = array_map('mb_trim', $fieldsArray); + + // Split on 'As' + foreach ($fieldsArray as $key => $field) + { + if (stripos($field, 'as') !== FALSE) + { + $fieldsArray[$key] = preg_split('` as `i', (string) $field); + $fieldsArray[$key] = array_map('mb_trim', $fieldsArray[$key]); + } + } + + // Quote the identifiers + $safeArray = $this->driver->quoteIdent($fieldsArray); + + unset($fieldsArray); + + // Join the strings back together + foreach ($safeArray as $i => $iValue) + { + if (is_array($iValue)) + { + $safeArray[$i] = implode(' AS ', $iValue); + } + } + + $this->state->appendSelectString(implode(', ', $safeArray)); + + return $this; + } + + /** + * Selects the maximum value of a field from a query + * + * @param string|bool $as + */ + public function selectMax(string $field, $as=FALSE): self + { + // Create the select string + $this->state->appendSelectString(' MAX'.$this->_select($field, $as)); + return $this; + } + + /** + * Selects the minimum value of a field from a query + * + * @param string|bool $as + */ + public function selectMin(string $field, $as=FALSE): self + { + // Create the select string + $this->state->appendSelectString(' MIN'.$this->_select($field, $as)); + return $this; + } + + /** + * Selects the average value of a field from a query + * + * @param string|bool $as + */ + public function selectAvg(string $field, $as=FALSE): self + { + // Create the select string + $this->state->appendSelectString(' AVG'.$this->_select($field, $as)); + return $this; + } + + /** + * Selects the sum of a field from a query + * + * @param string|bool $as + */ + public function selectSum(string $field, $as=FALSE): self + { + // Create the select string + $this->state->appendSelectString(' SUM'.$this->_select($field, $as)); + return $this; + } + + /** + * Add a 'returning' clause to an insert,update, or delete query + * + * @return $this + */ + public function returning(string $fields = ''): self + { + $this->returning = TRUE; + + // Re-use the string select field for generating the returning type clause + if ($fields !== '') + { + return $this->select($fields); + } + + return $this; + } + + /** + * Adds the 'distinct' keyword to a query + */ + public function distinct(): self + { + // Prepend the keyword to the select string + $this->state->setSelectString(' DISTINCT' . $this->state->getSelectString()); + return $this; + } + + /** + * Tell the database to give you the query plan instead of result set + */ + public function explain(): self + { + $this->explain = TRUE; + return $this; + } + + /** + * Specify the database table to select from + * + * Alias of `from` method to better match CodeIgniter 4 + * + * @param string $tableName + */ + public function table(string $tableName): self + { + return $this->from($tableName); + } + + /** + * Specify the database table to select from + */ + public function from(string $tableName): self + { + // Split identifiers on spaces + $identArray = explode(' ', mb_trim($tableName)); + $identArray = array_map('mb_trim', $identArray); + + // Quote the identifiers + $identArray[0] = $this->driver->quoteTable($identArray[0]); + $identArray = $this->driver->quoteIdent($identArray); + + // Paste it back together + $this->state->setFromString(implode(' ', $identArray)); + + return $this; + } + + // -------------------------------------------------------------------------- + // ! 'Like' methods + // -------------------------------------------------------------------------- + /** + * Creates a Like clause in the sql statement + */ + public function like(string $field, mixed $values, LikeType|string $pos=LikeType::BOTH): self + { + return $this->_like($field, $values, LikeType::parse($pos)); + } + + /** + * Generates an OR Like clause + */ + public function orLike(string $field, mixed $values, LikeType|string $pos=LikeType::BOTH): self + { + return $this->_like($field, $values, LikeType::parse($pos), 'LIKE', 'OR'); + } + + /** + * Generates a NOT LIKE clause + */ + public function notLike(string $field, mixed $values, LikeType|string $pos=LikeType::BOTH): self + { + return $this->_like($field, $values, LikeType::parse($pos), 'NOT LIKE'); + } + + /** + * Generates a OR NOT LIKE clause + */ + public function orNotLike(string $field, mixed $values, LikeType|string $pos=LikeType::BOTH): self + { + return $this->_like($field, $values, LikeType::parse($pos), 'NOT LIKE', 'OR'); + } + + // -------------------------------------------------------------------------- + // ! Having methods + // -------------------------------------------------------------------------- + /** + * Generates a 'Having' clause + */ + public function having(mixed $key, mixed $values=[]): self + { + return $this->_having($key, $values); + } + + /** + * Generates a 'Having' clause prefixed with 'OR' + */ + public function orHaving(mixed $key, mixed $values=[]): self + { + return $this->_having($key, $values, 'OR'); + } + + // -------------------------------------------------------------------------- + // ! 'Where' methods + // -------------------------------------------------------------------------- + /** + * 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 + */ + public function where(mixed $key, mixed $values=[]): self + { + return $this->_whereString($key, $values); + } + + /** + * Where clause prefixed with "OR" + */ + public function orWhere(mixed $key, mixed $values=[]): self + { + return $this->_whereString($key, $values, 'OR'); + } + + /** + * Where clause with 'IN' statement + */ + public function whereIn(string $field, mixed $val=[]): self + { + return $this->_whereIn($field, $val); + } + + /** + * Where in statement prefixed with "or" + */ + public function orWhereIn(string $field, mixed $val=[]): self + { + return $this->_whereIn($field, $val, 'IN', 'OR'); + } + + /** + * WHERE NOT IN (FOO) clause + */ + public function whereNotIn(string $field, mixed $val=[]): self + { + return $this->_whereIn($field, $val, 'NOT IN'); + } + + /** + * OR WHERE NOT IN (FOO) clause + */ + public function orWhereNotIn(string $field, mixed $val=[]): self + { + return $this->_whereIn($field, $val, 'NOT IN', 'OR'); + } + + // -------------------------------------------------------------------------- + // ! Other Query Modifier methods + // -------------------------------------------------------------------------- + /** + * Sets values for inserts / updates / deletes + */ + public function set(mixed $key, mixed $val = NULL): self + { + $pairs = is_scalar($key) ? [$key => $val] : $key; + + $keys = array_keys($pairs); + $values = array_values($pairs); + + $this->state->appendSetArrayKeys($keys); + $this->state->appendValues($values); + + // Use the keys of the array to make the insert/update string + // Escape the field names + $this->state->setSetArrayKeys( + array_map([$this->driver, '_quote'], $this->state->getSetArrayKeys()) + ); + + // Generate the "set" string + $setString = implode('=?,', $this->state->getSetArrayKeys()); + $setString .= '=?'; + + $this->state->setSetString($setString); + + return $this; + } + + /** + * Creates a join phrase in a compiled query + */ + public function join(string $table, string $condition, JoinType|string $type=JoinType::INNER): self + { + // Prefix and quote table name + $tableArr = explode(' ', mb_trim($table)); + $tableArr[0] = $this->driver->quoteTable($tableArr[0]); + $tableArr = $this->driver->quoteIdent($tableArr); + $table = implode(' ', $tableArr); + + // Parse out the join condition + $parsedCondition = $this->parser->compileJoin($condition); + $condition = $table . ' ON ' . $parsedCondition; + + $this->state->appendMap("\n" . strtoupper(JoinType::parse($type)->value) . ' JOIN ', $condition, MapType::JOIN); + + return $this; + } + + /** + * Group the results by the selected field(s) + */ + public function groupBy(mixed $field): self + { + if ( ! is_scalar($field)) + { + $newGroupArray = array_merge( + $this->state->getGroupArray(), + array_map([$this->driver, 'quoteIdent'], $field) + ); + $this->state->setGroupArray($newGroupArray); + } + else + { + $this->state->appendGroupArray($this->driver->quoteIdent($field)); + } + + $this->state->setGroupString(' GROUP BY ' . implode(',', $this->state->getGroupArray())); + + return $this; + } + + /** + * Order the results by the selected field(s) + */ + public function orderBy(string $field, string $type=''): self + { + // When ordering by random, do an ascending order if the driver + // doesn't support random ordering + if (stripos($type, 'rand') !== FALSE) + { + $rand = $this->driver->getSql()->random(); + $type = $rand ?? 'ASC'; + } + + // Set fields for later manipulation + $field = $this->driver->quoteIdent($field); + $this->state->setOrderArray($field, $type); + + $orderClauses = []; + + // Flatten key/val pairs into an array of space-separated pairs + foreach($this->state->getOrderArray() as $k => $v) + { + $orderClauses[] = $k . ' ' . strtoupper($v); + } + + // Set the final string + $orderString = isset($rand) + ? "\nORDER BY".$rand + : "\nORDER BY ".implode(', ', $orderClauses); + + $this->state->setOrderString($orderString); + + return $this; + } + + /** + * Set a limit on the current sql statement + */ + public function limit(int $limit, ?int $offset=NULL): self + { + $this->state->setLimit($limit); + $this->state->setOffset($offset); + + return $this; + } + + // -------------------------------------------------------------------------- + // ! Query Grouping Methods + // -------------------------------------------------------------------------- + /** + * Adds a paren to the current query for query grouping + */ + public function groupStart(): self + { + $conj = empty($this->state->getQueryMap()) ? ' WHERE ' : ' '; + + $this->state->appendMap($conj, '(', MapType::GROUP_START); + + return $this; + } + + /** + * Adds a paren to the current query for query grouping, + * prefixed with 'NOT' + */ + public function notGroupStart(): self + { + $conj = empty($this->state->getQueryMap()) ? ' WHERE ' : ' AND '; + + $this->state->appendMap($conj, ' NOT (', MapType::GROUP_START); + + return $this; + } + + /** + * Adds a paren to the current query for query grouping, + * prefixed with 'OR' + */ + public function orGroupStart(): self + { + $this->state->appendMap('', ' OR (', MapType::GROUP_START); + + return $this; + } + + /** + * Adds a paren to the current query for query grouping, + * prefixed with 'OR NOT' + */ + public function orNotGroupStart(): self + { + $this->state->appendMap('', ' OR NOT (', MapType::GROUP_START); + + return $this; + } + + /** + * Ends a query group + */ + public function groupEnd(): self + { + $this->state->appendMap('', ')', MapType::GROUP_END); + + return $this; + } + + // -------------------------------------------------------------------------- + // ! Query execution methods + // -------------------------------------------------------------------------- + /** + * Select and retrieve all records from the current table, and/or + * execute current compiled query + */ + public function get(string $table='', ?int $limit=NULL, ?int $offset=NULL): PDOStatement + { + // Set the table + if ( ! empty($table)) + { + $this->from($table); + } + + // Set the limit, if it exists + if (is_int($limit)) + { + $this->limit($limit, $offset); + } + + return $this->_run(QueryType::SELECT, $table); + } + + /** + * Convenience method for get() with a where clause + * + * @param mixed $where + */ + public function getWhere(string $table, $where=[], ?int $limit=NULL, ?int $offset=NULL): PDOStatement + { + // Create the where clause + $this->where($where); + + // Return the result + return $this->get($table, $limit, $offset); + } + + /** + * Retrieve the number of rows in the selected table + */ + public function countAll(string $table): int + { + $sql = 'SELECT * FROM '.$this->driver->quoteTable($table); + $res = $this->driver->query($sql); + return (int) (is_countable($res->fetchAll()) ? count($res->fetchAll()) : 0); + } + + /** + * Retrieve the number of results for the generated query - used + * in place of the get() method + */ + public function countAllResults(string $table='', bool $reset = TRUE): int + { + // Set the table + if ( ! empty($table)) + { + $this->from($table); + } + + $result = $this->_run(QueryType::SELECT, $table, NULL, NULL, $reset); + $rows = $result->fetchAll(); + + return (int) count($rows); + } + + /** + * Creates an insert clause, and executes it + */ + public function insert(string $table, mixed $data=[]): PDOStatement + { + if ( ! empty($data)) + { + $this->set($data); + } + + return $this->_run(QueryType::INSERT, $table); + } + + /** + * Creates and executes a batch insertion query + */ + public function insertBatch(string $table, $data=[]): ?PDOStatement + { + // Get the generated values and sql string + [$sql, $data] = $this->driver->insertBatch($table, $data); + + return $sql !== NULL + ? $this->_run(QueryType::INSERT_BATCH, $table, $sql, $data) + : NULL; + } + + /** + * Creates an update clause, and executes it + */ + public function update(string $table, mixed $data=[]): PDOStatement + { + if ( ! empty($data)) + { + $this->set($data); + } + + return $this->_run(QueryType::UPDATE, $table); + } + + /** + * Creates a batch update, and executes it. + * Returns the number of affected rows + */ + public function updateBatch(string $table, array $data, string $where): ?int + { + if (empty($table) || empty($data) || empty($where)) + { + return NULL; + } + + // Get the generated values and sql string + [$sql, $data, $affectedRows] = $this->driver->updateBatch($table, $data, $where); + + $this->_run(QueryType::UPDATE_BATCH, $table, $sql, $data); + return $affectedRows; + } + + /** + * Deletes data from a table + */ + public function delete(string $table, mixed $where=''): PDOStatement + { + // Set the where clause + if ( ! empty($where)) + { + $this->where($where); + } + + return $this->_run(QueryType::DELETE, $table); + } + + // -------------------------------------------------------------------------- + // ! SQL Returning Methods + // -------------------------------------------------------------------------- + /** + * Returns the generated 'select' sql query + */ + public function getCompiledSelect(string $table='', bool $reset=TRUE): string + { + // Set the table + if ( ! empty($table)) + { + $this->from($table); + } + + return $this->_getCompile(QueryType::SELECT, $table, $reset); + } + + /** + * Returns the generated 'insert' sql query + */ + public function getCompiledInsert(string $table, bool $reset=TRUE): string + { + return $this->_getCompile(QueryType::INSERT, $table, $reset); + } + + /** + * Returns the generated 'update' sql query + */ + public function getCompiledUpdate(string $table='', bool $reset=TRUE): string + { + return $this->_getCompile(QueryType::UPDATE, $table, $reset); + } + + /** + * Returns the generated 'delete' sql query + */ + public function getCompiledDelete(string $table='', bool $reset=TRUE): string + { + return $this->_getCompile(QueryType::DELETE, $table, $reset); + } +} diff --git a/apiDocumentation/files/src/QueryBuilderBase.php.txt b/apiDocumentation/files/src/QueryBuilderBase.php.txt new file mode 100644 index 0000000..570380c --- /dev/null +++ b/apiDocumentation/files/src/QueryBuilderBase.php.txt @@ -0,0 +1,533 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query; + +use function regexInArray; + +use BadMethodCallException; +use PDO; +use PDOStatement; +use Query\Drivers\DriverInterface; + +/** + * @method affectedRows(): int + * @method beginTransaction(): bool + * @method commit(): bool + * @method errorCode(): string + * @method errorInfo(): array + * @method exec(string $statement): int + * @method getAttribute(int $attribute) + * @method getColumns(string $table): array | null + * @method getDbs(): array | null + * @method getFks(string $table): array | null + * @method getIndexes(string $table): array | null + * @method getLastQuery(): string + * @method getSchemas(): array | null + * @method getSequences(): array | null + * @method getSystemTables(): array | null + * @method getTables(): array + * @method getTypes(): array | null + * @method getUtil(): \Query\Drivers\AbstractUtil + * @method getVersion(): string + * @method getViews(): array | null + * @method inTransaction(): bool + * @method lastInsertId(string $name = NULL): string + * @method numRows(): int | null + * @method prepare(string $statement, array $driver_options = []): PDOStatement + * @method prepareExecute(string $sql, array $params): PDOStatement + * @method prepareQuery(string $sql, array $data): PDOStatement + * @method query(string $statement): PDOStatement + * @method quote(string $string, int $parameter_type = PDO::PARAM_STR): string + * @method rollback(): bool + * @method setAttribute(int $attribute, $value): bool + * @method setTablePrefix(string $prefix): void + * @method truncate(string $table): PDOStatement + */ +class QueryBuilderBase { + + /** + * Convenience property for connection management + */ + public string $connName = ''; + + /** + * List of queries executed + */ + public array $queries = [ + 'total_time' => 0 + ]; + + /** + * Whether to do only an explain on the query + */ + protected bool $explain = FALSE; + + /** + * Whether to return data from a modification query + */ + protected bool $returning = FALSE; + + /** + * Query Builder state + */ + protected State $state; + + // -------------------------------------------------------------------------- + // ! Methods + // -------------------------------------------------------------------------- + /** + * Constructor + */ + public function __construct(protected ?DriverInterface $driver, protected QueryParser $parser) + { + // Create new State object + $this->state = new State(); + } + + /** + * Destructor + * @codeCoverageIgnore + */ + public function __destruct() + { + $this->driver = NULL; + } + + /** + * Calls a function further down the inheritance chain. + * 'Implements' methods on the driver object + * + * @return mixed + * @throws BadMethodCallException + */ + public function __call(string $name, array $params) + { + if (method_exists($this->driver, $name)) + { + return $this->driver->$name(...$params); + } + + throw new BadMethodCallException('Method does not exist'); + } + + /** + * Clear out the class variables, so the next query can be run + */ + public function resetQuery(): void + { + $this->state = new State(); + $this->explain = FALSE; + $this->returning = FALSE; + } + + /** + * Method to simplify select_ methods + */ + protected function _select(string $field, bool|string $as = FALSE): string + { + // Escape the identifiers + $field = $this->driver->quoteIdent($field); + + if ( ! \is_string($as)) + { + // @codeCoverageIgnoreStart + return $field; + // @codeCoverageIgnoreEnd + } + + $as = $this->driver->quoteIdent($as); + return "({$field}) AS {$as} "; + } + + /** + * Helper function for returning sql strings + */ + protected function _getCompile(QueryType $type, string $table, bool $reset): string + { + $sql = $this->_compile($type, $table); + + // Reset the query builder for the next query + if ($reset) + { + $this->resetQuery(); + } + + return $sql; + } + + /** + * Simplify 'like' methods + */ + protected function _like(string $field, mixed $val, LikeType $pos, string $like = 'LIKE', string $conj = 'AND'): self + { + $field = $this->driver->quoteIdent($field); + + // Add the like string into the order map + $like = $field . " {$like} ?"; + + if ($pos === LikeType::BEFORE) + { + $val = "%{$val}"; + } + elseif ($pos === LikeType::AFTER) + { + $val = "{$val}%"; + } + else + { + $val = "%{$val}%"; + } + + $conj = empty($this->state->getQueryMap()) ? ' WHERE ' : " {$conj} "; + $this->state->appendMap($conj, $like, MapType::LIKE); + + // Add to the values array + $this->state->appendWhereValues($val); + + return $this; + } + + /** + * Simplify building having clauses + */ + protected function _having(mixed $key, mixed $values = [], string $conj = 'AND'): self + { + $where = $this->_where($key, $values); + + // Create key/value placeholders + foreach ($where as $f => $val) + { + // Split each key by spaces, in case there + // is an operator such as >, <, !=, etc. + $fArray = explode(' ', trim($f)); + + $item = $this->driver->quoteIdent($fArray[0]); + + // Simple key value, or an operator + $item .= (count($fArray) === 1) ? '=?' : " {$fArray[1]} ?"; + + // Put in the having map + $this->state->appendHavingMap([ + 'conjunction' => empty($this->state->getHavingMap()) + ? ' HAVING ' + : " {$conj} ", + 'string' => $item + ]); + } + + return $this; + } + + /** + * Do all the redundant stuff for where/having type methods + */ + protected function _where(mixed $key, mixed $val = []): array + { + $where = []; + $pairs = []; + + if (is_scalar($key)) + { + $pairs[$key] = $val; + } else + { + $pairs = $key; + } + + foreach ($pairs as $k => $v) + { + $where[$k] = $v; + $this->state->appendWhereValues($v); + } + + return $where; + } + + /** + * Simplify generating where string + */ + protected function _whereString(mixed $key, mixed $values = [], string $defaultConj = 'AND'): self + { + // Create key/value placeholders + foreach ($this->_where($key, $values) as $f => $val) + { + $queryMap = $this->state->getQueryMap(); + + // Split each key by spaces, in case there + // is an operator such as >, <, !=, etc. + $fArray = explode(' ', trim($f)); + + $item = $this->driver->quoteIdent($fArray[0]); + + // Simple key value, or an operator + $item .= (count($fArray) === 1) ? '=?' : " {$fArray[1]} ?"; + $lastItem = end($queryMap); + + // Determine the correct conjunction + $conjunctionList = array_column($queryMap, 'conjunction'); + if (empty($queryMap) || ( ! regexInArray($conjunctionList, "/^ ?\n?WHERE/i"))) + { + $conj = "\nWHERE "; + } + elseif ($lastItem['type'] === MapType::GROUP_START) + { + $conj = ''; + } + else + { + $conj = " {$defaultConj} "; + } + + $this->state->appendMap($conj, $item, MapType::WHERE); + } + + return $this; + } + + /** + * Simplify where_in methods + * + * @param mixed $key + * @param mixed $val + * @param string $in - The (not) in fragment + * @param string $conj - The where in conjunction + */ + protected function _whereIn(mixed $key, mixed $val = [], string $in = 'IN', string $conj = 'AND'): self + { + $key = $this->driver->quoteIdent($key); + $params = array_fill(0, is_countable($val) ? count($val) : 0, '?'); + $this->state->appendWhereValues($val); + + $conjunction = empty($this->state->getQueryMap()) ? ' WHERE ' : " {$conj} "; + $str = $key . " {$in} (" . implode(',', $params) . ') '; + + $this->state->appendMap($conjunction, $str, MapType::WHERE_IN); + + return $this; + } + + /** + * Executes the compiled query + * + * @param array|null $vals + */ + protected function _run(QueryType $type, string $table, string $sql = NULL, array $vals = NULL, bool $reset = TRUE): PDOStatement + { + if ($sql === NULL) + { + $sql = $this->_compile($type, $table); + } + + if ($vals === NULL) + { + $vals = array_merge($this->state->getValues(), $this->state->getWhereValues()); + } + + $startTime = microtime(TRUE); + + $res = empty($vals) + ? $this->driver->query($sql) + : $this->driver->prepareExecute($sql, $vals); + + $endTime = microtime(TRUE); + $totalTime = number_format($endTime - $startTime, 5); + + // Add this query to the list of executed queries + $this->_appendQuery($vals, $sql, (int)$totalTime); + + // Reset class state for next query + if ($reset) + { + $this->resetQuery(); + } + + return $res; + } + + /** + * Convert the prepared statement into readable sql + */ + protected function _appendQuery(array $values, string $sql, int $totalTime): void + { + $evals = is_array($values) ? $values : []; + $esql = str_replace('?', '%s', $sql); + + // Quote string values + foreach ($evals as &$v) + { + $v = ( is_numeric($v)) + ? $v + : htmlentities($this->driver->quote($v), ENT_NOQUOTES, 'utf-8'); + } + unset($v); + + // Add the query onto the array of values to pass + // as arguments to sprintf + array_unshift($evals, $esql); + + // Add the interpreted query to the list of executed queries + $this->queries[] = [ + 'time' => $totalTime, + 'sql' => sprintf(...$evals) + ]; + + $this->queries['total_time'] += $totalTime; + + // Set the last query to get rowcounts properly + $this->driver->setLastQuery($sql); + } + + /** + * Sub-method for generating sql strings + * + * @codeCoverageIgnore + */ + protected function _compileType(QueryType $type = QueryType::SELECT, string $table = ''): string + { + $setArrayKeys = $this->state->getSetArrayKeys(); + switch ($type) + { + case QueryType::INSERT: + $paramCount = is_countable($setArrayKeys) ? count($setArrayKeys) : 0; + $params = array_fill(0, $paramCount, '?'); + $sql = "INSERT INTO {$table} (" + . implode(',', $setArrayKeys) + . ")\nVALUES (" . implode(',', $params) . ')'; + break; + + case QueryType::UPDATE: + $setString = $this->state->getSetString(); + $sql = "UPDATE {$table}\nSET {$setString}"; + break; + + case QueryType::DELETE: + $sql = "DELETE FROM {$table}"; + break; + + case QueryType::SELECT: + default: + $fromString = $this->state->getFromString(); + $selectString = $this->state->getSelectString(); + + $sql = "SELECT * \nFROM {$fromString}"; + + // Set the select string + if ( ! empty($selectString)) + { + // Replace the star with the selected fields + $sql = str_replace('*', $selectString, $sql); + } + break; + } + + return $sql; + } + + /** + * String together the sql statements for sending to the db + */ + protected function _compile(QueryType $type, string $table = ''): string + { + // Get the base clause for the query + $sql = $this->_compileType($type, $this->driver->quoteTable($table)); + + $clauses = [ + 'queryMap', + 'groupString', + 'orderString', + 'havingMap', + ]; + + // Set each type of subclause + foreach ($clauses as $clause) + { + $func = 'get' . ucFirst($clause); + $param = $this->state->$func(); + if (is_array($param)) + { + foreach ($param as $q) + { + $sql .= $q['conjunction'] . $q['string']; + } + } else + { + $sql .= $param; + } + } + + // Set the limit via the class variables + $limit = $this->state->getLimit(); + if (is_numeric($limit)) + { + $sql = $this->driver->getSql()->limit($sql, $limit, $this->state->getOffset()); + } + + // Set the returning clause, if applicable + $sql = $this->_compileReturning($sql, $type); + + // See if the query plan, rather than the + // query data should be returned + if ($this->explain === TRUE) + { + $sql = $this->driver->getSql()->explain($sql); + } + + return $sql; + } + + /** + * Generate returning clause of query + */ + protected function _compileReturning(string $sql, QueryType $type): string + { + if ($this->returning === FALSE) + { + return $sql; + } + + $rawSelect = $this->state->getSelectString(); + $selectString = ($rawSelect === '') ? '*' : $rawSelect; + $returningSQL = $this->driver->returning($sql, $selectString); + + if ($returningSQL === $sql) + { + // If the driver doesn't support the returning clause, it returns the original query. + // Fake the same result with a transaction and a select query + if ( ! $this->inTransaction()) + { + $this->beginTransaction(); + } + + // Generate the appropriate select query for the returning clause fallback + // @TODO figure out how to do a proper fallback + switch ($type) + { + case QueryType::INSERT: + + case QueryType::UPDATE: + + case QueryType::INSERT_BATCH: + case QueryType::UPDATE_BATCH: + + default: + // On Delete queries, what would we return? + break; + } + } + + return $returningSQL; + } +} \ No newline at end of file diff --git a/apiDocumentation/files/src/QueryBuilderInterface.php.txt b/apiDocumentation/files/src/QueryBuilderInterface.php.txt new file mode 100644 index 0000000..6716876 --- /dev/null +++ b/apiDocumentation/files/src/QueryBuilderInterface.php.txt @@ -0,0 +1,388 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query; + +use PDO; +use PDOStatement; + +/** + * Interface defining the Query Builder class + * + * @method affectedRows(): int + * @method beginTransaction(): bool + * @method commit(): bool + * @method errorCode(): string + * @method errorInfo(): array + * @method exec(string $statement): int + * @method getAttribute(int $attribute) + * @method getColumns(string $table): array | null + * @method getDbs(): array | null + * @method getFks(string $table): array | null + * @method getFunctions(): array | null + * @method getIndexes(string $table): array | null + * @method getLastQuery(): string + * @method getProcedures(): array | null + * @method getSchemas(): array | null + * @method getSequences(): array | null + * @method getSystemTables(): array | null + * @method getTables(): array + * @method getTriggers(): array | null + * @method getTypes(): array | null + * @method getUtil(): \Query\Drivers\AbstractUtil + * @method getVersion(): string + * @method getViews(): array | null + * @method inTransaction(): bool + * @method lastInsertId(string $name = NULL): string + * @method numRows(): int | null + * @method prepare(string $statement, array $driver_options = []): PDOStatement + * @method prepareExecute(string $sql, array $params): PDOStatement + * @method prepareQuery(string $sql, array $data): PDOStatement + * @method query(string $statement): PDOStatement + * @method quote(string $string, int $parameter_type = PDO::PARAM_STR): string + * @method rollback(): bool + * @method setAttribute(int $attribute, $value): bool + * @method setTablePrefix(string $prefix): void + * @method truncate(string $table): PDOStatement + */ +interface QueryBuilderInterface { + + // -------------------------------------------------------------------------- + // ! Select Queries + // -------------------------------------------------------------------------- + /** + * Specifies rows to select in a query + */ + public function select(string $fields): self; + + /** + * Selects the maximum value of a field from a query + * + * @param string|bool $as + */ + public function selectMax(string $field, $as=FALSE): self; + + /** + * Selects the minimum value of a field from a query + * + * @param string|bool $as + */ + public function selectMin(string $field, $as=FALSE): self; + + /** + * Selects the average value of a field from a query + * + * @param string|bool $as + */ + public function selectAvg(string $field, $as=FALSE): self; + + /** + * Selects the sum of a field from a query + * + * @param string|bool $as + */ + public function selectSum(string $field, $as=FALSE): self; + + /** + * Adds the 'distinct' keyword to a query + */ + public function distinct(): self; + + /** + * Shows the query plan for the query + */ + public function explain(): self; + + /** + * Specify the database table to select from + * + * Alias of `from` method to better match CodeIgniter 4 + * + * @param string $tableName + */ + public function table(string $tableName): self; + + /** + * Specify the database table to select from + */ + public function from(string $tableName): self; + + // -------------------------------------------------------------------------- + // ! 'Like' methods + // -------------------------------------------------------------------------- + /** + * Creates a Like clause in the sql statement + * + * @param mixed $values + */ + public function like(string $field, mixed $values, LikeType|string $pos=LikeType::BOTH): self; + + /** + * Generates an OR Like clause + * + * @param mixed $values + */ + public function orLike(string $field, mixed $values, LikeType|string $pos=LikeType::BOTH): self; + + /** + * Generates a NOT LIKE clause + * + * @param mixed $values + */ + public function notLike(string $field, mixed $values, LikeType|string $pos=LikeType::BOTH): self; + + /** + * Generates a OR NOT LIKE clause + * + * @param mixed $values + */ + public function orNotLike(string $field, mixed $values, LikeType|string $pos=LikeType::BOTH): self; + + // -------------------------------------------------------------------------- + // ! Having methods + // -------------------------------------------------------------------------- + /** + * Generates a 'Having' clause + * + * @param mixed $key + * @param mixed $values + */ + public function having(mixed $key, mixed $values=[]): self; + + /** + * Generates a 'Having' clause prefixed with 'OR' + * + * @param mixed $key + * @param mixed $values + */ + public function orHaving(mixed $key, mixed $values=[]): self; + + // -------------------------------------------------------------------------- + // ! 'Where' methods + // -------------------------------------------------------------------------- + /** + * 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 $values + */ + public function where(mixed $key, mixed $values=[]): self; + + /** + * Where clause prefixed with "OR" + * + * @param string $key + * @param mixed $values + */ + public function orWhere(mixed $key, mixed $values=[]): self; + + /** + * Where clause with 'IN' statement + * + * @param string $field + * @param mixed $values + */ + public function whereIn(string $field, mixed $values=[]): self; + + /** + * Where in statement prefixed with "or" + * + * @param string $field + * @param mixed $values + */ + public function orWhereIn(string $field, mixed $values=[]): self; + + /** + * WHERE NOT IN (FOO) clause + * + * @param string $field + * @param mixed $values + */ + public function whereNotIn(string $field, mixed $values=[]): self; + + /** + * OR WHERE NOT IN (FOO) clause + * + * @param string $field + * @param mixed $values + */ + public function orWhereNotIn(string $field, mixed $values=[]): self; + + // -------------------------------------------------------------------------- + // ! Other Query Modifier methods + // -------------------------------------------------------------------------- + /** + * Sets values for inserts / updates / deletes + * + * @param mixed $key + * @param mixed $values + */ + public function set(mixed $key, mixed $values = NULL): self; + + /** + * Creates a join phrase in a compiled query + */ + public function join(string $table, string $condition, JoinType|string $type=JoinType::INNER): self; + + /** + * Group the results by the selected field(s) + * + * @param mixed $field + */ + public function groupBy(mixed $field): self; + + /** + * Order the results by the selected field(s) + */ + public function orderBy(string $field, string $type=''): self; + + /** + * Set a limit on the current sql statement + */ + public function limit(int $limit, ?int $offset=NULL): self; + + // -------------------------------------------------------------------------- + // ! Query Grouping Methods + // -------------------------------------------------------------------------- + /** + * Adds a paren to the current query for query grouping + */ + public function groupStart(): self; + + /** + * Adds a paren to the current query for query grouping, + * prefixed with 'NOT' + */ + public function notGroupStart(): self; + + /** + * Adds a paren to the current query for query grouping, + * prefixed with 'OR' + */ + public function orGroupStart(): self; + + /** + * Adds a paren to the current query for query grouping, + * prefixed with 'OR NOT' + */ + public function orNotGroupStart(): self; + + /** + * Ends a query group + */ + public function groupEnd(): self; + + // -------------------------------------------------------------------------- + // ! Query execution methods + // -------------------------------------------------------------------------- + /** + * Select and retrieve all records from the current table, and/or + * execute current compiled query + */ + public function get(string $table='', ?int $limit=NULL, ?int $offset=NULL): PDOStatement; + + /** + * Convenience method for get() with a where clause + * + * @param array $where + */ + public function getWhere(string $table, array $where=[], ?int $limit=NULL, ?int $offset=NULL): PDOStatement; + + /** + * Retrieve the number of rows in the selected table + */ + public function countAll(string $table): int; + + /** + * Retrieve the number of results for the generated query - used + * in place of the get() method + * + * @param bool $reset - Whether to keep the query after counting the results + */ + public function countAllResults(string $table='', bool $reset=TRUE): int; + + /** + * Creates an insert clause, and executes it + * + * @param mixed $data + */ + public function insert(string $table, mixed $data=[]): PDOStatement; + + /** + * Creates and executes a batch insertion query + * + * @param array $data + */ + public function insertBatch(string $table, mixed $data=[]): ?PDOStatement; + + /** + * Creates an update clause, and executes it + * + * @param mixed $data + */ + public function update(string $table, mixed $data=[]): PDOStatement; + + /** + * Creates a batch update, and executes it. + * Returns the number of affected rows + * + * @param string $table The table to update + * @param array $data an array of update values + * @param string $where The where key + */ + public function updateBatch(string $table, array $data, string $where): ?int; + + /** + * Deletes data from a table + * + * @param mixed $where + */ + public function delete(string $table, mixed $where=''): PDOStatement; + + // -------------------------------------------------------------------------- + // ! SQL Returning Methods + // -------------------------------------------------------------------------- + /** + * Returns the generated 'select' sql query + */ + public function getCompiledSelect(string $table='', bool $reset=TRUE): string; + + /** + * Returns the generated 'insert' sql query + */ + public function getCompiledInsert(string $table, bool $reset=TRUE): string; + + /** + * Returns the generated 'update' sql query + */ + public function getCompiledUpdate(string $table='', bool $reset=TRUE): string; + + /** + * Returns the generated 'delete' sql query + */ + public function getCompiledDelete(string $table='', bool $reset=TRUE): string; + + // -------------------------------------------------------------------------- + // ! Miscellaneous Methods + // -------------------------------------------------------------------------- + /** + * Clear out the class variables, so the next query can be run + */ + public function resetQuery(): void; +} + +// End of QueryBuilderInterface.php diff --git a/apiDocumentation/files/src/QueryParser.php.txt b/apiDocumentation/files/src/QueryParser.php.txt new file mode 100644 index 0000000..2c723c9 --- /dev/null +++ b/apiDocumentation/files/src/QueryParser.php.txt @@ -0,0 +1,109 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query; + +use Query\Drivers\DriverInterface; + +/** + * Utility Class to parse sql clauses for properly escaping identifiers + */ +class QueryParser { + + /** + * Regex patterns for various syntax components + */ + private array $matchPatterns = [ + 'function' => '([a-zA-Z0-9_]+\((.*?)\))', + 'identifier' => '([a-zA-Z0-9_-]+\.?)+', + 'operator' => '=|AND|&&?|~|\|\|?|\^|/|>=?|<=?|-|%|OR|\+|NOT|\!=?|<>|XOR' + ]; + + /** + * Regex matches + */ + public array $matches = [ + 'functions' => [], + 'identifiers' => [], + 'operators' => [], + 'combined' => [], + ]; + + /** + * Constructor/entry point into parser + */ + public function __construct(private readonly DriverInterface $db) + { + } + + /** + * Parser method for setting the parse string + * + * @return array[] + */ + public function parseJoin(string $sql): array + { + // Get sql clause components + preg_match_all('`'.$this->matchPatterns['function'].'`', $sql, $this->matches['functions'], PREG_SET_ORDER); + preg_match_all('`'.$this->matchPatterns['identifier'].'`', $sql, $this->matches['identifiers'], PREG_SET_ORDER); + preg_match_all('`'.$this->matchPatterns['operator'].'`', $sql, $this->matches['operators'], PREG_SET_ORDER); + + // Get everything at once for ordering + $fullPattern = '`'.$this->matchPatterns['function'].'+|'.$this->matchPatterns['identifier'].'|('.$this->matchPatterns['operator'].')+`i'; + preg_match_all($fullPattern, $sql, $this->matches['combined'], PREG_SET_ORDER); + + // Go through the matches, and get the most relevant matches + $this->matches = array_map([$this, 'filterArray'], $this->matches); + + return $this->matches; + } + + /** + * Compiles a join condition after parsing + */ + public function compileJoin(string $condition): string + { + $parts = $this->parseJoin($condition); + $count = is_countable($parts['identifiers']) ? count($parts['identifiers']) : 0; + + // Go through and quote the identifiers + for($i=0; $i <= $count; $i++) + { + if (in_array($parts['combined'][$i], $parts['identifiers']) && ! is_numeric($parts['combined'][$i])) + { + $parts['combined'][$i] = $this->db->quoteIdent($parts['combined'][$i]); + } + } + + return implode('', $parts['combined']); + } + + /** + * Returns a more useful match array + * + * @return array + */ + protected function filterArray(array $array): array + { + $newArray = []; + + foreach($array as $row) + { + $newArray[] = (is_array($row)) ? $row[0] : $row; + } + + return $newArray; + } +} \ No newline at end of file diff --git a/apiDocumentation/files/src/QueryType.php.txt b/apiDocumentation/files/src/QueryType.php.txt new file mode 100644 index 0000000..36b118d --- /dev/null +++ b/apiDocumentation/files/src/QueryType.php.txt @@ -0,0 +1,28 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query; + +/** + * Enum of query types + */ +enum QueryType: string { + case SELECT = 'select'; + case INSERT = 'insert'; + case INSERT_BATCH = 'insert_batch'; + case UPDATE = 'update'; + case UPDATE_BATCH = 'update_batch'; + case DELETE = 'delete'; +} \ No newline at end of file diff --git a/apiDocumentation/files/src/State.php.txt b/apiDocumentation/files/src/State.php.txt new file mode 100644 index 0000000..25a2df5 --- /dev/null +++ b/apiDocumentation/files/src/State.php.txt @@ -0,0 +1,224 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace Query; + +use function is_array; + +/** + * Query builder state + * + * @method getSelectString(): string + * @method getFromString(): string + * @method getSetString(): string + * @method getOrderString(): string + * @method getGroupString(): string + * @method getSetArrayKeys(): array + * @method getOrderArray(): array + * @method getGroupArray(): array + * @method getValues(): array + * @method getWhereValues(): array + * @method getLimit(): int|null + * @method getOffset() + * @method getQueryMap(): array + * @method getHavingMap(): array + * + * @method setSelectString(string $selectString): self + * @method setFromString(string $fromString): self + * @method setSetString(string $setString): self + * @method setOrderString(string $orderString): self + * @method setGroupString(string $groupString): self + * @method setSetArrayKeys(array $arrayKeys): self + * @method setGroupArray(array $array): self + * @method setLimit(int $limit): self + * @method setOffset(?int $offset): self + */ +class State { + // -------------------------------------------------------------------------- + // ! SQL Clause Strings + // -------------------------------------------------------------------------- + /** + * Compiled 'select' clause + */ + protected string $selectString = ''; + + /** + * Compiled 'from' clause + */ + protected string $fromString = ''; + + /** + * Compiled arguments for insert / update + */ + protected string $setString = ''; + + /** + * Order by clause + */ + protected string $orderString = ''; + + /** + * Group by clause + */ + protected string $groupString = ''; + + // -------------------------------------------------------------------------- + // ! SQL Clause Arrays + // -------------------------------------------------------------------------- + /** + * Keys for insert/update statement + */ + protected array $setArrayKeys = []; + + /** + * Key/val pairs for order by clause + */ + protected array $orderArray = []; + + /** + * Key/val pairs for group by clause + */ + protected array $groupArray = []; + + // -------------------------------------------------------------------------- + // ! Other Class vars + // -------------------------------------------------------------------------- + /** + * Values to apply to prepared statements + */ + protected array $values = []; + + /** + * Values to apply to where clauses in prepared statements + */ + protected array $whereValues = []; + + /** + * Value for limit string + */ + protected ?int $limit = NULL; + + /** + * Value for offset in limit string + */ + protected ?int $offset = NULL; + + /** + * Query component order mapping + * for complex select queries + * + * Format: + * [ + * 'type' => 'where', + * 'conjunction' => ' AND ', + * 'string' => 'k=?' + * ] + */ + protected array $queryMap = []; + + /** + * Map for having clause + */ + protected array $havingMap = []; + + public function __call(string $name, array $arguments) + { + if (str_starts_with($name, 'get')) + { + $maybeProp = lcfirst(substr($name, 3)); + if (isset($this->$maybeProp)) + { + return $this->$maybeProp; + } + } + + if (str_starts_with($name, 'set')) + { + $maybeProp = lcfirst(substr($name, 3)); + if (isset($this->$maybeProp)) + { + $this->$maybeProp = $arguments[0]; + return $this; + } + } + + return NULL; + } + + public function appendSelectString(string $str): self + { + $this->selectString .= $str; + return $this; + } + + public function appendSetArrayKeys(array $setArrayKeys): self + { + $this->setArrayKeys = array_merge($this->setArrayKeys, $setArrayKeys); + return $this; + } + + public function setOrderArray(string $key, mixed $orderArray): self + { + $this->orderArray[$key] = $orderArray; + return $this; + } + + public function appendGroupArray(string $groupArray): self + { + $this->groupArray[] = $groupArray; + return $this; + } + + public function appendValues(array $values): self + { + $this->values = array_merge($this->values, $values); + return $this; + } + + public function appendWhereValues(mixed $val): self + { + if (is_array($val)) + { + foreach($val as $v) + { + $this->whereValues[] = $v; + } + + return $this; + } + + $this->whereValues[] = $val; + return $this; + } + + /** + * Add an additional set of mapping pairs to a internal map + */ + public function appendMap(string $conjunction = '', string $string = '', MapType $type = MapType::WHERE): self + { + $this->queryMap[] = [ + 'type' => $type, + 'conjunction' => $conjunction, + 'string' => $string + ]; + return $this; + } + + public function appendHavingMap(array $item): self + { + $this->havingMap[] = $item; + return $this; + } +} diff --git a/apiDocumentation/files/src/common.php.txt b/apiDocumentation/files/src/common.php.txt new file mode 100644 index 0000000..fbb0859 --- /dev/null +++ b/apiDocumentation/files/src/common.php.txt @@ -0,0 +1,124 @@ + + * @copyright 2012 - 2023 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat/Query + * @version 4.0.0 + */ +namespace { + + use Query\ConnectionManager; + use Query\QueryBuilderInterface; + + /** + * Global functions that don't really fit anywhere else + */ + /** + * Multibyte-safe trim function + */ + function mb_trim(string $string): string + { + return preg_replace('/(^\s+)|(\s+$)/u', '', $string); + } + + /** + * Filter out db rows into one array + */ + function dbFilter(array $array, mixed $index): array + { + $newArray = []; + + foreach ($array as $a) + { + $newArray[] = $a[$index]; + } + + return $newArray; + } + + /** + * Zip a set of arrays together on common keys + * + * The $zipperInput array is an array of arrays indexed by their place in the output + * array. + */ + function arrayZipper(array $zipperInput): array + { + $output = []; + + foreach ($zipperInput as $appendKey => $values) + { + foreach ($values as $index => $value) + { + if ( ! isset($output[$index])) + { + $output[$index] = []; + } + $output[$index][$appendKey] = $value; + } + } + + return $output; + } + + /** + * Determine whether a value in the passed array matches the pattern + * passed + */ + function regexInArray(array $array, string $pattern): bool + { + if (empty($array)) + { + return FALSE; + } + + foreach ($array as $item) + { + if (is_scalar($item) && preg_match($pattern, (string) $item)) + { + return TRUE; + } + } + + return FALSE; + } + + /** + * Connection function + * + * Send an array or object as connection parameters to create a connection. If + * the array or object has an 'alias' parameter, passing that string to this + * function will return that connection. Passing no parameters returns the last + * connection created. + */ + function Query(string|object|array|null $params = ''): ?QueryBuilderInterface + + { + if ($params === NULL) + { + return NULL; + } + + $manager = ConnectionManager::getInstance(); + + // If you are getting a previously created connection + if (is_string($params)) + { + return $manager->getConnection($params); + } + + $paramsObject = (object)$params; + + // Otherwise, return a new connection + return $manager->connect($paramsObject); + } +} +// End of common.php diff --git a/apiDocumentation/font/FontAwesome.otf b/apiDocumentation/font/FontAwesome.otf new file mode 100644 index 0000000..3461e3f Binary files /dev/null and b/apiDocumentation/font/FontAwesome.otf differ diff --git a/apiDocumentation/font/fontawesome-webfont.eot b/apiDocumentation/font/fontawesome-webfont.eot new file mode 100644 index 0000000..6cfd566 Binary files /dev/null and b/apiDocumentation/font/fontawesome-webfont.eot differ diff --git a/apiDocumentation/font/fontawesome-webfont.svg b/apiDocumentation/font/fontawesome-webfont.svg new file mode 100644 index 0000000..a9f8469 --- /dev/null +++ b/apiDocumentation/font/fontawesome-webfont.svg @@ -0,0 +1,504 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apiDocumentation/font/fontawesome-webfont.ttf b/apiDocumentation/font/fontawesome-webfont.ttf new file mode 100644 index 0000000..5cd6cff Binary files /dev/null and b/apiDocumentation/font/fontawesome-webfont.ttf differ diff --git a/apiDocumentation/font/fontawesome-webfont.woff b/apiDocumentation/font/fontawesome-webfont.woff new file mode 100644 index 0000000..9eaecb3 Binary files /dev/null and b/apiDocumentation/font/fontawesome-webfont.woff differ diff --git a/apiDocumentation/graph_class.html b/apiDocumentation/graph_class.html new file mode 100644 index 0000000..63317ba --- /dev/null +++ b/apiDocumentation/graph_class.html @@ -0,0 +1,130 @@ + + + + + + Documentation + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                + + + +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                + + + +
                                                                                                                + + + + diff --git a/apiDocumentation/graphs/class.html b/apiDocumentation/graphs/class.html new file mode 100644 index 0000000..2d9aca8 --- /dev/null +++ b/apiDocumentation/graphs/class.html @@ -0,0 +1,173 @@ + + + + + + Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                + + +
                                                                                                                + + + diff --git a/apiDocumentation/graphs/classes.html b/apiDocumentation/graphs/classes.html new file mode 100644 index 0000000..056e382 --- /dev/null +++ b/apiDocumentation/graphs/classes.html @@ -0,0 +1,121 @@ + + + + + Documentation + + + + + + + + + +
                                                                                                                +

                                                                                                                Documentation

                                                                                                                + + + + + +
                                                                                                                + +
                                                                                                                +
                                                                                                                + + + + +
                                                                                                                +
                                                                                                                + +
                                                                                                                + +
                                                                                                                +
                                                                                                                +
                                                                                                                +

                                                                                                                Search results

                                                                                                                + +
                                                                                                                +
                                                                                                                +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  + + +
                                                                                                                  + + + + + + + + diff --git a/apiDocumentation/graphs/classes.svg b/apiDocumentation/graphs/classes.svg new file mode 100644 index 0000000..fe24224 --- /dev/null +++ b/apiDocumentation/graphs/classes.svg @@ -0,0 +1,144 @@ +QueryQuery\DriversQuery\Drivers\MysqlQuery\Drivers\PgsqlQuery\Drivers\SqliteQuery\ExceptionConnectionManagerQueryBuilderQueryBuilderBaseQueryBuilderInterfaceQueryParserStateAbstractDriverDriverInterfaceAbstractSQLSQLInterfaceAbstractUtilDriverSQLUtilDriverSQLUtilDriverSQLUtilBadDBDriverExceptionNonExistentConnectionExceptionNotImplementedExceptionPDOInvalidArgumentExceptionBadMethodCallException \ No newline at end of file diff --git a/apiDocumentation/images/apple-touch-icon-114x114.png b/apiDocumentation/images/apple-touch-icon-114x114.png new file mode 100644 index 0000000..1506f6a Binary files /dev/null and b/apiDocumentation/images/apple-touch-icon-114x114.png differ diff --git a/apiDocumentation/images/apple-touch-icon-72x72.png b/apiDocumentation/images/apple-touch-icon-72x72.png new file mode 100644 index 0000000..d813259 Binary files /dev/null and b/apiDocumentation/images/apple-touch-icon-72x72.png differ diff --git a/apiDocumentation/images/apple-touch-icon.png b/apiDocumentation/images/apple-touch-icon.png new file mode 100644 index 0000000..2d320cb Binary files /dev/null and b/apiDocumentation/images/apple-touch-icon.png differ diff --git a/apiDocumentation/images/custom-icons.svg b/apiDocumentation/images/custom-icons.svg new file mode 100644 index 0000000..378036b --- /dev/null +++ b/apiDocumentation/images/custom-icons.svg @@ -0,0 +1,116 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/apiDocumentation/images/favicon.ico b/apiDocumentation/images/favicon.ico new file mode 100644 index 0000000..9575ac8 Binary files /dev/null and b/apiDocumentation/images/favicon.ico differ diff --git a/apiDocumentation/images/hierarchy-item.png b/apiDocumentation/images/hierarchy-item.png new file mode 100644 index 0000000..c7756e7 Binary files /dev/null and b/apiDocumentation/images/hierarchy-item.png differ diff --git a/apiDocumentation/images/icon-class-13x13.png b/apiDocumentation/images/icon-class-13x13.png new file mode 100644 index 0000000..731f0bd Binary files /dev/null and b/apiDocumentation/images/icon-class-13x13.png differ diff --git a/apiDocumentation/images/icon-class.svg b/apiDocumentation/images/icon-class.svg new file mode 100644 index 0000000..336d312 --- /dev/null +++ b/apiDocumentation/images/icon-class.svg @@ -0,0 +1,77 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/apiDocumentation/images/icon-interface-13x13.png b/apiDocumentation/images/icon-interface-13x13.png new file mode 100644 index 0000000..aa24fa9 Binary files /dev/null and b/apiDocumentation/images/icon-interface-13x13.png differ diff --git a/apiDocumentation/images/icon-interface.svg b/apiDocumentation/images/icon-interface.svg new file mode 100644 index 0000000..307346e --- /dev/null +++ b/apiDocumentation/images/icon-interface.svg @@ -0,0 +1,73 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/apiDocumentation/images/icon-trait-13x13.png b/apiDocumentation/images/icon-trait-13x13.png new file mode 100644 index 0000000..3c2792b Binary files /dev/null and b/apiDocumentation/images/icon-trait-13x13.png differ diff --git a/apiDocumentation/images/icon-trait.svg b/apiDocumentation/images/icon-trait.svg new file mode 100644 index 0000000..df77d41 --- /dev/null +++ b/apiDocumentation/images/icon-trait.svg @@ -0,0 +1,73 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/apiDocumentation/images/iviewer/grab.cur b/apiDocumentation/images/iviewer/grab.cur new file mode 100644 index 0000000..ef540be Binary files /dev/null and b/apiDocumentation/images/iviewer/grab.cur differ diff --git a/apiDocumentation/images/iviewer/hand.cur b/apiDocumentation/images/iviewer/hand.cur new file mode 100644 index 0000000..1a5bafb Binary files /dev/null and b/apiDocumentation/images/iviewer/hand.cur differ diff --git a/apiDocumentation/images/iviewer/iviewer.rotate_left.png b/apiDocumentation/images/iviewer/iviewer.rotate_left.png new file mode 100644 index 0000000..df0956d Binary files /dev/null and b/apiDocumentation/images/iviewer/iviewer.rotate_left.png differ diff --git a/apiDocumentation/images/iviewer/iviewer.rotate_right.png b/apiDocumentation/images/iviewer/iviewer.rotate_right.png new file mode 100644 index 0000000..7a6c829 Binary files /dev/null and b/apiDocumentation/images/iviewer/iviewer.rotate_right.png differ diff --git a/apiDocumentation/images/iviewer/iviewer.zoom_fit.png b/apiDocumentation/images/iviewer/iviewer.zoom_fit.png new file mode 100644 index 0000000..364e01d Binary files /dev/null and b/apiDocumentation/images/iviewer/iviewer.zoom_fit.png differ diff --git a/apiDocumentation/images/iviewer/iviewer.zoom_in.png b/apiDocumentation/images/iviewer/iviewer.zoom_in.png new file mode 100644 index 0000000..7899332 Binary files /dev/null and b/apiDocumentation/images/iviewer/iviewer.zoom_in.png differ diff --git a/apiDocumentation/images/iviewer/iviewer.zoom_out.png b/apiDocumentation/images/iviewer/iviewer.zoom_out.png new file mode 100644 index 0000000..893f350 Binary files /dev/null and b/apiDocumentation/images/iviewer/iviewer.zoom_out.png differ diff --git a/apiDocumentation/images/iviewer/iviewer.zoom_zero.png b/apiDocumentation/images/iviewer/iviewer.zoom_zero.png new file mode 100644 index 0000000..c981db6 Binary files /dev/null and b/apiDocumentation/images/iviewer/iviewer.zoom_zero.png differ diff --git a/apiDocumentation/img/apple-touch-icon-114x114.png b/apiDocumentation/img/apple-touch-icon-114x114.png new file mode 100644 index 0000000..1506f6a Binary files /dev/null and b/apiDocumentation/img/apple-touch-icon-114x114.png differ diff --git a/apiDocumentation/img/apple-touch-icon-72x72.png b/apiDocumentation/img/apple-touch-icon-72x72.png new file mode 100644 index 0000000..d813259 Binary files /dev/null and b/apiDocumentation/img/apple-touch-icon-72x72.png differ diff --git a/apiDocumentation/img/apple-touch-icon.png b/apiDocumentation/img/apple-touch-icon.png new file mode 100644 index 0000000..2d320cb Binary files /dev/null and b/apiDocumentation/img/apple-touch-icon.png differ diff --git a/apiDocumentation/img/favicon.ico b/apiDocumentation/img/favicon.ico new file mode 100644 index 0000000..9575ac8 Binary files /dev/null and b/apiDocumentation/img/favicon.ico differ diff --git a/apiDocumentation/img/glyphicons-halflings-white.png b/apiDocumentation/img/glyphicons-halflings-white.png new file mode 100644 index 0000000..a20760b Binary files /dev/null and b/apiDocumentation/img/glyphicons-halflings-white.png differ diff --git a/apiDocumentation/img/glyphicons-halflings.png b/apiDocumentation/img/glyphicons-halflings.png new file mode 100644 index 0000000..92d4445 Binary files /dev/null and b/apiDocumentation/img/glyphicons-halflings.png differ diff --git a/apiDocumentation/img/icons/arrow_down.png b/apiDocumentation/img/icons/arrow_down.png new file mode 100644 index 0000000..61505ad Binary files /dev/null and b/apiDocumentation/img/icons/arrow_down.png differ diff --git a/apiDocumentation/img/icons/arrow_right.png b/apiDocumentation/img/icons/arrow_right.png new file mode 100644 index 0000000..60c5927 Binary files /dev/null and b/apiDocumentation/img/icons/arrow_right.png differ diff --git a/apiDocumentation/img/icons/class.png b/apiDocumentation/img/icons/class.png new file mode 100644 index 0000000..87c2107 Binary files /dev/null and b/apiDocumentation/img/icons/class.png differ diff --git a/apiDocumentation/img/icons/constant.png b/apiDocumentation/img/icons/constant.png new file mode 100644 index 0000000..f5f180d Binary files /dev/null and b/apiDocumentation/img/icons/constant.png differ diff --git a/apiDocumentation/img/icons/favicon.ico b/apiDocumentation/img/icons/favicon.ico new file mode 100644 index 0000000..df28db3 Binary files /dev/null and b/apiDocumentation/img/icons/favicon.ico differ diff --git a/apiDocumentation/img/icons/file-php.png b/apiDocumentation/img/icons/file-php.png new file mode 100644 index 0000000..c323f09 Binary files /dev/null and b/apiDocumentation/img/icons/file-php.png differ diff --git a/apiDocumentation/img/icons/file.gif b/apiDocumentation/img/icons/file.gif new file mode 100644 index 0000000..7e62167 Binary files /dev/null and b/apiDocumentation/img/icons/file.gif differ diff --git a/apiDocumentation/img/icons/folder.gif b/apiDocumentation/img/icons/folder.gif new file mode 100644 index 0000000..2b31631 Binary files /dev/null and b/apiDocumentation/img/icons/folder.gif differ diff --git a/apiDocumentation/img/icons/function.png b/apiDocumentation/img/icons/function.png new file mode 100644 index 0000000..c430902 Binary files /dev/null and b/apiDocumentation/img/icons/function.png differ diff --git a/apiDocumentation/img/icons/icon-folder-open-big.png b/apiDocumentation/img/icons/icon-folder-open-big.png new file mode 100644 index 0000000..fae384e Binary files /dev/null and b/apiDocumentation/img/icons/icon-folder-open-big.png differ diff --git a/apiDocumentation/img/icons/icon-th-big.png b/apiDocumentation/img/icons/icon-th-big.png new file mode 100644 index 0000000..04b0ad8 Binary files /dev/null and b/apiDocumentation/img/icons/icon-th-big.png differ diff --git a/apiDocumentation/img/icons/icon_template.svg b/apiDocumentation/img/icons/icon_template.svg new file mode 100644 index 0000000..da149c2 --- /dev/null +++ b/apiDocumentation/img/icons/icon_template.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + Co + + diff --git a/apiDocumentation/img/icons/interface.png b/apiDocumentation/img/icons/interface.png new file mode 100644 index 0000000..51a3a17 Binary files /dev/null and b/apiDocumentation/img/icons/interface.png differ diff --git a/apiDocumentation/img/icons/method.png b/apiDocumentation/img/icons/method.png new file mode 100644 index 0000000..a7cc004 Binary files /dev/null and b/apiDocumentation/img/icons/method.png differ diff --git a/apiDocumentation/img/icons/ok.png b/apiDocumentation/img/icons/ok.png new file mode 100644 index 0000000..39f287a Binary files /dev/null and b/apiDocumentation/img/icons/ok.png differ diff --git a/apiDocumentation/img/icons/property.png b/apiDocumentation/img/icons/property.png new file mode 100644 index 0000000..e76d52b Binary files /dev/null and b/apiDocumentation/img/icons/property.png differ diff --git a/apiDocumentation/img/icons/search.gif b/apiDocumentation/img/icons/search.gif new file mode 100644 index 0000000..eef46fc Binary files /dev/null and b/apiDocumentation/img/icons/search.gif differ diff --git a/apiDocumentation/img/icons/variable.png b/apiDocumentation/img/icons/variable.png new file mode 100644 index 0000000..a39bc19 Binary files /dev/null and b/apiDocumentation/img/icons/variable.png differ diff --git a/apiDocumentation/img/icons/view_source.png b/apiDocumentation/img/icons/view_source.png new file mode 100644 index 0000000..0c76bd1 Binary files /dev/null and b/apiDocumentation/img/icons/view_source.png differ diff --git a/apiDocumentation/img/icons/visibility_private.png b/apiDocumentation/img/icons/visibility_private.png new file mode 100644 index 0000000..386dc2d Binary files /dev/null and b/apiDocumentation/img/icons/visibility_private.png differ diff --git a/apiDocumentation/img/icons/visibility_protected.png b/apiDocumentation/img/icons/visibility_protected.png new file mode 100644 index 0000000..d3bd8e7 Binary files /dev/null and b/apiDocumentation/img/icons/visibility_protected.png differ diff --git a/apiDocumentation/img/icons/visibility_public.png b/apiDocumentation/img/icons/visibility_public.png new file mode 100644 index 0000000..4e10063 Binary files /dev/null and b/apiDocumentation/img/icons/visibility_public.png differ diff --git a/apiDocumentation/img/iviewer/grab.cur b/apiDocumentation/img/iviewer/grab.cur new file mode 100644 index 0000000..ef540be Binary files /dev/null and b/apiDocumentation/img/iviewer/grab.cur differ diff --git a/apiDocumentation/img/iviewer/hand.cur b/apiDocumentation/img/iviewer/hand.cur new file mode 100644 index 0000000..1a5bafb Binary files /dev/null and b/apiDocumentation/img/iviewer/hand.cur differ diff --git a/apiDocumentation/img/iviewer/iviewer.rotate_left.png b/apiDocumentation/img/iviewer/iviewer.rotate_left.png new file mode 100644 index 0000000..df0956d Binary files /dev/null and b/apiDocumentation/img/iviewer/iviewer.rotate_left.png differ diff --git a/apiDocumentation/img/iviewer/iviewer.rotate_right.png b/apiDocumentation/img/iviewer/iviewer.rotate_right.png new file mode 100644 index 0000000..7a6c829 Binary files /dev/null and b/apiDocumentation/img/iviewer/iviewer.rotate_right.png differ diff --git a/apiDocumentation/img/iviewer/iviewer.zoom_fit.png b/apiDocumentation/img/iviewer/iviewer.zoom_fit.png new file mode 100644 index 0000000..364e01d Binary files /dev/null and b/apiDocumentation/img/iviewer/iviewer.zoom_fit.png differ diff --git a/apiDocumentation/img/iviewer/iviewer.zoom_fit2.gif b/apiDocumentation/img/iviewer/iviewer.zoom_fit2.gif new file mode 100644 index 0000000..3199a1e Binary files /dev/null and b/apiDocumentation/img/iviewer/iviewer.zoom_fit2.gif differ diff --git a/apiDocumentation/img/iviewer/iviewer.zoom_in.png b/apiDocumentation/img/iviewer/iviewer.zoom_in.png new file mode 100644 index 0000000..7899332 Binary files /dev/null and b/apiDocumentation/img/iviewer/iviewer.zoom_in.png differ diff --git a/apiDocumentation/img/iviewer/iviewer.zoom_in2.gif b/apiDocumentation/img/iviewer/iviewer.zoom_in2.gif new file mode 100644 index 0000000..5d59618 Binary files /dev/null and b/apiDocumentation/img/iviewer/iviewer.zoom_in2.gif differ diff --git a/apiDocumentation/img/iviewer/iviewer.zoom_out.png b/apiDocumentation/img/iviewer/iviewer.zoom_out.png new file mode 100644 index 0000000..893f350 Binary files /dev/null and b/apiDocumentation/img/iviewer/iviewer.zoom_out.png differ diff --git a/apiDocumentation/img/iviewer/iviewer.zoom_out2.gif b/apiDocumentation/img/iviewer/iviewer.zoom_out2.gif new file mode 100644 index 0000000..77ec19a Binary files /dev/null and b/apiDocumentation/img/iviewer/iviewer.zoom_out2.gif differ diff --git a/apiDocumentation/img/iviewer/iviewer.zoom_zero.png b/apiDocumentation/img/iviewer/iviewer.zoom_zero.png new file mode 100644 index 0000000..c981db6 Binary files /dev/null and b/apiDocumentation/img/iviewer/iviewer.zoom_zero.png differ diff --git a/apiDocumentation/img/iviewer/iviewer.zoom_zero2.gif b/apiDocumentation/img/iviewer/iviewer.zoom_zero2.gif new file mode 100644 index 0000000..e56c670 Binary files /dev/null and b/apiDocumentation/img/iviewer/iviewer.zoom_zero2.gif differ diff --git a/apiDocumentation/img/loader.gif b/apiDocumentation/img/loader.gif new file mode 100644 index 0000000..1209425 Binary files /dev/null and b/apiDocumentation/img/loader.gif differ diff --git a/apiDocumentation/indices/files.html b/apiDocumentation/indices/files.html new file mode 100644 index 0000000..e2aa0e3 --- /dev/null +++ b/apiDocumentation/indices/files.html @@ -0,0 +1,184 @@ + + + + + Documentation + + + + + + + + + + + + + + + + + + + + +
                                                                                                                  +

                                                                                                                  Documentation

                                                                                                                  + + + + + +
                                                                                                                  + +
                                                                                                                  +
                                                                                                                  + + + + + +
                                                                                                                  + + +
                                                                                                                  + + + + + + + + diff --git a/apiDocumentation/js/SVGPan.js b/apiDocumentation/js/SVGPan.js new file mode 100644 index 0000000..4966b99 --- /dev/null +++ b/apiDocumentation/js/SVGPan.js @@ -0,0 +1,232 @@ +/** + * SVGPan library 1.2 - phpDocumentor1 + * ==================== + * + * Given an unique existing element with id "viewport", including the + * the library into any SVG adds the following capabilities: + * + * - Mouse panning + * - Mouse zooming (using the wheel) + * - Object dargging + * + * Known issues: + * + * - Zooming (while panning) on Safari has still some issues + * + * Releases: + * + * 1.2 - phpDocumentor1, Fri Apr 08 19:19:00 CET 2011, Mike van Riel + * Increased zoom speed with 20% + * Disabled element moving functionality + * + * 1.2, Sat Mar 20 08:42:50 GMT 2010, Zeng Xiaohui + * Fixed a bug with browser mouse handler interaction + * + * 1.1, Wed Feb 3 17:39:33 GMT 2010, Zeng Xiaohui + * Updated the zoom code to support the mouse wheel on Safari/Chrome + * + * 1.0, Andrea Leofreddi + * First release + * + * This code is licensed under the following BSD license: + * + * Copyright 2009-2010 Andrea Leofreddi . All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY Andrea Leofreddi ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Andrea Leofreddi OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of Andrea Leofreddi. + */ + +var root = document.documentElement; + +var state = 'none', stateTarget, stateOrigin, stateTf; + +setupHandlers(root); + +/** + * Register handlers + */ +function setupHandlers(root){ + setAttributes(root, { + "onmouseup" : "add(evt)", + "onmousedown" : "handleMouseDown(evt)", + "onmousemove" : "handleMouseMove(evt)", + "onmouseup" : "handleMouseUp(evt)", +// "onmouseout" : "handleMouseUp(evt)" // Decomment this to stop the pan functionality when dragging out of the SVG element + }); + + if(navigator.userAgent.toLowerCase().indexOf('webkit') >= 0) + window.addEventListener('mousewheel', handleMouseWheel, false); // Chrome/Safari + else + window.addEventListener('DOMMouseScroll', handleMouseWheel, false); // Others +} + +/** + * Instance an SVGPoint object with given event coordinates. + */ +function getEventPoint(evt) { + var p = root.createSVGPoint(); + + p.x = evt.clientX; + p.y = evt.clientY; + + return p; +} + +/** + * Sets the current transform matrix of an element. + */ +function setCTM(element, matrix) { + var s = "matrix(" + matrix.a + "," + matrix.b + "," + matrix.c + "," + matrix.d + "," + matrix.e + "," + matrix.f + ")"; + + element.setAttribute("transform", s); +} + +/** + * Dumps a matrix to a string (useful for debug). + */ +function dumpMatrix(matrix) { + var s = "[ " + matrix.a + ", " + matrix.c + ", " + matrix.e + "\n " + matrix.b + ", " + matrix.d + ", " + matrix.f + "\n 0, 0, 1 ]"; + + return s; +} + +/** + * Sets attributes of an element. + */ +function setAttributes(element, attributes){ + for (i in attributes) + element.setAttributeNS(null, i, attributes[i]); +} + +/** + * Handle mouse move event. + */ +function handleMouseWheel(evt) { + if(evt.preventDefault) + evt.preventDefault(); + + evt.returnValue = false; + + var svgDoc = evt.target.ownerDocument; + + var delta; + + if(evt.wheelDelta) + delta = evt.wheelDelta / 3600; // Chrome/Safari + else + delta = evt.detail / -90; // Mozilla + + var z = 1 + (delta * 1.2); // Zoom factor: 0.9/1.1 + + var g = svgDoc.getElementById("viewport"); + + var p = getEventPoint(evt); + + p = p.matrixTransform(g.getCTM().inverse()); + + // Compute new scale matrix in current mouse position + var k = root.createSVGMatrix().translate(p.x, p.y).scale(z).translate(-p.x, -p.y); + + setCTM(g, g.getCTM().multiply(k)); + + stateTf = stateTf.multiply(k.inverse()); +} + +/** + * Handle mouse move event. + */ +function handleMouseMove(evt) { + if(evt.preventDefault) + evt.preventDefault(); + + evt.returnValue = false; + + var svgDoc = evt.target.ownerDocument; + + var g = svgDoc.getElementById("viewport"); + + if(state == 'pan') { + // Pan mode + var p = getEventPoint(evt).matrixTransform(stateTf); + + setCTM(g, stateTf.inverse().translate(p.x - stateOrigin.x, p.y - stateOrigin.y)); + } else if(state == 'move') { + // Move mode + var p = getEventPoint(evt).matrixTransform(g.getCTM().inverse()); + + setCTM(stateTarget, root.createSVGMatrix().translate(p.x - stateOrigin.x, p.y - stateOrigin.y).multiply(g.getCTM().inverse()).multiply(stateTarget.getCTM())); + + stateOrigin = p; + } +} + +/** + * Handle click event. + */ +function handleMouseDown(evt) { + if(evt.preventDefault) + evt.preventDefault(); + + evt.returnValue = false; + + var svgDoc = evt.target.ownerDocument; + + var g = svgDoc.getElementById("viewport"); + +// if(evt.target.tagName == "svg") { + // Pan mode + state = 'pan'; + + stateTf = g.getCTM().inverse(); + + stateOrigin = getEventPoint(evt).matrixTransform(stateTf); +// } else { + // Move mode +// state = 'move'; +// +// stateTarget = evt.target; +// +// stateTf = g.getCTM().inverse(); +// +// stateOrigin = getEventPoint(evt).matrixTransform(stateTf); +// } +} + +/** + * Handle mouse button release event. + */ +function handleMouseUp(evt) { + if(evt.preventDefault) + evt.preventDefault(); + + evt.returnValue = false; + + var svgDoc = evt.target.ownerDocument; + + if(state == 'pan' || state == 'move') { + // Quit pan mode + state = ''; + } +} + diff --git a/apiDocumentation/js/bootstrap.js b/apiDocumentation/js/bootstrap.js new file mode 100644 index 0000000..6479673 --- /dev/null +++ b/apiDocumentation/js/bootstrap.js @@ -0,0 +1,1722 @@ +/* =================================================== + * bootstrap-transition.js v2.0.0 + * http://twitter.github.com/bootstrap/javascript.html#transitions + * =================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + +!function( $ ) { + + $(function () { + + "use strict" + + /* CSS TRANSITION SUPPORT (https://gist.github.com/373874) + * ======================================================= */ + + $.support.transition = (function () { + var thisBody = document.body || document.documentElement + , thisStyle = thisBody.style + , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined + + return support && { + end: (function () { + var transitionEnd = "TransitionEnd" + if ( $.browser.webkit ) { + transitionEnd = "webkitTransitionEnd" + } else if ( $.browser.mozilla ) { + transitionEnd = "transitionend" + } else if ( $.browser.opera ) { + transitionEnd = "oTransitionEnd" + } + return transitionEnd + }()) + } + })() + + }) + +}( window.jQuery ) +/* ========================================================== + * bootstrap-alert.js v2.0.0 + * http://twitter.github.com/bootstrap/javascript.html#alerts + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function( $ ){ + + "use strict" + + /* ALERT CLASS DEFINITION + * ====================== */ + + var dismiss = '[data-dismiss="alert"]' + , Alert = function ( el ) { + $(el).on('click', dismiss, this.close) + } + + Alert.prototype = { + + constructor: Alert + + , close: function ( e ) { + var $this = $(this) + , selector = $this.attr('data-target') + , $parent + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + $parent = $(selector) + $parent.trigger('close') + + e && e.preventDefault() + + $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent()) + + $parent.removeClass('in') + + function removeElement() { + $parent.remove() + $parent.trigger('closed') + } + + $.support.transition && $parent.hasClass('fade') ? + $parent.on($.support.transition.end, removeElement) : + removeElement() + } + + } + + + /* ALERT PLUGIN DEFINITION + * ======================= */ + + $.fn.alert = function ( option ) { + return this.each(function () { + var $this = $(this) + , data = $this.data('alert') + if (!data) $this.data('alert', (data = new Alert(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.alert.Constructor = Alert + + + /* ALERT DATA-API + * ============== */ + + $(function () { + $('body').on('click.alert.data-api', dismiss, Alert.prototype.close) + }) + +}( window.jQuery ) +/* ============================================================ + * bootstrap-button.js v2.0.0 + * http://twitter.github.com/bootstrap/javascript.html#buttons + * ============================================================ + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + +!function( $ ){ + + "use strict" + + /* BUTTON PUBLIC CLASS DEFINITION + * ============================== */ + + var Button = function ( element, options ) { + this.$element = $(element) + this.options = $.extend({}, $.fn.button.defaults, options) + } + + Button.prototype = { + + constructor: Button + + , setState: function ( state ) { + var d = 'disabled' + , $el = this.$element + , data = $el.data() + , val = $el.is('input') ? 'val' : 'html' + + state = state + 'Text' + data.resetText || $el.data('resetText', $el[val]()) + + $el[val](data[state] || this.options[state]) + + // push to event loop to allow forms to submit + setTimeout(function () { + state == 'loadingText' ? + $el.addClass(d).attr(d, d) : + $el.removeClass(d).removeAttr(d) + }, 0) + } + + , toggle: function () { + var $parent = this.$element.parent('[data-toggle="buttons-radio"]') + + $parent && $parent + .find('.active') + .removeClass('active') + + this.$element.toggleClass('active') + } + + } + + + /* BUTTON PLUGIN DEFINITION + * ======================== */ + + $.fn.button = function ( option ) { + return this.each(function () { + var $this = $(this) + , data = $this.data('button') + , options = typeof option == 'object' && option + if (!data) $this.data('button', (data = new Button(this, options))) + if (option == 'toggle') data.toggle() + else if (option) data.setState(option) + }) + } + + $.fn.button.defaults = { + loadingText: 'loading...' + } + + $.fn.button.Constructor = Button + + + /* BUTTON DATA-API + * =============== */ + + $(function () { + $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) { + $(e.target).button('toggle') + }) + }) + +}( window.jQuery ) +/* ========================================================== + * bootstrap-carousel.js v2.0.0 + * http://twitter.github.com/bootstrap/javascript.html#carousel + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function( $ ){ + + "use strict" + + /* CAROUSEL CLASS DEFINITION + * ========================= */ + + var Carousel = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, $.fn.carousel.defaults, options) + this.options.slide && this.slide(this.options.slide) + } + + Carousel.prototype = { + + cycle: function () { + this.interval = setInterval($.proxy(this.next, this), this.options.interval) + return this + } + + , to: function (pos) { + var $active = this.$element.find('.active') + , children = $active.parent().children() + , activePos = children.index($active) + , that = this + + if (pos > (children.length - 1) || pos < 0) return + + if (this.sliding) { + return this.$element.one('slid', function () { + that.to(pos) + }) + } + + if (activePos == pos) { + return this.pause().cycle() + } + + return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos])) + } + + , pause: function () { + clearInterval(this.interval) + return this + } + + , next: function () { + if (this.sliding) return + return this.slide('next') + } + + , prev: function () { + if (this.sliding) return + return this.slide('prev') + } + + , slide: function (type, next) { + var $active = this.$element.find('.active') + , $next = next || $active[type]() + , isCycling = this.interval + , direction = type == 'next' ? 'left' : 'right' + , fallback = type == 'next' ? 'first' : 'last' + , that = this + + this.sliding = true + + isCycling && this.pause() + + $next = $next.length ? $next : this.$element.find('.item')[fallback]() + + if (!$.support.transition && this.$element.hasClass('slide')) { + this.$element.trigger('slide') + $active.removeClass('active') + $next.addClass('active') + this.sliding = false + this.$element.trigger('slid') + } else { + $next.addClass(type) + $next[0].offsetWidth // force reflow + $active.addClass(direction) + $next.addClass(direction) + this.$element.trigger('slide') + this.$element.one($.support.transition.end, function () { + $next.removeClass([type, direction].join(' ')).addClass('active') + $active.removeClass(['active', direction].join(' ')) + that.sliding = false + setTimeout(function () { that.$element.trigger('slid') }, 0) + }) + } + + isCycling && this.cycle() + + return this + } + + } + + + /* CAROUSEL PLUGIN DEFINITION + * ========================== */ + + $.fn.carousel = function ( option ) { + return this.each(function () { + var $this = $(this) + , data = $this.data('carousel') + , options = typeof option == 'object' && option + if (!data) $this.data('carousel', (data = new Carousel(this, options))) + if (typeof option == 'number') data.to(option) + else if (typeof option == 'string' || (option = options.slide)) data[option]() + else data.cycle() + }) + } + + $.fn.carousel.defaults = { + interval: 5000 + } + + $.fn.carousel.Constructor = Carousel + + + /* CAROUSEL DATA-API + * ================= */ + + $(function () { + $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) { + var $this = $(this), href + , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 + , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data()) + $target.carousel(options) + e.preventDefault() + }) + }) + +}( window.jQuery ) +/* ============================================================= + * bootstrap-collapse.js v2.0.0 + * http://twitter.github.com/bootstrap/javascript.html#collapse + * ============================================================= + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + +!function( $ ){ + + "use strict" + + var Collapse = function ( element, options ) { + this.$element = $(element) + this.options = $.extend({}, $.fn.collapse.defaults, options) + + if (this.options["parent"]) { + this.$parent = $(this.options["parent"]) + } + + this.options.toggle && this.toggle() + } + + Collapse.prototype = { + + constructor: Collapse + + , dimension: function () { + var hasWidth = this.$element.hasClass('width') + return hasWidth ? 'width' : 'height' + } + + , show: function () { + var dimension = this.dimension() + , scroll = $.camelCase(['scroll', dimension].join('-')) + , actives = this.$parent && this.$parent.find('.in') + , hasData + + if (actives && actives.length) { + hasData = actives.data('collapse') + actives.collapse('hide') + hasData || actives.data('collapse', null) + } + + this.$element[dimension](0) + this.transition('addClass', 'show', 'shown') + this.$element[dimension](this.$element[0][scroll]) + + } + + , hide: function () { + var dimension = this.dimension() + this.reset(this.$element[dimension]()) + this.transition('removeClass', 'hide', 'hidden') + this.$element[dimension](0) + } + + , reset: function ( size ) { + var dimension = this.dimension() + + this.$element + .removeClass('collapse') + [dimension](size || 'auto') + [0].offsetWidth + + this.$element.addClass('collapse') + } + + , transition: function ( method, startEvent, completeEvent ) { + var that = this + , complete = function () { + if (startEvent == 'show') that.reset() + that.$element.trigger(completeEvent) + } + + this.$element + .trigger(startEvent) + [method]('in') + + $.support.transition && this.$element.hasClass('collapse') ? + this.$element.one($.support.transition.end, complete) : + complete() + } + + , toggle: function () { + this[this.$element.hasClass('in') ? 'hide' : 'show']() + } + + } + + /* COLLAPSIBLE PLUGIN DEFINITION + * ============================== */ + + $.fn.collapse = function ( option ) { + return this.each(function () { + var $this = $(this) + , data = $this.data('collapse') + , options = typeof option == 'object' && option + if (!data) $this.data('collapse', (data = new Collapse(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.collapse.defaults = { + toggle: true + } + + $.fn.collapse.Constructor = Collapse + + + /* COLLAPSIBLE DATA-API + * ==================== */ + + $(function () { + $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) { + var $this = $(this), href + , target = $this.attr('data-target') + || e.preventDefault() + || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 + , option = $(target).data('collapse') ? 'toggle' : $this.data() + $(target).collapse(option) + }) + }) + +}( window.jQuery ) +/* ============================================================ + * bootstrap-dropdown.js v2.0.0 + * http://twitter.github.com/bootstrap/javascript.html#dropdowns + * ============================================================ + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function( $ ){ + + "use strict" + + /* DROPDOWN CLASS DEFINITION + * ========================= */ + + var toggle = '[data-toggle="dropdown"]' + , Dropdown = function ( element ) { + var $el = $(element).on('click.dropdown.data-api', this.toggle) + $('html').on('click.dropdown.data-api', function () { + $el.parent().removeClass('open') + }) + } + + Dropdown.prototype = { + + constructor: Dropdown + + , toggle: function ( e ) { + var $this = $(this) + , selector = $this.attr('data-target') + , $parent + , isActive + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + $parent = $(selector) + $parent.length || ($parent = $this.parent()) + + isActive = $parent.hasClass('open') + + clearMenus() + !isActive && $parent.toggleClass('open') + + return false + } + + } + + function clearMenus() { + $(toggle).parent().removeClass('open') + } + + + /* DROPDOWN PLUGIN DEFINITION + * ========================== */ + + $.fn.dropdown = function ( option ) { + return this.each(function () { + var $this = $(this) + , data = $this.data('dropdown') + if (!data) $this.data('dropdown', (data = new Dropdown(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.dropdown.Constructor = Dropdown + + + /* APPLY TO STANDARD DROPDOWN ELEMENTS + * =================================== */ + + $(function () { + $('html').on('click.dropdown.data-api', clearMenus) + $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle) + }) + +}( window.jQuery ) +/* ========================================================= + * bootstrap-modal.js v2.0.0 + * http://twitter.github.com/bootstrap/javascript.html#modals + * ========================================================= + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================= */ + + +!function( $ ){ + + "use strict" + + /* MODAL CLASS DEFINITION + * ====================== */ + + var Modal = function ( content, options ) { + this.options = $.extend({}, $.fn.modal.defaults, options) + this.$element = $(content) + .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this)) + } + + Modal.prototype = { + + constructor: Modal + + , toggle: function () { + return this[!this.isShown ? 'show' : 'hide']() + } + + , show: function () { + var that = this + + if (this.isShown) return + + $('body').addClass('modal-open') + + this.isShown = true + this.$element.trigger('show') + + escape.call(this) + backdrop.call(this, function () { + var transition = $.support.transition && that.$element.hasClass('fade') + + !that.$element.parent().length && that.$element.appendTo(document.body) //don't move modals dom position + + that.$element + .show() + + if (transition) { + that.$element[0].offsetWidth // force reflow + } + + that.$element.addClass('in') + + transition ? + that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) : + that.$element.trigger('shown') + + }) + } + + , hide: function ( e ) { + e && e.preventDefault() + + if (!this.isShown) return + + var that = this + this.isShown = false + + $('body').removeClass('modal-open') + + escape.call(this) + + this.$element + .trigger('hide') + .removeClass('in') + + $.support.transition && this.$element.hasClass('fade') ? + hideWithTransition.call(this) : + hideModal.call(this) + } + + } + + + /* MODAL PRIVATE METHODS + * ===================== */ + + function hideWithTransition() { + var that = this + , timeout = setTimeout(function () { + that.$element.off($.support.transition.end) + hideModal.call(that) + }, 500) + + this.$element.one($.support.transition.end, function () { + clearTimeout(timeout) + hideModal.call(that) + }) + } + + function hideModal( that ) { + this.$element + .hide() + .trigger('hidden') + + backdrop.call(this) + } + + function backdrop( callback ) { + var that = this + , animate = this.$element.hasClass('fade') ? 'fade' : '' + + if (this.isShown && this.options.backdrop) { + var doAnimate = $.support.transition && animate + + this.$backdrop = $('").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),ah={width:ai.width(),height:ai.height()},ak=document.activeElement;ai.wrap(al);if(ai[0]===ak||L.contains(ai[0],ak)){L(ak).focus()}al=ai.parent();if(ai.css("position")==="static"){al.css({position:"relative"});ai.css({position:"relative"})}else{L.extend(aj,{position:ai.css("position"),zIndex:ai.css("z-index")});L.each(["top","left","bottom","right"],function(am,an){aj[an]=ai.css(an);if(isNaN(parseInt(aj[an],10))){aj[an]="auto"}});ai.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}ai.css(ah);return al.css(aj).show()},removeWrapper:function(ah){var ai=document.activeElement;if(ah.parent().is(".ui-effects-wrapper")){ah.parent().replaceWith(ah);if(ah[0]===ai||L.contains(ah[0],ai)){L(ai).focus()}}return ah}});function j(ai,ah,aj,ak){if(L.isPlainObject(ai)){return ai}ai={effect:ai};if(ah===u){ah={}}if(L.isFunction(ah)){ak=ah;aj=null;ah={}}if(L.type(ah)==="number"||L.fx.speeds[ah]){ak=aj;aj=ah;ah={}}if(L.isFunction(aj)){ak=aj;aj=null}if(ah){L.extend(ai,ah)}aj=aj||ah.duration;ai.duration=L.fx.off?0:typeof aj==="number"?aj:aj in L.fx.speeds?L.fx.speeds[aj]:L.fx.speeds._default;ai.complete=ak||ah.complete;return ai}function ae(ah){if(!ah||typeof ah==="number"||L.fx.speeds[ah]){return true}if(typeof ah==="string"&&!L.jqplot.effects.effect[ah]){if(X&&L.jqplot.effects[ah]){return false}return true}return false}L.fn.extend({jqplotEffect:function(ap,aq,ai,ao){var an=j.apply(this,arguments),ak=an.mode,al=an.queue,am=L.jqplot.effects.effect[an.effect],ah=!am&&X&&L.jqplot.effects[an.effect];if(L.fx.off||!(am||ah)){if(ak){return this[ak](an.duration,an.complete)}else{return this.each(function(){if(an.complete){an.complete.call(this)}})}}function aj(au){var av=L(this),at=an.complete,aw=an.mode;function ar(){if(L.isFunction(at)){at.call(av[0])}if(L.isFunction(au)){au()}}if(av.is(":hidden")?aw==="hide":aw==="show"){ar()}else{am.call(av[0],an,ar)}}if(am){return al===false?this.each(aj):this.queue(al||"fx",aj)}else{return ah.call(this,{options:an,duration:an.duration,callback:an.complete,mode:an.mode})}}});var a=/up|down|vertical/,v=/up|left|vertical|horizontal/;L.jqplot.effects.effect.blind=function(aj,ao){var ak=L(this),ar=["position","top","bottom","left","right","height","width"],ap=L.jqplot.effects.setMode(ak,aj.mode||"hide"),au=aj.direction||"up",am=a.test(au),al=am?"height":"width",aq=am?"top":"left",aw=v.test(au),an={},av=ap==="show",ai,ah,at;if(ak.parent().is(".ui-effects-wrapper")){L.jqplot.effects.save(ak.parent(),ar)}else{L.jqplot.effects.save(ak,ar)}ak.show();at=parseInt(ak.css("top"),10);ai=L.jqplot.effects.createWrapper(ak).css({overflow:"hidden"});ah=am?ai[al]()+at:ai[al]();an[al]=av?String(ah):"0";if(!aw){ak.css(am?"bottom":"right",0).css(am?"top":"left","").css({position:"absolute"});an[aq]=av?"0":String(ah)}if(av){ai.css(al,0);if(!aw){ai.css(aq,ah)}}ai.animate(an,{duration:aj.duration,easing:aj.easing,queue:false,complete:function(){if(ap==="hide"){ak.hide()}L.jqplot.effects.restore(ak,ar);L.jqplot.effects.removeWrapper(ak);ao()}})}})(jQuery); diff --git a/apiDocumentation/js/jqplot/plugins/jqplot.BezierCurveRenderer.min.js b/apiDocumentation/js/jqplot/plugins/jqplot.BezierCurveRenderer.min.js new file mode 100644 index 0000000..6a156be --- /dev/null +++ b/apiDocumentation/js/jqplot/plugins/jqplot.BezierCurveRenderer.min.js @@ -0,0 +1,3 @@ +/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com + jsDate | (c) 2010-2013 Chris Leonello + */(function(b){b.jqplot.BezierCurveRenderer=function(){b.jqplot.LineRenderer.call(this)};b.jqplot.BezierCurveRenderer.prototype=new b.jqplot.LineRenderer();b.jqplot.BezierCurveRenderer.prototype.constructor=b.jqplot.BezierCurveRenderer;b.jqplot.BezierCurveRenderer.prototype.setGridData=function(h){var e=this._xaxis.series_u2p;var g=this._yaxis.series_u2p;var f=this.data;this.gridData=[];this._prevGridData=[];var d=this.index;if(f.length==2){if(d==0){this.gridData=[[e.call(this._xaxis,f[0][0]),g.call(this._yaxis,f[0][1])],[e.call(this._xaxis,f[1][0]),g.call(this._yaxis,f[1][1]),e.call(this._xaxis,f[1][2]),g.call(this._yaxis,f[1][3]),e.call(this._xaxis,f[1][4]),g.call(this._yaxis,f[1][5])],[e.call(this._xaxis,f[1][4]),g.call(this._yaxis,this._yaxis.min)],[e.call(this._xaxis,f[0][0]),g.call(this._yaxis,this._yaxis.min)]]}else{var c=h.series[d-1].data;this.gridData=[[e.call(this._xaxis,f[0][0]),g.call(this._yaxis,f[0][1])],[e.call(this._xaxis,f[1][0]),g.call(this._yaxis,f[1][1]),e.call(this._xaxis,f[1][2]),g.call(this._yaxis,f[1][3]),e.call(this._xaxis,f[1][4]),g.call(this._yaxis,f[1][5])],[e.call(this._xaxis,c[1][4]),g.call(this._yaxis,c[1][5])],[e.call(this._xaxis,c[1][2]),g.call(this._yaxis,c[1][3]),e.call(this._xaxis,c[1][0]),g.call(this._yaxis,c[1][1]),e.call(this._xaxis,c[0][0]),g.call(this._yaxis,c[0][1])]]}}else{if(d==0){this.gridData=[[e.call(this._xaxis,f[0][0]),g.call(this._yaxis,f[0][1])],[e.call(this._xaxis,f[1][0]),g.call(this._yaxis,f[1][1]),e.call(this._xaxis,f[2][0]),g.call(this._yaxis,f[2][1]),e.call(this._xaxis,f[3][0]),g.call(this._yaxis,f[3][1])],[e.call(this._xaxis,f[3][1]),g.call(this._yaxis,this._yaxis.min)],[e.call(this._xaxis,f[0][0]),g.call(this._yaxis,this._yaxis.min)]]}else{var c=h.series[d-1].data;this.gridData=[[e.call(this._xaxis,f[0][0]),g.call(this._yaxis,f[0][1])],[e.call(this._xaxis,f[1][0]),g.call(this._yaxis,f[1][1]),e.call(this._xaxis,f[2][0]),g.call(this._yaxis,f[2][1]),e.call(this._xaxis,f[3][0]),g.call(this._yaxis,f[3][1])],[e.call(this._xaxis,c[3][0]),g.call(this._yaxis,c[3][1])],[e.call(this._xaxis,c[2][0]),g.call(this._yaxis,c[2][1]),e.call(this._xaxis,c[1][0]),g.call(this._yaxis,c[1][1]),e.call(this._xaxis,c[0][0]),g.call(this._yaxis,c[0][1])]]}}};b.jqplot.BezierCurveRenderer.prototype.makeGridData=function(g,i){var f=this._xaxis.series_u2p;var h=this._yaxis.series_u2p;var e=[];var j=[];var d=this.index;if(g.length==2){if(d==0){e=[[f.call(this._xaxis,g[0][0]),h.call(this._yaxis,g[0][1])],[f.call(this._xaxis,g[1][0]),h.call(this._yaxis,g[1][1]),f.call(this._xaxis,g[1][2]),h.call(this._yaxis,g[1][3]),f.call(this._xaxis,g[1][4]),h.call(this._yaxis,g[1][5])],[f.call(this._xaxis,g[1][4]),h.call(this._yaxis,this._yaxis.min)],[f.call(this._xaxis,g[0][0]),h.call(this._yaxis,this._yaxis.min)]]}else{var c=i.series[d-1].data;e=[[f.call(this._xaxis,g[0][0]),h.call(this._yaxis,g[0][1])],[f.call(this._xaxis,g[1][0]),h.call(this._yaxis,g[1][1]),f.call(this._xaxis,g[1][2]),h.call(this._yaxis,g[1][3]),f.call(this._xaxis,g[1][4]),h.call(this._yaxis,g[1][5])],[f.call(this._xaxis,c[1][4]),h.call(this._yaxis,c[1][5])],[f.call(this._xaxis,c[1][2]),h.call(this._yaxis,c[1][3]),f.call(this._xaxis,c[1][0]),h.call(this._yaxis,c[1][1]),f.call(this._xaxis,c[0][0]),h.call(this._yaxis,c[0][1])]]}}else{if(d==0){e=[[f.call(this._xaxis,g[0][0]),h.call(this._yaxis,g[0][1])],[f.call(this._xaxis,g[1][0]),h.call(this._yaxis,g[1][1]),f.call(this._xaxis,g[2][0]),h.call(this._yaxis,g[2][1]),f.call(this._xaxis,g[3][0]),h.call(this._yaxis,g[3][1])],[f.call(this._xaxis,g[3][1]),h.call(this._yaxis,this._yaxis.min)],[f.call(this._xaxis,g[0][0]),h.call(this._yaxis,this._yaxis.min)]]}else{var c=i.series[d-1].data;e=[[f.call(this._xaxis,g[0][0]),h.call(this._yaxis,g[0][1])],[f.call(this._xaxis,g[1][0]),h.call(this._yaxis,g[1][1]),f.call(this._xaxis,g[2][0]),h.call(this._yaxis,g[2][1]),f.call(this._xaxis,g[3][0]),h.call(this._yaxis,g[3][1])],[f.call(this._xaxis,c[3][0]),h.call(this._yaxis,c[3][1])],[f.call(this._xaxis,c[2][0]),h.call(this._yaxis,c[2][1]),f.call(this._xaxis,c[1][0]),h.call(this._yaxis,c[1][1]),f.call(this._xaxis,c[0][0]),h.call(this._yaxis,c[0][1])]]}}return e};b.jqplot.BezierCurveRenderer.prototype.draw=function(c,g,d){var e;c.save();if(g.length){if(this.showLine){c.save();var f=(d!=null)?d:{};c.fillStyle=f.fillStyle||this.color;c.beginPath();c.moveTo(g[0][0],g[0][1]);c.bezierCurveTo(g[1][0],g[1][1],g[1][2],g[1][3],g[1][4],g[1][5]);c.lineTo(g[2][0],g[2][1]);if(g[3].length==2){c.lineTo(g[3][0],g[3][1])}else{c.bezierCurveTo(g[3][0],g[3][1],g[3][2],g[3][3],g[3][4],g[3][5])}c.closePath();c.fill();c.restore()}}c.restore()};b.jqplot.BezierCurveRenderer.prototype.drawShadow=function(c,e,d){};b.jqplot.BezierAxisRenderer=function(){b.jqplot.LinearAxisRenderer.call(this)};b.jqplot.BezierAxisRenderer.prototype=new b.jqplot.LinearAxisRenderer();b.jqplot.BezierAxisRenderer.prototype.constructor=b.jqplot.BezierAxisRenderer;b.jqplot.BezierAxisRenderer.prototype.init=function(f){b.extend(true,this,f);var c=this._dataBounds;for(var g=0;gc.max||c.max==null){c.max=k[e][0]}}else{if(k[e][1]c.max||c.max==null){c.max=k[e][1]}}}}else{if(this.name=="xaxis"||this.name=="x2axis"){if(k[0][0]c.max||c.max==null){c.max=k[0][0]}for(var e=0;e<5;e+=2){if(k[1][e]c.max||c.max==null){c.max=k[1][e]}}}else{if(k[0][1]c.max||c.max==null){c.max=k[0][1]}for(var e=1;e<6;e+=2){if(k[1][e]c.max||c.max==null){c.max=k[1][e]}}}}}};function a(g,f,d){d=d||{};d.axesDefaults=b.extend(true,{pad:0},d.axesDefaults);d.seriesDefaults=d.seriesDefaults||{};d.legend=b.extend(true,{placement:"outside"},d.legend);var c=false;if(d.seriesDefaults.renderer==b.jqplot.BezierCurveRenderer){c=true}else{if(d.series){for(var e=0;e0){this.data[q][u]+=this.data[q-1][u]}}this.data[this.data.length]=(u==1)?[this.data.length+1,s]:[s,this.data.length+1];this._data[this._data.length]=(u==1)?[this._data.length+1,s]:[s,this._data.length+1]}if(this.rendererOptions.groups>1){this.breakOnNull=true;var n=this.data.length;var v=parseInt(n/this.rendererOptions.groups,10);var r=0;for(var q=v;q570)?n[p]*0.8:n[p]+0.3*(255-n[p]);n[p]=parseInt(n[p],10)}q.push("rgb("+n[0]+","+n[1]+","+n[2]+")")}return q}function i(v,u,s,t,o){var q=v,w=v-1,n,p,r=(o==="x")?0:1;if(q>0){p=t.series[w]._plotData[u][r];if((s*p)<0){n=i(w,u,s,t,o)}else{n=t.series[w].gridData[u][r]}}else{n=(r===0)?t.series[q]._xaxis.series_u2p(0):t.series[q]._yaxis.series_u2p(0)}return n}d.jqplot.BarRenderer.prototype.draw=function(E,L,q,G){var I;var A=d.extend({},q);var w=(A.shadow!=undefined)?A.shadow:this.shadow;var O=(A.showLine!=undefined)?A.showLine:this.showLine;var F=(A.fill!=undefined)?A.fill:this.fill;var p=this.xaxis;var J=this.yaxis;var y=this._xaxis.series_u2p;var K=this._yaxis.series_u2p;var D,C;this._dataColors=[];this._barPoints=[];if(this.barWidth==null){this.renderer.setBarWidth.call(this)}var N=this._plotSeriesInfo=this.renderer.calcSeriesNumbers.call(this);var x=N[0];var v=N[1];var s=N[2];var H=[];if(this._stack){this._barNudge=0}else{this._barNudge=(-Math.abs(v/2-0.5)+s)*(this.barWidth+this.barPadding)}if(O){var u=new d.jqplot.ColorGenerator(this.negativeSeriesColors);var B=new d.jqplot.ColorGenerator(this.seriesColors);var M=u.get(this.index);if(!this.useNegativeColors){M=A.fillStyle}var t=A.fillStyle;var r;var P;var o;if(this.barDirection=="vertical"){for(var I=0;I0&&I=0){o=this._yaxis.series_u2p(0)}else{if(this._yaxis.min>0){o=E.canvas.height}else{o=0}}}else{if(this.waterfall&&I==this.gridData.length-1){if(this._yaxis.min<=0&&this._yaxis.max>=0){o=this._yaxis.series_u2p(0)}else{if(this._yaxis.min>0){o=E.canvas.height}else{o=0}}}else{o=E.canvas.height}}}}}if((this.fillToZero&&this._plotData[I][1]<0)||(this.waterfall&&this._data[I][1]<0)){if(this.varyBarColor&&!this._stack){if(this.useNegativeColors){A.fillStyle=u.next()}else{A.fillStyle=B.next()}}else{A.fillStyle=M}}else{if(this.varyBarColor&&!this._stack){A.fillStyle=B.next()}else{A.fillStyle=t}}if(!this.fillToZero||this._plotData[I][1]>=0){H.push([r-this.barWidth/2,o]);H.push([r-this.barWidth/2,L[I][1]]);H.push([r+this.barWidth/2,L[I][1]]);H.push([r+this.barWidth/2,o])}else{H.push([r-this.barWidth/2,L[I][1]]);H.push([r-this.barWidth/2,o]);H.push([r+this.barWidth/2,o]);H.push([r+this.barWidth/2,L[I][1]])}this._barPoints.push(H);if(w&&!this._stack){var z=d.extend(true,{},A);delete z.fillStyle;this.renderer.shadowRenderer.draw(E,H,z)}var n=A.fillStyle||this.color;this._dataColors.push(n);this.renderer.shapeRenderer.draw(E,H,A)}}else{if(this.barDirection=="horizontal"){for(var I=0;I0&&I=0){P=this._xaxis.series_u2p(0)}else{if(this._xaxis.min>0){P=0}else{P=0}}}else{if(this.waterfall&&I==this.gridData.length-1){if(this._xaxis.min<=0&&this._xaxis.max>=0){P=this._xaxis.series_u2p(0)}else{if(this._xaxis.min>0){P=0}else{P=E.canvas.width}}}else{P=0}}}}}if((this.fillToZero&&this._plotData[I][0]<0)||(this.waterfall&&this._data[I][0]<0)){if(this.varyBarColor&&!this._stack){if(this.useNegativeColors){A.fillStyle=u.next()}else{A.fillStyle=B.next()}}else{A.fillStyle=M}}else{if(this.varyBarColor&&!this._stack){A.fillStyle=B.next()}else{A.fillStyle=t}}if(!this.fillToZero||this._plotData[I][0]>=0){H.push([P,r+this.barWidth/2]);H.push([P,r-this.barWidth/2]);H.push([L[I][0],r-this.barWidth/2]);H.push([L[I][0],r+this.barWidth/2])}else{H.push([L[I][0],r+this.barWidth/2]);H.push([L[I][0],r-this.barWidth/2]);H.push([P,r-this.barWidth/2]);H.push([P,r+this.barWidth/2])}this._barPoints.push(H);if(w&&!this._stack){var z=d.extend(true,{},A);delete z.fillStyle;this.renderer.shadowRenderer.draw(E,H,z)}var n=A.fillStyle||this.color;this._dataColors.push(n);this.renderer.shapeRenderer.draw(E,H,A)}}}}if(this.highlightColors.length==0){this.highlightColors=d.jqplot.computeHighlightColors(this._dataColors)}else{if(typeof(this.highlightColors)=="string"){var N=this.highlightColors;this.highlightColors=[];for(var I=0;I")}k=a.extend(true,{},this.css,k);c=a('
                                                                                                                  ');this.canvas._elem.append(c);this.escapeHtml?c.text(p):c.html(p);delete k.position;delete k.marginRight;delete k.marginLeft;if(!k.background&&!k.backgroundColor&&!k.backgroundImage){k.background=j.next()}c.css(k);n=c.outerWidth();g=c.outerHeight();e=o[0]-n/2+"px";m=o[1]-g/2+"px";c.css({left:e,top:m});c=null}};a.jqplot.BlockCanvas=function(){a.jqplot.ElemContainer.call(this);this._ctx};a.jqplot.BlockCanvas.prototype=new a.jqplot.ElemContainer();a.jqplot.BlockCanvas.prototype.constructor=a.jqplot.BlockCanvas;a.jqplot.BlockCanvas.prototype.createElement=function(i,e,c){this._offsets=i;var b="jqplot-blockCanvas";if(e!=undefined){b=e}var g;if(this._elem){g=this._elem.get(0)}else{g=document.createElement("div")}if(c!=undefined){this._plotDimensions=c}var d=this._plotDimensions.width-this._offsets.left-this._offsets.right+"px";var f=this._plotDimensions.height-this._offsets.top-this._offsets.bottom+"px";this._elem=a(g);this._elem.css({position:"absolute",width:d,height:f,left:this._offsets.left,top:this._offsets.top});this._elem.addClass(b);return this._elem};a.jqplot.BlockCanvas.prototype.setContext=function(){this._ctx={canvas:{width:0,height:0},clearRect:function(){return null}};return this._ctx}})(jQuery); diff --git a/apiDocumentation/js/jqplot/plugins/jqplot.bubbleRenderer.min.js b/apiDocumentation/js/jqplot/plugins/jqplot.bubbleRenderer.min.js new file mode 100644 index 0000000..aa145c3 --- /dev/null +++ b/apiDocumentation/js/jqplot/plugins/jqplot.bubbleRenderer.min.js @@ -0,0 +1,3 @@ +/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com + jsDate | (c) 2010-2013 Chris Leonello + */(function(f){var d=function(m){return Math.max.apply(Math,m)};var j=function(m){return Math.min.apply(Math,m)};f.jqplot.BubbleRenderer=function(){f.jqplot.LineRenderer.call(this)};f.jqplot.BubbleRenderer.prototype=new f.jqplot.LineRenderer();f.jqplot.BubbleRenderer.prototype.constructor=f.jqplot.BubbleRenderer;f.jqplot.BubbleRenderer.prototype.init=function(w,t){this.varyBubbleColors=true;this.autoscaleBubbles=true;this.autoscaleMultiplier=1;this.autoscalePointsFactor=-0.07;this.escapeHtml=true;this.highlightMouseOver=true;this.highlightMouseDown=false;this.highlightColors=[];this.bubbleAlpha=1;this.highlightAlpha=null;this.bubbleGradients=false;this.showLabels=true;this.radii=[];this.maxRadius=0;this._highlightedPoint=null;this.labels=[];this.bubbleCanvases=[];this._type="bubble";if(w.highlightMouseDown&&w.highlightMouseOver==null){w.highlightMouseOver=false}f.extend(true,this,w);if(this.highlightAlpha==null){this.highlightAlpha=this.bubbleAlpha;if(this.bubbleGradients){this.highlightAlpha=0.35}}this.autoscaleMultiplier=this.autoscaleMultiplier*Math.pow(this.data.length,this.autoscalePointsFactor);this._highlightedPoint=null;var n;for(var r=0;r570)?u[q]*0.8:u[q]+0.3*(255-u[q]);u[q]=parseInt(u[q],10)}this.highlightColors.push("rgba("+u[0]+","+u[1]+","+u[2]+", "+this.highlightAlpha+")")}}this.highlightColorGenerator=new f.jqplot.ColorGenerator(this.highlightColors);var m={fill:true,isarc:true,angle:this.shadowAngle,alpha:this.shadowAlpha,closePath:true};this.renderer.shadowRenderer.init(m);this.canvas=new f.jqplot.DivCanvas();this.canvas._plotDimensions=this._plotDimensions;t.eventListenerHooks.addOnce("jqplotMouseMove",a);t.eventListenerHooks.addOnce("jqplotMouseDown",b);t.eventListenerHooks.addOnce("jqplotMouseUp",k);t.eventListenerHooks.addOnce("jqplotClick",g);t.eventListenerHooks.addOnce("jqplotRightClick",l);t.postDrawHooks.addOnce(h)};f.jqplot.BubbleRenderer.prototype.setGridData=function(w){var q=this._xaxis.series_u2p;var m=this._yaxis.series_u2p;var t=this._plotData;this.gridData=[];var s=[];this.radii=[];var v=Math.min(w._height,w._width);for(var u=0;u');if(this.escapeHtml){p.text(z)}else{p.html(z)}this.canvas._elem.append(p);var H=f(p).outerHeight();var v=f(p).outerWidth();var B=J[1]-0.5*H;var o=J[0]-0.5*v;p.css({top:B,left:o});this.labels[C]=f(p)}}};f.jqplot.DivCanvas=function(){f.jqplot.ElemContainer.call(this);this._ctx};f.jqplot.DivCanvas.prototype=new f.jqplot.ElemContainer();f.jqplot.DivCanvas.prototype.constructor=f.jqplot.DivCanvas;f.jqplot.DivCanvas.prototype.createElement=function(s,p,n){this._offsets=s;var m="jqplot-DivCanvas";if(p!=undefined){m=p}var r;if(this._elem){r=this._elem.get(0)}else{r=document.createElement("div")}if(n!=undefined){this._plotDimensions=n}var o=this._plotDimensions.width-this._offsets.left-this._offsets.right+"px";var q=this._plotDimensions.height-this._offsets.top-this._offsets.bottom+"px";this._elem=f(r);this._elem.css({position:"absolute",width:o,height:q,left:this._offsets.left,top:this._offsets.top});this._elem.addClass(m);return this._elem};f.jqplot.DivCanvas.prototype.setContext=function(){this._ctx={canvas:{width:0,height:0},clearRect:function(){return null}};return this._ctx};f.jqplot.BubbleCanvas=function(){f.jqplot.ElemContainer.call(this);this._ctx};f.jqplot.BubbleCanvas.prototype=new f.jqplot.ElemContainer();f.jqplot.BubbleCanvas.prototype.constructor=f.jqplot.BubbleCanvas;f.jqplot.BubbleCanvas.prototype.createElement=function(n,u,s){var m="jqplot-bubble-point";var q;if(this._elem){q=this._elem.get(0)}else{q=document.createElement("canvas")}q.width=(s!=null)?2*s:q.width;q.height=(s!=null)?2*s:q.height;this._elem=f(q);var o=(n!=null&&s!=null)?n-s:this._elem.css("left");var p=(u!=null&&s!=null)?u-s:this._elem.css("top");this._elem.css({position:"absolute",left:o,top:p});this._elem.addClass(m);if(f.jqplot.use_excanvas){window.G_vmlCanvasManager.init_(document);q=window.G_vmlCanvasManager.initElement(q)}return this._elem};f.jqplot.BubbleCanvas.prototype.draw=function(m,s,v,p){var D=this._ctx;var B=D.canvas.width/2;var z=D.canvas.height/2;D.save();if(v&&!f.jqplot.use_excanvas){m=m*1.04;var o=f.jqplot.getColorComponents(s);var u="rgba("+Math.round(o[0]+0.8*(255-o[0]))+", "+Math.round(o[1]+0.8*(255-o[1]))+", "+Math.round(o[2]+0.8*(255-o[2]))+", "+o[3]+")";var t="rgba("+o[0]+", "+o[1]+", "+o[2]+", 0)";var C=0.35*m;var A=B-Math.cos(p)*0.33*m;var n=z-Math.sin(p)*0.33*m;var w=D.createRadialGradient(A,n,C,B,z,m);w.addColorStop(0,u);w.addColorStop(0.93,s);w.addColorStop(0.96,t);w.addColorStop(1,t);D.fillStyle=w;D.fillRect(0,0,D.canvas.width,D.canvas.height)}else{D.fillStyle=s;D.strokeStyle=s;D.lineWidth=1;D.beginPath();var q=2*Math.PI;D.arc(B,z,m,0,q,0);D.closePath();D.fill()}D.restore()};f.jqplot.BubbleCanvas.prototype.setContext=function(){this._ctx=this._elem.get(0).getContext("2d");return this._ctx};f.jqplot.BubbleAxisRenderer=function(){f.jqplot.LinearAxisRenderer.call(this)};f.jqplot.BubbleAxisRenderer.prototype=new f.jqplot.LinearAxisRenderer();f.jqplot.BubbleAxisRenderer.prototype.constructor=f.jqplot.BubbleAxisRenderer;f.jqplot.BubbleAxisRenderer.prototype.init=function(n){f.extend(true,this,n);var I=this._dataBounds;var H=0,v=0,m=0,y=0,q=0,r=0,D=0,t=0,F=0,z=0;for(var E=0;EI.max||I.max==null){I.max=G[B][0];m=E;y=B;q=G[B][2];t=x.maxRadius;F=x.autoscaleMultiplier}}else{if(G[B][1]I.max||I.max==null){I.max=G[B][1];m=E;y=B;q=G[B][2];t=x.maxRadius;F=x.autoscaleMultiplier}}}}var o=r/D;var w=q/t;var C=I.max-I.min;var A=Math.min(this._plotDimensions.width,this._plotDimensions.height);var p=o*z/3*C;var u=w*F/3*C;I.max+=u;I.min-=p};function e(p,v,q){p.plugins.bubbleRenderer.highlightLabelCanvas.empty();var z=p.series[v];var n=p.plugins.bubbleRenderer.highlightCanvas;var w=n._ctx;w.clearRect(0,0,w.canvas.width,w.canvas.height);z._highlightedPoint=q;p.plugins.bubbleRenderer.highlightedSeriesIndex=v;var o=z.highlightColorGenerator.get(q);var u=z.gridData[q][0],t=z.gridData[q][1],m=z.gridData[q][2];w.save();w.fillStyle=o;w.strokeStyle=o;w.lineWidth=1;w.beginPath();w.arc(u,t,m,0,2*Math.PI,0);w.closePath();w.fill();w.restore();if(z.labels[q]){p.plugins.bubbleRenderer.highlightLabel=z.labels[q].clone();p.plugins.bubbleRenderer.highlightLabel.appendTo(p.plugins.bubbleRenderer.highlightLabelCanvas);p.plugins.bubbleRenderer.highlightLabel.addClass("jqplot-bubble-label-highlight")}}function i(p){var m=p.plugins.bubbleRenderer.highlightCanvas;var o=p.plugins.bubbleRenderer.highlightedSeriesIndex;p.plugins.bubbleRenderer.highlightLabelCanvas.empty();m._ctx.clearRect(0,0,m._ctx.canvas.width,m._ctx.canvas.height);for(var n=0;n');var q=this._gridPadding.top;var p=this._gridPadding.left;var n=this._plotDimensions.width-this._gridPadding.left-this._gridPadding.right;var m=this._plotDimensions.height-this._gridPadding.top-this._gridPadding.bottom;this.plugins.bubbleRenderer.highlightLabelCanvas.css({top:q,left:p,width:n+"px",height:m+"px"});this.eventCanvas._elem.before(this.plugins.bubbleRenderer.highlightCanvas.createElement(this._gridPadding,"jqplot-bubbleRenderer-highlight-canvas",this._plotDimensions,this));this.eventCanvas._elem.before(this.plugins.bubbleRenderer.highlightLabelCanvas);var o=this.plugins.bubbleRenderer.highlightCanvas.setContext()}function c(q,p,n){n=n||{};n.axesDefaults=n.axesDefaults||{};n.seriesDefaults=n.seriesDefaults||{};var m=false;if(n.seriesDefaults.renderer==f.jqplot.BubbleRenderer){m=true}else{if(n.series){for(var o=0;ot){y=w;w=t;t=y}if(v>s){y=v;v=s;s=y}var u=(o>=w&&o<=t&&n>=v&&n<=s);return u}function a(z,w,r,A,x){var y=x.plugins.canvasOverlay;var v=y.objects;var s=v.length;var u,o=false;var q;for(var t=0;t-1){return c/this.pt2px}else{if(b.indexOf("pt")>-1){return c}else{if(b.indexOf("em")>-1){return c*12}else{if(b.indexOf("%")>-1){return c*12/100}else{return c/this.pt2px}}}}};a.jqplot.CanvasTextRenderer.prototype.fontWeight2Float=function(b){if(Number(b)){return b/400}else{switch(b){case"normal":return 1;break;case"bold":return 1.75;break;case"bolder":return 2.25;break;case"lighter":return 0.75;break;default:return 1;break}}};a.jqplot.CanvasTextRenderer.prototype.getText=function(){return this.text};a.jqplot.CanvasTextRenderer.prototype.setText=function(c,b){this.text=c;this.setWidth(b);return this};a.jqplot.CanvasTextRenderer.prototype.getWidth=function(b){return this.width};a.jqplot.CanvasTextRenderer.prototype.setWidth=function(c,b){if(!b){this.width=this.measure(c,this.text)}else{this.width=b}return this};a.jqplot.CanvasTextRenderer.prototype.getHeight=function(b){return this.height};a.jqplot.CanvasTextRenderer.prototype.setHeight=function(b){if(!b){this.height=this.normalizedFontSize*this.pt2px}else{this.height=b}return this};a.jqplot.CanvasTextRenderer.prototype.letter=function(b){return this.letters[b]};a.jqplot.CanvasTextRenderer.prototype.ascent=function(){return this.normalizedFontSize};a.jqplot.CanvasTextRenderer.prototype.descent=function(){return 7*this.normalizedFontSize/25};a.jqplot.CanvasTextRenderer.prototype.measure=function(d,g){var f=0;var b=g.length;for(var e=0;e30)?2:2+(30-this.normalizedFontSize)/20;s.lineWidth=t*k*this.fontWeight2Float(this.fontWeight);for(var g=0;g":{width:24,points:[[4,18],[20,9],[4,0]]},"?":{width:18,points:[[3,16],[3,17],[4,19],[5,20],[7,21],[11,21],[13,20],[14,19],[15,17],[15,15],[14,13],[13,12],[9,10],[9,7],[-1,-1],[9,2],[8,1],[9,0],[10,1],[9,2]]},"@":{width:27,points:[[18,13],[17,15],[15,16],[12,16],[10,15],[9,14],[8,11],[8,8],[9,6],[11,5],[14,5],[16,6],[17,8],[-1,-1],[12,16],[10,14],[9,11],[9,8],[10,6],[11,5],[-1,-1],[18,16],[17,8],[17,6],[19,5],[21,5],[23,7],[24,10],[24,12],[23,15],[22,17],[20,19],[18,20],[15,21],[12,21],[9,20],[7,19],[5,17],[4,15],[3,12],[3,9],[4,6],[5,4],[7,2],[9,1],[12,0],[15,0],[18,1],[20,2],[21,3],[-1,-1],[19,16],[18,8],[18,6],[19,5]]},A:{width:18,points:[[9,21],[1,0],[-1,-1],[9,21],[17,0],[-1,-1],[4,7],[14,7]]},B:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[-1,-1],[4,11],[13,11],[16,10],[17,9],[18,7],[18,4],[17,2],[16,1],[13,0],[4,0]]},C:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5]]},D:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[11,21],[14,20],[16,18],[17,16],[18,13],[18,8],[17,5],[16,3],[14,1],[11,0],[4,0]]},E:{width:19,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11],[-1,-1],[4,0],[17,0]]},F:{width:18,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11]]},G:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[18,8],[-1,-1],[13,8],[18,8]]},H:{width:22,points:[[4,21],[4,0],[-1,-1],[18,21],[18,0],[-1,-1],[4,11],[18,11]]},I:{width:8,points:[[4,21],[4,0]]},J:{width:16,points:[[12,21],[12,5],[11,2],[10,1],[8,0],[6,0],[4,1],[3,2],[2,5],[2,7]]},K:{width:21,points:[[4,21],[4,0],[-1,-1],[18,21],[4,7],[-1,-1],[9,12],[18,0]]},L:{width:17,points:[[4,21],[4,0],[-1,-1],[4,0],[16,0]]},M:{width:24,points:[[4,21],[4,0],[-1,-1],[4,21],[12,0],[-1,-1],[20,21],[12,0],[-1,-1],[20,21],[20,0]]},N:{width:22,points:[[4,21],[4,0],[-1,-1],[4,21],[18,0],[-1,-1],[18,21],[18,0]]},O:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21]]},P:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,14],[17,12],[16,11],[13,10],[4,10]]},Q:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21],[-1,-1],[12,4],[18,-2]]},R:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[4,11],[-1,-1],[11,11],[18,0]]},S:{width:20,points:[[17,18],[15,20],[12,21],[8,21],[5,20],[3,18],[3,16],[4,14],[5,13],[7,12],[13,10],[15,9],[16,8],[17,6],[17,3],[15,1],[12,0],[8,0],[5,1],[3,3]]},T:{width:16,points:[[8,21],[8,0],[-1,-1],[1,21],[15,21]]},U:{width:22,points:[[4,21],[4,6],[5,3],[7,1],[10,0],[12,0],[15,1],[17,3],[18,6],[18,21]]},V:{width:18,points:[[1,21],[9,0],[-1,-1],[17,21],[9,0]]},W:{width:24,points:[[2,21],[7,0],[-1,-1],[12,21],[7,0],[-1,-1],[12,21],[17,0],[-1,-1],[22,21],[17,0]]},X:{width:20,points:[[3,21],[17,0],[-1,-1],[17,21],[3,0]]},Y:{width:18,points:[[1,21],[9,11],[9,0],[-1,-1],[17,21],[9,11]]},Z:{width:20,points:[[17,21],[3,0],[-1,-1],[3,21],[17,21],[-1,-1],[3,0],[17,0]]},"[":{width:14,points:[[4,25],[4,-7],[-1,-1],[5,25],[5,-7],[-1,-1],[4,25],[11,25],[-1,-1],[4,-7],[11,-7]]},"\\":{width:14,points:[[0,21],[14,-3]]},"]":{width:14,points:[[9,25],[9,-7],[-1,-1],[10,25],[10,-7],[-1,-1],[3,25],[10,25],[-1,-1],[3,-7],[10,-7]]},"^":{width:16,points:[[6,15],[8,18],[10,15],[-1,-1],[3,12],[8,17],[13,12],[-1,-1],[8,17],[8,0]]},_:{width:16,points:[[0,-2],[16,-2]]},"`":{width:10,points:[[6,21],[5,20],[4,18],[4,16],[5,15],[6,16],[5,17]]},a:{width:19,points:[[15,14],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},b:{width:19,points:[[4,21],[4,0],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},c:{width:18,points:[[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},d:{width:19,points:[[15,21],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},e:{width:18,points:[[3,8],[15,8],[15,10],[14,12],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},f:{width:12,points:[[10,21],[8,21],[6,20],[5,17],[5,0],[-1,-1],[2,14],[9,14]]},g:{width:19,points:[[15,14],[15,-2],[14,-5],[13,-6],[11,-7],[8,-7],[6,-6],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},h:{width:19,points:[[4,21],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},i:{width:8,points:[[3,21],[4,20],[5,21],[4,22],[3,21],[-1,-1],[4,14],[4,0]]},j:{width:10,points:[[5,21],[6,20],[7,21],[6,22],[5,21],[-1,-1],[6,14],[6,-3],[5,-6],[3,-7],[1,-7]]},k:{width:17,points:[[4,21],[4,0],[-1,-1],[14,14],[4,4],[-1,-1],[8,8],[15,0]]},l:{width:8,points:[[4,21],[4,0]]},m:{width:30,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0],[-1,-1],[15,10],[18,13],[20,14],[23,14],[25,13],[26,10],[26,0]]},n:{width:19,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},o:{width:19,points:[[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3],[16,6],[16,8],[15,11],[13,13],[11,14],[8,14]]},p:{width:19,points:[[4,14],[4,-7],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},q:{width:19,points:[[15,14],[15,-7],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},r:{width:13,points:[[4,14],[4,0],[-1,-1],[4,8],[5,11],[7,13],[9,14],[12,14]]},s:{width:17,points:[[14,11],[13,13],[10,14],[7,14],[4,13],[3,11],[4,9],[6,8],[11,7],[13,6],[14,4],[14,3],[13,1],[10,0],[7,0],[4,1],[3,3]]},t:{width:12,points:[[5,21],[5,4],[6,1],[8,0],[10,0],[-1,-1],[2,14],[9,14]]},u:{width:19,points:[[4,14],[4,4],[5,1],[7,0],[10,0],[12,1],[15,4],[-1,-1],[15,14],[15,0]]},v:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0]]},w:{width:22,points:[[3,14],[7,0],[-1,-1],[11,14],[7,0],[-1,-1],[11,14],[15,0],[-1,-1],[19,14],[15,0]]},x:{width:17,points:[[3,14],[14,0],[-1,-1],[14,14],[3,0]]},y:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0],[6,-4],[4,-6],[2,-7],[1,-7]]},z:{width:17,points:[[14,14],[3,0],[-1,-1],[3,14],[14,14],[-1,-1],[3,0],[14,0]]},"{":{width:14,points:[[9,25],[7,24],[6,23],[5,21],[5,19],[6,17],[7,16],[8,14],[8,12],[6,10],[-1,-1],[7,24],[6,22],[6,20],[7,18],[8,17],[9,15],[9,13],[8,11],[4,9],[8,7],[9,5],[9,3],[8,1],[7,0],[6,-2],[6,-4],[7,-6],[-1,-1],[6,8],[8,6],[8,4],[7,2],[6,1],[5,-1],[5,-3],[6,-5],[7,-6],[9,-7]]},"|":{width:8,points:[[4,25],[4,-7]]},"}":{width:14,points:[[5,25],[7,24],[8,23],[9,21],[9,19],[8,17],[7,16],[6,14],[6,12],[8,10],[-1,-1],[7,24],[8,22],[8,20],[7,18],[6,17],[5,15],[5,13],[6,11],[10,9],[6,7],[5,5],[5,3],[6,1],[7,0],[8,-2],[8,-4],[7,-6],[-1,-1],[8,8],[6,6],[6,4],[7,2],[8,1],[9,-1],[9,-3],[8,-5],[7,-6],[5,-7]]},"~":{width:24,points:[[3,6],[3,8],[4,11],[6,12],[8,12],[10,11],[14,8],[16,7],[18,7],[20,8],[21,10],[-1,-1],[3,8],[4,10],[6,11],[8,11],[10,10],[14,7],[16,6],[18,6],[20,7],[21,10],[21,12]]}};a.jqplot.CanvasFontRenderer=function(b){b=b||{};if(!b.pt2px){b.pt2px=1.5}a.jqplot.CanvasTextRenderer.call(this,b)};a.jqplot.CanvasFontRenderer.prototype=new a.jqplot.CanvasTextRenderer({});a.jqplot.CanvasFontRenderer.prototype.constructor=a.jqplot.CanvasFontRenderer;a.jqplot.CanvasFontRenderer.prototype.measure=function(c,e){var d=this.fontSize+" "+this.fontFamily;c.save();c.font=d;var b=c.measureText(e).width;c.restore();return b};a.jqplot.CanvasFontRenderer.prototype.draw=function(e,g){var c=0;var h=this.height*0.72;e.save();var d,b;if((-Math.PI/2<=this.angle&&this.angle<=0)||(Math.PI*3/2<=this.angle&&this.angle<=Math.PI*2)){d=0;b=-Math.sin(this.angle)*this.width}else{if((0b.max||b.max==null){b.max=h[c][0]}}else{if(h[c][1]b.max||b.max==null){b.max=h[c][1]}}}}if(this.groupLabels.length){this.groups=this.groupLabels.length}};a.jqplot.CategoryAxisRenderer.prototype.createTicks=function(){var D=this._ticks;var z=this.ticks;var F=this.name;var C=this._dataBounds;var v,A;var q,w;var d,c;var b,x;if(z.length){if(this.groups>1&&!this._grouped){var r=z.length;var p=parseInt(r/this.groups,10);var e=0;for(var x=p;x1&&!this._grouped){var r=y.length;var p=parseInt(r/this.groups,10);var e=0;for(var x=p;x0&&o');if(this.name=="xaxis"||this.name=="x2axis"){this._elem.width(this._plotDimensions.width)}else{this._elem.height(this._plotDimensions.height)}this.labelOptions.axis=this.name;this._label=new this.labelRenderer(this.labelOptions);if(this._label.show){var g=this._label.draw(b,j);g.appendTo(this._elem)}var f=this._ticks;for(var e=0;e');g.html(this.groupLabels[e]);this._groupLabels.push(g);g.appendTo(this._elem)}}return this._elem};a.jqplot.CategoryAxisRenderer.prototype.set=function(){var e=0;var m;var k=0;var f=0;var d=(this._label==null)?false:this._label.show;if(this.show){var n=this._ticks;for(var c=0;ce){e=m}}}var j=0;for(var c=0;cj){j=m}}if(d){k=this._label._elem.outerWidth(true);f=this._label._elem.outerHeight(true)}if(this.name=="xaxis"){e+=j+f;this._elem.css({height:e+"px",left:"0px",bottom:"0px"})}else{if(this.name=="x2axis"){e+=j+f;this._elem.css({height:e+"px",left:"0px",top:"0px"})}else{if(this.name=="yaxis"){e+=j+k;this._elem.css({width:e+"px",left:"0px",top:"0px"});if(d&&this._label.constructor==a.jqplot.AxisLabelRenderer){this._label._elem.css("width",k+"px")}}else{e+=j+k;this._elem.css({width:e+"px",right:"0px",top:"0px"});if(d&&this._label.constructor==a.jqplot.AxisLabelRenderer){this._label._elem.css("width",k+"px")}}}}}};a.jqplot.CategoryAxisRenderer.prototype.pack=function(e,c){var C=this._ticks;var v=this.max;var s=this.min;var n=c.max;var l=c.min;var q=(this._label==null)?false:this._label.show;var x;for(var r in e){this._elem.css(r,e[r])}this._offsets=c;var g=n-l;var k=v-s;if(!this.reverse){this.u2p=function(h){return(h-s)*g/k+l};this.p2u=function(h){return(h-l)*k/g+s};if(this.name=="xaxis"||this.name=="x2axis"){this.series_u2p=function(h){return(h-s)*g/k};this.series_p2u=function(h){return h*k/g+s}}else{this.series_u2p=function(h){return(h-v)*g/k};this.series_p2u=function(h){return h*k/g+v}}}else{this.u2p=function(h){return l+(v-h)*g/k};this.p2u=function(h){return s+(h-l)*k/g};if(this.name=="xaxis"||this.name=="x2axis"){this.series_u2p=function(h){return(v-h)*g/k};this.series_p2u=function(h){return h*k/g+v}}else{this.series_u2p=function(h){return(s-h)*g/k};this.series_p2u=function(h){return h*k/g+s}}}if(this.show){if(this.name=="xaxis"||this.name=="x2axis"){for(x=0;x=this._ticks.length-1){continue}if(this._ticks[u]._elem&&this._ticks[u].label!=" "){var o=this._ticks[u]._elem;var r=o.position();B+=r.left+o.outerWidth(true)/2;f++}}B=B/f;this._groupLabels[x].css({left:(B-this._groupLabels[x].outerWidth(true)/2)});this._groupLabels[x].css(z[0],z[1])}}else{for(x=0;x0){b=-o._textRenderer.height*Math.cos(-o._textRenderer.angle)/2}else{b=-o.getHeight()+o._textRenderer.height*Math.cos(o._textRenderer.angle)/2}break;case"middle":b=-o.getHeight()/2;break;default:b=-o.getHeight()/2;break}}else{b=-o.getHeight()/2}var D=this.u2p(o.value)+b+"px";o._elem.css("top",D);o.pack()}}var z=["left",0];if(q){var y=this._label._elem.outerHeight(true);this._label._elem.css("top",n-g/2-y/2+"px");if(this.name=="yaxis"){this._label._elem.css("left","0px");z=["left",this._label._elem.outerWidth(true)]}else{this._label._elem.css("right","0px");z=["right",this._label._elem.outerWidth(true)]}this._label.pack()}var d=parseInt(this._ticks.length/this.groups,10)+1;for(x=0;x=this._ticks.length-1){continue}if(this._ticks[u]._elem&&this._ticks[u].label!=" "){var o=this._ticks[u]._elem;var r=o.position();B+=r.top+o.outerHeight()/2;f++}}B=B/f;this._groupLabels[x].css({top:B-this._groupLabels[x].outerHeight()/2});this._groupLabels[x].css(z[0],z[1])}}}}})(jQuery); diff --git a/apiDocumentation/js/jqplot/plugins/jqplot.ciParser.min.js b/apiDocumentation/js/jqplot/plugins/jqplot.ciParser.min.js new file mode 100644 index 0000000..e2380a0 --- /dev/null +++ b/apiDocumentation/js/jqplot/plugins/jqplot.ciParser.min.js @@ -0,0 +1,3 @@ +/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com + jsDate | (c) 2010-2013 Chris Leonello + */(function(a){a.jqplot.ciParser=function(g,l){var m=[],o,n,h,f,e,c;if(typeof(g)=="string"){g=a.jqplot.JSON.parse(g,d)}else{if(typeof(g)=="object"){for(e in g){for(h=0;h=0){i=/^\/Date\((-?[0-9]+)\)\/$/.exec(k);if(i){return parseInt(i[1],10)}}return k}}for(var b in g){o=[];n=g[b];switch(b){case"PriceTicks":for(h=0;h6&&Math.abs(G.y-I._zoom.start[1])>6)||(I.constrainZoomTo=="x"&&Math.abs(G.x-I._zoom.start[0])>6)||(I.constrainZoomTo=="y"&&Math.abs(G.y-I._zoom.start[1])>6)){if(!C.plugins.cursor.zoomProxy){for(var y in t){if(I._zoom.axes[y]==undefined){I._zoom.axes[y]={};I._zoom.axes[y].numberTicks=F[y].numberTicks;I._zoom.axes[y].tickInterval=F[y].tickInterval;I._zoom.axes[y].daTickInterval=F[y].daTickInterval;I._zoom.axes[y].min=F[y].min;I._zoom.axes[y].max=F[y].max;I._zoom.axes[y].tickFormatString=(F[y].tickOptions!=null)?F[y].tickOptions.formatString:""}if((I.constrainZoomTo=="none")||(I.constrainZoomTo=="x"&&y.charAt(0)=="x")||(I.constrainZoomTo=="y"&&y.charAt(0)=="y")){z=t[y];if(z!=null){if(z>w[y]){v=w[y];x=z}else{D=w[y]-z;v=z;x=w[y]}q=F[y];H=null;if(q.alignTicks){if(q.name==="x2axis"&&C.axes.xaxis.show){H=C.axes.xaxis.numberTicks}else{if(q.name.charAt(0)==="y"&&q.name!=="yaxis"&&q.name!=="yMidAxis"&&C.axes.yaxis.show){H=C.axes.yaxis.numberTicks}}}if(this.looseZoom&&(F[y].renderer.constructor===j.jqplot.LinearAxisRenderer||F[y].renderer.constructor===j.jqplot.LogAxisRenderer)){J=j.jqplot.LinearTickGenerator(v,x,q._scalefact,H);if(F[y].tickInset&&J[0]F[y].max-F[y].tickInset*F[y].tickInterval){J[1]-=J[4];J[2]-=1}if(F[y].renderer.constructor===j.jqplot.LogAxisRenderer&&J[0]"}if(J.useAxesFormatters){for(var D=0;D"}w+=j.jqplot.sprintf(J.tooltipFormatString,t,z,x);N=true}}}}J._tooltipElem.html(w)}function g(C,A){var E=A.plugins.cursor;var z=E.cursorCanvas._ctx;z.clearRect(0,0,z.canvas.width,z.canvas.height);if(E.showVerticalLine){E.shapeRenderer.draw(z,[[C.x,0],[C.x,z.canvas.height]])}if(E.showHorizontalLine){E.shapeRenderer.draw(z,[[0,C.y],[z.canvas.width,C.y]])}var G=d(A,C.x,C.y);if(E.showCursorLegend){var r=j(A.targetId+" td.jqplot-cursor-legend-label");for(var B=0;B0;r--){s=v[r-1];if(q[s].show){u[s]=q[s].series_p2u(w[s.charAt(0)])}}return{offsets:t,gridPos:w,dataPos:u}}function h(z){var x=z.data.plot;var y=x.plugins.cursor;if(y.show&&y.zoom&&y._zoom.started&&!y.zoomTarget){z.preventDefault();var B=y.zoomCanvas._ctx;var v=o(z);var w=v.gridPos;var t=v.dataPos;y._zoom.gridpos=w;y._zoom.datapos=t;y._zoom.zooming=true;var u=w.x;var s=w.y;var A=B.canvas.height;var q=B.canvas.width;if(y.showTooltip&&!y.onGrid&&y.showTooltipOutsideZoom){e(w,t,x);if(y.followMouse){n(w,x)}}if(y.constrainZoomTo=="x"){y._zoom.end=[u,A]}else{if(y.constrainZoomTo=="y"){y._zoom.end=[q,s]}else{y._zoom.end=[u,s]}}var r=window.getSelection;if(document.selection&&document.selection.empty){document.selection.empty()}else{if(r&&!r().isCollapsed){r().collapse()}}l.call(y);B=null}}function a(w,s,r,x,t){var v=t.plugins.cursor;if(t.plugins.mobile){j(document).one("vmouseup.jqplot_cursor",{plot:t},p)}else{j(document).one("mouseup.jqplot_cursor",{plot:t},p)}var u=t.axes;if(document.onselectstart!=undefined){v._oldHandlers.onselectstart=document.onselectstart;document.onselectstart=function(){return false}}if(document.ondrag!=undefined){v._oldHandlers.ondrag=document.ondrag;document.ondrag=function(){return false}}if(document.onmousedown!=undefined){v._oldHandlers.onmousedown=document.onmousedown;document.onmousedown=function(){return false}}if(v.zoom){if(!v.zoomProxy){var y=v.zoomCanvas._ctx;y.clearRect(0,0,y.canvas.width,y.canvas.height);y=null}if(v.constrainZoomTo=="x"){v._zoom.start=[s.x,0]}else{if(v.constrainZoomTo=="y"){v._zoom.start=[0,s.y]}else{v._zoom.start=[s.x,s.y]}}v._zoom.started=true;for(var q in r){v._zoom.axes.start[q]=r[q]}if(t.plugins.mobile){j(document).bind("vmousemove.jqplotCursor",{plot:t},h)}else{j(document).bind("mousemove.jqplotCursor",{plot:t},h)}}}function p(y){var v=y.data.plot;var x=v.plugins.cursor;if(x.zoom&&x._zoom.zooming&&!x.zoomTarget){var u=x._zoom.gridpos.x;var r=x._zoom.gridpos.y;var t=x._zoom.datapos;var z=x.zoomCanvas._ctx.canvas.height;var q=x.zoomCanvas._ctx.canvas.width;var w=v.axes;if(x.constrainOutsideZoom&&!x.onGrid){if(u<0){u=0}else{if(u>q){u=q}}if(r<0){r=0}else{if(r>z){r=z}}for(var s in t){if(t[s]){if(s.charAt(0)=="x"){t[s]=w[s].series_p2u(u)}else{t[s]=w[s].series_p2u(r)}}}}if(x.constrainZoomTo=="x"){r=z}else{if(x.constrainZoomTo=="y"){u=q}}x._zoom.end=[u,r];x._zoom.gridpos={x:u,y:r};x.doZoom(x._zoom.gridpos,t,v,x)}x._zoom.started=false;x._zoom.zooming=false;j(document).unbind("mousemove.jqplotCursor",h);if(document.onselectstart!=undefined&&x._oldHandlers.onselectstart!=null){document.onselectstart=x._oldHandlers.onselectstart;x._oldHandlers.onselectstart=null}if(document.ondrag!=undefined&&x._oldHandlers.ondrag!=null){document.ondrag=x._oldHandlers.ondrag;x._oldHandlers.ondrag=null}if(document.onmousedown!=undefined&&x._oldHandlers.onmousedown!=null){document.onmousedown=x._oldHandlers.onmousedown;x._oldHandlers.onmousedown=null}}function l(){var y=this._zoom.start;var u=this._zoom.end;var s=this.zoomCanvas._ctx;var r,v,x,q;if(u[0]>y[0]){r=y[0];q=u[0]-y[0]}else{r=u[0];q=y[0]-u[0]}if(u[1]>y[1]){v=y[1];x=u[1]-y[1]}else{v=u[1];x=y[1]-u[1]}s.fillStyle="rgba(0,0,0,0.2)";s.strokeStyle="#999999";s.lineWidth=1;s.clearRect(0,0,s.canvas.width,s.canvas.height);s.fillRect(0,0,s.canvas.width,s.canvas.height);s.clearRect(r,v,q,x);s.strokeRect(r,v,q,x);s=null}j.jqplot.CursorLegendRenderer=function(q){j.jqplot.TableLegendRenderer.call(this,q);this.formatString="%s"};j.jqplot.CursorLegendRenderer.prototype=new j.jqplot.TableLegendRenderer();j.jqplot.CursorLegendRenderer.prototype.constructor=j.jqplot.CursorLegendRenderer;j.jqplot.CursorLegendRenderer.prototype.draw=function(){if(this._elem){this._elem.emptyForce();this._elem=null}if(this.show){var w=this._series,A;var r=document.createElement("table");this._elem=j(r);r=null;this._elem.addClass("jqplot-legend jqplot-cursor-legend");this._elem.css("position","absolute");var q=false;for(var x=0;x').appendTo(this._elem);E.data("seriesIndex",s);j('
                                                                                                                  ').appendTo(E);var G=j('');G.appendTo(E);G.data("seriesIndex",s);if(this.escapeHtml){G.text(D)}else{G.html(D)}E=null;G=null}return this._elem}})(jQuery); diff --git a/apiDocumentation/js/jqplot/plugins/jqplot.dateAxisRenderer.min.js b/apiDocumentation/js/jqplot/plugins/jqplot.dateAxisRenderer.min.js new file mode 100644 index 0000000..a016411 --- /dev/null +++ b/apiDocumentation/js/jqplot/plugins/jqplot.dateAxisRenderer.min.js @@ -0,0 +1,3 @@ +/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com + jsDate | (c) 2010-2013 Chris Leonello + */(function(h){h.jqplot.DateAxisRenderer=function(){h.jqplot.LinearAxisRenderer.call(this);this.date=new h.jsDate()};var c=1000;var e=60*c;var f=60*e;var l=24*f;var b=7*l;var j=30.4368499*l;var k=365.242199*l;var g=[31,28,31,30,31,30,31,30,31,30,31,30];var i=["%M:%S.%#N","%M:%S.%#N","%M:%S.%#N","%M:%S","%M:%S","%M:%S","%M:%S","%H:%M:%S","%H:%M:%S","%H:%M","%H:%M","%H:%M","%H:%M","%H:%M","%H:%M","%a %H:%M","%a %H:%M","%b %e %H:%M","%b %e %H:%M","%b %e %H:%M","%b %e %H:%M","%v","%v","%v","%v","%v","%v","%v"];var m=[0.1*c,0.2*c,0.5*c,c,2*c,5*c,10*c,15*c,30*c,e,2*e,5*e,10*e,15*e,30*e,f,2*f,4*f,6*f,8*f,12*f,l,2*l,3*l,4*l,5*l,b,2*b];var d=[];function a(p,s,t){var o=Number.MAX_VALUE;var u,r,v;for(var q=0,n=m.length;qC.max)||C.max==null){C.max=y[r][0]}if(r>0){o=Math.abs(y[r][0]-y[r-1][0]);u.intervals.push(o);if(u.frequencies.hasOwnProperty(o)){u.frequencies[o]+=1}else{u.frequencies[o]=1}}x+=o}else{y[r][1]=new h.jsDate(y[r][1]).getTime();A[r][1]=new h.jsDate(y[r][1]).getTime();z[r][1]=new h.jsDate(y[r][1]).getTime();if((y[r][1]!=null&&y[r][1]C.max)||C.max==null){C.max=y[r][1]}if(r>0){o=Math.abs(y[r][1]-y[r-1][1]);u.intervals.push(o);if(u.frequencies.hasOwnProperty(o)){u.frequencies[o]+=1}else{u.frequencies[o]=1}}}x+=o}if(D.renderer.bands){if(D.renderer.bands.hiData.length){var w=D.renderer.bands.hiData;for(var r=0,q=w.length;rC.max)||C.max==null){C.max=w[r][0]}}else{w[r][1]=new h.jsDate(w[r][1]).getTime();if((w[r][1]!=null&&w[r][1]>C.max)||C.max==null){C.max=w[r][1]}}}}if(D.renderer.bands.lowData.length){var w=D.renderer.bands.lowData;for(var r=0,q=w.length;r6){D=6}}var V=new h.jsDate(ae).setDate(1).setHours(0,0,0,0);var q=new h.jsDate(J);var z=new h.jsDate(J).setDate(1).setHours(0,0,0,0);if(q.getTime()!==z.getTime()){z=z.add(1,"month")}var S=z.diff(V,"month");ab=Math.ceil(S/D)+1;this.min=V.getTime();this.max=V.clone().add((ab-1)*D,"month").getTime();this.numberTicks=ab;for(var aa=0;aa200){this.numberTicks=parseInt(3+(n-200)/100,10)}else{this.numberTicks=2}}}O=B/(this.numberTicks-1)/1000;if(this.daTickInterval==null){this.daTickInterval=[O,"seconds"]}for(var aa=0;aa570)?n[o]*0.8:n[o]+0.3*(255-n[o]);n[o]=parseInt(n[o],10)}this.highlightColors.push("rgb("+n[0]+","+n[1]+","+n[2]+")")}}t.postParseOptionsHooks.addOnce(l);t.postInitHooks.addOnce(g);t.eventListenerHooks.addOnce("jqplotMouseMove",b);t.eventListenerHooks.addOnce("jqplotMouseDown",a);t.eventListenerHooks.addOnce("jqplotMouseUp",j);t.eventListenerHooks.addOnce("jqplotClick",f);t.eventListenerHooks.addOnce("jqplotRightClick",m);t.postDrawHooks.addOnce(h)};e.jqplot.DonutRenderer.prototype.setGridData=function(s){var o=[];var t=[];var n=this.startAngle/180*Math.PI;var r=0;this._drawData=false;for(var q=0;q0){o[q]+=o[q-1]}r+=this.data[q][1]}var p=Math.PI*2/o[o.length-1];for(var q=0;q0){o[q]+=o[q-1]}r+=s[q][1]}var p=Math.PI*2/o[o.length-1];for(var q=0;q6.282+this.startAngle){t=6.282+this.startAngle;if(u>t){u=6.281+this.startAngle}}if(u>=t){return}x.beginPath();x.fillStyle=p;x.strokeStyle=p;x.arc(0,0,n,u,t,false);x.lineTo(v*Math.cos(t),v*Math.sin(t));x.arc(0,0,v,t,u,true);x.closePath();if(w){x.fill()}else{x.stroke()}}if(s){for(var q=0;q1&&this.index>0)?this._previousSeries[0]._diameter:this._diameter;this._thickness=this.thickness||(M-this.innerDiameter-2*X*this._numberSeries)/this._numberSeries/2}else{this._thickness=this.thickness||v/2/(this._numberSeries+1)*0.85}var K=this._radius=this._diameter/2;this._innerRadius=this._radius-this._thickness;var o=this.startAngle/180*Math.PI;this._center=[(s-u*q)/2+u*q,(H-u*p)/2+u*p];if(this.shadow){var L="rgba(0,0,0,"+this.shadowAlpha+")";for(var Q=0;Q=this.dataLabelThreshold){var S,U=(A+z)/2,C;if(this.dataLabels=="label"){S=this.dataLabelFormatString||"%s";C=e.jqplot.sprintf(S,V[Q][0])}else{if(this.dataLabels=="value"){S=this.dataLabelFormatString||"%d";C=e.jqplot.sprintf(S,this.data[Q][1])}else{if(this.dataLabels=="percent"){S=this.dataLabelFormatString||"%d%%";C=e.jqplot.sprintf(S,V[Q][2]*100)}else{if(this.dataLabels.constructor==Array){S=this.dataLabelFormatString||"%s";C=e.jqplot.sprintf(S,this.dataLabels[Q])}}}}var n=this._innerRadius+this._thickness*this.dataLabelPositionFactor+this.sliceMargin+this.dataLabelNudge;var F=this._center[0]+Math.cos(U)*n+this.canvas._offsets.left;var E=this._center[1]+Math.sin(U)*n+this.canvas._offsets.top;var D=e(''+C+"").insertBefore(P.eventCanvas._elem);F-=D.width()/2;E-=D.height()/2;F=Math.round(F);E=Math.round(E);D.css({left:F,top:E})}}};e.jqplot.DonutAxisRenderer=function(){e.jqplot.LinearAxisRenderer.call(this)};e.jqplot.DonutAxisRenderer.prototype=new e.jqplot.LinearAxisRenderer();e.jqplot.DonutAxisRenderer.prototype.constructor=e.jqplot.DonutAxisRenderer;e.jqplot.DonutAxisRenderer.prototype.init=function(n){this.tickRenderer=e.jqplot.DonutTickRenderer;e.extend(true,this,n);this._dataBounds={min:0,max:100};this.min=0;this.max=100;this.showTicks=false;this.ticks=[];this.showMark=false;this.show=false};e.jqplot.DonutLegendRenderer=function(){e.jqplot.TableLegendRenderer.call(this)};e.jqplot.DonutLegendRenderer.prototype=new e.jqplot.TableLegendRenderer();e.jqplot.DonutLegendRenderer.prototype.constructor=e.jqplot.DonutLegendRenderer;e.jqplot.DonutLegendRenderer.prototype.init=function(n){this.numberRows=null;this.numberColumns=null;e.extend(true,this,n)};e.jqplot.DonutLegendRenderer.prototype.draw=function(){var q=this;if(this.show){var y=this._series;var B="position:absolute;";B+=(this.background)?"background:"+this.background+";":"";B+=(this.border)?"border:"+this.border+";":"";B+=(this.fontSize)?"font-size:"+this.fontSize+";":"";B+=(this.fontFamily)?"font-family:"+this.fontFamily+";":"";B+=(this.textColor)?"color:"+this.textColor+";":"";B+=(this.marginTop!=null)?"margin-top:"+this.marginTop+";":"";B+=(this.marginBottom!=null)?"margin-bottom:"+this.marginBottom+";":"";B+=(this.marginLeft!=null)?"margin-left:"+this.marginLeft+";":"";B+=(this.marginRight!=null)?"margin-right:"+this.marginRight+";":"";this._elem=e('
                                                                                                                  ');var F=false,x=false,n,v;var z=y[0];var o=new e.jqplot.ColorGenerator(z.seriesColors);if(z.show){var G=z.data;if(this.numberRows){n=this.numberRows;if(!this.numberColumns){v=Math.ceil(G.length/n)}else{v=this.numberColumns}}else{if(this.numberColumns){v=this.numberColumns;n=Math.ceil(G.length/this.numberColumns)}else{n=G.length;v=1}}var E,D,p,t,r,u,w,C;var A=0;for(E=0;E').prependTo(this._elem)}else{p=e('').appendTo(this._elem)}for(D=0;D0){F=true}else{F=false}}else{if(E==n-1){F=false}else{F=true}}w=(F)?this.rowSpacing:"0";t=e('
                                                                                                                  ');r=e('');if(this.escapeHtml){r.text(u)}else{r.html(u)}if(x){r.prependTo(p);t.prependTo(p)}else{t.appendTo(p);r.appendTo(p)}F=true}A++}}}}return this._elem};function c(r,q,o){o=o||{};o.axesDefaults=o.axesDefaults||{};o.legend=o.legend||{};o.seriesDefaults=o.seriesDefaults||{};var n=false;if(o.seriesDefaults.renderer==e.jqplot.DonutRenderer){n=true}else{if(o.series){for(var p=0;p=0.6)?l[3]*0.6:l[3]*(2-l[3]);m.color="rgba("+o[0]+","+o[1]+","+o[2]+","+k+")"}i.color=m.color;i.init();var g=(p.pointIndex>0)?p.pointIndex-1:0;var j=p.pointIndex+2;m._gridData=q.gridData.slice(g,j)}function e(o,l,h,t,m){if(m.plugins.dragable.dragCanvas.isDragging){var u=m.plugins.dragable.dragCanvas;var i=u._neighbor;var w=m.series[i.seriesIndex];var k=w.plugins.dragable;var r=w.gridData;var p=(k.constrainTo=="y")?i.gridData[0]:l.x;var n=(k.constrainTo=="x")?i.gridData[1]:l.y;var g=w._xaxis.series_p2u(p);var q=w._yaxis.series_p2u(n);var v=u._ctx;v.clearRect(0,0,v.canvas.width,v.canvas.height);if(i.pointIndex>0){k._gridData[1]=[p,n]}else{k._gridData[0]=[p,n]}m.series[i.seriesIndex].draw(u._ctx,{gridData:k._gridData,shadow:false,preventJqPlotSeriesDrawTrigger:true,color:k.color,markerOptions:{color:k.color,shadow:false},trendline:{show:false}});m.target.trigger("jqplotSeriesPointChange",[i.seriesIndex,i.pointIndex,[g,q],[p,n]])}else{if(t!=null){var j=m.series[t.seriesIndex];if(j.isDragable){var u=m.plugins.dragable.dragCanvas;if(!u.isOver){u._cursors.push(o.target.style.cursor);o.target.style.cursor="pointer"}u.isOver=true}}else{if(t==null){var u=m.plugins.dragable.dragCanvas;if(u.isOver){o.target.style.cursor=u._cursors.pop();u.isOver=false}}}}}function c(k,i,g,l,j){var m=j.plugins.dragable.dragCanvas;m._cursors.push(k.target.style.cursor);if(l!=null){var o=j.series[l.seriesIndex];var h=o.plugins.dragable;if(o.isDragable&&!m.isDragging){m._neighbor=l;m.isDragging=true;f(j,l);h.markerRenderer.draw(o.gridData[l.pointIndex][0],o.gridData[l.pointIndex][1],m._ctx);k.target.style.cursor="move";j.target.trigger("jqplotDragStart",[l.seriesIndex,l.pointIndex,i,g])}}else{var n=m._ctx;n.clearRect(0,0,n.canvas.width,n.canvas.height);m.isDragging=false}}function a(m,j,g,o,k){if(k.plugins.dragable.dragCanvas.isDragging){var p=k.plugins.dragable.dragCanvas;var q=p._ctx;q.clearRect(0,0,q.canvas.width,q.canvas.height);p.isDragging=false;var h=p._neighbor;var r=k.series[h.seriesIndex];var i=r.plugins.dragable;var n=(i.constrainTo=="y")?h.data[0]:g[r.xaxis];var l=(i.constrainTo=="x")?h.data[1]:g[r.yaxis];r.data[h.pointIndex][0]=n;r.data[h.pointIndex][1]=l;k.drawSeries({preventJqPlotSeriesDrawTrigger:true},h.seriesIndex);p._neighbor=null;m.target.style.cursor=p._cursors.pop();k.target.trigger("jqplotDragStop",[j,g])}}})(jQuery); diff --git a/apiDocumentation/js/jqplot/plugins/jqplot.enhancedLegendRenderer.min.js b/apiDocumentation/js/jqplot/plugins/jqplot.enhancedLegendRenderer.min.js new file mode 100644 index 0000000..14db19b --- /dev/null +++ b/apiDocumentation/js/jqplot/plugins/jqplot.enhancedLegendRenderer.min.js @@ -0,0 +1,3 @@ +/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com + jsDate | (c) 2010-2013 Chris Leonello + */(function(c){c.jqplot.EnhancedLegendRenderer=function(){c.jqplot.TableLegendRenderer.call(this)};c.jqplot.EnhancedLegendRenderer.prototype=new c.jqplot.TableLegendRenderer();c.jqplot.EnhancedLegendRenderer.prototype.constructor=c.jqplot.EnhancedLegendRenderer;c.jqplot.EnhancedLegendRenderer.prototype.init=function(d){this.numberRows=null;this.numberColumns=null;this.seriesToggle="normal";this.seriesToggleReplot=false;this.disableIEFading=true;c.extend(true,this,d);if(this.seriesToggle){c.jqplot.postDrawHooks.push(b)}};c.jqplot.EnhancedLegendRenderer.prototype.draw=function(m,y){var f=this;if(this.show){var r=this._series;var u;var w="position:absolute;";w+=(this.background)?"background:"+this.background+";":"";w+=(this.border)?"border:"+this.border+";":"";w+=(this.fontSize)?"font-size:"+this.fontSize+";":"";w+=(this.fontFamily)?"font-family:"+this.fontFamily+";":"";w+=(this.textColor)?"color:"+this.textColor+";":"";w+=(this.marginTop!=null)?"margin-top:"+this.marginTop+";":"";w+=(this.marginBottom!=null)?"margin-bottom:"+this.marginBottom+";":"";w+=(this.marginLeft!=null)?"margin-left:"+this.marginLeft+";":"";w+=(this.marginRight!=null)?"margin-right:"+this.marginRight+";":"";this._elem=c('
                                                                                                                  ');if(this.seriesToggle){this._elem.css("z-index","3")}var C=false,q=false,d,o;if(this.numberRows){d=this.numberRows;if(!this.numberColumns){o=Math.ceil(r.length/d)}else{o=this.numberColumns}}else{if(this.numberColumns){o=this.numberColumns;d=Math.ceil(r.length/this.numberColumns)}else{d=r.length;o=1}}var B,z,e,l,k,n,p,t,h,g;var v=0;for(B=r.length-1;B>=0;B--){if(o==1&&r[B]._stack||r[B].renderer.constructor==c.jqplot.BezierCurveRenderer){q=true}}for(B=0;B0){C=true}else{C=false}}else{if(B==d-1){C=false}else{C=true}}p=(C)?this.rowSpacing:"0";l=c(document.createElement("td"));l.addClass("jqplot-table-legend jqplot-table-legend-swatch");l.css({textAlign:"center",paddingTop:p});h=c(document.createElement("div"));h.addClass("jqplot-table-legend-swatch-outline");g=c(document.createElement("div"));g.addClass("jqplot-table-legend-swatch");g.css({backgroundColor:x,borderColor:x});l.append(h.append(g));k=c(document.createElement("td"));k.addClass("jqplot-table-legend jqplot-table-legend-label");k.css("paddingTop",p);if(this.escapeHtml){k.text(n)}else{k.html(n)}if(q){if(this.showLabels){k.prependTo(e)}if(this.showSwatches){l.prependTo(e)}}else{if(this.showSwatches){l.appendTo(e)}if(this.showLabels){k.appendTo(e)}}if(this.seriesToggle){var A;if(typeof(this.seriesToggle)==="string"||typeof(this.seriesToggle)==="number"){if(!c.jqplot.use_excanvas||!this.disableIEFading){A=this.seriesToggle}}if(this.showSwatches){l.bind("click",{series:u,speed:A,plot:y,replot:this.seriesToggleReplot},a);l.addClass("jqplot-seriesToggle")}if(this.showLabels){k.bind("click",{series:u,speed:A,plot:y,replot:this.seriesToggleReplot},a);k.addClass("jqplot-seriesToggle")}if(!u.show&&u.showLabel){l.addClass("jqplot-series-hidden");k.addClass("jqplot-series-hidden")}}C=true}}v++}l=k=h=g=null}}return this._elem};var a=function(j){var i=j.data,m=i.series,k=i.replot,h=i.plot,f=i.speed,l=m.index,g=false;if(m.canvas._elem.is(":hidden")||!m.show){g=true}var e=function(){if(k){var n={};if(c.isPlainObject(k)){c.extend(true,n,k)}h.replot(n);if(g&&f){var d=h.series[l];if(d.shadowCanvas._elem){d.shadowCanvas._elem.hide().fadeIn(f)}d.canvas._elem.hide().fadeIn(f);d.canvas._elem.nextAll(".jqplot-point-label.jqplot-series-"+d.index).hide().fadeIn(f)}}else{var d=h.series[l];if(d.canvas._elem.is(":hidden")||!d.show){if(typeof h.options.legend.showSwatches==="undefined"||h.options.legend.showSwatches===true){h.legend._elem.find("td").eq(l*2).addClass("jqplot-series-hidden")}if(typeof h.options.legend.showLabels==="undefined"||h.options.legend.showLabels===true){h.legend._elem.find("td").eq((l*2)+1).addClass("jqplot-series-hidden")}}else{if(typeof h.options.legend.showSwatches==="undefined"||h.options.legend.showSwatches===true){h.legend._elem.find("td").eq(l*2).removeClass("jqplot-series-hidden")}if(typeof h.options.legend.showLabels==="undefined"||h.options.legend.showLabels===true){h.legend._elem.find("td").eq((l*2)+1).removeClass("jqplot-series-hidden")}}}};m.toggleDisplay(j,e)};var b=function(){if(this.legend.renderer.constructor==c.jqplot.EnhancedLegendRenderer&&this.legend.seriesToggle){var d=this.legend._elem.detach();this.eventCanvas._elem.after(d)}}})(jQuery); diff --git a/apiDocumentation/js/jqplot/plugins/jqplot.funnelRenderer.min.js b/apiDocumentation/js/jqplot/plugins/jqplot.funnelRenderer.min.js new file mode 100644 index 0000000..f96b566 --- /dev/null +++ b/apiDocumentation/js/jqplot/plugins/jqplot.funnelRenderer.min.js @@ -0,0 +1,3 @@ +/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com + jsDate | (c) 2010-2013 Chris Leonello + */(function(e){e.jqplot.FunnelRenderer=function(){e.jqplot.LineRenderer.call(this)};e.jqplot.FunnelRenderer.prototype=new e.jqplot.LineRenderer();e.jqplot.FunnelRenderer.prototype.constructor=e.jqplot.FunnelRenderer;e.jqplot.FunnelRenderer.prototype.init=function(p,t){this.padding={top:20,right:20,bottom:20,left:20};this.sectionMargin=6;this.fill=true;this.shadowOffset=2;this.shadowAlpha=0.07;this.shadowDepth=5;this.highlightMouseOver=true;this.highlightMouseDown=false;this.highlightColors=[];this.widthRatio=0.2;this.lineWidth=2;this.dataLabels="percent";this.showDataLabels=false;this.dataLabelFormatString=null;this.dataLabelThreshold=3;this._type="funnel";this.tickRenderer=e.jqplot.FunnelTickRenderer;if(p.highlightMouseDown&&p.highlightMouseOver==null){p.highlightMouseOver=false}e.extend(true,this,p);this._highlightedPoint=null;this._bases=[];this._atot;this._areas=[];this._lengths=[];this._angle;this._dataIndices=[];this._unorderedData=e.extend(true,[],this.data);var o=e.extend(true,[],this.data);for(var r=0;r570)?m[n]*0.8:m[n]+0.4*(255-m[n]);m[n]=parseInt(m[n],10)}this.highlightColors.push("rgb("+m[0]+","+m[1]+","+m[2]+")")}}t.postParseOptionsHooks.addOnce(k);t.postInitHooks.addOnce(g);t.eventListenerHooks.addOnce("jqplotMouseMove",a);t.eventListenerHooks.addOnce("jqplotMouseDown",b);t.eventListenerHooks.addOnce("jqplotMouseUp",j);t.eventListenerHooks.addOnce("jqplotClick",f);t.eventListenerHooks.addOnce("jqplotRightClick",l);t.postDrawHooks.addOnce(h)};e.jqplot.FunnelRenderer.prototype.setGridData=function(o){var n=0;var p=[];for(var m=0;mthis._lengths[Y]*n&&W<100){this._lengths[Y]=this._areas[Y]/(this._bases[Y]-this._lengths[Y]*Math.tan(this._angle));aa=Math.abs(this._lengths[Y]-E);this._bases[Y+1]=this._bases[Y]-(2*this._lengths[Y]*Math.tan(this._angle));E=this._lengths[Y];W++}Q+=this._lengths[Y]}this._vertices=new Array(B.length);var ae=[t,F],ad=[t+this._bases[0],F],ac=[t+(this._bases[0]-this._bases[this._bases.length-1])/2,F+this._length],ab=[ac[0]+this._bases[this._bases.length-1],ac[1]];function V(ag){var x=(ae[1]-ac[1])/(ae[0]-ac[0]);var v=ae[1]-x*ae[0];var ah=ag+ae[1];return[(ah-v)/x,ah]}function D(ag){var x=(ad[1]-ab[1])/(ad[0]-ab[0]);var v=ad[1]-x*ad[0];var ah=ag+ad[1];return[(ah-v)/x,ah]}var T=w,S=u;var Z=0,m=0;for(Y=0;Y0&&Y0&&Y=this.dataLabelThreshold){var K,X;if(this.dataLabels=="label"){K=this.dataLabelFormatString||"%s";X=e.jqplot.sprintf(K,B[Y][0])}else{if(this.dataLabels=="value"){K=this.dataLabelFormatString||"%d";X=e.jqplot.sprintf(K,this.data[Y][1])}else{if(this.dataLabels=="percent"){K=this.dataLabelFormatString||"%d%%";X=e.jqplot.sprintf(K,B[Y][1]*100)}else{if(this.dataLabels.constructor==Array){K=this.dataLabelFormatString||"%s";X=e.jqplot.sprintf(K,this.dataLabels[this._dataIndices[Y]])}}}}var s=(this._radius)*this.dataLabelPositionFactor+this.sliceMargin+this.dataLabelNudge;var T=(U[0][0]+U[1][0])/2+this.canvas._offsets.left;var S=(U[1][1]+U[2][1])/2+this.canvas._offsets.top;var z=e(''+X+"").insertBefore(p.eventCanvas._elem);T-=z.width()/2;S-=z.height()/2;T=Math.round(T);S=Math.round(S);z.css({left:T,top:S})}}};e.jqplot.FunnelAxisRenderer=function(){e.jqplot.LinearAxisRenderer.call(this)};e.jqplot.FunnelAxisRenderer.prototype=new e.jqplot.LinearAxisRenderer();e.jqplot.FunnelAxisRenderer.prototype.constructor=e.jqplot.FunnelAxisRenderer;e.jqplot.FunnelAxisRenderer.prototype.init=function(m){this.tickRenderer=e.jqplot.FunnelTickRenderer;e.extend(true,this,m);this._dataBounds={min:0,max:100};this.min=0;this.max=100;this.showTicks=false;this.ticks=[];this.showMark=false;this.show=false};e.jqplot.FunnelLegendRenderer=function(){e.jqplot.TableLegendRenderer.call(this)};e.jqplot.FunnelLegendRenderer.prototype=new e.jqplot.TableLegendRenderer();e.jqplot.FunnelLegendRenderer.prototype.constructor=e.jqplot.FunnelLegendRenderer;e.jqplot.FunnelLegendRenderer.prototype.init=function(m){this.numberRows=null;this.numberColumns=null;e.extend(true,this,m)};e.jqplot.FunnelLegendRenderer.prototype.draw=function(){var p=this;if(this.show){var x=this._series;var A="position:absolute;";A+=(this.background)?"background:"+this.background+";":"";A+=(this.border)?"border:"+this.border+";":"";A+=(this.fontSize)?"font-size:"+this.fontSize+";":"";A+=(this.fontFamily)?"font-family:"+this.fontFamily+";":"";A+=(this.textColor)?"color:"+this.textColor+";":"";A+=(this.marginTop!=null)?"margin-top:"+this.marginTop+";":"";A+=(this.marginBottom!=null)?"margin-bottom:"+this.marginBottom+";":"";A+=(this.marginLeft!=null)?"margin-left:"+this.marginLeft+";":"";A+=(this.marginRight!=null)?"margin-right:"+this.marginRight+";":"";this._elem=e('
                                                                                                                  ');var E=false,w=false,m,u;var y=x[0];var n=new e.jqplot.ColorGenerator(y.seriesColors);if(y.show){var F=y.data;if(this.numberRows){m=this.numberRows;if(!this.numberColumns){u=Math.ceil(F.length/m)}else{u=this.numberColumns}}else{if(this.numberColumns){u=this.numberColumns;m=Math.ceil(F.length/this.numberColumns)}else{m=F.length;u=1}}var D,C,o,r,q,t,v,B;var z=0;for(D=0;D').prependTo(this._elem)}else{o=e('').appendTo(this._elem)}for(C=0;C0){E=true}else{E=false}}else{if(D==m-1){E=false}else{E=true}}v=(E)?this.rowSpacing:"0";r=e('
                                                                                                                  ');q=e('');if(this.escapeHtml){q.text(t)}else{q.html(t)}if(w){q.prependTo(o);r.prependTo(o)}else{r.appendTo(o);q.appendTo(o)}E=true}z++}}}}return this._elem};function c(q,p,n){n=n||{};n.axesDefaults=n.axesDefaults||{};n.legend=n.legend||{};n.seriesDefaults=n.seriesDefaults||{};var m=false;if(n.seriesDefaults.renderer==e.jqplot.FunnelRenderer){m=true}else{if(n.series){for(var o=0;o=0.6)?l[3]*0.6:l[3]*(2-l[3]);i.color="rgba("+n[0]+","+n[1]+","+n[2]+","+k+")";i.init();i.draw(p.gridData[o.pointIndex][0],p.gridData[o.pointIndex][1],j.highlightCanvas._ctx)}function g(A,q,m){var k=A.plugins.highlighter;var D=k._tooltipElem;var r=q.highlighter||{};var t=d.extend(true,{},k,r);if(t.useAxesFormatters){var w=q._xaxis._ticks[0].formatter;var h=q._yaxis._ticks[0].formatter;var E=q._xaxis._ticks[0].formatString;var s=q._yaxis._ticks[0].formatString;var z;var u=w(E,m.data[0]);var l=[];for(var B=1;B140){h=Math.round(Math.log(this.max/this.min)/Math.log(this.base)+1);if(h<2){h=2}if(C===0){var o=b/(h-1);if(o<100){C=0}else{if(o<190){C=1}else{if(o<250){C=3}else{if(o<600){C=4}else{C=9}}}}}}else{h=2;if(C===0){C=1}C=0}}else{h=this.numberTicks}if(E>=0&&C!==3){this._autoFormatString="%d"}else{if(E<=0&&C===3){var o=-(E-1);this._autoFormatString="%."+Math.abs(E-1)+"f"}else{if(E<0){var o=-E;this._autoFormatString="%."+Math.abs(E)+"f"}else{this._autoFormatString="%d"}}}var O,H,z,p,n,k;for(var K=0;K=0;J--){z=p-k*(J+1);H=new this.tickRenderer(this.tickOptions);if(this._overrideFormatString&&this._autoFormatString!=""){H.formatString=this._autoFormatString}if(!this.showTicks){H.showLabel=false;H.showMark=false}else{if(!this.showTickMarks){H.showMark=false}}H.setTick(z,this.name);this._ticks.push(H)}}}}else{if(this.min!=null&&this.max!=null){var y=a.extend(true,{},this.tickOptions,{name:this.name,value:null});var I,e;if(this.numberTicks==null&&this.tickInterval==null){var D=Math.max(b,g+1);var L=Math.ceil((D-g)/35+1);var B=a.jqplot.LinearTickGenerator.bestConstrainedInterval(this.min,this.max,L);this._autoFormatString=B[3];I=B[2];e=B[4];for(var K=0;K0){c=-n._textRenderer.height*Math.cos(-n._textRenderer.angle)/2}else{c=-n.getHeight()+n._textRenderer.height*Math.cos(n._textRenderer.angle)/2}break;case"middle":c=-n.getHeight()/2;break;default:c=-n.getHeight()/2;break}}else{c=-n.getHeight()/2}var z=this.u2p(n.value)+c+"px";n._elem.css("top",z);n.pack()}}if(o){var x=this._label._elem.outerHeight(true);this._label._elem.css("top",m-g/2-x/2+"px");if(this.name=="yaxis"){this._label._elem.css("left","0px")}else{this._label._elem.css("right","0px")}this._label.pack()}}}}})(jQuery); diff --git a/apiDocumentation/js/jqplot/plugins/jqplot.mekkoAxisRenderer.min.js b/apiDocumentation/js/jqplot/plugins/jqplot.mekkoAxisRenderer.min.js new file mode 100644 index 0000000..fa0deee --- /dev/null +++ b/apiDocumentation/js/jqplot/plugins/jqplot.mekkoAxisRenderer.min.js @@ -0,0 +1,3 @@ +/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com + jsDate | (c) 2010-2013 Chris Leonello + */(function(a){a.jqplot.MekkoAxisRenderer=function(){};a.jqplot.MekkoAxisRenderer.prototype.init=function(c){this.tickMode;this.barLabelRenderer=a.jqplot.AxisLabelRenderer;this.barLabels=this.barLabels||[];this.barLabelOptions={};this.tickOptions=a.extend(true,{showGridline:false},this.tickOptions);this._barLabels=[];a.extend(true,this,c);if(this.name=="yaxis"){this.tickOptions.formatString=this.tickOptions.formatString||"%d%"}var b=this._dataBounds;b.min=0;if(this.name=="yaxis"||this.name=="y2axis"){b.max=100;this.tickMode="even"}else{if(this.name=="xaxis"){this.tickMode=(this.tickMode==null)?"bar":this.tickMode;for(var d=0;dk){k=d}}}if(b){c=this._label._elem.outerWidth(true);j=this._label._elem.outerHeight(true)}if(this.name=="xaxis"){k=k+j;this._elem.css({height:k+"px",left:"0px",bottom:"0px"})}else{if(this.name=="x2axis"){k=k+j;this._elem.css({height:k+"px",left:"0px",top:"0px"})}else{if(this.name=="yaxis"){k=k+c;this._elem.css({width:k+"px",left:"0px",top:"0px"});if(b&&this._label.constructor==a.jqplot.AxisLabelRenderer){this._label._elem.css("width",c+"px")}}else{k=k+c;this._elem.css({width:k+"px",right:"0px",top:"0px"});if(b&&this._label.constructor==a.jqplot.AxisLabelRenderer){this._label._elem.css("width",c+"px")}}}}}};a.jqplot.MekkoAxisRenderer.prototype.createTicks=function(){var z=this._ticks;var w=this.ticks;var B=this.name;var y=this._dataBounds;var p,x;var n,r;var d,c;var h,b,s,q;if(w.length){for(s=0;s0){g=Math.max(Math.log(n)/Math.LN10,0.05)}n-=g;r+=g}var k=r-n;var m,o;var v,l,u;var f=[3,5,6,11,21];if(this.name=="yaxis"||this.name=="y2axis"){this.min=0;this.max=100;if(!this.numberTicks){if(this.tickInterval){this.numberTicks=3+Math.ceil(k/this.tickInterval)}else{v=2+Math.ceil((p-(this.tickSpacing-1))/this.tickSpacing);for(s=0;s1){l=u;continue}else{if(u<1){if(Math.abs(l-1)v){h=new this.tickRenderer(this.tickOptions);if(!this.showTicks){h.showLabel=false;h.showMark=false}else{if(!this.showTickMarks){h.showMark=false}}h.setTick(this.max,this.name);this._ticks.push(h)}}else{if(this.tickMode=="even"){this.min=0;this.max=this.max||y.max;var A=2+Math.ceil((p-(this.tickSpacing-1))/this.tickSpacing);k=this.max-this.min;this.numberTicks=A;this.tickInterval=k/(this.numberTicks-1);for(s=0;s0){c=-n._textRenderer.height*Math.cos(-n._textRenderer.angle)/2}else{c=-n.getHeight()+n._textRenderer.height*Math.cos(n._textRenderer.angle)/2}break;case"middle":c=-n.getHeight()/2;break;default:c=-n.getHeight()/2;break}}else{c=-n.getHeight()/2}var D=this.u2p(n.value)+c+"px";n._elem.css("top",D);n.pack()}}if(o){var z=this._label._elem.outerHeight(true);this._label._elem.css("top",m-f/2-z/2+"px");if(this.name=="yaxis"){this._label._elem.css("left","0px")}else{this._label._elem.css("right","0px")}this._label.pack()}}}}})(jQuery); diff --git a/apiDocumentation/js/jqplot/plugins/jqplot.mekkoRenderer.min.js b/apiDocumentation/js/jqplot/plugins/jqplot.mekkoRenderer.min.js new file mode 100644 index 0000000..a9abd16 --- /dev/null +++ b/apiDocumentation/js/jqplot/plugins/jqplot.mekkoRenderer.min.js @@ -0,0 +1,3 @@ +/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com + jsDate | (c) 2010-2013 Chris Leonello + */(function(b){b.jqplot.MekkoRenderer=function(){this.shapeRenderer=new b.jqplot.ShapeRenderer();this.borderColor=null;this.showBorders=true};b.jqplot.MekkoRenderer.prototype.init=function(c,e){this.fill=false;this.fillRect=true;this.strokeRect=true;this.shadow=false;this._xwidth=0;this._xstart=0;b.extend(true,this.renderer,c);var d={lineJoin:"miter",lineCap:"butt",isarc:false,fillRect:this.fillRect,strokeRect:this.strokeRect};this.renderer.shapeRenderer.init(d);e.axes.x2axis._series.push(this);this._type="mekko"};b.jqplot.MekkoRenderer.prototype.setGridData=function(h){var e=this._xaxis.series_u2p;var c=this._yaxis.series_u2p;var g=this._plotData;this.gridData=[];this._xwidth=e(this._sumy)-e(0);if(this.index>0){this._xstart=h.series[this.index-1]._xstart+h.series[this.index-1]._xwidth}var l=this.canvas.getHeight();var d=0;var k;var j;for(var f=0;f');var w=false,n=true,c,l;var p=o[0];var d=new b.jqplot.ColorGenerator(p.seriesColors);if(p.show){var x=p.data;if(this.numberRows){c=this.numberRows;if(!this.numberColumns){l=Math.ceil(x.length/c)}else{l=this.numberColumns}}else{if(this.numberColumns){l=this.numberColumns;c=Math.ceil(x.length/this.numberColumns)}else{c=x.length;l=1}}var v,u,e,h,g,k,m,t;var q=0;for(v=0;v').prependTo(this._elem)}else{e=b('').appendTo(this._elem)}for(u=0;u0){w=true}else{w=false}}else{if(v==c-1){w=false}else{w=true}}m=(w)?this.rowSpacing:"0";h=b('
                                                                                                                  ');g=b('');if(this.escapeHtml){g.text(k)}else{g.html(k)}if(n){g.prependTo(e);h.prependTo(e)}else{h.appendTo(e);g.appendTo(e)}w=true}q++}}e=null;h=null;g=null}}return this._elem};b.jqplot.MekkoLegendRenderer.prototype.pack=function(f){if(this.show){var e={_top:f.top,_left:f.left,_right:f.right,_bottom:this._plotDimensions.height-f.bottom};if(this.placement=="insideGrid"){switch(this.location){case"nw":var d=e._left+this.xoffset;var c=e._top+this.yoffset;this._elem.css("left",d);this._elem.css("top",c);break;case"n":var d=(f.left+(this._plotDimensions.width-f.right))/2-this.getWidth()/2;var c=e._top+this.yoffset;this._elem.css("left",d);this._elem.css("top",c);break;case"ne":var d=f.right+this.xoffset;var c=e._top+this.yoffset;this._elem.css({right:d,top:c});break;case"e":var d=f.right+this.xoffset;var c=(f.top+(this._plotDimensions.height-f.bottom))/2-this.getHeight()/2;this._elem.css({right:d,top:c});break;case"se":var d=f.right+this.xoffset;var c=f.bottom+this.yoffset;this._elem.css({right:d,bottom:c});break;case"s":var d=(f.left+(this._plotDimensions.width-f.right))/2-this.getWidth()/2;var c=f.bottom+this.yoffset;this._elem.css({left:d,bottom:c});break;case"sw":var d=e._left+this.xoffset;var c=f.bottom+this.yoffset;this._elem.css({left:d,bottom:c});break;case"w":var d=e._left+this.xoffset;var c=(f.top+(this._plotDimensions.height-f.bottom))/2-this.getHeight()/2;this._elem.css({left:d,top:c});break;default:var d=e._right-this.xoffset;var c=e._bottom+this.yoffset;this._elem.css({right:d,bottom:c});break}}else{switch(this.location){case"nw":var d=this._plotDimensions.width-e._left+this.xoffset;var c=e._top+this.yoffset;this._elem.css("right",d);this._elem.css("top",c);break;case"n":var d=(f.left+(this._plotDimensions.width-f.right))/2-this.getWidth()/2;var c=this._plotDimensions.height-e._top+this.yoffset;this._elem.css("left",d);this._elem.css("bottom",c);break;case"ne":var d=this._plotDimensions.width-f.right+this.xoffset;var c=e._top+this.yoffset;this._elem.css({left:d,top:c});break;case"e":var d=this._plotDimensions.width-f.right+this.xoffset;var c=(f.top+(this._plotDimensions.height-f.bottom))/2-this.getHeight()/2;this._elem.css({left:d,top:c});break;case"se":var d=this._plotDimensions.width-f.right+this.xoffset;var c=f.bottom+this.yoffset;this._elem.css({left:d,bottom:c});break;case"s":var d=(f.left+(this._plotDimensions.width-f.right))/2-this.getWidth()/2;var c=this._plotDimensions.height-f.bottom+this.yoffset;this._elem.css({left:d,top:c});break;case"sw":var d=this._plotDimensions.width-e._left+this.xoffset;var c=f.bottom+this.yoffset;this._elem.css({right:d,bottom:c});break;case"w":var d=this._plotDimensions.width-e._left+this.xoffset;var c=(f.top+(this._plotDimensions.height-f.bottom))/2-this.getHeight()/2;this._elem.css({right:d,top:c});break;default:var d=e._right-this.xoffset;var c=e._bottom+this.yoffset;this._elem.css({right:d,bottom:c});break}}}};function a(g,f,d){d=d||{};d.axesDefaults=d.axesDefaults||{};d.legend=d.legend||{};d.seriesDefaults=d.seriesDefaults||{};var c=false;if(d.seriesDefaults.renderer==b.jqplot.MekkoRenderer){c=true}else{if(d.series){for(var e=0;e=this.data[0][1]){this.max=this.intervals[this.intervals.length-1][0];this.setmax=false}}else{this.setmax=false}}else{this.min=(this.min==null)?0:this.min;this.setmin=false;if(this.max==null){this.max=this.data[0][1]*1.25;this.setmax=true}else{this.setmax=false}}}};c.jqplot.MeterGaugeRenderer.prototype.setGridData=function(j){var f=[];var k=[];var e=this.startAngle;for(var h=0;h0){f[h]+=f[h-1]}}var g=Math.PI*2/f[f.length-1];for(var h=0;h0){f[h]+=f[h-1]}}var g=Math.PI*2/f[f.length-1];for(var h=0;h=0;h--){e=f/(j[h]*Math.pow(10,g));if(e==4||e==5){return e-1}}return null}c.jqplot.MeterGaugeRenderer.prototype.draw=function(X,aC,ap){var aa;var aM=(ap!=undefined)?ap:{};var ai=0;var ah=0;var at=1;if(ap.legendInfo&&ap.legendInfo.placement=="inside"){var aI=ap.legendInfo;switch(aI.location){case"nw":ai=aI.width+aI.xoffset;break;case"w":ai=aI.width+aI.xoffset;break;case"sw":ai=aI.width+aI.xoffset;break;case"ne":ai=aI.width+aI.xoffset;at=-1;break;case"e":ai=aI.width+aI.xoffset;at=-1;break;case"se":ai=aI.width+aI.xoffset;at=-1;break;case"n":ah=aI.height+aI.yoffset;break;case"s":ah=aI.height+aI.yoffset;at=-1;break;default:break}}if(this.label){this._labelElem=c('
                                                                                                                  '+this.label+"
                                                                                                                  ");this.canvas._elem.after(this._labelElem)}var m=(aM.shadow!=undefined)?aM.shadow:this.shadow;var N=(aM.showLine!=undefined)?aM.showLine:this.showLine;var I=(aM.fill!=undefined)?aM.fill:this.fill;var K=X.canvas.width;var S=X.canvas.height;if(this.padding==null){this.padding=Math.round(Math.min(K,S)/30)}var Q=K-ai-2*this.padding;var ab=S-ah-2*this.padding;if(this.labelPosition=="bottom"&&this.label){ab-=this._labelElem.outerHeight(true)}var L=Math.min(Q,ab);var ad=L;if(!this.diameter){if(this.semiCircular){if(Q>=2*ab){if(!this.ringWidth){this.ringWidth=2*ab/35}this.needleThickness=this.needleThickness||2+Math.pow(this.ringWidth,0.8);this.innerPad=this.ringWidth/2+this.needleThickness/2+this.needlePad;this.diameter=2*(ab-2*this.innerPad)}else{if(!this.ringWidth){this.ringWidth=Q/35}this.needleThickness=this.needleThickness||2+Math.pow(this.ringWidth,0.8);this.innerPad=this.ringWidth/2+this.needleThickness/2+this.needlePad;this.diameter=Q-2*this.innerPad-this.ringWidth-this.padding}this._center=[(K-at*ai)/2+at*ai,(S+at*ah-this.padding-this.ringWidth-this.innerPad)]}else{if(!this.ringWidth){this.ringWidth=ad/35}this.needleThickness=this.needleThickness||2+Math.pow(this.ringWidth,0.8);this.innerPad=0;this.diameter=ad-this.ringWidth;this._center=[(K-at*ai)/2+at*ai,(S-at*ah)/2+at*ah]}if(this._labelElem&&this.labelPosition=="bottom"){this._center[1]-=this._labelElem.outerHeight(true)}}this._radius=this.diameter/2;this.tickSpacing=6000/this.diameter;if(!this.hubRadius){this.hubRadius=this.diameter/18}this.shadowOffset=0.5+this.ringWidth/9;this.shadowWidth=this.ringWidth*1;this.tickPadding=3+Math.pow(this.diameter/20,0.7);this.tickOuterRadius=this._radius-this.ringWidth/2-this.tickPadding;this.tickLength=(this.showTicks)?this._radius/13:0;if(this.ticks.length==0){var A=this.max,aL=this.min,q=this.setmax,aG=this.setmin,au=(A-aL)*this.tickSpacing/this.span;var aw=Math.floor(parseFloat((Math.log(au)/Math.log(10)).toFixed(11)));var an=(au/Math.pow(10,aw));(an>2&&an<=2.5)?an=2.5:an=Math.ceil(an);var T=this.tickPositions;var aA,ak;for(aa=0;aa0)?aL-aL%au:aL-aL%au-au;if(!this.forceZero){var D=Math.min(aL-aP,0.8*au);var o=Math.floor(D/T[aA]);if(o>1){aP=aP+T[aA]*(o-1);if(parseInt(aP,10)!=aP&&parseInt(aP-T[aA],10)==aP-T[aA]){aP=aP-T[aA]}}}if(aL==aP){aL-=au}else{if(aL-aP>0.23*au){aL=aP}else{aL=aP-au;ak+=1}}ak+=1;var E=aL+(ak-1)*au;if(A>=E){E+=au;ak+=1}if(E-A<0.23*au){E+=au;ak+=1}this.max=A=E;this.min=aL;this.tickInterval=au;this.numberTicks=ak;var O;for(aa=0;aa=E){A=E+au;ak+=1}else{A=E}this.tickInterval=this.tickInterval||au;this.numberTicks=this.numberTicks||ak;var O;for(aa=0;aa1){var aJ=String(P);if(aJ.search(/\./)==-1){var aF=aJ.search(/0+$/);av=(aF>0)?aJ.length-aF-1:0}}M=P/Math.pow(10,av);for(aa=0;aa'+this.ticks[aa][1]+"");this.canvas._elem.after(J);aO=J.outerWidth(true);g=J.outerHeight(true);W=this._tickPoints[aa][0]-aO*(this._tickPoints[aa][2]-Math.PI)/Math.PI-an*Math.cos(this._tickPoints[aa][2]);T=this._tickPoints[aa][1]-g/2+g/2*Math.pow(Math.abs((Math.sin(this._tickPoints[aa][2]))),0.5)+an/3*Math.pow(Math.abs((Math.sin(this._tickPoints[aa][2]))),0.5);J.css({left:W,top:T,color:this.tickColor});G=aO*Math.cos(this._tickPoints[aa][2])+g*Math.sin(Math.PI/2+this._tickPoints[aa][2]/2);n=(G>n)?G:n}}if(this.label&&this.labelPosition=="inside"){var W=this._center[0]+this.canvas._offsets.left;var an=this.tickPadding*(1-1/(this.diameter/80+1));var T=0.5*(this._center[1]+this.canvas._offsets.top-this.hubRadius)+0.5*(this._center[1]+this.canvas._offsets.top-this.tickOuterRadius+this.tickLength+an)+this.labelHeightAdjust;W-=this._labelElem.outerWidth(true)/2;T-=this._labelElem.outerHeight(true)/2;this._labelElem.css({left:W,top:T})}else{if(this.label&&this.labelPosition=="bottom"){var W=this._center[0]+this.canvas._offsets.left-this._labelElem.outerWidth(true)/2;var T=this._center[1]+this.canvas._offsets.top+this.innerPad+this.ringWidth+this.padding+this.labelHeightAdjust;this._labelElem.css({left:W,top:T})}}X.save();var ax=this.intervalInnerRadius||this.hubRadius*1.5;if(this.intervalOuterRadius==null){if(this.showTickLabels){var ag=(this.tickOuterRadius-this.tickLength-this.tickPadding-this.diameter/8)}else{var ag=(this.tickOuterRadius-this.tickLength-this.diameter/16)}}else{var ag=this.intervalOuterRadius}var P=this.max-this.min;var aD=this.intervals[this.intervals.length-1]-this.min;var y,Z,u=this.span*Math.PI/180;for(aa=0;aathis.max+R*3/this.span){ay=this.max+R*3/this.span}if(this.data[0][1]');var f=false,q=false,u,o;var w=p[0];if(w.show){var t=w.data;if(this.numberRows){u=this.numberRows;if(!this.numberColumns){o=Math.ceil(t.length/u)}else{o=this.numberColumns}}else{if(this.numberColumns){o=this.numberColumns;u=Math.ceil(t.length/this.numberColumns)}else{u=t.length;o=1}}var n,m,r,g,e,l,k,h;var v=0;for(n=0;n').prependTo(this._elem)}else{r=c('').appendTo(this._elem)}for(m=0;m0){f=true}else{f=false}}else{if(n==u-1){f=false}else{f=true}}k=(f)?this.rowSpacing:"0";g=c('
                                                                                                                  ');e=c('');if(this.escapeHtml){e.text(l)}else{e.html(l)}if(q){e.prependTo(r);g.prependTo(r)}else{g.appendTo(r);e.appendTo(r)}f=true}v++}}}}return this._elem};function a(j,h,f){f=f||{};f.axesDefaults=f.axesDefaults||{};f.legend=f.legend||{};f.seriesDefaults=f.seriesDefaults||{};f.grid=f.grid||{};var e=false;if(f.seriesDefaults.renderer==c.jqplot.MeterGaugeRenderer){e=true}else{if(f.series){for(var g=0;gb.max||b.max==null){b.max=f[c][1]}}}else{for(var c=0;cb.max||b.max==null){b.max=f[c][2]}}}};a.jqplot.OHLCRenderer.prototype.draw=function(A,N,j){var J=this.data;var v=this._xaxis.min;var z=this._xaxis.max;var l=0;var K=J.length;var p=this._xaxis.series_u2p;var G=this._yaxis.series_u2p;var D,E,f,M,F,n,O,C;var y;var u=this.renderer;var s=(j!=undefined)?j:{};var k=(s.shadow!=undefined)?s.shadow:this.shadow;var B=(s.fill!=undefined)?s.fill:this.fill;var c=(s.fillAndStroke!=undefined)?s.fillAndStroke:this.fillAndStroke;u.bodyWidth=(s.bodyWidth!=undefined)?s.bodyWidth:u.bodyWidth;u.tickLength=(s.tickLength!=undefined)?s.tickLength:u.tickLength;A.save();if(this.show){var m,q,g,Q,t;for(var D=0;Dq){if(u.wickColor){y.color=u.wickColor}else{if(u.downBodyColor){y.color=u.downBodyColor}}f=a.extend(true,{},s,y);u.shapeRenderer.draw(A,[[m,g],[m,q]],f);u.shapeRenderer.draw(A,[[m,t],[m,Q]],f);y={};M=q;F=t-q;if(u.fillDownBody){y.fillRect=true}else{y.strokeRect=true;n=n-this.lineWidth;O=m-n/2}if(u.downBodyColor){y.color=u.downBodyColor;y.fillStyle=u.downBodyColor}C=[O,M,n,F]}else{if(u.wickColor){y.color=u.wickColor}f=a.extend(true,{},s,y);u.shapeRenderer.draw(A,[[m,g],[m,Q]],f);y={};y.fillRect=false;y.strokeRect=false;O=[m-n/2,q];M=[m+n/2,t];n=null;F=null;C=[O,M]}}f=a.extend(true,{},s,y);u.shapeRenderer.draw(A,C,f)}else{E=s.color;if(u.openColor){s.color=u.openColor}if(!u.hlc){u.shapeRenderer.draw(A,[[m-u._tickLength,q],[m,q]],s)}s.color=E;if(u.wickColor){s.color=u.wickColor}u.shapeRenderer.draw(A,[[m,g],[m,Q]],s);s.color=E;if(u.closeColor){s.color=u.closeColor}u.shapeRenderer.draw(A,[[m,t],[m+u._tickLength,t]],s);s.color=E}}}A.restore()};a.jqplot.OHLCRenderer.prototype.drawShadow=function(b,d,c){};a.jqplot.OHLCRenderer.checkOptions=function(d,c,b){if(!b.highlighter){b.highlighter={showMarker:false,tooltipAxes:"y",yvalues:4,formatString:'
                                                                                                                  date:%s
                                                                                                                  open:%s
                                                                                                                  hi:%s
                                                                                                                  low:%s
                                                                                                                  close:%s
                                                                                                                  '}}}})(jQuery); diff --git a/apiDocumentation/js/jqplot/plugins/jqplot.pieRenderer.min.js b/apiDocumentation/js/jqplot/plugins/jqplot.pieRenderer.min.js new file mode 100644 index 0000000..fabd4ee --- /dev/null +++ b/apiDocumentation/js/jqplot/plugins/jqplot.pieRenderer.min.js @@ -0,0 +1,3 @@ +/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com + jsDate | (c) 2010-2013 Chris Leonello + */(function(e){e.jqplot.PieRenderer=function(){e.jqplot.LineRenderer.call(this)};e.jqplot.PieRenderer.prototype=new e.jqplot.LineRenderer();e.jqplot.PieRenderer.prototype.constructor=e.jqplot.PieRenderer;e.jqplot.PieRenderer.prototype.init=function(q,u){this.diameter=null;this.padding=20;this.sliceMargin=0;this.fill=true;this.shadowOffset=2;this.shadowAlpha=0.07;this.shadowDepth=5;this.highlightMouseOver=true;this.highlightMouseDown=false;this.highlightColors=[];this.dataLabels="percent";this.showDataLabels=false;this.dataLabelFormatString=null;this.dataLabelThreshold=3;this.dataLabelPositionFactor=0.52;this.dataLabelNudge=2;this.dataLabelCenterOn=true;this.startAngle=0;this.tickRenderer=e.jqplot.PieTickRenderer;this._drawData=true;this._type="pie";if(q.highlightMouseDown&&q.highlightMouseOver==null){q.highlightMouseOver=false}e.extend(true,this,q);if(this.sliceMargin<0){this.sliceMargin=0}this._diameter=null;this._radius=null;this._sliceAngles=[];this._highlightedPoint=null;if(this.highlightColors.length==0){for(var s=0;s570)?o[p]*0.8:o[p]+0.3*(255-o[p]);o[p]=parseInt(o[p],10)}this.highlightColors.push("rgb("+o[0]+","+o[1]+","+o[2]+")")}}this.highlightColorGenerator=new e.jqplot.ColorGenerator(this.highlightColors);u.postParseOptionsHooks.addOnce(m);u.postInitHooks.addOnce(g);u.eventListenerHooks.addOnce("jqplotMouseMove",b);u.eventListenerHooks.addOnce("jqplotMouseDown",a);u.eventListenerHooks.addOnce("jqplotMouseUp",l);u.eventListenerHooks.addOnce("jqplotClick",f);u.eventListenerHooks.addOnce("jqplotRightClick",n);u.postDrawHooks.addOnce(i)};e.jqplot.PieRenderer.prototype.setGridData=function(t){var p=[];var u=[];var o=this.startAngle/180*Math.PI;var s=0;this._drawData=false;for(var r=0;r0){p[r]+=p[r-1]}s+=this.data[r][1]}var q=Math.PI*2/p[p.length-1];for(var r=0;r0){p[r]+=p[r-1]}s+=t[r][1]}var q=Math.PI*2/p[p.length-1];for(var r=0;r0&&s>0.01&&s<6.282){w=parseFloat(p)/2/h(q)}return w}e.jqplot.PieRenderer.prototype.drawSlice=function(B,z,y,u,w){if(this._drawData){var p=this._radius;var A=this.fill;var x=this.lineWidth;var s=this.sliceMargin;if(this.fill==false){s+=this.lineWidth}B.save();B.translate(this._center[0],this._center[1]);var D=j(z,y,this.sliceMargin,this.fill,this.lineWidth);var o=D*Math.cos((z+y)/2);var C=D*Math.sin((z+y)/2);if((y-z)<=Math.PI){p-=D}else{p+=D}B.translate(o,C);if(w){for(var v=0,t=this.shadowDepth;v6.282+this.startAngle){y=6.282+this.startAngle;if(z>y){z=6.281+this.startAngle}}if(z>=y){return}B.beginPath();B.fillStyle=u;B.strokeStyle=u;B.lineWidth=x;B.arc(0,0,r,z,y,false);B.lineTo(0,0);B.closePath();if(A){B.fill()}else{B.stroke()}}};e.jqplot.PieRenderer.prototype.draw=function(B,z,E,o){var W;var H=(E!=undefined)?E:{};var t=0;var s=0;var N=1;var L=new e.jqplot.ColorGenerator(this.seriesColors);if(E.legendInfo&&E.legendInfo.placement=="insideGrid"){var J=E.legendInfo;switch(J.location){case"nw":t=J.width+J.xoffset;break;case"w":t=J.width+J.xoffset;break;case"sw":t=J.width+J.xoffset;break;case"ne":t=J.width+J.xoffset;N=-1;break;case"e":t=J.width+J.xoffset;N=-1;break;case"se":t=J.width+J.xoffset;N=-1;break;case"n":s=J.height+J.yoffset;break;case"s":s=J.height+J.yoffset;N=-1;break;default:break}}var K=(H.shadow!=undefined)?H.shadow:this.shadow;var A=(H.fill!=undefined)?H.fill:this.fill;var C=B.canvas.width;var I=B.canvas.height;var Q=C-t-2*this.padding;var X=I-s-2*this.padding;var M=Math.min(Q,X);var Y=M;this._sliceAngles=[];var v=this.sliceMargin;if(this.fill==false){v+=this.lineWidth}var q;var G=0;var R,aa,Z,ab;var D=this.startAngle/180*Math.PI;for(var W=0,V=z.length;WMath.PI){G=Math.max(q,G)}}if(this.diameter!=null&&this.diameter>0){this._diameter=this.diameter-2*G}else{this._diameter=Y-2*G}if(this._diameter<6){e.jqplot.log("Diameter of pie too small, not rendering.");return}var S=this._radius=this._diameter/2;this._center=[(C-N*t)/2+N*t+G*Math.cos(D),(I-N*s)/2+N*s+G*Math.sin(D)];if(this.shadow){for(var W=0,V=z.length;W=this.dataLabelThreshold){var F,U=(this._sliceAngles[W][0]+this._sliceAngles[W][1])/2,T;if(this.dataLabels=="label"){F=this.dataLabelFormatString||"%s";T=e.jqplot.sprintf(F,z[W][0])}else{if(this.dataLabels=="value"){F=this.dataLabelFormatString||"%d";T=e.jqplot.sprintf(F,this.data[W][1])}else{if(this.dataLabels=="percent"){F=this.dataLabelFormatString||"%d%%";T=e.jqplot.sprintf(F,z[W][2]*100)}else{if(this.dataLabels.constructor==Array){F=this.dataLabelFormatString||"%s";T=e.jqplot.sprintf(F,this.dataLabels[W])}}}}var p=(this._radius)*this.dataLabelPositionFactor+this.sliceMargin+this.dataLabelNudge;var P=this._center[0]+Math.cos(U)*p+this.canvas._offsets.left;var O=this._center[1]+Math.sin(U)*p+this.canvas._offsets.top;var u=e('
                                                                                                                  '+T+"
                                                                                                                  ").insertBefore(o.eventCanvas._elem);if(this.dataLabelCenterOn){P-=u.width()/2;O-=u.height()/2}else{P-=u.width()*Math.sin(U/2);O-=u.height()/2}P=Math.round(P);O=Math.round(O);u.css({left:P,top:O})}}};e.jqplot.PieAxisRenderer=function(){e.jqplot.LinearAxisRenderer.call(this)};e.jqplot.PieAxisRenderer.prototype=new e.jqplot.LinearAxisRenderer();e.jqplot.PieAxisRenderer.prototype.constructor=e.jqplot.PieAxisRenderer;e.jqplot.PieAxisRenderer.prototype.init=function(o){this.tickRenderer=e.jqplot.PieTickRenderer;e.extend(true,this,o);this._dataBounds={min:0,max:100};this.min=0;this.max=100;this.showTicks=false;this.ticks=[];this.showMark=false;this.show=false};e.jqplot.PieLegendRenderer=function(){e.jqplot.TableLegendRenderer.call(this)};e.jqplot.PieLegendRenderer.prototype=new e.jqplot.TableLegendRenderer();e.jqplot.PieLegendRenderer.prototype.constructor=e.jqplot.PieLegendRenderer;e.jqplot.PieLegendRenderer.prototype.init=function(o){this.numberRows=null;this.numberColumns=null;e.extend(true,this,o)};e.jqplot.PieLegendRenderer.prototype.draw=function(){var r=this;if(this.show){var B=this._series;this._elem=e(document.createElement("table"));this._elem.addClass("jqplot-table-legend");var E={position:"absolute"};if(this.background){E.background=this.background}if(this.border){E.border=this.border}if(this.fontSize){E.fontSize=this.fontSize}if(this.fontFamily){E.fontFamily=this.fontFamily}if(this.textColor){E.textColor=this.textColor}if(this.marginTop!=null){E.marginTop=this.marginTop}if(this.marginBottom!=null){E.marginBottom=this.marginBottom}if(this.marginLeft!=null){E.marginLeft=this.marginLeft}if(this.marginRight!=null){E.marginRight=this.marginRight}this._elem.css(E);var I=false,A=false,o,y;var C=B[0];var p=new e.jqplot.ColorGenerator(C.seriesColors);if(C.show){var J=C.data;if(this.numberRows){o=this.numberRows;if(!this.numberColumns){y=Math.ceil(J.length/o)}else{y=this.numberColumns}}else{if(this.numberColumns){y=this.numberColumns;o=Math.ceil(J.length/this.numberColumns)}else{o=J.length;y=1}}var H,G;var q,w,v;var x,z,F;var D=0;var u,t;for(H=0;H0){I=true}else{I=false}}else{if(H==o-1){I=false}else{I=true}}z=(I)?this.rowSpacing:"0";w=e(document.createElement("td"));w.addClass("jqplot-table-legend jqplot-table-legend-swatch");w.css({textAlign:"center",paddingTop:z});u=e(document.createElement("div"));u.addClass("jqplot-table-legend-swatch-outline");t=e(document.createElement("div"));t.addClass("jqplot-table-legend-swatch");t.css({backgroundColor:F,borderColor:F});w.append(u.append(t));v=e(document.createElement("td"));v.addClass("jqplot-table-legend jqplot-table-legend-label");v.css("paddingTop",z);if(this.escapeHtml){v.text(x)}else{v.html(x)}if(A){v.prependTo(q);w.prependTo(q)}else{w.appendTo(q);v.appendTo(q)}I=true}D++}}}}return this._elem};e.jqplot.PieRenderer.prototype.handleMove=function(q,p,t,s,r){if(s){var o=[s.seriesIndex,s.pointIndex,s.data];r.target.trigger("jqplotDataMouseOver",o);if(r.series[o[0]].highlightMouseOver&&!(o[0]==r.plugins.pieRenderer.highlightedSeriesIndex&&o[1]==r.series[o[0]]._highlightedPoint)){r.target.trigger("jqplotDataHighlight",o);d(r,o[0],o[1])}}else{if(s==null){k(r)}}};function c(s,r,p){p=p||{};p.axesDefaults=p.axesDefaults||{};p.legend=p.legend||{};p.seriesDefaults=p.seriesDefaults||{};var o=false;if(p.seriesDefaults.renderer==e.jqplot.PieRenderer){o=true}else{if(p.series){for(var q=0;qB||s+C>m){z.remove()}z=null;f=null}}};c.jqplot.postSeriesInitHooks.push(c.jqplot.PointLabels.init);c.jqplot.postDrawSeriesHooks.push(c.jqplot.PointLabels.draw)})(jQuery); diff --git a/apiDocumentation/js/jqplot/plugins/jqplot.pyramidAxisRenderer.min.js b/apiDocumentation/js/jqplot/plugins/jqplot.pyramidAxisRenderer.min.js new file mode 100644 index 0000000..fc2a5a9 --- /dev/null +++ b/apiDocumentation/js/jqplot/plugins/jqplot.pyramidAxisRenderer.min.js @@ -0,0 +1,3 @@ +/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com + jsDate | (c) 2010-2013 Chris Leonello + */(function(e){e.jqplot.PyramidAxisRenderer=function(){e.jqplot.LinearAxisRenderer.call(this)};e.jqplot.PyramidAxisRenderer.prototype=new e.jqplot.LinearAxisRenderer();e.jqplot.PyramidAxisRenderer.prototype.constructor=e.jqplot.PyramidAxisRenderer;e.jqplot.PyramidAxisRenderer.prototype.init=function(f){this.position=null;this.drawBaseline=true;this.baselineWidth=null;this.baselineColor=null;this.tickSpacingFactor=25;this._type="pyramid";this._splitAxis=false;this._splitLength=null;this.category=false;this._autoFormatString="";this._overrideFormatString=false;e.extend(true,this,f);this.renderer.options=f;this.resetDataBounds=this.renderer.resetDataBounds;this.resetDataBounds()};e.jqplot.PyramidAxisRenderer.prototype.resetDataBounds=function(){var h=this._dataBounds;h.min=null;h.max=null;var g;for(var m=0;mh.max)||h.max===null){h.max=g}}else{g=o[k][0];if((g!==null&&gh.max)||h.max===null){h.max=g}}}}};e.jqplot.PyramidAxisRenderer.prototype.draw=function(f,n){if(this.show){this.renderer.createTicks.call(this,n);var m=0;var g;if(this._elem){this._elem.emptyForce();this._elem=null}this._elem=e(document.createElement("div"));this._elem.addClass("jqplot-axis jqplot-"+this.name);this._elem.css("position","absolute");if(this.name=="xaxis"||this.name=="x2axis"){this._elem.width(this._plotDimensions.width)}else{this._elem.height(this._plotDimensions.height)}this.labelOptions.axis=this.name;this._label=new this.labelRenderer(this.labelOptions);if(this._label.show){var l=this._label.draw(f,n);l.appendTo(this._elem);l=null}var k=this._ticks;var j;for(var h=0;hr){I=this.numberTicks-1;for(H=2;H0;H--){v=new this.tickRenderer(this.tickOptions);v.value=this._ticks[H-1].value+this.tickInterval/2;v.label="";v.showLabel=false;v.axis=this.name;this._ticks[H].showGridline=false;this._ticks[H].showMark=false;this._ticks.splice(H,0,v)}v=new this.tickRenderer(this.tickOptions);v.value=this._ticks[0].value-this.tickInterval/2;v.label="";v.showLabel=false;v.axis=this.name;this._ticks.unshift(v);v=new this.tickRenderer(this.tickOptions);v.value=this._ticks[this._ticks.length-1].value+this.tickInterval/2;v.label="";v.showLabel=false;v.axis=this.name;this._ticks.push(v);this.tickInterval=this.tickInterval/2;this.numberTicks=this._ticks.length;this.min=this._ticks[0].value;this.max=this._ticks[this._ticks.length-1].value}}else{if(this.name.charAt(0)==="x"){E=this._plotDimensions.width;var w=Math.max(M.max,Math.abs(M.min));var u=Math.min(M.min,-w);B=u;G=w;y=G-B;if(this.tickOptions==null||!this.tickOptions.formatString){this._overrideFormatString=true}m=30;g=Math.max(E,m+1);j=(g-m)/300;O=e.jqplot.LinearTickGenerator(B,G,j);A=B+y*(this.padMin-1);F=G-y*(this.padMax-1);if(BF){A=B-y*(this.padMin-1);F=G+y*(this.padMax-1);O=e.jqplot.LinearTickGenerator(A,F,j)}this.min=O[0];this.max=O[1];this.numberTicks=O[2];this._autoFormatString=O[3];this.tickInterval=O[4]}else{E=this._plotDimensions.height;B=M.min;G=M.max;x=this._series[0];this._ticks=[];y=G-B;if(d[y]){y+=1;G+=1}this.max=G;this.min=B;r=Math.round(2+E/this.tickSpacingFactor);if(y+1<=r){this.numberTicks=y+1;this.tickInterval=1}else{for(var H=r;H>1;H--){if(y/(H-1)===Math.round(y/(H-1))){this.numberTicks=H;this.tickInterval=y/(H-1);break}}}}if(this._overrideFormatString&&this._autoFormatString!=""){this.tickOptions=this.tickOptions||{};this.tickOptions.formatString=this._autoFormatString}var f;for(H=0;Ho){o=j}}}if(this.name==="yMidAxis"){for(m=0;m0){f=-q._textRenderer.height*Math.cos(-q._textRenderer.angle)/2}else{f=-q.getHeight()+q._textRenderer.height*Math.cos(q._textRenderer.angle)/2}break;case"middle":f=-q.getHeight()/2;break;default:f=-q.getHeight()/2;break}}else{f=-q.getHeight()/2}var C=this.u2p(q.value)+f+"px";q._elem.css("top",C);q.pack()}}if(r){var y=this._label._elem.outerHeight(true);if(this.name!=="yMidAxis"){this._label._elem.css("top",o-k/2-y/2+"px")}if(this.name=="yaxis"){this._label._elem.css("left","0px")}else{if(this.name!=="yMidAxis"){this._label._elem.css("right","0px")}}this._label.pack()}}}B=null}})(jQuery); diff --git a/apiDocumentation/js/jqplot/plugins/jqplot.pyramidGridRenderer.min.js b/apiDocumentation/js/jqplot/plugins/jqplot.pyramidGridRenderer.min.js new file mode 100644 index 0000000..f8d6a2c --- /dev/null +++ b/apiDocumentation/js/jqplot/plugins/jqplot.pyramidGridRenderer.min.js @@ -0,0 +1,3 @@ +/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com + jsDate | (c) 2010-2013 Chris Leonello + */(function(a){a.jqplot.PyramidGridRenderer=function(){a.jqplot.CanvasGridRenderer.call(this)};a.jqplot.PyramidGridRenderer.prototype=new a.jqplot.CanvasGridRenderer();a.jqplot.PyramidGridRenderer.prototype.constructor=a.jqplot.PyramidGridRenderer;a.jqplot.CanvasGridRenderer.prototype.init=function(c){this._ctx;this.plotBands={show:false,color:"rgb(230, 219, 179)",axis:"y",start:null,interval:10};a.extend(true,this,c);var b={lineJoin:"miter",lineCap:"round",fill:false,isarc:false,angle:this.shadowAngle,offset:this.shadowOffset,alpha:this.shadowAlpha,depth:this.shadowDepth,lineWidth:this.shadowWidth,closePath:false,strokeStyle:this.shadowColor};this.renderer.shadowRenderer.init(b)};a.jqplot.PyramidGridRenderer.prototype.draw=function(){this._ctx=this._elem.get(0).getContext("2d");var D=this._ctx;var G=this._axes;var q=G.xaxis.u2p;var J=G.yMidAxis.u2p;var l=G.xaxis.max/1000;var u=q(0);var f=q(l);var r=["xaxis","yaxis","x2axis","y2axis","yMidAxis"];D.save();D.clearRect(0,0,this._plotDimensions.width,this._plotDimensions.height);D.fillStyle=this.backgroundColor||this.background;D.fillRect(this._left,this._top,this._width,this._height);if(this.plotBands.show){D.save();var c=this.plotBands;D.fillStyle=c.color;var d;var o,n,p,I;if(c.axis.charAt(0)==="x"){if(G.xaxis.show){d=G.xaxis}}else{if(c.axis.charAt(0)==="y"){if(G.yaxis.show){d=G.yaxis}else{if(G.y2axis.show){d=G.y2axis}else{if(G.yMidAxis.show){d=G.yMidAxis}}}}}if(d!==undefined){var g=c.start;if(g===null){g=d.min}for(var H=g;H0;H--){var O=r[H-1];var d=G[O];var M=d._ticks;var B=M.length;if(d.show){if(d.drawBaseline){var N={};if(d.baselineWidth!==null){N.lineWidth=d.baselineWidth}if(d.baselineColor!==null){N.strokeStyle=d.baselineColor}switch(O){case"xaxis":if(G.yMidAxis.show){z(this._left,this._bottom,u,this._bottom,N);z(f,this._bottom,this._right,this._bottom,N)}else{z(this._left,this._bottom,this._right,this._bottom,N)}break;case"yaxis":z(this._left,this._bottom,this._left,this._top,N);break;case"yMidAxis":z(u,this._bottom,u,this._top,N);z(f,this._bottom,f,this._top,N);break;case"x2axis":if(G.yMidAxis.show){z(this._left,this._top,u,this._top,N);z(f,this._top,this._right,this._top,N)}else{z(this._left,this._bottom,this._right,this._bottom,N)}break;case"y2axis":z(this._right,this._bottom,this._right,this._top,N);break}}for(var E=B;E>0;E--){var v=M[E-1];if(v.show){var k=Math.round(d.u2p(v.value))+0.5;switch(O){case"xaxis":if(v.showGridline&&this.drawGridlines&&(!v.isMinorTick||d.showMinorTicks)){z(k,this._top,k,this._bottom)}if(v.showMark&&v.mark&&(!v.isMinorTick||d.showMinorTicks)){A=v.markSize;C=v.mark;var k=Math.round(d.u2p(v.value))+0.5;switch(C){case"outside":L=this._bottom;K=this._bottom+A;break;case"inside":L=this._bottom-A;K=this._bottom;break;case"cross":L=this._bottom-A;K=this._bottom+A;break;default:L=this._bottom;K=this._bottom+A;break}if(this.shadow){this.renderer.shadowRenderer.draw(D,[[k,L],[k,K]],{lineCap:"butt",lineWidth:this.gridLineWidth,offset:this.gridLineWidth*0.75,depth:2,fill:false,closePath:false})}z(k,L,k,K)}break;case"yaxis":if(v.showGridline&&this.drawGridlines&&(!v.isMinorTick||d.showMinorTicks)){z(this._right,k,this._left,k)}if(v.showMark&&v.mark&&(!v.isMinorTick||d.showMinorTicks)){A=v.markSize;C=v.mark;var k=Math.round(d.u2p(v.value))+0.5;switch(C){case"outside":L=this._left-A;K=this._left;break;case"inside":L=this._left;K=this._left+A;break;case"cross":L=this._left-A;K=this._left+A;break;default:L=this._left-A;K=this._left;break}if(this.shadow){this.renderer.shadowRenderer.draw(D,[[L,k],[K,k]],{lineCap:"butt",lineWidth:this.gridLineWidth*1.5,offset:this.gridLineWidth*0.75,fill:false,closePath:false})}z(L,k,K,k,{strokeStyle:d.borderColor})}break;case"yMidAxis":if(v.showGridline&&this.drawGridlines&&(!v.isMinorTick||d.showMinorTicks)){z(this._left,k,u,k);z(f,k,this._right,k)}if(v.showMark&&v.mark&&(!v.isMinorTick||d.showMinorTicks)){A=v.markSize;C=v.mark;var k=Math.round(d.u2p(v.value))+0.5;L=u;K=u+A;if(this.shadow){this.renderer.shadowRenderer.draw(D,[[L,k],[K,k]],{lineCap:"butt",lineWidth:this.gridLineWidth*1.5,offset:this.gridLineWidth*0.75,fill:false,closePath:false})}z(L,k,K,k,{strokeStyle:d.borderColor});L=f-A;K=f;if(this.shadow){this.renderer.shadowRenderer.draw(D,[[L,k],[K,k]],{lineCap:"butt",lineWidth:this.gridLineWidth*1.5,offset:this.gridLineWidth*0.75,fill:false,closePath:false})}z(L,k,K,k,{strokeStyle:d.borderColor})}break;case"x2axis":if(v.showGridline&&this.drawGridlines&&(!v.isMinorTick||d.showMinorTicks)){z(k,this._bottom,k,this._top)}if(v.showMark&&v.mark&&(!v.isMinorTick||d.showMinorTicks)){A=v.markSize;C=v.mark;var k=Math.round(d.u2p(v.value))+0.5;switch(C){case"outside":L=this._top-A;K=this._top;break;case"inside":L=this._top;K=this._top+A;break;case"cross":L=this._top-A;K=this._top+A;break;default:L=this._top-A;K=this._top;break}if(this.shadow){this.renderer.shadowRenderer.draw(D,[[k,L],[k,K]],{lineCap:"butt",lineWidth:this.gridLineWidth,offset:this.gridLineWidth*0.75,depth:2,fill:false,closePath:false})}z(k,L,k,K)}break;case"y2axis":if(v.showGridline&&this.drawGridlines&&(!v.isMinorTick||d.showMinorTicks)){z(this._left,k,this._right,k)}if(v.showMark&&v.mark&&(!v.isMinorTick||d.showMinorTicks)){A=v.markSize;C=v.mark;var k=Math.round(d.u2p(v.value))+0.5;switch(C){case"outside":L=this._right;K=this._right+A;break;case"inside":L=this._right-A;K=this._right;break;case"cross":L=this._right-A;K=this._right+A;break;default:L=this._right;K=this._right+A;break}if(this.shadow){this.renderer.shadowRenderer.draw(D,[[L,k],[K,k]],{lineCap:"butt",lineWidth:this.gridLineWidth*1.5,offset:this.gridLineWidth*0.75,fill:false,closePath:false})}z(L,k,K,k,{strokeStyle:d.borderColor})}break;default:break}}}v=null}d=null;M=null}D.restore();function z(j,i,e,b,h){D.save();h=h||{};if(h.lineWidth==null||h.lineWidth!=0){a.extend(true,D,h);D.beginPath();D.moveTo(j,i);D.lineTo(e,b);D.stroke()}D.restore()}if(this.shadow){if(G.yMidAxis.show){var F=[[this._left,this._bottom],[u,this._bottom]];this.renderer.shadowRenderer.draw(D,F);var F=[[f,this._bottom],[this._right,this._bottom],[this._right,this._top]];this.renderer.shadowRenderer.draw(D,F);var F=[[u,this._bottom],[u,this._top]];this.renderer.shadowRenderer.draw(D,F)}else{var F=[[this._left,this._bottom],[this._right,this._bottom],[this._right,this._top]];this.renderer.shadowRenderer.draw(D,F)}}if(this.borderWidth!=0&&this.drawBorder){if(G.yMidAxis.show){z(this._left,this._top,u,this._top,{lineCap:"round",strokeStyle:G.x2axis.borderColor,lineWidth:G.x2axis.borderWidth});z(f,this._top,this._right,this._top,{lineCap:"round",strokeStyle:G.x2axis.borderColor,lineWidth:G.x2axis.borderWidth});z(this._right,this._top,this._right,this._bottom,{lineCap:"round",strokeStyle:G.y2axis.borderColor,lineWidth:G.y2axis.borderWidth});z(this._right,this._bottom,f,this._bottom,{lineCap:"round",strokeStyle:G.xaxis.borderColor,lineWidth:G.xaxis.borderWidth});z(u,this._bottom,this._left,this._bottom,{lineCap:"round",strokeStyle:G.xaxis.borderColor,lineWidth:G.xaxis.borderWidth});z(this._left,this._bottom,this._left,this._top,{lineCap:"round",strokeStyle:G.yaxis.borderColor,lineWidth:G.yaxis.borderWidth});z(u,this._bottom,u,this._top,{lineCap:"round",strokeStyle:G.yaxis.borderColor,lineWidth:G.yaxis.borderWidth});z(f,this._bottom,f,this._top,{lineCap:"round",strokeStyle:G.yaxis.borderColor,lineWidth:G.yaxis.borderWidth})}else{z(this._left,this._top,this._right,this._top,{lineCap:"round",strokeStyle:G.x2axis.borderColor,lineWidth:G.x2axis.borderWidth});z(this._right,this._top,this._right,this._bottom,{lineCap:"round",strokeStyle:G.y2axis.borderColor,lineWidth:G.y2axis.borderWidth});z(this._right,this._bottom,this._left,this._bottom,{lineCap:"round",strokeStyle:G.xaxis.borderColor,lineWidth:G.xaxis.borderWidth});z(this._left,this._bottom,this._left,this._top,{lineCap:"round",strokeStyle:G.yaxis.borderColor,lineWidth:G.yaxis.borderWidth})}}D.restore();D=null;G=null}})(jQuery); diff --git a/apiDocumentation/js/jqplot/plugins/jqplot.pyramidRenderer.min.js b/apiDocumentation/js/jqplot/plugins/jqplot.pyramidRenderer.min.js new file mode 100644 index 0000000..6c53c09 --- /dev/null +++ b/apiDocumentation/js/jqplot/plugins/jqplot.pyramidRenderer.min.js @@ -0,0 +1,3 @@ +/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com + jsDate | (c) 2010-2013 Chris Leonello + */(function(c){if(c.jqplot.PyramidAxisRenderer===undefined){c.ajax({url:c.jqplot.pluginLocation+"jqplot.pyramidAxisRenderer.js",dataType:"script",async:false})}if(c.jqplot.PyramidGridRenderer===undefined){c.ajax({url:c.jqplot.pluginLocation+"jqplot.pyramidGridRenderer.js",dataType:"script",async:false})}c.jqplot.PyramidRenderer=function(){c.jqplot.LineRenderer.call(this)};c.jqplot.PyramidRenderer.prototype=new c.jqplot.LineRenderer();c.jqplot.PyramidRenderer.prototype.constructor=c.jqplot.PyramidRenderer;c.jqplot.PyramidRenderer.prototype.init=function(j,o){j=j||{};this._type="pyramid";this.barPadding=10;this.barWidth=null;this.fill=true;this.highlightMouseOver=true;this.highlightMouseDown=false;this.highlightColors=[];this.highlightThreshold=2;this.synchronizeHighlight=false;this.offsetBars=false;if(j.highlightMouseDown&&j.highlightMouseOver==null){j.highlightMouseOver=false}this.side="right";c.extend(true,this,j);if(this.side==="left"){this._highlightThreshold=[[-this.highlightThreshold,0],[-this.highlightThreshold,0],[0,0],[0,0]]}else{this._highlightThreshold=[[0,0],[0,0],[this.highlightThreshold,0],[this.highlightThreshold,0]]}this.renderer.options=j;this._highlightedPoint=null;this._dataColors=[];this._barPoints=[];this.fillAxis="y";this._primaryAxis="_yaxis";this._xnudge=0;var n={lineJoin:"miter",lineCap:"butt",fill:this.fill,fillRect:this.fill,isarc:false,strokeStyle:this.color,fillStyle:this.color,closePath:this.fill,lineWidth:this.lineWidth};this.renderer.shapeRenderer.init(n);var m=j.shadowOffset;if(m==null){if(this.lineWidth>2.5){m=1.25*(1+(Math.atan((this.lineWidth/2.5))/0.785398163-1)*0.6)}else{m=1.25*Math.atan((this.lineWidth/2.5))/0.785398163}}var h={lineJoin:"miter",lineCap:"butt",fill:this.fill,fillRect:this.fill,isarc:false,angle:this.shadowAngle,offset:m,alpha:this.shadowAlpha,depth:this.shadowDepth,closePath:this.fill,lineWidth:this.lineWidth};this.renderer.shadowRenderer.init(h);o.postDrawHooks.addOnce(f);o.eventListenerHooks.addOnce("jqplotMouseMove",e);if(this.side==="left"){for(var k=0,g=this.data.length;k=0){s=I[E][0]-L;F=this.barWidth;D=[L,n-y-r,s,F]}else{s=L-I[E][0];F=this.barWidth;D=[I[E][0],n-y-r,s,F]}this._barPoints.push([[D[0],D[1]+F],[D[0],D[1]],[D[0]+s,D[1]],[D[0]+s,D[1]+F]]);if(p){this.renderer.shadowRenderer.draw(B,D)}var g=u.fillStyle||this.color;this._dataColors.push(g);this.renderer.shapeRenderer.draw(B,D,u)}else{if(E===0){D=[[L,j],[I[E][0],j],[I[E][0],I[E][1]-y-r]]}else{if(E=h.synchronizeHighlight&&h.synchronizeHighlight!==l){h=m.series[h.synchronizeHighlight];k={fillStyle:h.highlightColors[j],fillRect:false};h.renderer.shapeRenderer.draw(g._ctx,h._barPoints[j],k)}g=null}function d(j){var g=j.plugins.pyramidRenderer.highlightCanvas;g._ctx.clearRect(0,0,g._ctx.canvas.width,g._ctx.canvas.height);for(var h=0;ha?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(l.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return+new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a)return d;if(1!==(i=b.nodeType)&&9!==i)return[];if(n&&!e){if(f=Z.exec(a))if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode)return d;if(g.id===h)return d.push(g),d}else if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h)return d.push(g),d}else{if(f[2])return G.apply(d,b.getElementsByTagName(a)),d;if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(h)),d}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--)m[j]=q+pb(m[j]);u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v)try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="
                                                                                                                  ",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},z=b?function(a,b){if(a===b)return j=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b)return j=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0;if(f===g)return ib(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)k.unshift(c);while(h[d]===k[d])d++;return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b)))try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return i=null,a},e=db.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=db.selectors={cacheLength:50,createPseudo:fb,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||db.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ab,bb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),t=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[u,n,m];break}}else if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(t&&((l[s]||(l[s]={}))[a]=[u,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));return d[s]?fb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do if(c=n?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:lb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[u,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function rb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return!g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++)if(c=d.relative[a[j].type])m=[qb(rb(m),c)];else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++)if(d.relative[a[e].type])break;return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++])if(o(m,g,i)){j.push(m);break}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++])o(r,s,g,i);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=E.call(j));s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueSort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--)f=ub(b[c]),f[s]?d.push(f):e.push(f);f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++)db(a,b[d],c);return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b)return e;a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type])break;if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a)return G.apply(e,f),e;break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition(l.createElement("div"))}),gb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=a.document,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,B=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:A.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:z,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=z.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return y.find(a);this.length=1,this[0]=d}return this.context=z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};B.prototype=n.fn,y=n(z);var C=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!n(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function E(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return E(a,"nextSibling")},prev:function(a){return E(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(D[a]||(e=n.unique(e)),C.test(a)&&(e=e.reverse())),this.pushStack(e)}});var F=/\S+/g,G={};function H(a){var b=G[a]={};return n.each(a.match(F)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?G[a]||H(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&n.each(arguments,function(a,c){var d;while((d=n.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){if(a===!0?!--n.readyWait:!n.isReady){if(!z.body)return setTimeout(n.ready);n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(z,[n]),n.fn.trigger&&n(z).trigger("ready").off("ready"))}}});function J(){z.addEventListener?(z.removeEventListener("DOMContentLoaded",K,!1),a.removeEventListener("load",K,!1)):(z.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(z.addEventListener||"load"===event.type||"complete"===z.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===z.readyState)setTimeout(n.ready);else if(z.addEventListener)z.addEventListener("DOMContentLoaded",K,!1),a.addEventListener("load",K,!1);else{z.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&z.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!n.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}J(),n.ready()}}()}return I.promise(b)};var L="undefined",M;for(M in n(l))break;l.ownLast="0"!==M,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c=z.getElementsByTagName("body")[0];c&&(a=z.createElement("div"),a.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",b=z.createElement("div"),c.appendChild(a).appendChild(b),typeof b.style.zoom!==L&&(b.style.cssText="border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1",(l.inlineBlockNeedsLayout=3===b.offsetWidth)&&(c.style.zoom=1)),c.removeChild(a),a=b=null)}),function(){var a=z.createElement("div");if(null==l.deleteExpando){l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}}a=null}(),n.acceptData=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(n.acceptData(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f +}}function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d]));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},X=/^(?:checkbox|radio)$/i;!function(){var a=z.createDocumentFragment(),b=z.createElement("div"),c=z.createElement("input");if(b.setAttribute("className","t"),b.innerHTML="
                                                                                                                  a",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return!0}function cb(){return!1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--)f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--)if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.isWindow(d)){for(i=k.delegateType||p,_.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped())b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((n.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?n(c,this).index(i)>=0:n.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/\s*$/g,sb={option:[1,""],legend:[1,"
                                                                                                                  ","
                                                                                                                  "],area:[1,"",""],param:[1,"",""],thead:[1,"","
                                                                                                                  "],tr:[2,"","
                                                                                                                  "],col:[2,"","
                                                                                                                  "],td:[3,"","
                                                                                                                  "],_default:l.htmlSerialize?[0,"",""]:[1,"X
                                                                                                                  ","
                                                                                                                  "]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}n.extend({clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g)d[g]&&Cb(e,d[g]);if(b)if(c)for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++)Bb(e,d[g]);else Bb(a,f);return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++)if(f=a[q],f||0===f)if("object"===n.type(f))n.merge(p,f.nodeType?[f]:f);else if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1>")+k[2],e=k[0];while(e--)h=h.lastChild;if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?""!==k[1]||lb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}n.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++])if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++])pb.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++)if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||z).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0;if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(vb(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,o=k-1,p=a[0],q=n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++)d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++)d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")));i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n("': +"");a._keyEvent=false;return H},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var k=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),j='
                                                                                                                  ',o="";if(h||!k)o+=''+i[b]+"";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='"}u||(j+=o+(h||!(k&&l)?" ":""));if(h||!l)j+=''+c+"";else{g=this._get(a,"yearRange").split(":");var r=(new Date).getFullYear();i=function(s){s=s.match(/c[+-].*/)?c+parseInt(s.substring(1),10):s.match(/[+-].*/)?r+parseInt(s,10):parseInt(s,10);return isNaN(s)?r:s};b=i(g[0]);g=Math.max(b, +i(g[1]||""));b=e?Math.max(b,e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(j+='"}j+=this._get(a,"yearSuffix");if(u)j+=(h||!(k&&l)?" ":"")+o;j+="
                                                                                                                  ";return j},_adjustInstDate:function(a,b,c){var e= +a.drawYear+(c=="Y"?b:0),f=a.drawMonth+(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&ba?a:b},_notifyChange:function(a){var b=this._get(a, +"onChangeMonthYear");if(b)b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a); +c=this._daylightSavingAdjust(new Date(c,e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a, +"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker= +function(a){if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b)); +return this.each(function(){typeof a=="string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new J;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.2";window["DP_jQuery_"+y]=d})(jQuery); +;/* + * jQuery UI Progressbar 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Progressbar + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(b){b.widget("ui.progressbar",{options:{value:0},_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this._valueMin(),"aria-valuemax":this._valueMax(),"aria-valuenow":this._value()});this.valueDiv=b("
                                                                                                                  ").appendTo(this.element);this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"); +this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===undefined)return this._value();this._setOption("value",a);return this},_setOption:function(a,c){switch(a){case "value":this.options.value=c;this._refreshValue();this._trigger("change");break}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;if(athis._valueMax())a=this._valueMax();return a}, +_valueMin:function(){return 0},_valueMax:function(){return 100},_refreshValue:function(){var a=this.value();this.valueDiv[a===this._valueMax()?"addClass":"removeClass"]("ui-corner-right").width(a+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.2"})})(jQuery); +;/* + * jQuery UI Effects 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/ + */ +jQuery.effects||function(f){function k(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1], +16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return l.transparent;return l[f.trim(c).toLowerCase()]}function q(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return k(b)}function m(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle, +a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\-(\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function n(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in r||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function s(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function j(c,a,b,d){if(typeof c=="object"){d= +a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(f.isFunction(b)){d=b;b=null}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:f.fx.speeds[b]||f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=q(b.elem,a);b.end=k(b.end);b.colorInit= +true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var l={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189, +183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255, +165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},o=["add","remove","toggle"],r={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b,d){if(f.isFunction(b)){d=b;b=null}return this.each(function(){var e=f(this),g=e.attr("style")||" ",h=n(m.call(this)),p,t=e.attr("className");f.each(o,function(u, +i){c[i]&&e[i+"Class"](c[i])});p=n(m.call(this));e.attr("className",t);e.animate(s(h,p),a,b,function(){f.each(o,function(u,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments)})})};f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a? +f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===undefined?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,a):f.effects.animateClass.apply(this,[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.2",save:function(c,a){for(var b=0;b").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0});c.wrap(b);b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(d,e){a[e]=c.css(e);if(isNaN(parseInt(a[e],10)))a[e]="auto"}); +c.css({position:"relative",top:0,left:0})}return b.css(a).show()},removeWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent().replaceWith(c);return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=j.apply(this,arguments);a={options:a[1],duration:a[2],callback:a[3]};var b=f.effects[c];return b&&!f.fx.off?b.call(this,a):this},_show:f.fn.show,show:function(c){if(!c|| +typeof c=="number"||f.fx.speeds[c])return this._show.apply(this,arguments);else{var a=j.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(!c||typeof c=="number"||f.fx.speeds[c])return this._hide.apply(this,arguments);else{var a=j.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(!c||typeof c=="number"||f.fx.speeds[c]||typeof c=="boolean"||f.isFunction(c))return this.__toggle.apply(this, +arguments);else{var a=j.apply(this,arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c, +a,b,d,e){if((a/=e/2)<1)return d/2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+ +b},easeInQuint:function(c,a,b,d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2, +10*(a/e-1))+b},easeOutExpo:function(c,a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)* +a)+1)+b},easeInElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+ +e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery); +;/* + * jQuery UI Effects Fold 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Fold + * + * Depends: + * jquery.effects.core.js + */ +(function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","left"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1],10)/100* +f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery); +;/* + * jQuery UI Effects Highlight 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Highlight + * + * Depends: + * jquery.effects.core.js + */ +(function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&& +this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery); +;/* + * jQuery UI Effects Pulsate 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Pulsate + * + * Depends: + * jquery.effects.core.js + */ +(function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments); +b.dequeue()})})}})(jQuery); +; diff --git a/apiDocumentation/js/jquery.cookie.js b/apiDocumentation/js/jquery.cookie.js new file mode 100644 index 0000000..c781228 --- /dev/null +++ b/apiDocumentation/js/jquery.cookie.js @@ -0,0 +1,104 @@ +/** + * Cookie plugin + * + * Copyright (c) 2006 Klaus Hartl (stilbuero.de) + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + */ + +/** + * Create a cookie with the given name and value and other optional parameters. + * + * @example $.cookie('the_cookie', 'the_value'); + * @desc Set the value of a cookie. + * @example $.cookie('the_cookie', 'the_value', {expires: 7, path: '/', domain: 'jquery.com', secure: true}); + * @desc Create a cookie with all available options. + * @example $.cookie('the_cookie', 'the_value'); + * @desc Create a session cookie. + * @example $.cookie('the_cookie', null); + * @desc Delete a cookie by passing null as value. + * + * @param String name The name of the cookie. + * @param String value The value of the cookie. + * @param Object options An object literal containing key/value pairs to provide optional cookie attributes. + * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object. + * If a negative value is specified (e.g. a date in the past), the cookie will be deleted. + * If set to null or omitted, the cookie will be a session cookie and will not be retained + * when the the browser exits. + * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie). + * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie). + * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will + * require a secure protocol (like HTTPS). + * @type undefined + * + * @name $.cookie + * @cat Plugins/Cookie + * @author Klaus Hartl/klaus.hartl@stilbuero.de + */ + +/** + * Get the value of a cookie with the given name. + * + * @example $.cookie('the_cookie'); + * @desc Get the value of a cookie. + * + * @param String name The name of the cookie. + * @return The value of the cookie. + * @type String + * + * @name $.cookie + * @cat Plugins/Cookie + * @author Klaus Hartl/klaus.hartl@stilbuero.de + */ +jQuery.cookie = function(name, value, options) +{ + if (typeof value != 'undefined') + { // name and value given, set cookie + options = options || {}; + if (value === null) + { + value = ''; + options.expires = -1; + } + var expires = ''; + if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) + { + var date; + if (typeof options.expires == 'number') + { + date = new Date(); + date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); + } + else + { + date = options.expires; + } + expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE + } + var path = options.path ? '; path=' + options.path : ''; + var domain = options.domain ? '; domain=' + options.domain : ''; + var secure = options.secure ? '; secure' : ''; + document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); + } + else + { // only name given, get cookie + var cookieValue = null; + if (document.cookie && document.cookie != '') + { + var cookies = document.cookie.split(';'); + for (var i = 0; i < cookies.length; i++) + { + var cookie = jQuery.trim(cookies[i]); + // Does this cookie string begin with the name we want? + if (cookie.substring(0, name.length + 1) == (name + '=')) + { + cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); + break; + } + } + } + return cookieValue; + } +}; diff --git a/apiDocumentation/js/jquery.dotdotdot-1.5.9.js b/apiDocumentation/js/jquery.dotdotdot-1.5.9.js new file mode 100644 index 0000000..7220bdb --- /dev/null +++ b/apiDocumentation/js/jquery.dotdotdot-1.5.9.js @@ -0,0 +1,602 @@ +/* + * jQuery dotdotdot 1.5.9 + * + * Copyright (c) 2013 Fred Heusschen + * www.frebsite.nl + * + * Plugin website: + * dotdotdot.frebsite.nl + * + * Dual licensed under the MIT and GPL licenses. + * http://en.wikipedia.org/wiki/MIT_License + * http://en.wikipedia.org/wiki/GNU_General_Public_License + */ + +(function( $ ) +{ + if ( $.fn.dotdotdot ) + { + return; + } + + $.fn.dotdotdot = function( o ) + { + if ( this.length == 0 ) + { + if ( !o || o.debug !== false ) + { + debug( true, 'No element found for "' + this.selector + '".' ); + } + return this; + } + if ( this.length > 1 ) + { + return this.each( + function() + { + $(this).dotdotdot( o ); + } + ); + } + + + var $dot = this; + + if ( $dot.data( 'dotdotdot' ) ) + { + $dot.trigger( 'destroy.dot' ); + } + + $dot.data( 'dotdotdot-style', $dot.attr( 'style' ) ); + $dot.css( 'word-wrap', 'break-word' ); + + $dot.bind_events = function() + { + $dot.bind( + 'update.dot', + function( e, c ) + { + e.preventDefault(); + e.stopPropagation(); + + opts.maxHeight = ( typeof opts.height == 'number' ) + ? opts.height + : getTrueInnerHeight( $dot ); + + opts.maxHeight += opts.tolerance; + + if ( typeof c != 'undefined' ) + { + if ( typeof c == 'string' || c instanceof HTMLElement ) + { + c = $('
                                                                                                                  ').append( c ).contents(); + } + if ( c instanceof $ ) + { + orgContent = c; + } + } + + $inr = $dot.wrapInner( '
                                                                                                                  ' ).children(); + $inr.empty() + .append( orgContent.clone( true ) ) + .css({ + 'height' : 'auto', + 'width' : 'auto', + 'border' : 'none', + 'padding' : 0, + 'margin' : 0 + }); + + var after = false, + trunc = false; + + if ( conf.afterElement ) + { + after = conf.afterElement.clone( true ); + conf.afterElement.remove(); + } + if ( test( $inr, opts ) ) + { + if ( opts.wrap == 'children' ) + { + trunc = children( $inr, opts, after ); + } + else + { + trunc = ellipsis( $inr, $dot, $inr, opts, after ); + } + } + $inr.replaceWith( $inr.contents() ); + $inr = null; + + if ( $.isFunction( opts.callback ) ) + { + opts.callback.call( $dot[ 0 ], trunc, orgContent ); + } + + conf.isTruncated = trunc; + return trunc; + } + + ).bind( + 'isTruncated.dot', + function( e, fn ) + { + e.preventDefault(); + e.stopPropagation(); + + if ( typeof fn == 'function' ) + { + fn.call( $dot[ 0 ], conf.isTruncated ); + } + return conf.isTruncated; + } + + ).bind( + 'originalContent.dot', + function( e, fn ) + { + e.preventDefault(); + e.stopPropagation(); + + if ( typeof fn == 'function' ) + { + fn.call( $dot[ 0 ], orgContent ); + } + return orgContent; + } + + ).bind( + 'destroy.dot', + function( e ) + { + e.preventDefault(); + e.stopPropagation(); + + $dot.unwatch() + .unbind_events() + .empty() + .append( orgContent ) + .attr( 'style', $dot.data( 'dotdotdot-style' ) ) + .data( 'dotdotdot', false ); + } + ); + return $dot; + }; // /bind_events + + $dot.unbind_events = function() + { + $dot.unbind('.dot'); + return $dot; + }; // /unbind_events + + $dot.watch = function() + { + $dot.unwatch(); + if ( opts.watch == 'window' ) + { + var $window = $(window), + _wWidth = $window.width(), + _wHeight = $window.height(); + + $window.bind( + 'resize.dot' + conf.dotId, + function() + { + if ( _wWidth != $window.width() || _wHeight != $window.height() || !opts.windowResizeFix ) + { + _wWidth = $window.width(); + _wHeight = $window.height(); + + if ( watchInt ) + { + clearInterval( watchInt ); + } + watchInt = setTimeout( + function() + { + $dot.trigger( 'update.dot' ); + }, 10 + ); + } + } + ); + } + else + { + watchOrg = getSizes( $dot ); + watchInt = setInterval( + function() + { + var watchNew = getSizes( $dot ); + if ( watchOrg.width != watchNew.width || + watchOrg.height != watchNew.height ) + { + $dot.trigger( 'update.dot' ); + watchOrg = getSizes( $dot ); + } + }, 100 + ); + } + return $dot; + }; + $dot.unwatch = function() + { + $(window).unbind( 'resize.dot' + conf.dotId ); + if ( watchInt ) + { + clearInterval( watchInt ); + } + return $dot; + }; + + var orgContent = $dot.contents(), + opts = $.extend( true, {}, $.fn.dotdotdot.defaults, o ), + conf = {}, + watchOrg = {}, + watchInt = null, + $inr = null; + + conf.afterElement = getElement( opts.after, $dot ); + conf.isTruncated = false; + conf.dotId = dotId++; + + + $dot.data( 'dotdotdot', true ) + .bind_events() + .trigger( 'update.dot' ); + + if ( opts.watch ) + { + $dot.watch(); + } + + return $dot; + }; + + + // public + $.fn.dotdotdot.defaults = { + 'ellipsis' : '... ', + 'wrap' : 'word', + 'lastCharacter': { + 'remove' : [ ' ', ',', ';', '.', '!', '?' ], + 'noEllipsis' : [] + }, + 'tolerance' : 0, + 'callback' : null, + 'after' : null, + 'height' : null, + 'watch' : false, + 'windowResizeFix': true, + 'debug' : false + }; + + + // private + var dotId = 1; + + function children( $elem, o, after ) + { + var $elements = $elem.children(), + isTruncated = false; + + $elem.empty(); + + for ( var a = 0, l = $elements.length; a < l; a++ ) + { + var $e = $elements.eq( a ); + $elem.append( $e ); + if ( after ) + { + $elem.append( after ); + } + if ( test( $elem, o ) ) + { + $e.remove(); + isTruncated = true; + break; + } + else + { + if ( after ) + { + after.remove(); + } + } + } + return isTruncated; + } + function ellipsis( $elem, $d, $i, o, after ) + { + var $elements = $elem.contents(), + isTruncated = false; + + $elem.empty(); + + var notx = 'table, thead, tbody, tfoot, tr, col, colgroup, object, embed, param, ol, ul, dl, select, optgroup, option, textarea, script, style'; + for ( var a = 0, l = $elements.length; a < l; a++ ) + { + + if ( isTruncated ) + { + break; + } + + var e = $elements[ a ], + $e = $(e); + + if ( typeof e == 'undefined' ) + { + continue; + } + + $elem.append( $e ); + if ( after ) + { + $elem[ ( $elem.is( notx ) ) ? 'after' : 'append' ]( after ); + } + if ( e.nodeType == 3 ) + { + if ( test( $i, o ) ) + { + isTruncated = ellipsisElement( $e, $d, $i, o, after ); + } + } + else + { + isTruncated = ellipsis( $e, $d, $i, o, after ); + } + + if ( !isTruncated ) + { + if ( after ) + { + after.remove(); + } + } + } + return isTruncated; + } + function ellipsisElement( $e, $d, $i, o, after ) + { + var isTruncated = false, + e = $e[ 0 ]; + + if ( typeof e == 'undefined' ) + { + return false; + } + + var seporator = ( o.wrap == 'letter' ) ? '' : ' ', + textArr = getTextContent( e ).split( seporator ), + position = -1, + midPos = -1, + startPos = 0, + endPos = textArr.length - 1; + + while ( startPos <= endPos ) + { + var m = Math.floor( ( startPos + endPos ) / 2 ); + if ( m == midPos ) + { + break; + } + midPos = m; + + setTextContent( e, textArr.slice( 0, midPos + 1 ).join( seporator ) + o.ellipsis ); + + if ( !test( $i, o ) ) + { + position = midPos; + startPos = midPos; + } + else + { + endPos = midPos; + } + } + + if ( position != -1 && !( textArr.length == 1 && textArr[ 0 ].length == 0 ) ) + { + var txt = addEllipsis( textArr.slice( 0, position + 1 ).join( seporator ), o ); + isTruncated = true; + setTextContent( e, txt ); + } + else + { + var $w = $e.parent(); + $e.remove(); + + var afterLength = ( after ) ? after.length : 0 ; + + if ( $w.contents().size() > afterLength ) + { + var $n = $w.contents().eq( -1 - afterLength ); + isTruncated = ellipsisElement( $n, $d, $i, o, after ); + } + else + { + var $p = $w.prev() + var e = $p.contents().eq( -1 )[ 0 ]; + + if ( typeof e != 'undefined' ) + { + var txt = addEllipsis( getTextContent( e ), o ); + setTextContent( e, txt ); + if ( after ) + { + $p.append( after ); + } + $w.remove(); + isTruncated = true; + } + + } + } + + return isTruncated; + } + function test( $i, o ) + { + return $i.innerHeight() > o.maxHeight; + } + function addEllipsis( txt, o ) + { + while( $.inArray( txt.slice( -1 ), o.lastCharacter.remove ) > -1 ) + { + txt = txt.slice( 0, -1 ); + } + if ( $.inArray( txt.slice( -1 ), o.lastCharacter.noEllipsis ) < 0 ) + { + txt += o.ellipsis; + } + return txt; + } + function getSizes( $d ) + { + return { + 'width' : $d.innerWidth(), + 'height': $d.innerHeight() + }; + } + function setTextContent( e, content ) + { + if ( e.innerText ) + { + e.innerText = content; + } + else if ( e.nodeValue ) + { + e.nodeValue = content; + } + else if (e.textContent) + { + e.textContent = content; + } + + } + function getTextContent( e ) + { + if ( e.innerText ) + { + return e.innerText; + } + else if ( e.nodeValue ) + { + return e.nodeValue; + } + else if ( e.textContent ) + { + return e.textContent; + } + else + { + return ""; + } + } + function getElement( e, $i ) + { + if ( typeof e == 'undefined' ) + { + return false; + } + if ( !e ) + { + return false; + } + if ( typeof e == 'string' ) + { + e = $(e, $i); + return ( e.length ) + ? e + : false; + } + if ( typeof e == 'object' ) + { + return ( typeof e.jquery == 'undefined' ) + ? false + : e; + } + return false; + } + function getTrueInnerHeight( $el ) + { + var h = $el.innerHeight(), + a = [ 'paddingTop', 'paddingBottom' ]; + + for ( var z = 0, l = a.length; z < l; z++ ) { + var m = parseInt( $el.css( a[ z ] ), 10 ); + if ( isNaN( m ) ) + { + m = 0; + } + h -= m; + } + return h; + } + function debug( d, m ) + { + if ( !d ) + { + return false; + } + if ( typeof m == 'string' ) + { + m = 'dotdotdot: ' + m; + } + else + { + m = [ 'dotdotdot:', m ]; + } + + if ( typeof window.console != 'undefined' ) + { + if ( typeof window.console.log != 'undefined' ) + { + window.console.log( m ); + } + } + return false; + } + + + // override jQuery.html + var _orgHtml = $.fn.html; + $.fn.html = function( str ) { + if ( typeof str != 'undefined' ) + { + if ( this.data( 'dotdotdot' ) ) + { + if ( typeof str != 'function' ) + { + return this.trigger( 'update', [ str ] ); + } + } + return _orgHtml.call( this, str ); + } + return _orgHtml.call( this ); + }; + + + // override jQuery.text + var _orgText = $.fn.text; + $.fn.text = function( str ) { + if ( typeof str != 'undefined' ) + { + if ( this.data( 'dotdotdot' ) ) + { + var temp = $( '
                                                                                                                  ' ); + temp.text( str ); + str = temp.html(); + temp.remove(); + return this.trigger( 'update', [ str ] ); + } + return _orgText.call( this, str ); + } + return _orgText.call( this ); + }; + + +})( jQuery ); diff --git a/apiDocumentation/js/jquery.dotdotdot-1.5.9.min.js b/apiDocumentation/js/jquery.dotdotdot-1.5.9.min.js new file mode 100644 index 0000000..8147b06 --- /dev/null +++ b/apiDocumentation/js/jquery.dotdotdot-1.5.9.min.js @@ -0,0 +1,15 @@ +/* + * jQuery dotdotdot 1.5.9 + * + * Copyright (c) 2013 Fred Heusschen + * www.frebsite.nl + * + * Plugin website: + * dotdotdot.frebsite.nl + * + * Dual licensed under the MIT and GPL licenses. + * http://en.wikipedia.org/wiki/MIT_License + * http://en.wikipedia.org/wiki/GNU_General_Public_License + */ + +(function(a){function c(a,b,c){var d=a.children(),e=!1;a.empty();for(var g=0,h=d.length;h>g;g++){var i=d.eq(g);if(a.append(i),c&&a.append(c),f(a,b)){i.remove(),e=!0;break}c&&c.remove()}return e}function d(b,c,g,h,i){var j=b.contents(),k=!1;b.empty();for(var l="table, thead, tbody, tfoot, tr, col, colgroup, object, embed, param, ol, ul, dl, select, optgroup, option, textarea, script, style",m=0,n=j.length;n>m&&!k;m++){var o=j[m],p=a(o);void 0!==o&&(b.append(p),i&&b[b.is(l)?"after":"append"](i),3==o.nodeType?f(g,h)&&(k=e(p,c,g,h,i)):k=d(p,c,g,h,i),k||i&&i.remove())}return k}function e(a,b,c,d,h){var k=!1,l=a[0];if(l===void 0)return!1;for(var m="letter"==d.wrap?"":" ",n=j(l).split(m),o=-1,p=-1,q=0,r=n.length-1;r>=q;){var s=Math.floor((q+r)/2);if(s==p)break;p=s,i(l,n.slice(0,p+1).join(m)+d.ellipsis),f(c,d)?r=p:(o=p,q=p)}if(-1==o||1==n.length&&0==n[0].length){var u=a.parent();a.remove();var v=h?h.length:0;if(u.contents().size()>v){var w=u.contents().eq(-1-v);k=e(w,b,c,d,h)}else{var x=u.prev(),l=x.contents().eq(-1)[0];if(l!==void 0){var t=g(j(l),d);i(l,t),h&&x.append(h),u.remove(),k=!0}}}else{var t=g(n.slice(0,o+1).join(m),d);k=!0,i(l,t)}return k}function f(a,b){return a.innerHeight()>b.maxHeight}function g(b,c){for(;a.inArray(b.slice(-1),c.lastCharacter.remove)>-1;)b=b.slice(0,-1);return 0>a.inArray(b.slice(-1),c.lastCharacter.noEllipsis)&&(b+=c.ellipsis),b}function h(a){return{width:a.innerWidth(),height:a.innerHeight()}}function i(a,b){a.innerText?a.innerText=b:a.nodeValue?a.nodeValue=b:a.textContent&&(a.textContent=b)}function j(a){return a.innerText?a.innerText:a.nodeValue?a.nodeValue:a.textContent?a.textContent:""}function k(b,c){return b===void 0?!1:b?"string"==typeof b?(b=a(b,c),b.length?b:!1):"object"==typeof b?b.jquery===void 0?!1:b:!1:!1}function l(a){for(var b=a.innerHeight(),c=["paddingTop","paddingBottom"],d=0,e=c.length;e>d;d++){var f=parseInt(a.css(c[d]),10);isNaN(f)&&(f=0),b-=f}return b}function m(a,b){return a?(b="string"==typeof b?"dotdotdot: "+b:["dotdotdot:",b],window.console!==void 0&&window.console.log!==void 0&&window.console.log(b),!1):!1}if(!a.fn.dotdotdot){a.fn.dotdotdot=function(e){if(0==this.length)return e&&e.debug===!1||m(!0,'No element found for "'+this.selector+'".'),this;if(this.length>1)return this.each(function(){a(this).dotdotdot(e)});var g=this;g.data("dotdotdot")&&g.trigger("destroy.dot"),g.data("dotdotdot-style",g.attr("style")),g.css("word-wrap","break-word"),g.bind_events=function(){return g.bind("update.dot",function(b,e){b.preventDefault(),b.stopPropagation(),j.maxHeight="number"==typeof j.height?j.height:l(g),j.maxHeight+=j.tolerance,e!==void 0&&(("string"==typeof e||e instanceof HTMLElement)&&(e=a("
                                                                                                                  ").append(e).contents()),e instanceof a&&(i=e)),q=g.wrapInner('
                                                                                                                  ').children(),q.empty().append(i.clone(!0)).css({height:"auto",width:"auto",border:"none",padding:0,margin:0});var h=!1,k=!1;return n.afterElement&&(h=n.afterElement.clone(!0),n.afterElement.remove()),f(q,j)&&(k="children"==j.wrap?c(q,j,h):d(q,g,q,j,h)),q.replaceWith(q.contents()),q=null,a.isFunction(j.callback)&&j.callback.call(g[0],k,i),n.isTruncated=k,k}).bind("isTruncated.dot",function(a,b){return a.preventDefault(),a.stopPropagation(),"function"==typeof b&&b.call(g[0],n.isTruncated),n.isTruncated}).bind("originalContent.dot",function(a,b){return a.preventDefault(),a.stopPropagation(),"function"==typeof b&&b.call(g[0],i),i}).bind("destroy.dot",function(a){a.preventDefault(),a.stopPropagation(),g.unwatch().unbind_events().empty().append(i).attr("style",g.data("dotdotdot-style")).data("dotdotdot",!1)}),g},g.unbind_events=function(){return g.unbind(".dot"),g},g.watch=function(){if(g.unwatch(),"window"==j.watch){var b=a(window),c=b.width(),d=b.height();b.bind("resize.dot"+n.dotId,function(){c==b.width()&&d==b.height()&&j.windowResizeFix||(c=b.width(),d=b.height(),p&&clearInterval(p),p=setTimeout(function(){g.trigger("update.dot")},10))})}else o=h(g),p=setInterval(function(){var a=h(g);(o.width!=a.width||o.height!=a.height)&&(g.trigger("update.dot"),o=h(g))},100);return g},g.unwatch=function(){return a(window).unbind("resize.dot"+n.dotId),p&&clearInterval(p),g};var i=g.contents(),j=a.extend(!0,{},a.fn.dotdotdot.defaults,e),n={},o={},p=null,q=null;return n.afterElement=k(j.after,g),n.isTruncated=!1,n.dotId=b++,g.data("dotdotdot",!0).bind_events().trigger("update.dot"),j.watch&&g.watch(),g},a.fn.dotdotdot.defaults={ellipsis:"... ",wrap:"word",lastCharacter:{remove:[" ",",",";",".","!","?"],noEllipsis:[]},tolerance:0,callback:null,after:null,height:null,watch:!1,windowResizeFix:!0,debug:!1};var b=1,n=a.fn.html;a.fn.html=function(a){return a!==void 0?this.data("dotdotdot")&&"function"!=typeof a?this.trigger("update",[a]):n.call(this,a):n.call(this)};var o=a.fn.text;a.fn.text=function(b){if(b!==void 0){if(this.data("dotdotdot")){var c=a("
                                                                                                                  ");return c.text(b),b=c.html(),c.remove(),this.trigger("update",[b])}return o.call(this,b)}return o.call(this)}}})(jQuery); \ No newline at end of file diff --git a/apiDocumentation/js/jquery.iviewer.js b/apiDocumentation/js/jquery.iviewer.js new file mode 100644 index 0000000..ae08665 --- /dev/null +++ b/apiDocumentation/js/jquery.iviewer.js @@ -0,0 +1,1169 @@ +/* + * iviewer Widget for jQuery UI + * https://github.com/can3p/iviewer + * + * Copyright (c) 2009 - 2012 Dmitry Petrov + * Dual licensed under the MIT and GPL licenses. + * - http://www.opensource.org/licenses/mit-license.php + * - http://www.gnu.org/copyleft/gpl.html + * + * Author: Dmitry Petrov + * Version: 0.7.7 + */ + +( function( $, undefined ) { + +//this code was taken from the https://github.com/furf/jquery-ui-touch-punch +var mouseEvents = { + touchstart: 'mousedown', + touchmove: 'mousemove', + touchend: 'mouseup' + }, + gesturesSupport = 'ongesturestart' in document.createElement('div'); + + +/** + * Convert a touch event to a mouse-like + */ +function makeMouseEvent (event) { + var touch = event.originalEvent.changedTouches[0]; + + return $.extend(event, { + type: mouseEvents[event.type], + which: 1, + pageX: touch.pageX, + pageY: touch.pageY, + screenX: touch.screenX, + screenY: touch.screenY, + clientX: touch.clientX, + clientY: touch.clientY, + isTouchEvent: true + }); +} + +var mouseProto = $.ui.mouse.prototype, + _mouseInit = $.ui.mouse.prototype._mouseInit; + +mouseProto._mouseInit = function() { + var self = this; + self._touchActive = false; + + this.element.bind( 'touchstart.' + this.widgetName, function(event) { + if (gesturesSupport && event.originalEvent.touches.length > 1) { return; } + self._touchActive = true; + return self._mouseDown(makeMouseEvent(event)); + }) + + var self = this; + // these delegates are required to keep context + this._mouseMoveDelegate = function(event) { + if (gesturesSupport && event.originalEvent.touches && event.originalEvent.touches.length > 1) { return; } + if (self._touchActive) { + return self._mouseMove(makeMouseEvent(event)); + } + }; + this._mouseUpDelegate = function(event) { + if (self._touchActive) { + self._touchActive = false; + return self._mouseUp(makeMouseEvent(event)); + } + }; + + $(document) + .bind('touchmove.'+ this.widgetName, this._mouseMoveDelegate) + .bind('touchend.' + this.widgetName, this._mouseUpDelegate); + + _mouseInit.apply(this); +} + +/** + * Simple implementation of jQuery like getters/setters + * var val = something(); + * something(val); + */ +var setter = function(setter, getter) { + return function(val) { + if (arguments.length === 0) { + return getter.apply(this); + } else { + setter.apply(this, arguments); + } + } +}; + +/** + * Internet explorer rotates image relative left top corner, so we should + * shift image when it's rotated. + */ +var ieTransforms = { + '0': { + marginLeft: 0, + marginTop: 0, + filter: 'progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M21=0, M22=1, SizingMethod="auto expand")' + }, + + '90': { + marginLeft: -1, + marginTop: 1, + filter: 'progid:DXImageTransform.Microsoft.Matrix(M11=0, M12=-1, M21=1, M22=0, SizingMethod="auto expand")' + }, + + '180': { + marginLeft: 0, + marginTop: 0, + filter: 'progid:DXImageTransform.Microsoft.Matrix(M11=-1, M12=0, M21=0, M22=-1, SizingMethod="auto expand")' + }, + + '270': { + marginLeft: -1, + marginTop: 1, + filter: 'progid:DXImageTransform.Microsoft.Matrix(M11=0, M12=1, M21=-1, M22=0, SizingMethod="auto expand")' + } + }, + // this test is the inversion of the css filters test from the modernizr project + useIeTransforms = function() { + var modElem = document.createElement('modernizr'), + mStyle = modElem.style, + omPrefixes = 'Webkit Moz O ms', + domPrefixes = omPrefixes.toLowerCase().split(' '), + props = ("transform" + ' ' + domPrefixes.join("Transform ") + "Transform").split(' '); + for ( var i in props ) { + var prop = props[i]; + if ( !$.contains(prop, "-") && mStyle[prop] !== undefined ) { + return false; + } + } + return true; + }(); + +$.widget( "ui.iviewer", $.ui.mouse, { + widgetEventPrefix: "iviewer", + options : { + /** + * start zoom value for image, not used now + * may be equal to "fit" to fit image into container or scale in % + **/ + zoom: "fit", + /** + * base value to scale image + **/ + zoom_base: 100, + /** + * maximum zoom + **/ + zoom_max: 800, + /** + * minimum zoom + **/ + zoom_min: 25, + /** + * base of rate multiplier. + * zoom is calculated by formula: zoom_base * zoom_delta^rate + **/ + zoom_delta: 1.4, + /** + * whether the zoom should be animated. + */ + zoom_animation: true, + /** + * if true plugin doesn't add its own controls + **/ + ui_disabled: false, + /** + * If false mousewheel will be disabled + */ + mousewheel: true, + /** + * if false, plugin doesn't bind resize event on window and this must + * be handled manually + **/ + update_on_resize: true, + /** + * event is triggered when zoom value is changed + * @param int new zoom value + * @return boolean if false zoom action is aborted + **/ + onZoom: jQuery.noop, + /** + * event is triggered when zoom value is changed after image is set to the new dimensions + * @param int new zoom value + * @return boolean if false zoom action is aborted + **/ + onAfterZoom: jQuery.noop, + /** + * event is fired on drag begin + * @param object coords mouse coordinates on the image + * @return boolean if false is returned, drag action is aborted + **/ + onStartDrag: jQuery.noop, + /** + * event is fired on drag action + * @param object coords mouse coordinates on the image + **/ + onDrag: jQuery.noop, + /** + * event is fired on drag stop + * @param object coords mouse coordinates on the image + **/ + onStopDrag: jQuery.noop, + /** + * event is fired when mouse moves over image + * @param object coords mouse coordinates on the image + **/ + onMouseMove: jQuery.noop, + /** + * mouse click event + * @param object coords mouse coordinates on the image + **/ + onClick: jQuery.noop, + /** + * event is fired when image starts to load + */ + onStartLoad: null, + /** + * event is fired, when image is loaded and initially positioned + */ + onFinishLoad: null, + /** + * event is fired when image load error occurs + */ + onErrorLoad: null + }, + + _create: function() { + var me = this; + + //drag variables + this.dx = 0; + this.dy = 0; + + /* object containing actual information about image + * @img_object.object - jquery img object + * @img_object.orig_{width|height} - original dimensions + * @img_object.display_{width|height} - actual dimensions + */ + this.img_object = {}; + + this.zoom_object = {}; //object to show zoom status + + this._angle = 0; + + this.current_zoom = this.options.zoom; + + if(this.options.src === null){ + return; + } + + this.container = this.element; + + this._updateContainerInfo(); + + //init container + this.container.css("overflow","hidden"); + + if (this.options.update_on_resize == true) { + $(window).resize(function() { + me.update(); + }); + } + + this.img_object = new $.ui.iviewer.ImageObject(this.options.zoom_animation); + + if (this.options.mousewheel) { + this.container.bind('mousewheel.iviewer', function(ev, delta) + { + //this event is there instead of containing div, because + //at opera it triggers many times on div + var zoom = (delta > 0)?1:-1, + container_offset = me.container.offset(), + mouse_pos = { + //jquery.mousewheel 3.1.0 uses strange MozMousePixelScroll event + //which is not being fixed by jQuery.Event + x: (ev.pageX || ev.originalEvent.pageX) - container_offset.left, + y: (ev.pageY || ev.originalEvent.pageX) - container_offset.top + }; + + me.zoom_by(zoom, mouse_pos); + return false; + }); + + if (gesturesSupport) { + var gestureThrottle = +new Date(); + var originalScale, originalCenter; + this.img_object.object() + // .bind('gesturestart', function(ev) { + .bind('touchstart', function(ev) { + originalScale = me.current_zoom; + var touches = ev.originalEvent.touches, + container_offset; + if (touches.length == 2) { + container_offset = me.container.offset(); + originalCenter = { + x: (touches[0].pageX + touches[1].pageX) / 2 - container_offset.left, + y: (touches[0].pageY + touches[1].pageY) / 2 - container_offset.top + }; + } else { + originalCenter = null; + } + }).bind('gesturechange', function(ev) { + //do not want to import throttle function from underscore + var d = +new Date(); + if ((d - gestureThrottle) < 50) { return; } + gestureThrottle = d; + var zoom = originalScale * ev.originalEvent.scale; + me.set_zoom(zoom, originalCenter); + ev.preventDefault(); + }).bind('gestureend', function(ev) { + originalCenter = null; + }); + } + } + + //init object + this.img_object.object() + //bind mouse events + .click(function(e){return me._click(e)}) + .prependTo(this.container); + + this.container.bind('mousemove', function(ev) { me._handleMouseMove(ev); }); + + this.loadImage(this.options.src); + + if(!this.options.ui_disabled) + { + this.createui(); + } + + this._mouseInit(); + }, + + destroy: function() { + $.Widget.prototype.destroy.call( this ); + this._mouseDestroy(); + this.img_object.object().remove(); + this.container.off('.iviewer'); + this.container.css('overflow', ''); //cleanup styles on destroy + }, + + _updateContainerInfo: function() + { + this.options.height = this.container.height(); + this.options.width = this.container.width(); + }, + + update: function() + { + this._updateContainerInfo() + this.setCoords(this.img_object.x(), this.img_object.y()); + }, + + loadImage: function( src ) + { + this.current_zoom = this.options.zoom; + var me = this; + + this._trigger('onStartLoad', 0, src); + + this.container.addClass("iviewer_loading"); + this.img_object.load(src, function() { + me._imageLoaded(src); + }, function() { + me._trigger("onErrorLoad", 0, src); + }); + }, + + _imageLoaded: function(src) { + this.container.removeClass("iviewer_loading"); + this.container.addClass("iviewer_cursor"); + + if(this.options.zoom == "fit"){ + this.fit(true); + } + else { + this.set_zoom(this.options.zoom, true); + } + + this._trigger('onFinishLoad', 0, src); + }, + + /** + * fits image in the container + * + * @param {boolean} skip_animation + **/ + fit: function(skip_animation) + { + var aspect_ratio = this.img_object.orig_width() / this.img_object.orig_height(); + var window_ratio = this.options.width / this.options.height; + var choose_left = (aspect_ratio > window_ratio); + var new_zoom = 0; + + if(choose_left){ + new_zoom = this.options.width / this.img_object.orig_width() * 100; + } + else { + new_zoom = this.options.height / this.img_object.orig_height() * 100; + } + + this.set_zoom(new_zoom, skip_animation); + }, + + /** + * center image in container + **/ + center: function() + { + this.setCoords(-Math.round((this.img_object.display_width() - this.options.width)/2), + -Math.round((this.img_object.display_height() - this.options.height)/2)); + }, + + /** + * move a point in container to the center of display area + * @param x a point in container + * @param y a point in container + **/ + moveTo: function(x, y) + { + var dx = x-Math.round(this.options.width/2); + var dy = y-Math.round(this.options.height/2); + + var new_x = this.img_object.x() - dx; + var new_y = this.img_object.y() - dy; + + this.setCoords(new_x, new_y); + }, + + /** + * Get container offset object. + */ + getContainerOffset: function() { + return jQuery.extend({}, this.container.offset()); + }, + + /** + * set coordinates of upper left corner of image object + **/ + setCoords: function(x,y) + { + //do nothing while image is being loaded + if(!this.img_object.loaded()) { return; } + + var coords = this._correctCoords(x,y); + this.img_object.x(coords.x); + this.img_object.y(coords.y); + }, + + _correctCoords: function( x, y ) + { + x = parseInt(x, 10); + y = parseInt(y, 10); + + //check new coordinates to be correct (to be in rect) + if(y > 0){ + y = 0; + } + if(x > 0){ + x = 0; + } + if(y + this.img_object.display_height() < this.options.height){ + y = this.options.height - this.img_object.display_height(); + } + if(x + this.img_object.display_width() < this.options.width){ + x = this.options.width - this.img_object.display_width(); + } + if(this.img_object.display_width() <= this.options.width){ + x = -(this.img_object.display_width() - this.options.width)/2; + } + if(this.img_object.display_height() <= this.options.height){ + y = -(this.img_object.display_height() - this.options.height)/2; + } + + return { x: x, y:y }; + }, + + + /** + * convert coordinates on the container to the coordinates on the image (in original size) + * + * @return object with fields x,y according to coordinates or false + * if initial coords are not inside image + **/ + containerToImage : function (x,y) + { + var coords = { x : x - this.img_object.x(), + y : y - this.img_object.y() + }; + + coords = this.img_object.toOriginalCoords(coords); + + return { x : util.descaleValue(coords.x, this.current_zoom), + y : util.descaleValue(coords.y, this.current_zoom) + }; + }, + + /** + * convert coordinates on the image (in original size, and zero angle) to the coordinates on the container + * + * @return object with fields x,y according to coordinates + **/ + imageToContainer : function (x,y) + { + var coords = { + x : util.scaleValue(x, this.current_zoom), + y : util.scaleValue(y, this.current_zoom) + }; + + return this.img_object.toRealCoords(coords); + }, + + /** + * get mouse coordinates on the image + * @param e - object containing pageX and pageY fields, e.g. mouse event object + * + * @return object with fields x,y according to coordinates or false + * if initial coords are not inside image + **/ + _getMouseCoords : function(e) + { + var containerOffset = this.container.offset(); + coords = this.containerToImage(e.pageX - containerOffset.left, e.pageY - containerOffset.top); + + return coords; + }, + + /** + * set image scale to the new_zoom + * + * @param {number} new_zoom image scale in % + * @param {boolean} skip_animation + * @param {x: number, y: number} Coordinates of point the should not be moved on zoom. The default is the center of image. + **/ + set_zoom: function(new_zoom, skip_animation, zoom_center) + { + if (this._trigger('onZoom', 0, new_zoom) == false) { + return; + } + + //do nothing while image is being loaded + if(!this.img_object.loaded()) { return; } + + zoom_center = zoom_center || { + x: Math.round(this.options.width/2), + y: Math.round(this.options.height/2) + } + + if(new_zoom < this.options.zoom_min) + { + new_zoom = this.options.zoom_min; + } + else if(new_zoom > this.options.zoom_max) + { + new_zoom = this.options.zoom_max; + } + + /* we fake these values to make fit zoom properly work */ + if(this.current_zoom == "fit") + { + var old_x = zoom_center.x + Math.round(this.img_object.orig_width()/2); + var old_y = zoom_center.y + Math.round(this.img_object.orig_height()/2); + this.current_zoom = 100; + } + else { + var old_x = -this.img_object.x() + zoom_center.x; + var old_y = -this.img_object.y() + zoom_center.y + } + + var new_width = util.scaleValue(this.img_object.orig_width(), new_zoom); + var new_height = util.scaleValue(this.img_object.orig_height(), new_zoom); + var new_x = util.scaleValue( util.descaleValue(old_x, this.current_zoom), new_zoom); + var new_y = util.scaleValue( util.descaleValue(old_y, this.current_zoom), new_zoom); + + new_x = zoom_center.x - new_x; + new_y = zoom_center.y - new_y; + + new_width = Math.floor(new_width); + new_height = Math.floor(new_height); + new_x = Math.floor(new_x); + new_y = Math.floor(new_y); + + this.img_object.display_width(new_width); + this.img_object.display_height(new_height); + + var coords = this._correctCoords( new_x, new_y ), + self = this; + + this.img_object.setImageProps(new_width, new_height, coords.x, coords.y, + skip_animation, function() { + self._trigger('onAfterZoom', 0, new_zoom ); + }); + this.current_zoom = new_zoom; + + this.update_status(); + }, + + /** + * changes zoom scale by delta + * zoom is calculated by formula: zoom_base * zoom_delta^rate + * @param Integer delta number to add to the current multiplier rate number + * @param {x: number, y: number=} Coordinates of point the should not be moved on zoom. + **/ + zoom_by: function(delta, zoom_center) + { + var closest_rate = this.find_closest_zoom_rate(this.current_zoom); + + var next_rate = closest_rate + delta; + var next_zoom = this.options.zoom_base * Math.pow(this.options.zoom_delta, next_rate) + if(delta > 0 && next_zoom < this.current_zoom) + { + next_zoom *= this.options.zoom_delta; + } + + if(delta < 0 && next_zoom > this.current_zoom) + { + next_zoom /= this.options.zoom_delta; + } + + this.set_zoom(next_zoom, undefined, zoom_center); + }, + + /** + * Rotate image + * @param {num} deg Degrees amount to rotate. Positive values rotate image clockwise. + * Currently 0, 90, 180, 270 and -90, -180, -270 values are supported + * + * @param {boolean} abs If the flag is true if, the deg parameter will be considered as + * a absolute value and relative otherwise. + * @return {num|null} Method will return current image angle if called without any arguments. + **/ + angle: function(deg, abs) { + if (arguments.length === 0) { return this.img_object.angle(); } + + if (deg < -270 || deg > 270 || deg % 90 !== 0) { return; } + if (!abs) { deg += this.img_object.angle(); } + if (deg < 0) { deg += 360; } + if (deg >= 360) { deg -= 360; } + + if (deg === this.img_object.angle()) { return; } + + this.img_object.angle(deg); + //the rotate behavior is different in all editors. For now we just center the + //image. However, it will be better to try to keep the position. + this.center(); + this._trigger('angle', 0, { angle: this.img_object.angle() }); + }, + + /** + * finds closest multiplier rate for value + * basing on zoom_base and zoom_delta values from settings + * @param Number value zoom value to examine + **/ + find_closest_zoom_rate: function(value) + { + if(value == this.options.zoom_base) + { + return 0; + } + + function div(val1,val2) { return val1 / val2 }; + function mul(val1,val2) { return val1 * val2 }; + + var func = (value > this.options.zoom_base)?mul:div; + var sgn = (value > this.options.zoom_base)?1:-1; + + var mltplr = this.options.zoom_delta; + var rate = 1; + + while(Math.abs(func(this.options.zoom_base, Math.pow(mltplr,rate)) - value) > + Math.abs(func(this.options.zoom_base, Math.pow(mltplr,rate+1)) - value)) + { + rate++; + } + + return sgn * rate; + }, + + /* update scale info in the container */ + update_status: function() + { + if(!this.options.ui_disabled) + { + var percent = Math.round(100*this.img_object.display_height()/this.img_object.orig_height()); + if(percent) + { + this.zoom_object.html(percent + "%"); + } + } + }, + + /** + * Get some information about the image. + * Currently orig_(width|height), display_(width|height), angle, zoom and src params are supported. + * + * @param {string} parameter to check + * @param {boolean} withoutRotation if param is orig_width or orig_height and this flag is set to true, + * method will return original image width without considering rotation. + * + */ + info: function(param, withoutRotation) { + if (!param) { return; } + + switch (param) { + case 'orig_width': + case 'orig_height': + if (withoutRotation) { + return (this.img_object.angle() % 180 === 0 ? this.img_object[param]() : + param === 'orig_width' ? this.img_object.orig_height() : + this.img_object.orig_width()); + } else { + return this.img_object[param](); + } + case 'display_width': + case 'display_height': + case 'angle': + return this.img_object[param](); + case 'zoom': + return this.current_zoom; + case 'src': + return this.img_object.object().attr('src'); + case 'coords': + return { + x: this.img_object.x(), + y: this.img_object.y() + }; + } + }, + + /** + * callback for handling mousdown event to start dragging image + **/ + _mouseStart: function( e ) + { + $.ui.mouse.prototype._mouseStart.call(this, e); + if (this._trigger('onStartDrag', 0, this._getMouseCoords(e)) === false) { + return false; + } + + /* start drag event*/ + this.container.addClass("iviewer_drag_cursor"); + + //#10: fix movement quirks for ipad + this._dragInitialized = !(e.originalEvent.changedTouches && e.originalEvent.changedTouches.length==1); + + this.dx = e.pageX - this.img_object.x(); + this.dy = e.pageY - this.img_object.y(); + return true; + }, + + _mouseCapture: function( e ) { + return true; + }, + + /** + * Handle mouse move if needed. User can avoid using this callback, because + * he can get the same information through public methods. + * @param {jQuery.Event} e + */ + _handleMouseMove: function(e) { + this._trigger('onMouseMove', e, this._getMouseCoords(e)); + }, + + /** + * callback for handling mousemove event to drag image + **/ + _mouseDrag: function(e) + { + $.ui.mouse.prototype._mouseDrag.call(this, e); + + //#10: imitate mouseStart, because we can get here without it on iPad for some reason + if (!this._dragInitialized) { + this.dx = e.pageX - this.img_object.x(); + this.dy = e.pageY - this.img_object.y(); + this._dragInitialized = true; + } + + var ltop = e.pageY - this.dy; + var lleft = e.pageX - this.dx; + + this.setCoords(lleft, ltop); + this._trigger('onDrag', e, this._getMouseCoords(e)); + return false; + }, + + /** + * callback for handling stop drag + **/ + _mouseStop: function(e) + { + $.ui.mouse.prototype._mouseStop.call(this, e); + this.container.removeClass("iviewer_drag_cursor"); + this._trigger('onStopDrag', 0, this._getMouseCoords(e)); + }, + + _click: function(e) + { + this._trigger('onClick', 0, this._getMouseCoords(e)); + }, + + /** + * create zoom buttons info box + **/ + createui: function() + { + var me=this; + + $("
                                                                                                                  ", { 'class': "iviewer_zoom_in iviewer_common iviewer_button"}) + .bind('mousedown touchstart',function(){me.zoom_by(1); return false;}) + .appendTo(this.container); + + $("
                                                                                                                  ", { 'class': "iviewer_zoom_out iviewer_common iviewer_button"}) + .bind('mousedown touchstart',function(){me.zoom_by(- 1); return false;}) + .appendTo(this.container); + + $("
                                                                                                                  ", { 'class': "iviewer_zoom_zero iviewer_common iviewer_button"}) + .bind('mousedown touchstart',function(){me.set_zoom(100); return false;}) + .appendTo(this.container); + + $("
                                                                                                                  ", { 'class': "iviewer_zoom_fit iviewer_common iviewer_button"}) + .bind('mousedown touchstart',function(){me.fit(this); return false;}) + .appendTo(this.container); + + this.zoom_object = $("
                                                                                                                  ").addClass("iviewer_zoom_status iviewer_common") + .appendTo(this.container); + + $("
                                                                                                                  ", { 'class': "iviewer_rotate_left iviewer_common iviewer_button"}) + .bind('mousedown touchstart',function(){me.angle(-90); return false;}) + .appendTo(this.container); + + $("
                                                                                                                  ", { 'class': "iviewer_rotate_right iviewer_common iviewer_button" }) + .bind('mousedown touchstart',function(){me.angle(90); return false;}) + .appendTo(this.container); + + this.update_status(); //initial status update + } + +} ); + +/** + * @class $.ui.iviewer.ImageObject Class represents image and provides public api without + * extending image prototype. + * @constructor + * @param {boolean} do_anim Do we want to animate image on dimension changes? + */ +$.ui.iviewer.ImageObject = function(do_anim) { + this._img = $("") + //this is needed, because chromium sets them auto otherwise + .css({ position: "absolute", top :"0px", left: "0px"}); + + this._loaded = false; + this._swapDimensions = false; + this._do_anim = do_anim || false; + this.x(0, true); + this.y(0, true); + this.angle(0); +}; + + +/** @lends $.ui.iviewer.ImageObject.prototype */ +(function() { + /** + * Restore initial object state. + * + * @param {number} w Image width. + * @param {number} h Image height. + */ + this._reset = function(w, h) { + this._angle = 0; + this._swapDimensions = false; + this.x(0); + this.y(0); + + this.orig_width(w); + this.orig_height(h); + this.display_width(w); + this.display_height(h); + }; + + /** + * Check if image is loaded. + * + * @return {boolean} + */ + this.loaded = function() { return this._loaded; }; + + /** + * Load image. + * + * @param {string} src Image url. + * @param {Function=} loaded Function will be called on image load. + */ + this.load = function(src, loaded, error) { + var self = this; + + loaded = loaded || jQuery.noop; + this._loaded = false; + + //If we assign new image url to the this._img IE9 fires onload event and image width and + //height are set to zero. So, we create another image object and load image through it. + var img = new Image(); + img.onload = function() { + self._loaded = true; + self._reset(this.width, this.height); + + self._img + .removeAttr("width") + .removeAttr("height") + .removeAttr("style") + //max-width is reset, because plugin breaks in the twitter bootstrap otherwise + .css({ position: "absolute", top :"0px", left: "0px", maxWidth: "none"}) + + self._img[0].src = src; + loaded(); + }; + + img.onerror = error; + + //we need this because sometimes internet explorer 8 fires onload event + //right after assignment (synchronously) + setTimeout(function() { + img.src = src; + }, 0); + + this.angle(0); + }; + + this._dimension = function(prefix, name) { + var horiz = '_' + prefix + '_' + name, + vert = '_' + prefix + '_' + (name === 'height' ? 'width' : 'height'); + return setter(function(val) { + this[this._swapDimensions ? horiz: vert] = val; + }, + function() { + return this[this._swapDimensions ? horiz: vert]; + }); + }; + + /** + * Getters and setter for common image dimensions. + * display_ means real image tag dimensions + * orig_ means physical image dimensions. + * Note, that dimensions are swapped if image is rotated. It necessary, + * because as little as possible code should know about rotation. + */ + this.display_width = this._dimension('display', 'width'), + this.display_height = this._dimension('display', 'height'), + this.display_diff = function() { return Math.floor( this.display_width() - this.display_height() ) }; + this.orig_width = this._dimension('orig', 'width'), + this.orig_height = this._dimension('orig', 'height'), + + /** + * Setter for X coordinate. If image is rotated we need to additionaly shift an + * image to map image coordinate to the visual position. + * + * @param {number} val Coordinate value. + * @param {boolean} skipCss If true, we only set the value and do not touch the dom. + */ + this.x = setter(function(val, skipCss) { + this._x = val; + if (!skipCss) { + this._finishAnimation(); + this._img.css("left",this._x + (this._swapDimensions ? this.display_diff() / 2 : 0) + "px"); + } + }, + function() { + return this._x; + }); + + /** + * Setter for Y coordinate. If image is rotated we need to additionaly shift an + * image to map image coordinate to the visual position. + * + * @param {number} val Coordinate value. + * @param {boolean} skipCss If true, we only set the value and do not touch the dom. + */ + this.y = setter(function(val, skipCss) { + this._y = val; + if (!skipCss) { + this._finishAnimation(); + this._img.css("top",this._y - (this._swapDimensions ? this.display_diff() / 2 : 0) + "px"); + } + }, + function() { + return this._y; + }); + + /** + * Perform image rotation. + * + * @param {number} deg Absolute image angle. The method will work with values 0, 90, 180, 270 degrees. + */ + this.angle = setter(function(deg) { + var prevSwap = this._swapDimensions; + + this._angle = deg; + this._swapDimensions = deg % 180 !== 0; + + if (prevSwap !== this._swapDimensions) { + var verticalMod = this._swapDimensions ? -1 : 1; + this.x(this.x() - verticalMod * this.display_diff() / 2, true); + this.y(this.y() + verticalMod * this.display_diff() / 2, true); + }; + + var cssVal = 'rotate(' + deg + 'deg)', + img = this._img; + + jQuery.each(['', '-webkit-', '-moz-', '-o-', '-ms-'], function(i, prefix) { + img.css(prefix + 'transform', cssVal); + }); + + if (useIeTransforms) { + jQuery.each(['-ms-', ''], function(i, prefix) { + img.css(prefix + 'filter', ieTransforms[deg].filter); + }); + + img.css({ + marginLeft: ieTransforms[deg].marginLeft * this.display_diff() / 2, + marginTop: ieTransforms[deg].marginTop * this.display_diff() / 2 + }); + } + }, + function() { return this._angle; }); + + /** + * Map point in the container coordinates to the point in image coordinates. + * You will get coordinates of point on image with respect to rotation, + * but will be set as if image was not rotated. + * So, if image was rotated 90 degrees, it's (0,0) point will be on the + * top right corner. + * + * @param {{x: number, y: number}} point Point in container coordinates. + * @return {{x: number, y: number}} + */ + this.toOriginalCoords = function(point) { + switch (this.angle()) { + case 0: return { x: point.x, y: point.y } + case 90: return { x: point.y, y: this.display_width() - point.x } + case 180: return { x: this.display_width() - point.x, y: this.display_height() - point.y } + case 270: return { x: this.display_height() - point.y, y: point.x } + } + }; + + /** + * Map point in the image coordinates to the point in container coordinates. + * You will get coordinates of point on container with respect to rotation. + * Note, if image was rotated 90 degrees, it's (0,0) point will be on the + * top right corner. + * + * @param {{x: number, y: number}} point Point in container coordinates. + * @return {{x: number, y: number}} + */ + this.toRealCoords = function(point) { + switch (this.angle()) { + case 0: return { x: this.x() + point.x, y: this.y() + point.y } + case 90: return { x: this.x() + this.display_width() - point.y, y: this.y() + point.x} + case 180: return { x: this.x() + this.display_width() - point.x, y: this.y() + this.display_height() - point.y} + case 270: return { x: this.x() + point.y, y: this.y() + this.display_height() - point.x} + } + }; + + /** + * @return {jQuery} Return image node. this is needed to add event handlers. + */ + this.object = setter(jQuery.noop, + function() { return this._img; }); + + /** + * Change image properties. + * + * @param {number} disp_w Display width; + * @param {number} disp_h Display height; + * @param {number} x + * @param {number} y + * @param {boolean} skip_animation If true, the animation will be skiped despite the + * value set in constructor. + * @param {Function=} complete Call back will be fired when zoom will be complete. + */ + this.setImageProps = function(disp_w, disp_h, x, y, skip_animation, complete) { + complete = complete || jQuery.noop; + + this.display_width(disp_w); + this.display_height(disp_h); + this.x(x, true); + this.y(y, true); + + var w = this._swapDimensions ? disp_h : disp_w; + var h = this._swapDimensions ? disp_w : disp_h; + + var params = { + width: w, + height: h, + top: y - (this._swapDimensions ? this.display_diff() / 2 : 0) + "px", + left: x + (this._swapDimensions ? this.display_diff() / 2 : 0) + "px" + }; + + if (useIeTransforms) { + jQuery.extend(params, { + marginLeft: ieTransforms[this.angle()].marginLeft * this.display_diff() / 2, + marginTop: ieTransforms[this.angle()].marginTop * this.display_diff() / 2 + }); + } + + var swapDims = this._swapDimensions, + img = this._img; + + //here we come: another IE oddness. If image is rotated 90 degrees with a filter, than + //width and height getters return real width and height of rotated image. The bad news + //is that to set height you need to set a width and vice versa. Fuck IE. + //So, in this case we have to animate width and height manually. + if(useIeTransforms && swapDims) { + var ieh = this._img.width(), + iew = this._img.height(), + iedh = params.height - ieh; + iedw = params.width - iew; + + delete params.width; + delete params.height; + } + + if (this._do_anim && !skip_animation) { + this._img.stop(true) + .animate(params, { + duration: 200, + complete: complete, + step: function(now, fx) { + if(useIeTransforms && swapDims && (fx.prop === 'top')) { + var percent = (now - fx.start) / (fx.end - fx.start); + + img.height(ieh + iedh * percent); + img.width(iew + iedw * percent); + img.css('top', now); + } + } + }); + } else { + this._img.css(params); + setTimeout(complete, 0); //both if branches should behave equally. + } + }; + + //if we set image coordinates we need to be sure that no animation is active atm + this._finishAnimation = function() { + this._img.stop(true, true); + } + +}).apply($.ui.iviewer.ImageObject.prototype); + + + +var util = { + scaleValue: function(value, toZoom) + { + return value * toZoom / 100; + }, + + descaleValue: function(value, fromZoom) + { + return value * 100 / fromZoom; + } +}; + + } )( jQuery, undefined ); diff --git a/apiDocumentation/js/jquery.iviewer.min.js b/apiDocumentation/js/jquery.iviewer.min.js new file mode 100644 index 0000000..e118e3c --- /dev/null +++ b/apiDocumentation/js/jquery.iviewer.min.js @@ -0,0 +1,47 @@ +/* + * iviewer Widget for jQuery UI + * https://github.com/can3p/iviewer + * + * Copyright (c) 2009 - 2012 Dmitry Petrov + * Dual licensed under the MIT and GPL licenses. + * - http://www.opensource.org/licenses/mit-license.php + * - http://www.gnu.org/copyleft/gpl.html + * + * Author: Dmitry Petrov + * Version: 0.7.7 + */ +(function($,undefined){var mouseEvents={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup"},gesturesSupport="ongesturestart"in document.createElement("div");function makeMouseEvent(event){var touch=event.originalEvent.changedTouches[0];return $.extend(event,{type:mouseEvents[event.type],which:1,pageX:touch.pageX,pageY:touch.pageY,screenX:touch.screenX,screenY:touch.screenY,clientX:touch.clientX,clientY:touch.clientY,isTouchEvent:true})}var mouseProto=$.ui.mouse.prototype,_mouseInit=$.ui.mouse.prototype._mouseInit; +mouseProto._mouseInit=function(){var self=this;self._touchActive=false;this.element.bind("touchstart."+this.widgetName,function(event){if(gesturesSupport&&event.originalEvent.touches.length>1)return;self._touchActive=true;return self._mouseDown(makeMouseEvent(event))});var self=this;this._mouseMoveDelegate=function(event){if(gesturesSupport&&event.originalEvent.touches&&event.originalEvent.touches.length>1)return;if(self._touchActive)return self._mouseMove(makeMouseEvent(event))};this._mouseUpDelegate= +function(event){if(self._touchActive){self._touchActive=false;return self._mouseUp(makeMouseEvent(event))}};$(document).bind("touchmove."+this.widgetName,this._mouseMoveDelegate).bind("touchend."+this.widgetName,this._mouseUpDelegate);_mouseInit.apply(this)};var setter=function(setter,getter){return function(val){if(arguments.length===0)return getter.apply(this);else setter.apply(this,arguments)}};var ieTransforms={"0":{marginLeft:0,marginTop:0,filter:'progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M21=0, M22=1, SizingMethod="auto expand")'}, +90:{marginLeft:-1,marginTop:1,filter:'progid:DXImageTransform.Microsoft.Matrix(M11=0, M12=-1, M21=1, M22=0, SizingMethod="auto expand")'},180:{marginLeft:0,marginTop:0,filter:'progid:DXImageTransform.Microsoft.Matrix(M11=-1, M12=0, M21=0, M22=-1, SizingMethod="auto expand")'},270:{marginLeft:-1,marginTop:1,filter:'progid:DXImageTransform.Microsoft.Matrix(M11=0, M12=1, M21=-1, M22=0, SizingMethod="auto expand")'}},useIeTransforms=function(){var el=document.createElement("div");el.style.cssText=["-ms-", +"",""].join("filter:blur(2px); ");return!!el.style.cssText&&document.documentMode<9}();$.widget("ui.iviewer",$.ui.mouse,{widgetEventPrefix:"iviewer",options:{zoom:"fit",zoom_base:100,zoom_max:800,zoom_min:25,zoom_delta:1.4,zoom_animation:true,ui_disabled:false,mousewheel:true,update_on_resize:true,onZoom:jQuery.noop,onAfterZoom:jQuery.noop,onStartDrag:jQuery.noop,onDrag:jQuery.noop,onStopDrag:jQuery.noop,onMouseMove:jQuery.noop,onClick:jQuery.noop,onStartLoad:null,onFinishLoad:null,onErrorLoad:null}, +_create:function(){var me=this;this.dx=0;this.dy=0;this.img_object={};this.zoom_object={};this._angle=0;this.current_zoom=this.options.zoom;if(this.options.src===null)return;this.container=this.element;this._updateContainerInfo();this.container.css("overflow","hidden");if(this.options.update_on_resize==true)$(window).resize(function(){me.update()});this.img_object=new $.ui.iviewer.ImageObject(this.options.zoom_animation);if(this.options.mousewheel){this.container.bind("mousewheel.iviewer",function(ev, +delta){var zoom=delta>0?1:-1,container_offset=me.container.offset(),mouse_pos={x:ev.pageX-container_offset.left,y:ev.pageY-container_offset.top};me.zoom_by(zoom,mouse_pos);return false});if(gesturesSupport){var gestureThrottle=+new Date;var originalScale,originalCenter;this.img_object.object().bind("touchstart",function(ev){originalScale=me.current_zoom;var touches=ev.originalEvent.touches,container_offset;if(touches.length==2){container_offset=me.container.offset();originalCenter={x:(touches[0].pageX+ +touches[1].pageX)/2-container_offset.left,y:(touches[0].pageY+touches[1].pageY)/2-container_offset.top}}else originalCenter=null}).bind("gesturechange",function(ev){var d=+new Date;if(d-gestureThrottle<50)return;gestureThrottle=d;var zoom=originalScale*ev.originalEvent.scale;me.set_zoom(zoom,originalCenter);ev.preventDefault()}).bind("gestureend",function(ev){originalCenter=null})}}this.img_object.object().click(function(e){return me._click(e)}).prependTo(this.container);this.container.bind("mousemove", +function(ev){me._handleMouseMove(ev)});this.loadImage(this.options.src);if(!this.options.ui_disabled)this.createui();this._mouseInit()},destroy:function(){$.Widget.prototype.destroy.call(this);this._mouseDestroy();this.img_object.object().remove();this.container.off(".iviewer");this.container.css("overflow","")},_updateContainerInfo:function(){this.options.height=this.container.height();this.options.width=this.container.width()},update:function(){this._updateContainerInfo();this.setCoords(this.img_object.x(), +this.img_object.y())},loadImage:function(src){this.current_zoom=this.options.zoom;var me=this;this._trigger("onStartLoad",0,src);this.container.addClass("iviewer_loading");this.img_object.load(src,function(){me._imageLoaded(src)},function(){me._trigger("onErrorLoad",0,src)})},_imageLoaded:function(src){this.container.removeClass("iviewer_loading");this.container.addClass("iviewer_cursor");if(this.options.zoom=="fit")this.fit(true);else this.set_zoom(this.options.zoom,true);this._trigger("onFinishLoad", +0,src)},fit:function(skip_animation){var aspect_ratio=this.img_object.orig_width()/this.img_object.orig_height();var window_ratio=this.options.width/this.options.height;var choose_left=aspect_ratio>window_ratio;var new_zoom=0;if(choose_left)new_zoom=this.options.width/this.img_object.orig_width()*100;else new_zoom=this.options.height/this.img_object.orig_height()*100;this.set_zoom(new_zoom,skip_animation)},center:function(){this.setCoords(-Math.round((this.img_object.display_width()-this.options.width)/ +2),-Math.round((this.img_object.display_height()-this.options.height)/2))},moveTo:function(x,y){var dx=x-Math.round(this.options.width/2);var dy=y-Math.round(this.options.height/2);var new_x=this.img_object.x()-dx;var new_y=this.img_object.y()-dy;this.setCoords(new_x,new_y)},getContainerOffset:function(){return jQuery.extend({},this.container.offset())},setCoords:function(x,y){if(!this.img_object.loaded())return;var coords=this._correctCoords(x,y);this.img_object.x(coords.x);this.img_object.y(coords.y)}, +_correctCoords:function(x,y){x=parseInt(x,10);y=parseInt(y,10);if(y>0)y=0;if(x>0)x=0;if(y+this.img_object.display_height()this.options.zoom_max)new_zoom=this.options.zoom_max;if(this.current_zoom=="fit"){var old_x= +zoom_center.x+Math.round(this.img_object.orig_width()/2);var old_y=zoom_center.y+Math.round(this.img_object.orig_height()/2);this.current_zoom=100}else{var old_x=-this.img_object.x()+zoom_center.x;var old_y=-this.img_object.y()+zoom_center.y}var new_width=util.scaleValue(this.img_object.orig_width(),new_zoom);var new_height=util.scaleValue(this.img_object.orig_height(),new_zoom);var new_x=util.scaleValue(util.descaleValue(old_x,this.current_zoom),new_zoom);var new_y=util.scaleValue(util.descaleValue(old_y, +this.current_zoom),new_zoom);new_x=zoom_center.x-new_x;new_y=zoom_center.y-new_y;new_width=Math.floor(new_width);new_height=Math.floor(new_height);new_x=Math.floor(new_x);new_y=Math.floor(new_y);this.img_object.display_width(new_width);this.img_object.display_height(new_height);var coords=this._correctCoords(new_x,new_y),self=this;this.img_object.setImageProps(new_width,new_height,coords.x,coords.y,skip_animation,function(){self._trigger("onAfterZoom",0,new_zoom)});this.current_zoom=new_zoom;this.update_status()}, +zoom_by:function(delta,zoom_center){var closest_rate=this.find_closest_zoom_rate(this.current_zoom);var next_rate=closest_rate+delta;var next_zoom=this.options.zoom_base*Math.pow(this.options.zoom_delta,next_rate);if(delta>0&&next_zoomthis.current_zoom)next_zoom/=this.options.zoom_delta;this.set_zoom(next_zoom,undefined,zoom_center)},angle:function(deg,abs){if(arguments.length===0)return this.img_object.angle();if(deg<-270|| +deg>270||deg%90!==0)return;if(!abs)deg+=this.img_object.angle();if(deg<0)deg+=360;if(deg>=360)deg-=360;if(deg===this.img_object.angle())return;this.img_object.angle(deg);this.center();this._trigger("angle",0,{angle:this.img_object.angle()})},find_closest_zoom_rate:function(value){if(value==this.options.zoom_base)return 0;function div(val1,val2){return val1/val2}function mul(val1,val2){return val1*val2}var func=value>this.options.zoom_base?mul:div;var sgn=value>this.options.zoom_base?1:-1;var mltplr= +this.options.zoom_delta;var rate=1;while(Math.abs(func(this.options.zoom_base,Math.pow(mltplr,rate))-value)>Math.abs(func(this.options.zoom_base,Math.pow(mltplr,rate+1))-value))rate++;return sgn*rate},update_status:function(){if(!this.options.ui_disabled){var percent=Math.round(100*this.img_object.display_height()/this.img_object.orig_height());if(percent)this.zoom_object.html(percent+"%")}},info:function(param,withoutRotation){if(!param)return;switch(param){case "orig_width":case "orig_height":if(withoutRotation)return this.img_object.angle()% +180===0?this.img_object[param]():param==="orig_width"?this.img_object.orig_height():this.img_object.orig_width();else return this.img_object[param]();case "display_width":case "display_height":case "angle":return this.img_object[param]();case "zoom":return this.current_zoom;case "src":return this.img_object.object().attr("src");case "coords":return{x:this.img_object.x(),y:this.img_object.y()}}},_mouseStart:function(e){$.ui.mouse.prototype._mouseStart.call(this,e);if(this._trigger("onStartDrag",0, +this._getMouseCoords(e))===false)return false;this.container.addClass("iviewer_drag_cursor");this._dragInitialized=!(e.originalEvent.changedTouches&&e.originalEvent.changedTouches.length==1);this.dx=e.pageX-this.img_object.x();this.dy=e.pageY-this.img_object.y();return true},_mouseCapture:function(e){return true},_handleMouseMove:function(e){this._trigger("onMouseMove",e,this._getMouseCoords(e))},_mouseDrag:function(e){$.ui.mouse.prototype._mouseDrag.call(this,e);if(!this._dragInitialized){this.dx= +e.pageX-this.img_object.x();this.dy=e.pageY-this.img_object.y();this._dragInitialized=true}var ltop=e.pageY-this.dy;var lleft=e.pageX-this.dx;this.setCoords(lleft,ltop);this._trigger("onDrag",e,this._getMouseCoords(e));return false},_mouseStop:function(e){$.ui.mouse.prototype._mouseStop.call(this,e);this.container.removeClass("iviewer_drag_cursor");this._trigger("onStopDrag",0,this._getMouseCoords(e))},_click:function(e){this._trigger("onClick",0,this._getMouseCoords(e))},createui:function(){var me= +this;$("
                                                                                                                  ",{"class":"iviewer_zoom_in iviewer_common iviewer_button"}).bind("mousedown touchstart",function(){me.zoom_by(1);return false}).appendTo(this.container);$("
                                                                                                                  ",{"class":"iviewer_zoom_out iviewer_common iviewer_button"}).bind("mousedown touchstart",function(){me.zoom_by(-1);return false}).appendTo(this.container);$("
                                                                                                                  ",{"class":"iviewer_zoom_zero iviewer_common iviewer_button"}).bind("mousedown touchstart",function(){me.set_zoom(100);return false}).appendTo(this.container);$("
                                                                                                                  ", +{"class":"iviewer_zoom_fit iviewer_common iviewer_button"}).bind("mousedown touchstart",function(){me.fit(this);return false}).appendTo(this.container);this.zoom_object=$("
                                                                                                                  ").addClass("iviewer_zoom_status iviewer_common").appendTo(this.container);$("
                                                                                                                  ",{"class":"iviewer_rotate_left iviewer_common iviewer_button"}).bind("mousedown touchstart",function(){me.angle(-90);return false}).appendTo(this.container);$("
                                                                                                                  ",{"class":"iviewer_rotate_right iviewer_common iviewer_button"}).bind("mousedown touchstart", +function(){me.angle(90);return false}).appendTo(this.container);this.update_status()}});$.ui.iviewer.ImageObject=function(do_anim){this._img=$("").css({position:"absolute",top:"0px",left:"0px"});this._loaded=false;this._swapDimensions=false;this._do_anim=do_anim||false;this.x(0,true);this.y(0,true);this.angle(0)};(function(){this._reset=function(w,h){this._angle=0;this._swapDimensions=false;this.x(0);this.y(0);this.orig_width(w);this.orig_height(h);this.display_width(w);this.display_height(h)}; +this.loaded=function(){return this._loaded};this.load=function(src,loaded,error){var self=this;loaded=loaded||jQuery.noop;this._loaded=false;var img=new Image;img.onload=function(){self._loaded=true;self._reset(this.width,this.height);self._img.removeAttr("width").removeAttr("height").removeAttr("style").css({position:"absolute",top:"0px",left:"0px",maxWidth:"none"});self._img[0].src=src;loaded()};img.onerror=error;setTimeout(function(){img.src=src},0);this.angle(0)};this._dimension=function(prefix, +name){var horiz="_"+prefix+"_"+name,vert="_"+prefix+"_"+(name==="height"?"width":"height");return setter(function(val){this[this._swapDimensions?horiz:vert]=val},function(){return this[this._swapDimensions?horiz:vert]})};this.display_width=this._dimension("display","width"),this.display_height=this._dimension("display","height"),this.display_diff=function(){return Math.floor(this.display_width()-this.display_height())};this.orig_width=this._dimension("orig","width"),this.orig_height=this._dimension("orig", +"height"),this.x=setter(function(val,skipCss){this._x=val;if(!skipCss){this._finishAnimation();this._img.css("left",this._x+(this._swapDimensions?this.display_diff()/2:0)+"px")}},function(){return this._x});this.y=setter(function(val,skipCss){this._y=val;if(!skipCss){this._finishAnimation();this._img.css("top",this._y-(this._swapDimensions?this.display_diff()/2:0)+"px")}},function(){return this._y});this.angle=setter(function(deg){var prevSwap=this._swapDimensions;this._angle=deg;this._swapDimensions= +deg%180!==0;if(prevSwap!==this._swapDimensions){var verticalMod=this._swapDimensions?-1:1;this.x(this.x()-verticalMod*this.display_diff()/2,true);this.y(this.y()+verticalMod*this.display_diff()/2,true)}var cssVal="rotate("+deg+"deg)",img=this._img;jQuery.each(["","-webkit-","-moz-","-o-","-ms-"],function(i,prefix){img.css(prefix+"transform",cssVal)});if(useIeTransforms){jQuery.each(["-ms-",""],function(i,prefix){img.css(prefix+"filter",ieTransforms[deg].filter)});img.css({marginLeft:ieTransforms[deg].marginLeft* +this.display_diff()/2,marginTop:ieTransforms[deg].marginTop*this.display_diff()/2})}},function(){return this._angle});this.toOriginalCoords=function(point){switch(this.angle()){case 0:return{x:point.x,y:point.y};case 90:return{x:point.y,y:this.display_width()-point.x};case 180:return{x:this.display_width()-point.x,y:this.display_height()-point.y};case 270:return{x:this.display_height()-point.y,y:point.x}}};this.toRealCoords=function(point){switch(this.angle()){case 0:return{x:this.x()+point.x,y:this.y()+ +point.y};case 90:return{x:this.x()+this.display_width()-point.y,y:this.y()+point.x};case 180:return{x:this.x()+this.display_width()-point.x,y:this.y()+this.display_height()-point.y};case 270:return{x:this.x()+point.y,y:this.y()+this.display_height()-point.x}}};this.object=setter(jQuery.noop,function(){return this._img});this.setImageProps=function(disp_w,disp_h,x,y,skip_animation,complete){complete=complete||jQuery.noop;this.display_width(disp_w);this.display_height(disp_h);this.x(x,true);this.y(y, +true);var w=this._swapDimensions?disp_h:disp_w;var h=this._swapDimensions?disp_w:disp_h;var params={width:w,height:h,top:y-(this._swapDimensions?this.display_diff()/2:0)+"px",left:x+(this._swapDimensions?this.display_diff()/2:0)+"px"};if(useIeTransforms)jQuery.extend(params,{marginLeft:ieTransforms[this.angle()].marginLeft*this.display_diff()/2,marginTop:ieTransforms[this.angle()].marginTop*this.display_diff()/2});var swapDims=this._swapDimensions,img=this._img;if(useIeTransforms&&swapDims){var ieh= +this._img.width(),iew=this._img.height(),iedh=params.height-ieh;iedw=params.width-iew;delete params.width;delete params.height}if(this._do_anim&&!skip_animation)this._img.stop(true).animate(params,{duration:200,complete:complete,step:function(now,fx){if(useIeTransforms&&swapDims&&fx.prop==="top"){var percent=(now-fx.start)/(fx.end-fx.start);img.height(ieh+iedh*percent);img.width(iew+iedw*percent);img.css("top",now)}}});else{this._img.css(params);setTimeout(complete,0)}};this._finishAnimation=function(){this._img.stop(true, +true)}}).apply($.ui.iviewer.ImageObject.prototype);var util={scaleValue:function(value,toZoom){return value*toZoom/100},descaleValue:function(value,fromZoom){return value*100/fromZoom}}})(jQuery,undefined); diff --git a/apiDocumentation/js/jquery.mousewheel.js b/apiDocumentation/js/jquery.mousewheel.js new file mode 100644 index 0000000..63c968a --- /dev/null +++ b/apiDocumentation/js/jquery.mousewheel.js @@ -0,0 +1,201 @@ +/*! Copyright (c) 2013 Brandon Aaron (http://brandon.aaron.sh) + * Licensed under the MIT License (LICENSE.txt). + * + * Version: 3.1.9 + * + * Requires: jQuery 1.2.2+ + */ + +(function (factory) { + if ( typeof define === 'function' && define.amd ) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof exports === 'object') { + // Node/CommonJS style for Browserify + module.exports = factory; + } else { + // Browser globals + factory(jQuery); + } +}(function ($) { + + var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'], + toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ? + ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'], + slice = Array.prototype.slice, + nullLowestDeltaTimeout, lowestDelta; + + if ( $.event.fixHooks ) { + for ( var i = toFix.length; i; ) { + $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks; + } + } + + var special = $.event.special.mousewheel = { + version: '3.1.9', + + setup: function() { + if ( this.addEventListener ) { + for ( var i = toBind.length; i; ) { + this.addEventListener( toBind[--i], handler, false ); + } + } else { + this.onmousewheel = handler; + } + // Store the line height and page height for this particular element + $.data(this, 'mousewheel-line-height', special.getLineHeight(this)); + $.data(this, 'mousewheel-page-height', special.getPageHeight(this)); + }, + + teardown: function() { + if ( this.removeEventListener ) { + for ( var i = toBind.length; i; ) { + this.removeEventListener( toBind[--i], handler, false ); + } + } else { + this.onmousewheel = null; + } + }, + + getLineHeight: function(elem) { + return parseInt($(elem)['offsetParent' in $.fn ? 'offsetParent' : 'parent']().css('fontSize'), 10); + }, + + getPageHeight: function(elem) { + return $(elem).height(); + }, + + settings: { + adjustOldDeltas: true + } + }; + + $.fn.extend({ + mousewheel: function(fn) { + return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel'); + }, + + unmousewheel: function(fn) { + return this.unbind('mousewheel', fn); + } + }); + + + function handler(event) { + var orgEvent = event || window.event, + args = slice.call(arguments, 1), + delta = 0, + deltaX = 0, + deltaY = 0, + absDelta = 0; + event = $.event.fix(orgEvent); + event.type = 'mousewheel'; + + // Old school scrollwheel delta + if ( 'detail' in orgEvent ) { deltaY = orgEvent.detail * -1; } + if ( 'wheelDelta' in orgEvent ) { deltaY = orgEvent.wheelDelta; } + if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY; } + if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; } + + // Firefox < 17 horizontal scrolling related to DOMMouseScroll event + if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) { + deltaX = deltaY * -1; + deltaY = 0; + } + + // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy + delta = deltaY === 0 ? deltaX : deltaY; + + // New school wheel delta (wheel event) + if ( 'deltaY' in orgEvent ) { + deltaY = orgEvent.deltaY * -1; + delta = deltaY; + } + if ( 'deltaX' in orgEvent ) { + deltaX = orgEvent.deltaX; + if ( deltaY === 0 ) { delta = deltaX * -1; } + } + + // No change actually happened, no reason to go any further + if ( deltaY === 0 && deltaX === 0 ) { return; } + + // Need to convert lines and pages to pixels if we aren't already in pixels + // There are three delta modes: + // * deltaMode 0 is by pixels, nothing to do + // * deltaMode 1 is by lines + // * deltaMode 2 is by pages + if ( orgEvent.deltaMode === 1 ) { + var lineHeight = $.data(this, 'mousewheel-line-height'); + delta *= lineHeight; + deltaY *= lineHeight; + deltaX *= lineHeight; + } else if ( orgEvent.deltaMode === 2 ) { + var pageHeight = $.data(this, 'mousewheel-page-height'); + delta *= pageHeight; + deltaY *= pageHeight; + deltaX *= pageHeight; + } + + // Store lowest absolute delta to normalize the delta values + absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) ); + + if ( !lowestDelta || absDelta < lowestDelta ) { + lowestDelta = absDelta; + + // Adjust older deltas if necessary + if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { + lowestDelta /= 40; + } + } + + // Adjust older deltas if necessary + if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { + // Divide all the things by 40! + delta /= 40; + deltaX /= 40; + deltaY /= 40; + } + + // Get a whole, normalized value for the deltas + delta = Math[ delta >= 1 ? 'floor' : 'ceil' ](delta / lowestDelta); + deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta); + deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta); + + // Add information to the event object + event.deltaX = deltaX; + event.deltaY = deltaY; + event.deltaFactor = lowestDelta; + // Go ahead and set deltaMode to 0 since we converted to pixels + // Although this is a little odd since we overwrite the deltaX/Y + // properties with normalized deltas. + event.deltaMode = 0; + + // Add event and delta to the front of the arguments + args.unshift(event, delta, deltaX, deltaY); + + // Clearout lowestDelta after sometime to better + // handle multiple device types that give different + // a different lowestDelta + // Ex: trackpad = 3 and mouse wheel = 120 + if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); } + nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200); + + return ($.event.dispatch || $.event.handle).apply(this, args); + } + + function nullLowestDelta() { + lowestDelta = null; + } + + function shouldAdjustOldDeltas(orgEvent, absDelta) { + // If this is an older event and the delta is divisable by 120, + // then we are assuming that the browser is treating this as an + // older mouse wheel event and that we should divide the deltas + // by 40 to try and get a more usable deltaFactor. + // Side note, this actually impacts the reported scroll distance + // in older browsers and can cause scrolling to be slower than native. + // Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false. + return special.settings.adjustOldDeltas && orgEvent.type === 'mousewheel' && absDelta % 120 === 0; + } + +})); diff --git a/apiDocumentation/js/jquery.mousewheel.min.js b/apiDocumentation/js/jquery.mousewheel.min.js new file mode 100644 index 0000000..2782ff3 --- /dev/null +++ b/apiDocumentation/js/jquery.mousewheel.min.js @@ -0,0 +1,13 @@ +/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net) + * Licensed under the MIT License (LICENSE.txt). + * + * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers. + * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix. + * Thanks to: Seamus Leahy for adding deltaX and deltaY + * + * Version: 3.0.6 + * + * Requires: 1.2.2+ + */ +(function(d){function e(a){var b=a||window.event,c=[].slice.call(arguments,1),f=0,e=0,g=0,a=d.event.fix(b);a.type="mousewheel";b.wheelDelta&&(f=b.wheelDelta/120);b.detail&&(f=-b.detail/3);g=f;b.axis!==void 0&&b.axis===b.HORIZONTAL_AXIS&&(g=0,e=-1*f);b.wheelDeltaY!==void 0&&(g=b.wheelDeltaY/120);b.wheelDeltaX!==void 0&&(e=-1*b.wheelDeltaX/120);c.unshift(a,f,e,g);return(d.event.dispatch||d.event.handle).apply(this,c)}var c=["DOMMouseScroll","mousewheel"];if(d.event.fixHooks)for(var h=c.length;h;)d.event.fixHooks[c[--h]]= +d.event.mouseHooks;d.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=c.length;a;)this.addEventListener(c[--a],e,false);else this.onmousewheel=e},teardown:function(){if(this.removeEventListener)for(var a=c.length;a;)this.removeEventListener(c[--a],e,false);else this.onmousewheel=null}};d.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery); diff --git a/apiDocumentation/js/jquery.panzoom.js b/apiDocumentation/js/jquery.panzoom.js new file mode 100644 index 0000000..b40bf7c --- /dev/null +++ b/apiDocumentation/js/jquery.panzoom.js @@ -0,0 +1,467 @@ +/* + * jQuery PanZoom Plugin + * Pan and zoom an image within a parent div. + * + * version: 0.9.0 + * @requires jQuery v1.4.2 or later (earlier probably work, but untested so far) + * + * Copyright (c) 2011 Ben Lumley + * Examples and documentation at: https://github.com/benlumley/jQuery-PanZoom + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +*/ + +(function( $ ){ + + $.fn.panZoom = function(method) { + + if ( methods[method] ) { + return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 )); + } else if ( typeof method === 'object' || ! method ) { + return methods.init.apply( this, arguments ); + } else { + $.error( 'Method ' + method + ' does not exist' ); + } + + }; + + $.fn.panZoom.defaults = { + zoomIn : false, + zoomOut : false, + panUp : false, + panDown : false, + panLeft : false, + panRight : false, + fit : false, + out_x1 : false, + out_y1 : false, + out_x2 : false, + out_y2 : false, + min_width : 20, + min_height : 20, + zoom_step : 3, + pan_step : 3, + debug : false, + directedit : false, + aspect : true, + factor : 1, + animate : true, + animate_duration : 200, + animate_easing : 'linear', + double_click : true, + mousewheel : true, + mousewheel_delta : 1, + draggable : true, + clickandhold : true + }; + + var settings = {} + + var methods = { + 'init': function (options) { + $.extend(settings, $.fn.panZoom.defaults, options); + setupCSS.apply(this); + setupData.apply(this); + setupBindings.apply(this); + methods.readPosition.apply(this); + }, + + 'destroy': function () { + $(window).unbind('.panZoom'); + this.removeData('panZoom'); + }, + + 'loadImage': function () { + var data = this.data('panZoom'); + loadTargetDimensions.apply(this); + methods.updatePosition.apply(this); + if (data.last_image != null && data.last_image != this.attr('src')) { + methods.fit.apply(this); + } + data.last_image = this.attr('src'); + data.loaded = true; + }, + + 'readPosition': function () { + var data = this.data('panZoom'); + if (settings.out_x1) { data.position.x1 = settings.out_x1.val()*settings.factor } + if (settings.out_y1) { data.position.y1 = settings.out_y1.val()*settings.factor } + if (settings.out_x2) { data.position.x2 = settings.out_x2.val()*settings.factor } + if (settings.out_y2) { data.position.y2 = settings.out_y2.val()*settings.factor } + methods.updatePosition.apply(this); + }, + + 'updatePosition': function() { + validatePosition.apply(this); + writePosition.apply(this); + applyPosition.apply(this); + }, + + 'fit': function () { + var data = this.data('panZoom'); + data.position.x1 = 0; + data.position.y1 = 0; + data.position.x2 = data.viewport_dimensions.x; + data.position.y2 = data.viewport_dimensions.y; + methods.updatePosition.apply(this); + }, + + 'zoomIn': function (steps) { + var data = this.data('panZoom'); + if (typeof(steps) == 'undefined') { + var steps = getStepDimensions.apply(this); + } + console.debug(data.position); + console.debug(data.viewport_dimensions); + data.position.x1 = data.position.x1*1 - steps.zoom.x; + data.position.x2 = data.position.x2*1 + steps.zoom.x; + data.position.y1 = data.position.y1*1 - steps.zoom.y; + data.position.y2 = data.position.y2*1 + steps.zoom.y; + methods.updatePosition.apply(this); + }, + + 'zoomOut': function (steps) { + var data = this.data('panZoom'); + if (typeof(steps) == 'undefined') { + var steps = getStepDimensions.apply(this); + } + data.position.x1 = data.position.x1*1 + steps.zoom.x; + data.position.x2 = data.position.x2*1 - steps.zoom.x; + data.position.y1 = data.position.y1*1 + steps.zoom.y; + data.position.y2 = data.position.y2*1 - steps.zoom.y; + methods.updatePosition.apply(this); + }, + + 'panUp': function () { + var data = this.data('panZoom'); + var steps = getStepDimensions.apply(this); + data.position.y1 -= steps.pan.y; + data.position.y2 -= steps.pan.y; + methods.updatePosition.apply(this); + }, + + 'panDown': function () { + var data = this.data('panZoom'); + var steps = getStepDimensions.apply(this); + data.position.y1 = data.position.y1*1 + steps.pan.y; + data.position.y2 = data.position.y2*1 + steps.pan.y; + methods.updatePosition.apply(this); + }, + + 'panLeft': function () { + var data = this.data('panZoom'); + var steps = getStepDimensions.apply(this); + data.position.x1 -= steps.pan.x; + data.position.x2 -= steps.pan.x; + methods.updatePosition.apply(this); + }, + + 'panRight': function () { + var data = this.data('panZoom'); + var steps = getStepDimensions.apply(this); + data.position.x1 = data.position.x1*1 + steps.pan.x; + data.position.x2 = data.position.x2*1 + steps.pan.x; + methods.updatePosition.apply(this); + }, + + 'mouseWheel': function (delta) { + // first calculate how much to zoom in/out + var steps = getStepDimensions.apply(this); + steps.zoom.x = steps.zoom.x * (Math.abs(delta) / settings.mousewheel_delta); + steps.zoom.y = steps.zoom.y * (Math.abs(delta) / settings.mousewheel_delta); + + // then do it + if (delta > 0) { + methods.zoomIn.apply(this, [steps]); + } else if (delta < 0) { + methods.zoomOut.apply(this, [steps]); + } + }, + + 'dragComplete': function() { + var data = this.data('panZoom'); + data.position.x1 = this.position().left; + data.position.y1 = this.position().top; + data.position.x2 = this.position().left*1 + this.width(); + data.position.y2 = this.position().top*1 + this.height(); + methods.updatePosition.apply(this); + }, + + 'mouseDown': function (action) { + methods[action].apply(this); + + if (settings.clickandhold) { + var data = this.data('panZoom'); + methods.mouseUp.apply(this); + data.mousedown_interval = window.setInterval(function (that, action) { + that.panZoom(action); + }, settings.animate_duration, this, action); + } + }, + + 'mouseUp': function() { + var data = this.data('panZoom'); + window.clearInterval(data.mousedown_interval); + } + + } + + function setupBindings() { + + eventData = { target: this } + + // bind up controls + if (settings.zoomIn) { + settings.zoomIn.bind('mousedown.panZoom', eventData, function(event) { + event.preventDefault(); event.data.target.panZoom('mouseDown', 'zoomIn'); + }).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) { + event.preventDefault(); event.data.target.panZoom('mouseUp'); + }); + } + + if (settings.zoomOut) { + settings.zoomOut.bind('mousedown.panZoom', eventData, function(event) { + event.preventDefault(); event.data.target.panZoom('mouseDown', 'zoomOut'); + }).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) { + event.preventDefault(); event.data.target.panZoom('mouseUp'); + }); + } + + if (settings.panUp) { + settings.panUp.bind('mousedown.panZoom', eventData, function(event) { + event.preventDefault(); event.data.target.panZoom('mouseDown', 'panUp'); + }).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) { + event.preventDefault(); event.data.target.panZoom('mouseUp'); + }); + } + + if (settings.panDown) { + settings.panDown.bind('mousedown.panZoom', eventData, function(event) { + event.preventDefault(); event.data.target.panZoom('mouseDown', 'panDown'); + }).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) { + event.preventDefault(); event.data.target.panZoom('mouseUp'); + }); + } + + if (settings.panLeft) { + settings.panLeft.bind('mousedown.panZoom', eventData, function(event) { + event.preventDefault(); event.data.target.panZoom('mouseDown', 'panLeft'); + }).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) { + event.preventDefault(); event.data.target.panZoom('mouseUp'); + }); + } + + if (settings.panRight) { + settings.panRight.bind('mousedown.panZoom', eventData, function(event) { + event.preventDefault(); event.data.target.panZoom('mouseDown', 'panRight'); + }).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) { + event.preventDefault(); event.data.target.panZoom('mouseUp'); + }); + } + + if (settings.fit) { settings.fit.bind('click.panZoom', eventData, function(event) { event.preventDefault(); event.data.target.panZoom('fit'); } ); } + + // double click + if (settings.double_click) { + this.bind('dblclick.panZoom', eventData, function(event, delta) { event.data.target.panZoom('zoomIn') } ); + } + + // mousewheel + if (settings.mousewheel && typeof(this.mousewheel) == 'function') { + this.parent().mousewheel(function(event, delta) { event.preventDefault(); $(this).find('img').panZoom('mouseWheel', delta) } ); + } else if (settings.mousewheel) { + alert('Mousewheel requires mousewheel from jQuery tools - please include jQuery tools or disable mousewheel to remove this warning.') + } + + // direct form input + if (settings.directedit) { + $(settings.out_x1).add(settings.out_y1).add(settings.out_x2).add(settings.out_y2).bind('change.panZoom blur.panZoom', eventData, function(event) { event.data.target.panZoom('readPosition') } ); + } + + if (settings.draggable && typeof(this.draggable) == 'function') { + this.draggable({ + stop: function () { $(this).panZoom('dragComplete'); } + }); + } else if (settings.draggable) { + alert('Draggable requires jQuery UI - please include jQuery UI or disable draggable to remove this warning.') + } + + // image load + $(this).bind('load.panZoom', eventData, function (event) { event.data.target.panZoom('loadImage') }) + + } + + function setupData() { + this.data('panZoom', { + target_element: this, + target_dimensions: { x: null, y: null }, + viewport_element: this.parent(), + viewport_dimensions: { x: this.parent().width(), y: this.parent().height() }, + position: { x1: null, y1: null, x2: null, y2: null }, + last_image: null, + loaded: false, + mousewheel_delta: 0, + mousedown_interval: false + }); + if (settings.debug) { + console.log(this.data('panZoom')); + } + } + + function setupCSS() { + if (this.parent().css('position') == 'static') { + this.parent().css('position', 'relative'); + } + this.css({ + 'position': 'absolute', + 'top': 0, + 'left': 0 + }); + if (settings.draggable) { + this.css({ + 'cursor': 'move' + }); + } + } + + function validatePosition() { + var data = this.data('panZoom'); + // if dimensions are too small... + if ( data.position.x2 - data.position.x1 < settings.min_width/settings.factor || data.position.y2 - data.position.y1 < settings.min_height/settings.factor ) { + // and second co-ords are zero (IE: no dims set), fit image + if (data.position.x2 == 0 || data.position.y2 == 0) { + methods.fit.apply(this); + } + // otherwise, backout a bit + else { + if (data.position.x2 - data.position.x1 < settings.min_width/settings.factor) { + data.position.x2 = data.position.x1*1+settings.min_width/settings.factor; + } + if (data.position.y2 - data.position.y1 < settings.min_height/settings.factor) { + data.position.y2 = data.position.y1*1+settings.min_height/settings.factor; + } + } + } + + if (settings.aspect) { + target = data.target_dimensions.ratio; + current = getCurrentAspectRatio.apply(this) + if (current > target) { + new_width = getHeight.apply(this) * target; + diff = getWidth.apply(this) - new_width; + data.position.x1 = data.position.x1*1 + (diff/2); + data.position.x2 = data.position.x2*1 - (diff/2); + } else if (current < target) { + new_height = getWidth.apply(this) / target; + diff = getHeight.apply(this) - new_height; + data.position.y1 = data.position.y1*1 + (diff/2); + data.position.y2 = data.position.y2*1 - (diff/2); + } + } + + + } + + function applyPosition() { + var data = this.data('panZoom'); + + width = getWidth.apply(this); + height = getHeight.apply(this); + left_offset = getLeftOffset.apply(this); + top_offset = getTopOffset.apply(this); + + properties = { + 'top': Math.round(top_offset), + 'left': Math.round(left_offset), + 'width': Math.round(width), + 'height': Math.round(height) + } + + if (data.loaded && settings.animate) { + applyAnimate.apply(this, [ properties ]); + } else { + applyCSS.apply(this, [ properties ]); + } + + if (settings.debug) { + console.log('--'); + console.log('width:' + width); + console.log('height:' + height); + console.log('left:' + left_offset); + console.log('top:' + top_offset); + } + } + + function applyCSS() { + this.css( properties ); + } + + function applyAnimate() { + this.stop().animate( properties , settings.animate_duration, settings.animate_easing); + } + + function getWidth() { + var data = this.data('panZoom'); + width = (data.position.x2 - data.position.x1); + return width; + } + + function getLeftOffset() { + var data = this.data('panZoom'); + return data.position.x1; + } + + function getHeight() { + var data = this.data('panZoom'); + height = (data.position.y2 - data.position.y1); + return height; + } + + function getTopOffset() { + var data = this.data('panZoom'); + top_offset = data.position.y1; + return top_offset; + } + + function getCurrentAspectRatio() { + return (getWidth.apply(this) / getHeight.apply(this)); + } + + function writePosition() { + var data = this.data('panZoom'); + if (settings.out_x1) { settings.out_x1.val(Math.round(data.position.x1 / settings.factor)) } + if (settings.out_y1) { settings.out_y1.val(Math.round(data.position.y1 / settings.factor)) } + if (settings.out_x2) { settings.out_x2.val(Math.round(data.position.x2 / settings.factor)) } + if (settings.out_y2) { settings.out_y2.val(Math.round(data.position.y2 / settings.factor)) } + } + + function getStepDimensions() { + var data = this.data('panZoom'); + ret = { + zoom: { + x: (settings.zoom_step/100 * data.viewport_dimensions.x), + y: (settings.zoom_step/100 * data.viewport_dimensions.y) + }, + pan: { + x: (settings.pan_step/100 * data.viewport_dimensions.x), + y: (settings.pan_step/100 * data.viewport_dimensions.y) + } + } + return ret; + } + + function loadTargetDimensions() { + var data = this.data('panZoom'); + var img = document.createElement('img'); + img.src = this.attr('src'); + img.id = "jqpz-temp"; + $('body').append(img); + data.target_dimensions.x = $('#jqpz-temp').width(); + data.target_dimensions.y = $('#jqpz-temp').height(); + $('#jqpz-temp').remove(); + data.target_dimensions.ratio = data.target_dimensions.x / data.target_dimensions.y; + } + +})( jQuery ); diff --git a/apiDocumentation/js/jquery.smooth-scroll.js b/apiDocumentation/js/jquery.smooth-scroll.js new file mode 100644 index 0000000..ce1e19b --- /dev/null +++ b/apiDocumentation/js/jquery.smooth-scroll.js @@ -0,0 +1,32 @@ +$(document).ready(function() { + function filterPath(string) { + return string + .replace(/^\//,'') + .replace(/(index|default).[a-zA-Z]{3,4}$/,'') + .replace(/\/$/,''); + } + var locationPath = filterPath(location.pathname); + + $('a[href*=#]').each(function() { + var thisPath = filterPath(this.pathname) || locationPath; + if ( locationPath == thisPath + && (location.hostname == this.hostname || !this.hostname) + && this.hash.replace(/#/,'') ) { + var $target = $(this.hash), target = this.hash; + if (target) { + $(this).click(function(event) { + if (!$(this.hash).offset()) { + return; + } + + event.preventDefault(); + position = $(this.hash).offset().top; + + $('html,body').animate({scrollTop: position}, 400, function() { + location.hash = target; + }); + }); + } + } + }); +}); diff --git a/apiDocumentation/js/jquery.splitter.js b/apiDocumentation/js/jquery.splitter.js new file mode 100644 index 0000000..e0b5d15 --- /dev/null +++ b/apiDocumentation/js/jquery.splitter.js @@ -0,0 +1,228 @@ +/* + * jQuery.splitter.js - two-pane splitter window plugin + * + * version 1.51 (2009/01/09) + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ + +/** + * The splitter() plugin implements a two-pane resizable splitter window. + * The selected elements in the jQuery object are converted to a splitter; + * each selected element should have two child elements, used for the panes + * of the splitter. The plugin adds a third child element for the splitbar. + * + * For more details see: http://methvin.com/splitter/ + * + * + * @example $('#MySplitter').splitter(); + * @desc Create a vertical splitter with default settings + * + * @example $('#MySplitter').splitter({type: 'h', accessKey: 'M'}); + * @desc Create a horizontal splitter resizable via Alt+Shift+M + * + * @name splitter + * @type jQuery + * @param Object options Options for the splitter (not required) + * @cat Plugins/Splitter + * @return jQuery + * @author Dave Methvin (dave.methvin@gmail.com) + */ +; +(function($) { + + $.fn.splitter = function(args) { + args = args || {}; + return this.each(function() { + var zombie; // left-behind splitbar for outline resizes + function startSplitMouse(evt) { + if (opts.outline) + zombie = zombie || bar.clone(false).insertAfter(A); + panes.css("-webkit-user-select", "none"); // Safari selects A/B text on a move + bar.addClass(opts.activeClass); + $('
                                                                                                                  ').insertAfter(bar); + A._posSplit = A[0][opts.pxSplit] - evt[opts.eventPos]; + $(document) + .bind("mousemove", doSplitMouse) + .bind("mouseup", endSplitMouse); + } + + function doSplitMouse(evt) { + var newPos = A._posSplit + evt[opts.eventPos]; + if (opts.outline) { + newPos = Math.max(0, Math.min(newPos, splitter._DA - bar._DA)); + bar.css(opts.origin, newPos); + } else + resplit(newPos); + } + + function endSplitMouse(evt) { + $('div.splitterMask').remove(); + bar.removeClass(opts.activeClass); + var newPos = A._posSplit + evt[opts.eventPos]; + if (opts.outline) { + zombie.remove(); + zombie = null; + resplit(newPos); + } + panes.css("-webkit-user-select", "text"); // let Safari select text again + $(document) + .unbind("mousemove", doSplitMouse) + .unbind("mouseup", endSplitMouse); + } + + function resplit(newPos) { + // Constrain new splitbar position to fit pane size limits + newPos = Math.max(A._min, splitter._DA - B._max, + Math.min(newPos, A._max, splitter._DA - bar._DA - B._min)); + // Resize/position the two panes + bar._DA = bar[0][opts.pxSplit]; // bar size may change during dock + bar.css(opts.origin, newPos).css(opts.fixed, splitter._DF); + A.css(opts.origin, 0).css(opts.split, newPos).css(opts.fixed, splitter._DF); + B.css(opts.origin, newPos + bar._DA) + .css(opts.split, splitter._DA - bar._DA - newPos).css(opts.fixed, splitter._DF); + // IE fires resize for us; all others pay cash + if (!$.browser.msie) + panes.trigger("resize"); + } + + function dimSum(jq, dims) { + // Opera returns -1 for missing min/max width, turn into 0 + var sum = 0; + for (var i = 1; i < arguments.length; i++) + sum += Math.max(parseInt(jq.css(arguments[i])) || 0, 0); + return sum; + } + + // Determine settings based on incoming opts, element classes, and defaults + var vh = (args.splitHorizontal ? 'h' : args.splitVertical ? 'v' : args.type) || 'v'; + var opts = $.extend({ + activeClass: 'active', // class name for active splitter + pxPerKey: 8, // splitter px moved per keypress + tabIndex: 0, // tab order indicator + accessKey: '' // accessKey for splitbar + }, { + v: { // Vertical splitters: + keyLeft: 39, keyRight: 37, cursor: "e-resize", + splitbarClass: "vsplitbar", outlineClass: "voutline", + type: 'v', eventPos: "pageX", origin: "left", + split: "width", pxSplit: "offsetWidth", side1: "Left", side2: "Right", + fixed: "height", pxFixed: "offsetHeight", side3: "Top", side4: "Bottom" + }, + h: { // Horizontal splitters: + keyTop: 40, keyBottom: 38, cursor: "n-resize", + splitbarClass: "hsplitbar", outlineClass: "houtline", + type: 'h', eventPos: "pageY", origin: "top", + split: "height", pxSplit: "offsetHeight", side1: "Top", side2: "Bottom", + fixed: "width", pxFixed: "offsetWidth", side3: "Left", side4: "Right" + } + }[vh], args); + + // Create jQuery object closures for splitter and both panes + var splitter = $(this).css({position: "relative"}); + var panes = $(">*", splitter[0]).css({ + position: "absolute", // positioned inside splitter container + "z-index": "1", // splitbar is positioned above + "-moz-outline-style": "none" // don't show dotted outline + }); + var A = $(panes[0]); // left or top + var B = $(panes[1]); // right or bottom + + // Focuser element, provides keyboard support; title is shown by Opera accessKeys + var focuser = $('') + .attr({accessKey: opts.accessKey, tabIndex: opts.tabIndex, title: opts.splitbarClass}) + .bind($.browser.opera ? "click" : "focus", function() { + this.focus(); + bar.addClass(opts.activeClass) + }) + .bind("keydown", function(e) { + var key = e.which || e.keyCode; + var dir = key == opts["key" + opts.side1] ? 1 : key == opts["key" + opts.side2] ? -1 : 0; + if (dir) + resplit(A[0][opts.pxSplit] + dir * opts.pxPerKey, false); + }) + .bind("blur", function() { + bar.removeClass(opts.activeClass) + }); + + // Splitbar element, can be already in the doc or we create one + var bar = $(panes[2] || '
                                                                                                                  ') + .insertAfter(A).css("z-index", "100").append(focuser) + .attr({"class": opts.splitbarClass, unselectable: "on"}) + .css({position: "absolute", "user-select": "none", "-webkit-user-select": "none", + "-khtml-user-select": "none", "-moz-user-select": "none", "top": "0px"}) + .bind("mousedown", startSplitMouse); + // Use our cursor unless the style specifies a non-default cursor + if (/^(auto|default|)$/.test(bar.css("cursor"))) + bar.css("cursor", opts.cursor); + + // Cache several dimensions for speed, rather than re-querying constantly + bar._DA = bar[0][opts.pxSplit]; + splitter._PBF = $.boxModel ? dimSum(splitter, "border" + opts.side3 + "Width", "border" + opts.side4 + "Width") : 0; + splitter._PBA = $.boxModel ? dimSum(splitter, "border" + opts.side1 + "Width", "border" + opts.side2 + "Width") : 0; + A._pane = opts.side1; + B._pane = opts.side2; + $.each([A,B], function() { + this._min = opts["min" + this._pane] || dimSum(this, "min-" + opts.split); + this._max = opts["max" + this._pane] || dimSum(this, "max-" + opts.split) || 9999; + this._init = opts["size" + this._pane] === true ? + parseInt($.curCSS(this[0], opts.split)) : opts["size" + this._pane]; + }); + + // Determine initial position, get from cookie if specified + var initPos = A._init; + if (!isNaN(B._init)) // recalc initial B size as an offset from the top or left side + initPos = splitter[0][opts.pxSplit] - splitter._PBA - B._init - bar._DA; + if (opts.cookie) { + if (!$.cookie) + alert('jQuery.splitter(): jQuery cookie plugin required'); + var ckpos = parseInt($.cookie(opts.cookie)); + if (!isNaN(ckpos)) + initPos = ckpos; + $(window).bind("unload", function() { + var state = String(bar.css(opts.origin)); // current location of splitbar + $.cookie(opts.cookie, state, {expires: opts.cookieExpires || 365, + path: opts.cookiePath || document.location.pathname}); + }); + } + if (isNaN(initPos)) // King Solomon's algorithm + initPos = Math.round((splitter[0][opts.pxSplit] - splitter._PBA - bar._DA) / 2); + + // Resize event propagation and splitter sizing + if (opts.anchorToWindow) { + // Account for margin or border on the splitter container and enforce min height + splitter._hadjust = dimSum(splitter, "borderTopWidth", "borderBottomWidth", "marginBottom"); + splitter._hmin = Math.max(dimSum(splitter, "minHeight"), 20); + $(window).bind("resize", + function() { + var top = splitter.offset().top; + var wh = $(window).height(); + splitter.css("height", Math.max(wh - top - splitter._hadjust, splitter._hmin) + "px"); + if (!$.browser.msie) splitter.trigger("resize"); + }).trigger("resize"); + } + else if (opts.resizeToWidth && !$.browser.msie) + $(window).bind("resize", function() { + splitter.trigger("resize"); + }); + + // Resize event handler; triggered immediately to set initial position + splitter.bind("resize", + function(e, size) { + // Custom events bubble in jQuery 1.3; don't Yo Dawg + if (e.target != this) return; + // Determine new width/height of splitter container + splitter._DF = splitter[0][opts.pxFixed] - splitter._PBF; + splitter._DA = splitter[0][opts.pxSplit] - splitter._PBA; + // Bail if splitter isn't visible or content isn't there yet + if (splitter._DF <= 0 || splitter._DA <= 0) return; + // Re-divvy the adjustable dimension; maintain size of the preferred pane + resplit(!isNaN(size) ? size : (!(opts.sizeRight || opts.sizeBottom) ? A[0][opts.pxSplit] : + splitter._DA - B[0][opts.pxSplit] - bar._DA)); + }).trigger("resize", [initPos]); + }); + }; + +})(jQuery); diff --git a/apiDocumentation/js/jquery.tools.min.js b/apiDocumentation/js/jquery.tools.min.js new file mode 100644 index 0000000..92308ad --- /dev/null +++ b/apiDocumentation/js/jquery.tools.min.js @@ -0,0 +1,115 @@ +/* + * jQuery Tools 1.2.5 - The missing UI library for the Web + * + * [toolbox.flashembed, toolbox.history, toolbox.expose, toolbox.mousewheel, tabs, tabs.slideshow, tooltip, tooltip.slide, tooltip.dynamic, scrollable, scrollable.autoscroll, scrollable.navigator, overlay, overlay.apple, dateinput, rangeinput, validator] + * + * NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE. + * + * http://flowplayer.org/tools/ + * + * jquery.event.wheel.js - rev 1 + * Copyright (c) 2008, Three Dub Media (http://threedubmedia.com) + * Liscensed under the MIT License (MIT-LICENSE.txt) + * http://www.opensource.org/licenses/mit-license.php + * Created: 2008-07-01 | Updated: 2008-07-14 + * + * ----- + * + * File generated: Wed Sep 22 06:12:53 GMT 2010 + */ +(function(){function f(a,b){if(b)for(var c in b)if(b.hasOwnProperty(c))a[c]=b[c];return a}function l(a,b){var c=[];for(var d in a)if(a.hasOwnProperty(d))c[d]=b(a[d]);return c}function m(a,b,c){if(e.isSupported(b.version))a.innerHTML=e.getHTML(b,c);else if(b.expressInstall&&e.isSupported([6,65]))a.innerHTML=e.getHTML(f(b,{src:b.expressInstall}),{MMredirectURL:location.href,MMplayerType:"PlugIn",MMdoctitle:document.title});else{if(!a.innerHTML.replace(/\s/g,"")){a.innerHTML="

                                                                                                                  Flash version "+b.version+ +" or greater is required

                                                                                                                  "+(g[0]>0?"Your version is "+g:"You have no flash plugin installed")+"

                                                                                                                  "+(a.tagName=="A"?"

                                                                                                                  Click here to download latest version

                                                                                                                  ":"

                                                                                                                  Download latest version from here

                                                                                                                  ");if(a.tagName=="A")a.onclick=function(){location.href=k}}if(b.onFail){var d=b.onFail.call(this);if(typeof d=="string")a.innerHTML=d}}if(i)window[b.id]=document.getElementById(b.id);f(this,{getRoot:function(){return a},getOptions:function(){return b},getConf:function(){return c}, +getApi:function(){return a.firstChild}})}var i=document.all,k="http://www.adobe.com/go/getflashplayer",n=typeof jQuery=="function",o=/(\d+)[^\d]+(\d+)[^\d]*(\d*)/,j={width:"100%",height:"100%",id:"_"+(""+Math.random()).slice(9),allowfullscreen:true,allowscriptaccess:"always",quality:"high",version:[3,0],onFail:null,expressInstall:null,w3c:false,cachebusting:false};window.attachEvent&&window.attachEvent("onbeforeunload",function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){}}); +window.flashembed=function(a,b,c){if(typeof a=="string")a=document.getElementById(a.replace("#",""));if(a){if(typeof b=="string")b={src:b};return new m(a,f(f({},j),b),c)}};var e=f(window.flashembed,{conf:j,getVersion:function(){var a,b;try{b=navigator.plugins["Shockwave Flash"].description.slice(16)}catch(c){try{b=(a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"))&&a.GetVariable("$version")}catch(d){try{b=(a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"))&&a.GetVariable("$version")}catch(h){}}}return(b= +o.exec(b))?[b[1],b[3]]:[0,0]},asString:function(a){if(a===null||a===undefined)return null;var b=typeof a;if(b=="object"&&a.push)b="array";switch(b){case "string":a=a.replace(new RegExp('(["\\\\])',"g"),"\\$1");a=a.replace(/^\s?(\d+\.?\d+)%/,"$1pct");return'"'+a+'"';case "array":return"["+l(a,function(d){return e.asString(d)}).join(",")+"]";case "function":return'"function()"';case "object":b=[];for(var c in a)a.hasOwnProperty(c)&&b.push('"'+c+'":'+e.asString(a[c]));return"{"+b.join(",")+"}"}return String(a).replace(/\s/g, +" ").replace(/\'/g,'"')},getHTML:function(a,b){a=f({},a);var c='';a.width=a.height=a.id=a.w3c=a.src=null;a.onFail=a.version=a.expressInstall=null;for(var d in a)if(a[d])c+= +'';a="";if(b){for(var h in b)if(b[h]){d=b[h];a+=h+"="+(/function|object/.test(typeof d)?e.asString(d):d)+"&"}a=a.slice(0,-1);c+='"}c+="";return c},isSupported:function(a){return g[0]>a[0]||g[0]==a[0]&&g[1]>=a[1]}}),g=e.getVersion();if(n){jQuery.tools=jQuery.tools||{version:"1.2.5"};jQuery.tools.flashembed={conf:j};jQuery.fn.flashembed=function(a,b){return this.each(function(){$(this).data("flashembed",flashembed(this, +a,b))})}}})(); +(function(b){function h(c){if(c){var a=d.contentWindow.document;a.open().close();a.location.hash=c}}var g,d,f,i;b.tools=b.tools||{version:"1.2.5"};b.tools.history={init:function(c){if(!i){if(b.browser.msie&&b.browser.version<"8"){if(!d){d=b("