Skip to content

Commit

Permalink
Fixes #4681 Move the Event to the factory so it is executed right bef…
Browse files Browse the repository at this point in the history
…ore creating the object itself.

Hopefully this works, if not please comment. thanks for report!
  • Loading branch information
mattab committed Feb 15, 2014
1 parent 5bc25e8 commit d828bca
Showing 1 changed file with 20 additions and 20 deletions.
40 changes: 20 additions & 20 deletions core/Tracker.php
Expand Up @@ -501,6 +501,26 @@ protected function end()
*/
public static function factory($configDb)
{
/**
* Triggered before a connection to the database is established by the Tracker.
*
* This event can be used to change the database connection settings used by the Tracker.
*
* @param array $dbInfos Reference to an array containing database connection info,
* including:
*
* - **host**: The host name or IP address to the MySQL database.
* - **username**: The username to use when connecting to the
* database.
* - **password**: The password to use when connecting to the
* database.
* - **dbname**: The name of the Piwik MySQL database.
* - **port**: The MySQL database port to use.
* - **adapter**: either `'PDO_MYSQL'` or `'MYSQLI'`
* - **type**: The MySQL engine to use, for instance 'InnoDB'
*/
Piwik::postEvent('Tracker.getDatabaseConfig', array(&$configDb));

switch ($configDb['adapter']) {
case 'PDO\MYSQL':
case 'PDO_MYSQL': // old format pre Piwik 2
Expand All @@ -525,26 +545,6 @@ public static function connectPiwikTrackerDb()
$configDb['port'] = '3306';
}

/**
* Triggered before a connection to the database is established by the Tracker.
*
* This event can be used to change the database connection settings used by the Tracker.
*
* @param array $dbInfos Reference to an array containing database connection info,
* including:
*
* - **host**: The host name or IP address to the MySQL database.
* - **username**: The username to use when connecting to the
* database.
* - **password**: The password to use when connecting to the
* database.
* - **dbname**: The name of the Piwik MySQL database.
* - **port**: The MySQL database port to use.
* - **adapter**: either `'PDO_MYSQL'` or `'MYSQLI'`
* - **type**: The MySQL engine to use, for instance 'InnoDB'
*/
Piwik::postEvent('Tracker.getDatabaseConfig', array(&$configDb));

$db = Tracker::factory($configDb);
$db->connect();

Expand Down

0 comments on commit d828bca

Please sign in to comment.