diff --git a/core/Tracker.php b/core/Tracker.php index 507190d089d..5b3c0c84ef4 100644 --- a/core/Tracker.php +++ b/core/Tracker.php @@ -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 @@ -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();