Revert "Reworked Database stuff to be Datastore stuff"

This reverts commit ebd0018473.
This commit is contained in:
Josh Sherman 2013-02-26 15:14:17 -05:00
parent ebd0018473
commit d25b042d8e
12 changed files with 180 additions and 170 deletions

View file

@ -1,7 +1,7 @@
<?php <?php
/** /**
* Datastore Class File for PICKLES * Database Class File for PICKLES
* *
* PHP version 5 * PHP version 5
* *
@ -9,24 +9,26 @@
* Redistribution of these files must retain the above copyright notice. * Redistribution of these files must retain the above copyright notice.
* *
* @author Josh Sherman <pickles@joshtronic.com> * @author Josh Sherman <pickles@joshtronic.com>
* @copyright Copyright 2007-2013, Josh Sherman * @copyright Copyright 2007-2012, Josh Sherman
* @license http://www.opensource.org/licenses/mit-license.html * @license http://www.opensource.org/licenses/mit-license.html
* @package PICKLES * @package PICKLES
* @link https://github.com/joshtronic/pickles * @link https://github.com/joshtronic/pickles
*/ */
/** /**
* Datastore Factory * Database Factory
* *
* Generic class to simplify connecting to a datastore. * Generic class to simplify connecting to a database. All database objects
* should be created by this class to future proof against any internal changes
* to PICKLES.
*/ */
class Datastore extends Object class Database extends Object
{ {
/** /**
* Constructor * Constructor
* *
* Attempts to get an instance of the passed datastore name or attempts * Attempts to get an instance of the passed database type or attempts to
* to use a default specified in the config. * use a default specified in the config.
* *
* @param string $name optional name of the connection to use * @param string $name optional name of the connection to use
*/ */
@ -34,17 +36,16 @@ class Datastore extends Object
{ {
parent::__construct(); parent::__construct();
return Datastore::getInstance($name); return Database::getInstance($name);
} }
/** /**
* Get Instance * Get Instance
* *
* Looks up the datasource using the passed name and gets an instance * Looks up the datasource using the passed name and gets an instance of
* of it. Allows for easy sharing of certain classes within the system * it. Allows for easy sharing of certain classes within the system to
* to avoid the extra overhead of creating new objects each time. Also * avoid the extra overhead of creating new objects each time. Also avoids
* avoids the hassle of passing around variables (yeah I know, very * the hassle of passing around variables (yeah I know, very global-ish)
* global-ish, don't just me).
* *
* @static * @static
* @param string $name name of the datasource * @param string $name name of the datasource
@ -84,7 +85,7 @@ class Datastore extends Object
$datasource['driver'] = strtolower($datasource['driver']); $datasource['driver'] = strtolower($datasource['driver']);
if (!isset(self::$instances[$name])) if (!isset(self::$instances['Database'][$name]))
{ {
// Checks the driver is legit and scrubs the name // Checks the driver is legit and scrubs the name
switch ($datasource['driver']) switch ($datasource['driver'])
@ -98,8 +99,8 @@ class Datastore extends Object
break; break;
} }
// Instantiates our datastore class // Instantiates our database class
$class = 'Datastore_' . $class; $class = 'Database_' . $class;
$instance = new $class(); $instance = new $class();
// Sets our database parameters // Sets our database parameters
@ -115,11 +116,11 @@ class Datastore extends Object
// Caches the instance for possible reuse later // Caches the instance for possible reuse later
if (isset($instance)) if (isset($instance))
{ {
self::$instances[$name] = $instance; self::$instances['Database'][$name] = $instance;
} }
// Returns the instance // Returns the instance
return self::$instances[$name]; return self::$instances['Database'][$name];
} }
} }

View file

@ -1,7 +1,7 @@
<?php <?php
/** /**
* Common Datastore Class File for PICKLES * Common Database Class File for PICKLES
* *
* PHP version 5 * PHP version 5
* *
@ -9,19 +9,19 @@
* Redistribution of these files must retain the above copyright notice. * Redistribution of these files must retain the above copyright notice.
* *
* @author Josh Sherman <pickles@joshtronic.com> * @author Josh Sherman <pickles@joshtronic.com>
* @copyright Copyright 2007-2013, Josh Sherman * @copyright Copyright 2007-2012, Josh Sherman
* @license http://www.opensource.org/licenses/mit-license.html * @license http://www.opensource.org/licenses/mit-license.html
* @package PICKLES * @package PICKLES
* @link https://github.com/joshtronic/pickles * @link https://github.com/joshtronic/pickles
*/ */
/** /**
* Common Datastore Abstraction Layer * Common Database Abstraction Layer
* *
* Parent class that our datastore classes should be extending. * Parent class that our database driver classes should be extending. Contains
* Contains basic functionality for instantiation and interfacing. * basic functionality for instantiation and interfacing.
*/ */
abstract class Datastore_Common extends Object abstract class Database_Common extends Object
{ {
/** /**
* Driver * Driver
@ -66,9 +66,9 @@ abstract class Datastore_Common extends Object
public $password = null; public $password = null;
/** /**
* Database name (or number) for the server * Database name for the server
* *
* @var string or integer * @var string
*/ */
public $database = null; public $database = null;
@ -94,9 +94,30 @@ abstract class Datastore_Common extends Object
public $results = null; public $results = null;
/** /**
* Open Connection * Constructor
*/
public function __construct()
{
parent::__construct();
// Checks the driver is set and available
if ($this->driver == null)
{
throw new Exception('Driver name is not set');
}
else
{
if (extension_loaded($this->driver) == false)
{
throw new Exception('Driver "' . $this->driver . '" is not loaded');
}
}
}
/**
* Open Database Connection
* *
* Establishes a connection to the datastore based on the configuration * Establishes a connection to the MySQL database based on the configuration
* options that are available in the Config object. * options that are available in the Config object.
* *
* @abstract * @abstract
@ -105,7 +126,7 @@ abstract class Datastore_Common extends Object
abstract public function open(); abstract public function open();
/** /**
* Close Connection * Close Database Connection
* *
* Sets the connection to null regardless of state. * Sets the connection to null regardless of state.
* *

View file

@ -20,7 +20,7 @@
* *
* Parent class for any of our database classes that use PDO. * Parent class for any of our database classes that use PDO.
*/ */
class Datastore_PDO_Common extends Datastore_Common class Database_PDO_Common extends Database_Common
{ {
/** /**
* DSN format * DSN format
@ -49,19 +49,6 @@ class Datastore_PDO_Common extends Datastore_Common
{ {
parent::__construct(); parent::__construct();
// Checks the driver is set and available
if ($this->driver == null)
{
throw new Exception('Driver name is not set');
}
else
{
if (extension_loaded($this->driver) == false)
{
throw new Exception('Driver "' . $this->driver . '" is not loaded');
}
}
// Checks that the prefix is set // Checks that the prefix is set
if ($this->dsn == null) if ($this->dsn == null)
{ {
@ -81,8 +68,8 @@ class Datastore_PDO_Common extends Datastore_Common
/** /**
* Opens database connection * Opens database connection
* *
* Establishes a connection to the database based on the set * Establishes a connection to the database based on the set configuration
* configuration options. * options.
* *
* @return boolean true on success, throws an exception overwise * @return boolean true on success, throws an exception overwise
*/ */
@ -138,8 +125,8 @@ class Datastore_PDO_Common extends Datastore_Common
/** /**
* Executes an SQL Statement * Executes an SQL Statement
* *
* Executes a standard or prepared query based on passed parameters. * Executes a standard or prepared query based on passed parameters. All
* All queries are logged to a file as well as timed and logged in the * queries are logged to a file as well as timed and logged in the
* execution time is over 1 second. * execution time is over 1 second.
* *
* @param string $sql statement to execute * @param string $sql statement to execute

View file

@ -9,7 +9,7 @@
* Redistribution of these files must retain the above copyright notice. * Redistribution of these files must retain the above copyright notice.
* *
* @author Josh Sherman <pickles@joshtronic.com> * @author Josh Sherman <pickles@joshtronic.com>
* @copyright Copyright 2007-2013, Josh Sherman * @copyright Copyright 2007-2012, Josh Sherman
* @license http://www.opensource.org/licenses/mit-license.html * @license http://www.opensource.org/licenses/mit-license.html
* @package PICKLES * @package PICKLES
* @link https://github.com/joshtronic/pickles * @link https://github.com/joshtronic/pickles
@ -18,7 +18,7 @@
/** /**
* MySQL Database Abstraction Layer * MySQL Database Abstraction Layer
*/ */
class Datastore_PDO_MySQL extends Datastore_PDO_Common class Database_PDO_MySQL extends Database_PDO_Common
{ {
/** /**
* Driver * Driver

View file

@ -18,7 +18,7 @@
/** /**
* PostgreSQL Database Abstraction Layer * PostgreSQL Database Abstraction Layer
*/ */
class Datastore_PDO_PostgreSQL extends Datastore_PDO_Common class Database_PDO_PostgreSQL extends Database_PDO_Common
{ {
/** /**
* Driver * Driver

View file

@ -18,7 +18,7 @@
/** /**
* SQLite Database Abstraction Layer * SQLite Database Abstraction Layer
*/ */
class Datastore_PDO_SQLite extends Datastore_PDO_Common class Database_PDO_SQLite extends Database_PDO_Common
{ {
/** /**
* Driver * Driver

View file

@ -310,7 +310,7 @@ class Model extends Object
parent::__construct(); parent::__construct();
// Gets an instance of the database and check which it is // Gets an instance of the database and check which it is
$this->db = Datastore::getInstance(); $this->db = Database::getInstance();
$this->use_cache = $this->db->cache; $this->use_cache = $this->db->cache;
$this->mysql = ($this->db->driver == 'pdo_mysql'); $this->mysql = ($this->db->driver == 'pdo_mysql');
$this->postgresql = ($this->db->driver == 'pdo_pgsql'); $this->postgresql = ($this->db->driver == 'pdo_pgsql');

View file

@ -9,7 +9,7 @@
* Redistribution of these files must retain the above copyright notice. * Redistribution of these files must retain the above copyright notice.
* *
* @author Josh Sherman <pickles@joshtronic.com> * @author Josh Sherman <pickles@joshtronic.com>
* @copyright Copyright 2007-2013, Josh Sherman * @copyright Copyright 2007-2012, Josh Sherman
* @license http://www.opensource.org/licenses/mit-license.html * @license http://www.opensource.org/licenses/mit-license.html
* @package PICKLES * @package PICKLES
* @link https://github.com/joshtronic/pickles * @link https://github.com/joshtronic/pickles
@ -18,13 +18,12 @@
/** /**
* Module Class * Module Class
* *
* This is a parent class that all PICKLES modules should be extending. * This is a parent class that all PICKLES modules should be extending. Each
* Each module can specify it's own meta data and whether or not a user * module can specify it's own meta data and whether or not a user must be
* must be properly authenticated to view the page. Currently any pages * properly authenticated to view the page. Currently any pages without a
* without a template are treated as pages being requested via AJAX and the * template are treated as pages being requested via AJAX and the return will
* return will be JSON encoded. In the future this may need to be changed * be JSON encoded. In the future this may need to be changed out for logic
* out for logic that allows the requested module to specify what display * that allows the requested module to specify what display type(s) it can use.
* type(s) it can use.
*/ */
class Module extends Object class Module extends Object
{ {
@ -127,9 +126,9 @@ class Module extends Object
/** /**
* Hash * Hash
* *
* Whether or not to validate the security hash. Boolean true will * Whether or not to validate the security hash. Boolean true will indicate
* indicate using the name of the module as the hash, a string value * using the name of the module as the hash, a string value will use the
* will use the value instead. * value instead.
* *
* @access protected * @access protected
* @var string or boolean, null by default * @var string or boolean, null by default
@ -150,10 +149,9 @@ class Module extends Object
/** /**
* Default Template * Default Template
* *
* Defaults to null but could be set to any valid template basename. * Defaults to null but could be set to any valid template basename. The
* The value is overwritten by the config value if not set by the * value is overwritten by the config value if not set by the module. The
* module. The display engine determines what the file extension should * display engine determines what the file extension should be.
* be.
* *
* @access protected * @access protected
* @var string, 'index' by default * @var string, 'index' by default
@ -165,8 +163,8 @@ class Module extends Object
* *
* Array that is returned to the template in the case of the module not * Array that is returned to the template in the case of the module not
* returning anything itself. This is somewhat of a one way trip as you * returning anything itself. This is somewhat of a one way trip as you
* cannot get the variable unless you reference the return array * cannot get the variable unless you reference the return array explicitly
* explicitly $this->return['variable'] * $this->return['variable']
* *
* @access protected * @access protected
* @var array * @var array
@ -177,10 +175,9 @@ class Module extends Object
* Constructor * Constructor
* *
* The constructor does nothing by default but can be passed a boolean * The constructor does nothing by default but can be passed a boolean
* variable to tell it to automatically run the __default() method. * variable to tell it to automatically run the __default() method. This is
* This is typically used when a module is called outside of the scope * typically used when a module is called outside of the scope of the
* of the controller (the registration page calls the login page in * controller (the registration page calls the login page in this manner.
* this manner).
* *
* @param boolean $autorun optional flag to autorun __default() * @param boolean $autorun optional flag to autorun __default()
*/ */
@ -189,7 +186,7 @@ class Module extends Object
parent::__construct(); parent::__construct();
$this->cache = Cache::getInstance(); $this->cache = Cache::getInstance();
$this->db = Datastore::getInstance(); $this->db = Database::getInstance();
if ($autorun === true) if ($autorun === true)
{ {
@ -201,10 +198,10 @@ class Module extends Object
* Default "Magic" Method * Default "Magic" Method
* *
* This function is overloaded by the module. The __default() method is * This function is overloaded by the module. The __default() method is
* where you want to place any code that needs to be executed at * where you want to place any code that needs to be executed at runtime.
* runtime. The reason the code isn't in the constructor is because the * The reason the code isn't in the constructor is because the module must
* module must be instantiated before the code is executed so that the * be instantiated before the code is executed so that the controller
* controller script is aware of the authentication requirements. * script is aware of the authentication requirements.
*/ */
public function __default() public function __default()
{ {
@ -214,10 +211,9 @@ class Module extends Object
/** /**
* Magic Setter Method * Magic Setter Method
* *
* Places the variables that are being modified in the return array * Places the variables that are being modified in the return array that is
* that is returned if nothing is returned by the module itself. This * returned if nothing is returned by the module itself. This also prohibits
* also prohibits the direct modification of module variables which * the direct modification of module variables which could cause issues.
* could cause issues.
* *
* @param string $name name of the variable to be set * @param string $name name of the variable to be set
* @param mixed $value value of the variable to be set * @param mixed $value value of the variable to be set
@ -230,8 +226,8 @@ class Module extends Object
/** /**
* Magic Getter Method * Magic Getter Method
* *
* Attempts to load the module variable. If it's not set, will attempt * Attempts to load the module variable. If it's not set, will attempt to
* to load from the config. * load from the config.
* *
* @param string $name name of the variable requested * @param string $name name of the variable requested
* @return mixed value of the variable or boolean false * @return mixed value of the variable or boolean false

View file

@ -179,7 +179,7 @@ class Session extends Object
$this->table = $table; $this->table = $table;
// Gets a database instance // Gets a database instance
$this->db = Datastore::getInstance($this->datasource); $this->db = Database::getInstance($this->datasource);
// Initializes the session // Initializes the session
$this->initialize(); $this->initialize();

175
jar.php
View file

@ -1781,7 +1781,7 @@ class Convert
} }
/** /**
* Common Datastore Class File for PICKLES * Common Database Class File for PICKLES
* *
* PHP version 5 * PHP version 5
* *
@ -1789,19 +1789,19 @@ class Convert
* Redistribution of these files must retain the above copyright notice. * Redistribution of these files must retain the above copyright notice.
* *
* @author Josh Sherman <pickles@joshtronic.com> * @author Josh Sherman <pickles@joshtronic.com>
* @copyright Copyright 2007-2013, Josh Sherman * @copyright Copyright 2007-2012, Josh Sherman
* @license http://www.opensource.org/licenses/mit-license.html * @license http://www.opensource.org/licenses/mit-license.html
* @package PICKLES * @package PICKLES
* @link https://github.com/joshtronic/pickles * @link https://github.com/joshtronic/pickles
*/ */
/** /**
* Common Datastore Abstraction Layer * Common Database Abstraction Layer
* *
* Parent class that our datastore classes should be extending. * Parent class that our database driver classes should be extending. Contains
* Contains basic functionality for instantiation and interfacing. * basic functionality for instantiation and interfacing.
*/ */
abstract class Datastore_Common extends Object abstract class Database_Common extends Object
{ {
/** /**
* Driver * Driver
@ -1846,9 +1846,9 @@ abstract class Datastore_Common extends Object
public $password = null; public $password = null;
/** /**
* Database name (or number) for the server * Database name for the server
* *
* @var string or integer * @var string
*/ */
public $database = null; public $database = null;
@ -1874,9 +1874,30 @@ abstract class Datastore_Common extends Object
public $results = null; public $results = null;
/** /**
* Open Connection * Constructor
*/
public function __construct()
{
parent::__construct();
// Checks the driver is set and available
if ($this->driver == null)
{
throw new Exception('Driver name is not set');
}
else
{
if (extension_loaded($this->driver) == false)
{
throw new Exception('Driver "' . $this->driver . '" is not loaded');
}
}
}
/**
* Open Database Connection
* *
* Establishes a connection to the datastore based on the configuration * Establishes a connection to the MySQL database based on the configuration
* options that are available in the Config object. * options that are available in the Config object.
* *
* @abstract * @abstract
@ -1885,7 +1906,7 @@ abstract class Datastore_Common extends Object
abstract public function open(); abstract public function open();
/** /**
* Close Connection * Close Database Connection
* *
* Sets the connection to null regardless of state. * Sets the connection to null regardless of state.
* *
@ -1915,7 +1936,7 @@ abstract class Datastore_Common extends Object
* *
* Parent class for any of our database classes that use PDO. * Parent class for any of our database classes that use PDO.
*/ */
class Datastore_PDO_Common extends Datastore_Common class Database_PDO_Common extends Database_Common
{ {
/** /**
* DSN format * DSN format
@ -1944,19 +1965,6 @@ class Datastore_PDO_Common extends Datastore_Common
{ {
parent::__construct(); parent::__construct();
// Checks the driver is set and available
if ($this->driver == null)
{
throw new Exception('Driver name is not set');
}
else
{
if (extension_loaded($this->driver) == false)
{
throw new Exception('Driver "' . $this->driver . '" is not loaded');
}
}
// Checks that the prefix is set // Checks that the prefix is set
if ($this->dsn == null) if ($this->dsn == null)
{ {
@ -1976,8 +1984,8 @@ class Datastore_PDO_Common extends Datastore_Common
/** /**
* Opens database connection * Opens database connection
* *
* Establishes a connection to the database based on the set * Establishes a connection to the database based on the set configuration
* configuration options. * options.
* *
* @return boolean true on success, throws an exception overwise * @return boolean true on success, throws an exception overwise
*/ */
@ -2033,8 +2041,8 @@ class Datastore_PDO_Common extends Datastore_Common
/** /**
* Executes an SQL Statement * Executes an SQL Statement
* *
* Executes a standard or prepared query based on passed parameters. * Executes a standard or prepared query based on passed parameters. All
* All queries are logged to a file as well as timed and logged in the * queries are logged to a file as well as timed and logged in the
* execution time is over 1 second. * execution time is over 1 second.
* *
* @param string $sql statement to execute * @param string $sql statement to execute
@ -2183,7 +2191,7 @@ class Datastore_PDO_Common extends Datastore_Common
* Redistribution of these files must retain the above copyright notice. * Redistribution of these files must retain the above copyright notice.
* *
* @author Josh Sherman <pickles@joshtronic.com> * @author Josh Sherman <pickles@joshtronic.com>
* @copyright Copyright 2007-2013, Josh Sherman * @copyright Copyright 2007-2012, Josh Sherman
* @license http://www.opensource.org/licenses/mit-license.html * @license http://www.opensource.org/licenses/mit-license.html
* @package PICKLES * @package PICKLES
* @link https://github.com/joshtronic/pickles * @link https://github.com/joshtronic/pickles
@ -2192,7 +2200,7 @@ class Datastore_PDO_Common extends Datastore_Common
/** /**
* MySQL Database Abstraction Layer * MySQL Database Abstraction Layer
*/ */
class Datastore_PDO_MySQL extends Datastore_PDO_Common class Database_PDO_MySQL extends Database_PDO_Common
{ {
/** /**
* Driver * Driver
@ -2234,7 +2242,7 @@ class Datastore_PDO_MySQL extends Datastore_PDO_Common
/** /**
* PostgreSQL Database Abstraction Layer * PostgreSQL Database Abstraction Layer
*/ */
class Datastore_PDO_PostgreSQL extends Datastore_PDO_Common class Database_PDO_PostgreSQL extends Database_PDO_Common
{ {
/** /**
* Driver * Driver
@ -2276,7 +2284,7 @@ class Datastore_PDO_PostgreSQL extends Datastore_PDO_Common
/** /**
* SQLite Database Abstraction Layer * SQLite Database Abstraction Layer
*/ */
class Datastore_PDO_SQLite extends Datastore_PDO_Common class Database_PDO_SQLite extends Database_PDO_Common
{ {
/** /**
* Driver * Driver
@ -2294,7 +2302,7 @@ class Datastore_PDO_SQLite extends Datastore_PDO_Common
} }
/** /**
* Datastore Class File for PICKLES * Database Class File for PICKLES
* *
* PHP version 5 * PHP version 5
* *
@ -2302,24 +2310,26 @@ class Datastore_PDO_SQLite extends Datastore_PDO_Common
* Redistribution of these files must retain the above copyright notice. * Redistribution of these files must retain the above copyright notice.
* *
* @author Josh Sherman <pickles@joshtronic.com> * @author Josh Sherman <pickles@joshtronic.com>
* @copyright Copyright 2007-2013, Josh Sherman * @copyright Copyright 2007-2012, Josh Sherman
* @license http://www.opensource.org/licenses/mit-license.html * @license http://www.opensource.org/licenses/mit-license.html
* @package PICKLES * @package PICKLES
* @link https://github.com/joshtronic/pickles * @link https://github.com/joshtronic/pickles
*/ */
/** /**
* Datastore Factory * Database Factory
* *
* Generic class to simplify connecting to a datastore. * Generic class to simplify connecting to a database. All database objects
* should be created by this class to future proof against any internal changes
* to PICKLES.
*/ */
class Datastore extends Object class Database extends Object
{ {
/** /**
* Constructor * Constructor
* *
* Attempts to get an instance of the passed datastore name or attempts * Attempts to get an instance of the passed database type or attempts to
* to use a default specified in the config. * use a default specified in the config.
* *
* @param string $name optional name of the connection to use * @param string $name optional name of the connection to use
*/ */
@ -2327,17 +2337,16 @@ class Datastore extends Object
{ {
parent::__construct(); parent::__construct();
return Datastore::getInstance($name); return Database::getInstance($name);
} }
/** /**
* Get Instance * Get Instance
* *
* Looks up the datasource using the passed name and gets an instance * Looks up the datasource using the passed name and gets an instance of
* of it. Allows for easy sharing of certain classes within the system * it. Allows for easy sharing of certain classes within the system to
* to avoid the extra overhead of creating new objects each time. Also * avoid the extra overhead of creating new objects each time. Also avoids
* avoids the hassle of passing around variables (yeah I know, very * the hassle of passing around variables (yeah I know, very global-ish)
* global-ish, don't just me).
* *
* @static * @static
* @param string $name name of the datasource * @param string $name name of the datasource
@ -2377,7 +2386,7 @@ class Datastore extends Object
$datasource['driver'] = strtolower($datasource['driver']); $datasource['driver'] = strtolower($datasource['driver']);
if (!isset(self::$instances[$name])) if (!isset(self::$instances['Database'][$name]))
{ {
// Checks the driver is legit and scrubs the name // Checks the driver is legit and scrubs the name
switch ($datasource['driver']) switch ($datasource['driver'])
@ -2391,8 +2400,8 @@ class Datastore extends Object
break; break;
} }
// Instantiates our datastore class // Instantiates our database class
$class = 'Datastore_' . $class; $class = 'Database_' . $class;
$instance = new $class(); $instance = new $class();
// Sets our database parameters // Sets our database parameters
@ -2408,11 +2417,11 @@ class Datastore extends Object
// Caches the instance for possible reuse later // Caches the instance for possible reuse later
if (isset($instance)) if (isset($instance))
{ {
self::$instances[$name] = $instance; self::$instances['Database'][$name] = $instance;
} }
// Returns the instance // Returns the instance
return self::$instances[$name]; return self::$instances['Database'][$name];
} }
} }
@ -4876,7 +4885,7 @@ class Model extends Object
parent::__construct(); parent::__construct();
// Gets an instance of the database and check which it is // Gets an instance of the database and check which it is
$this->db = Datastore::getInstance(); $this->db = Database::getInstance();
$this->use_cache = $this->db->cache; $this->use_cache = $this->db->cache;
$this->mysql = ($this->db->driver == 'pdo_mysql'); $this->mysql = ($this->db->driver == 'pdo_mysql');
$this->postgresql = ($this->db->driver == 'pdo_pgsql'); $this->postgresql = ($this->db->driver == 'pdo_pgsql');
@ -6095,7 +6104,7 @@ class Model extends Object
* Redistribution of these files must retain the above copyright notice. * Redistribution of these files must retain the above copyright notice.
* *
* @author Josh Sherman <pickles@joshtronic.com> * @author Josh Sherman <pickles@joshtronic.com>
* @copyright Copyright 2007-2013, Josh Sherman * @copyright Copyright 2007-2012, Josh Sherman
* @license http://www.opensource.org/licenses/mit-license.html * @license http://www.opensource.org/licenses/mit-license.html
* @package PICKLES * @package PICKLES
* @link https://github.com/joshtronic/pickles * @link https://github.com/joshtronic/pickles
@ -6104,13 +6113,12 @@ class Model extends Object
/** /**
* Module Class * Module Class
* *
* This is a parent class that all PICKLES modules should be extending. * This is a parent class that all PICKLES modules should be extending. Each
* Each module can specify it's own meta data and whether or not a user * module can specify it's own meta data and whether or not a user must be
* must be properly authenticated to view the page. Currently any pages * properly authenticated to view the page. Currently any pages without a
* without a template are treated as pages being requested via AJAX and the * template are treated as pages being requested via AJAX and the return will
* return will be JSON encoded. In the future this may need to be changed * be JSON encoded. In the future this may need to be changed out for logic
* out for logic that allows the requested module to specify what display * that allows the requested module to specify what display type(s) it can use.
* type(s) it can use.
*/ */
class Module extends Object class Module extends Object
{ {
@ -6213,9 +6221,9 @@ class Module extends Object
/** /**
* Hash * Hash
* *
* Whether or not to validate the security hash. Boolean true will * Whether or not to validate the security hash. Boolean true will indicate
* indicate using the name of the module as the hash, a string value * using the name of the module as the hash, a string value will use the
* will use the value instead. * value instead.
* *
* @access protected * @access protected
* @var string or boolean, null by default * @var string or boolean, null by default
@ -6236,10 +6244,9 @@ class Module extends Object
/** /**
* Default Template * Default Template
* *
* Defaults to null but could be set to any valid template basename. * Defaults to null but could be set to any valid template basename. The
* The value is overwritten by the config value if not set by the * value is overwritten by the config value if not set by the module. The
* module. The display engine determines what the file extension should * display engine determines what the file extension should be.
* be.
* *
* @access protected * @access protected
* @var string, 'index' by default * @var string, 'index' by default
@ -6251,8 +6258,8 @@ class Module extends Object
* *
* Array that is returned to the template in the case of the module not * Array that is returned to the template in the case of the module not
* returning anything itself. This is somewhat of a one way trip as you * returning anything itself. This is somewhat of a one way trip as you
* cannot get the variable unless you reference the return array * cannot get the variable unless you reference the return array explicitly
* explicitly $this->return['variable'] * $this->return['variable']
* *
* @access protected * @access protected
* @var array * @var array
@ -6263,10 +6270,9 @@ class Module extends Object
* Constructor * Constructor
* *
* The constructor does nothing by default but can be passed a boolean * The constructor does nothing by default but can be passed a boolean
* variable to tell it to automatically run the __default() method. * variable to tell it to automatically run the __default() method. This is
* This is typically used when a module is called outside of the scope * typically used when a module is called outside of the scope of the
* of the controller (the registration page calls the login page in * controller (the registration page calls the login page in this manner.
* this manner).
* *
* @param boolean $autorun optional flag to autorun __default() * @param boolean $autorun optional flag to autorun __default()
*/ */
@ -6275,7 +6281,7 @@ class Module extends Object
parent::__construct(); parent::__construct();
$this->cache = Cache::getInstance(); $this->cache = Cache::getInstance();
$this->db = Datastore::getInstance(); $this->db = Database::getInstance();
if ($autorun === true) if ($autorun === true)
{ {
@ -6287,10 +6293,10 @@ class Module extends Object
* Default "Magic" Method * Default "Magic" Method
* *
* This function is overloaded by the module. The __default() method is * This function is overloaded by the module. The __default() method is
* where you want to place any code that needs to be executed at * where you want to place any code that needs to be executed at runtime.
* runtime. The reason the code isn't in the constructor is because the * The reason the code isn't in the constructor is because the module must
* module must be instantiated before the code is executed so that the * be instantiated before the code is executed so that the controller
* controller script is aware of the authentication requirements. * script is aware of the authentication requirements.
*/ */
public function __default() public function __default()
{ {
@ -6300,10 +6306,9 @@ class Module extends Object
/** /**
* Magic Setter Method * Magic Setter Method
* *
* Places the variables that are being modified in the return array * Places the variables that are being modified in the return array that is
* that is returned if nothing is returned by the module itself. This * returned if nothing is returned by the module itself. This also prohibits
* also prohibits the direct modification of module variables which * the direct modification of module variables which could cause issues.
* could cause issues.
* *
* @param string $name name of the variable to be set * @param string $name name of the variable to be set
* @param mixed $value value of the variable to be set * @param mixed $value value of the variable to be set
@ -6316,8 +6321,8 @@ class Module extends Object
/** /**
* Magic Getter Method * Magic Getter Method
* *
* Attempts to load the module variable. If it's not set, will attempt * Attempts to load the module variable. If it's not set, will attempt to
* to load from the config. * load from the config.
* *
* @param string $name name of the variable requested * @param string $name name of the variable requested
* @return mixed value of the variable or boolean false * @return mixed value of the variable or boolean false
@ -7558,7 +7563,7 @@ class Session extends Object
$this->table = $table; $this->table = $table;
// Gets a database instance // Gets a database instance
$this->db = Datastore::getInstance($this->datasource); $this->db = Database::getInstance($this->datasource);
// Initializes the session // Initializes the session
$this->initialize(); $this->initialize();