Skip to content

Commit

Permalink
Refs #4125 commit SQL Update file
Browse files Browse the repository at this point in the history
  • Loading branch information
mattab committed Oct 7, 2013
1 parent 1874011 commit 4d3527c
Showing 1 changed file with 77 additions and 0 deletions.
77 changes: 77 additions & 0 deletions 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) {
}

}
}

0 comments on commit 4d3527c

Please sign in to comment.