Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormattab <matthieu.aubry@gmail.com>2013-10-07 09:15:44 +0400
committermattab <matthieu.aubry@gmail.com>2013-10-07 09:15:44 +0400
commit4d3527c3dd2aaf5fa388b670120eb48f439fd9e2 (patch)
treebe5a2fa4da6f25c89b26efdee07440fe3a3135f1
parent18740112ada74a4580bc7ec526cb4bedeeff7b27 (diff)
Refs #4125 commit SQL Update file2.0-a13
-rw-r--r--core/Updates/2.0-a13.php77
1 files changed, 77 insertions, 0 deletions
diff --git a/core/Updates/2.0-a13.php b/core/Updates/2.0-a13.php
new file mode 100644
index 0000000000..346cb88be0
--- /dev/null
+++ b/core/Updates/2.0-a13.php
@@ -0,0 +1,77 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ * @category Piwik
+ * @package Piwik
+ */
+use Piwik\Common;
+use Piwik\Updater;
+use Piwik\Updates;
+use Piwik\Db;
+
+/**
+ * @package Updates
+ */
+class Piwik_Updates_2_0_a13 extends Updates
+{
+ public static function getSql($schema = 'Myisam')
+ {
+ // Renaming old archived records now that the plugin is called Referrers
+ $sql = array();
+ $tables = \Piwik\DbHelper::getTablesInstalled();
+ foreach ($tables as $tableName) {
+ if (strpos($tableName, 'archive_') !== false) {
+ $sql['UPDATE ' . $tableName . ' SET `name`=REPLACE(`name`, \'Referers_\', \'Referrers_\') WHERE `name` LIKE \'Referers_%\''] = false;
+ }
+ }
+ $errorCodeTableNotFound = '1146';
+
+ // Rename custom segments containing Referers segments
+ $sql['UPDATE ' . Common::prefixTable('segment') . ' SET `definition`=REPLACE(`definition`, \'referer\', \'referrer\') WHERE `definition` LIKE \'%referer%\''] = $errorCodeTableNotFound;
+
+ // Rename Referrers reports within scheduled reports
+ $sql['UPDATE ' . Common::prefixTable('report') . ' SET `reports`=REPLACE(`reports`, \'Referer\', \'Referrer\') WHERE `reports` LIKE \'%Referer%\''] = $errorCodeTableNotFound;
+
+ // Rename Referrers widgets in custom dashboards
+ $sql['UPDATE ' . Common::prefixTable('user_dashboard') . ' SET `layout`=REPLACE(`layout`, \'Referer\', \'Referrer\') WHERE `layout` LIKE \'%Referer%\''] = $errorCodeTableNotFound;
+
+ $sql['UPDATE ' . Common::prefixTable('option') . ' SET `option_name` = \'version_ScheduledReports\' WHERE `option_name` = \'version_PDFReports\' '] = false;
+
+ return $sql;
+ }
+
+ public static function update()
+ {
+ // delete schema version_
+ \Piwik\Option::getInstance()->delete('version_Referers');
+
+ Updater::updateDatabase(__FILE__, self::getSql());
+ \Piwik\PluginsManager::getInstance()->deactivatePlugin('Referers');
+ \Piwik\PluginsManager::getInstance()->deactivatePlugin('PDFReports');
+
+ // Deleting old plugins
+ $obsoleteDirectories = array(
+ PIWIK_INCLUDE_PATH . '/plugins/Referers',
+ PIWIK_INCLUDE_PATH . '/plugins/PDFReports',
+ );
+ foreach ($obsoleteDirectories as $dir) {
+ if (file_exists($dir)) {
+ Filesystem::unlinkRecursive($dir, true);
+ }
+ }
+
+ try {
+ \Piwik\PluginsManager::getInstance()->activatePlugin('Referrers');
+ } catch(Exception $e) {
+ }
+ try {
+ \Piwik\PluginsManager::getInstance()->activatePlugin('ScheduledReports');
+ } catch(Exception $e) {
+ }
+
+ }
+} \ No newline at end of file