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-03-28 03:42:39 +0400
committermattab <matthieu.aubry@gmail.com>2013-03-28 03:42:40 +0400
commitae4b03163792f0b6e933933e5d37df87dc3fd566 (patch)
treed1d7510a9728f587d3d63ebd03e4ecf3d904838b /plugins/CoreUpdater
parent158c2150f5f2e13ece459b8d131244c11b763997 (diff)
Mass conversion of all files to the newly agreed coding standard: PSR 1/2
Converting Piwik core source files, PHP, JS, TPL, CSS More info: http://piwik.org/participate/coding-standards/
Diffstat (limited to 'plugins/CoreUpdater')
-rw-r--r--plugins/CoreUpdater/Controller.php694
-rw-r--r--plugins/CoreUpdater/CoreUpdater.php132
-rw-r--r--plugins/CoreUpdater/templates/cli_update_database_done.tpl80
-rw-r--r--plugins/CoreUpdater/templates/cli_update_welcome.tpl44
-rw-r--r--plugins/CoreUpdater/templates/header.tpl68
-rw-r--r--plugins/CoreUpdater/templates/update_database_done.tpl123
-rw-r--r--plugins/CoreUpdater/templates/update_new_version_available.tpl29
-rw-r--r--plugins/CoreUpdater/templates/update_one_click_results.tpl19
-rw-r--r--plugins/CoreUpdater/templates/update_welcome.tpl208
9 files changed, 693 insertions, 704 deletions
diff --git a/plugins/CoreUpdater/Controller.php b/plugins/CoreUpdater/Controller.php
index b8830a8711..8e20f9c82a 100644
--- a/plugins/CoreUpdater/Controller.php
+++ b/plugins/CoreUpdater/Controller.php
@@ -15,368 +15,336 @@
*/
class Piwik_CoreUpdater_Controller extends Piwik_Controller
{
- const CONFIG_FILE_BACKUP = '/config/global.ini.auto-backup-before-update.php';
- const PATH_TO_EXTRACT_LATEST_VERSION = '/tmp/latest/';
-
- private $coreError = false;
- private $warningMessages = array();
- private $errorMessages = array();
- private $deactivatedPlugins = array();
-
- static protected function getLatestZipUrl($newVersion)
- {
- if(@Piwik_Config::getInstance()->Debug['allow_upgrades_to_beta'])
- {
- return 'http://builds.piwik.org/piwik-'.$newVersion.'.zip';
- }
- return Piwik_Config::getInstance()->General['latest_version_url'];
- }
- public function newVersionAvailable()
- {
- Piwik::checkUserIsSuperUser();
-
- $newVersion = $this->checkNewVersionIsAvailableOrDie();
-
- $view = Piwik_View::factory('update_new_version_available');
- $view->piwik_version = Piwik_Version::VERSION;
- $view->piwik_new_version = $newVersion;
- $view->piwik_latest_version_url = self::getLatestZipUrl($newVersion);
- $view->can_auto_update = Piwik::canAutoUpdate();
- $view->makeWritableCommands = Piwik::getAutoUpdateMakeWritableMessage();
- echo $view->render();
- }
-
- public function oneClickUpdate()
- {
- Piwik::checkUserIsSuperUser();
- $this->newVersion = $this->checkNewVersionIsAvailableOrDie();
-
- Piwik::setMaxExecutionTime(0);
-
- $url = self::getLatestZipUrl($this->newVersion);
- $steps = array(
- array('oneClick_Download', Piwik_Translate('CoreUpdater_DownloadingUpdateFromX', $url)),
- array('oneClick_Unpack', Piwik_Translate('CoreUpdater_UnpackingTheUpdate')),
- array('oneClick_Verify', Piwik_Translate('CoreUpdater_VerifyingUnpackedFiles')),
- array('oneClick_CreateConfigFileBackup', Piwik_Translate('CoreUpdater_CreatingBackupOfConfigurationFile', self::CONFIG_FILE_BACKUP)),
- array('oneClick_Copy', Piwik_Translate('CoreUpdater_InstallingTheLatestVersion')),
- array('oneClick_Finished', Piwik_Translate('CoreUpdater_PiwikUpdatedSuccessfully')),
- );
-
- $errorMessage = false;
- $messages = array();
- foreach($steps as $step) {
- try {
- $method = $step[0];
- $message = $step[1];
- $this->$method();
- $messages[] = $message;
- } catch(Exception $e) {
- $errorMessage = $e->getMessage();
- break;
- }
- }
-
- // this is a magic template to trigger the Piwik_View_Update
- $view = Piwik_View::factory(Piwik_View::COREUPDATER_ONE_CLICK_DONE);
- $view->coreError = $errorMessage;
- $view->feedbackMessages = $messages;
- echo $view->render();
- }
-
- public function oneClickResults()
- {
- Piwik_API_Request::reloadAuthUsingTokenAuth($_POST);
- Piwik::checkUserIsSuperUser();
-
- $view = Piwik_View::factory('update_one_click_results');
- $view->coreError = Piwik_Common::getRequestVar('error', '', 'string', $_POST);
- $view->feedbackMessages = safe_unserialize(Piwik_Common::unsanitizeInputValue(Piwik_Common::getRequestVar('messages', '', 'string', $_POST)));
- echo $view->render();
- }
-
- private function checkNewVersionIsAvailableOrDie()
- {
- $newVersion = Piwik_UpdateCheck::isNewestVersionAvailable();
- if(!$newVersion)
- {
- throw new Exception(Piwik_TranslateException('CoreUpdater_ExceptionAlreadyLatestVersion', Piwik_Version::VERSION));
- }
- return $newVersion;
- }
-
- private function oneClick_Download()
- {
- $this->pathPiwikZip = PIWIK_USER_PATH . self::PATH_TO_EXTRACT_LATEST_VERSION . 'latest.zip';
- Piwik::checkDirectoriesWritableOrDie( array(self::PATH_TO_EXTRACT_LATEST_VERSION) );
-
- // we catch exceptions in the caller (i.e., oneClickUpdate)
- $url = self::getLatestZipUrl($this->newVersion) . '?cb=' . $this->newVersion;
- $fetched = Piwik_Http::fetchRemoteFile($url, $this->pathPiwikZip);
- }
-
- private function oneClick_Unpack()
- {
- $pathExtracted = PIWIK_USER_PATH . self::PATH_TO_EXTRACT_LATEST_VERSION;
- $this->pathRootExtractedPiwik = $pathExtracted . 'piwik';
-
- if(file_exists($this->pathRootExtractedPiwik))
- {
- Piwik::unlinkRecursive($this->pathRootExtractedPiwik, true);
- }
-
- $archive = Piwik_Unzip::factory('PclZip', $this->pathPiwikZip);
-
- if ( 0 == ($archive_files = $archive->extract($pathExtracted) ) )
- {
- throw new Exception(Piwik_TranslateException('CoreUpdater_ExceptionArchiveIncompatible', $archive->errorInfo()));
- }
-
- if ( 0 == count($archive_files) )
- {
- throw new Exception(Piwik_TranslateException('CoreUpdater_ExceptionArchiveEmpty'));
- }
- unlink($this->pathPiwikZip);
- }
-
- private function oneClick_Verify()
- {
- $someExpectedFiles = array(
- '/config/global.ini.php',
- '/index.php',
- '/core/Piwik.php',
- '/piwik.php',
- '/plugins/API/API.php'
- );
- foreach($someExpectedFiles as $file)
- {
- if(!is_file($this->pathRootExtractedPiwik . $file))
- {
- throw new Exception(Piwik_TranslateException('CoreUpdater_ExceptionArchiveIncomplete', $file));
- }
- }
- }
-
- private function oneClick_CreateConfigFileBackup()
- {
- $configFileBefore = PIWIK_USER_PATH . '/config/global.ini.php';
- $configFileAfter = PIWIK_USER_PATH . self::CONFIG_FILE_BACKUP;
- Piwik::copy($configFileBefore, $configFileAfter);
- }
-
- private function oneClick_Copy()
- {
- /*
- * Make sure the execute bit is set for this shell script
- */
- if(!Piwik_ArchiveProcessing::isBrowserTriggerArchivingEnabled())
- {
- @chmod($this->pathRootExtractedPiwik . '/misc/cron/archive.sh', 0755);
- }
-
- /*
- * Copy all files to PIWIK_INCLUDE_PATH.
- * These files are accessed through the dispatcher.
- */
- Piwik::copyRecursive($this->pathRootExtractedPiwik, PIWIK_INCLUDE_PATH);
-
- /*
- * These files are visible in the web root and are generally
- * served directly by the web server. May be shared.
- */
- if(PIWIK_INCLUDE_PATH !== PIWIK_DOCUMENT_ROOT)
- {
- /*
- * Copy PHP files that expect to be in the document root
- */
- $specialCases = array(
- '/index.php',
- '/piwik.php',
- '/js/index.php',
- );
-
- foreach($specialCases as $file)
- {
- Piwik::copy($this->pathRootExtractedPiwik . $file, PIWIK_DOCUMENT_ROOT . $file);
- }
-
- /*
- * Copy the non-PHP files (e.g., images, css, javascript)
- */
- Piwik::copyRecursive($this->pathRootExtractedPiwik, PIWIK_DOCUMENT_ROOT, true);
- }
-
- /*
- * Config files may be user (account) specific
- */
- if(PIWIK_INCLUDE_PATH !== PIWIK_USER_PATH)
- {
- Piwik::copyRecursive($this->pathRootExtractedPiwik . '/config', PIWIK_USER_PATH . '/config');
- }
-
- Piwik::unlinkRecursive($this->pathRootExtractedPiwik, true);
-
- if(function_exists('apc_clear_cache'))
- {
- apc_clear_cache(); // clear the system (aka 'opcode') cache
- }
- }
-
- private function oneClick_Finished()
- {
- }
-
- public function index()
- {
- $language = Piwik_Common::getRequestVar('language', '');
- if(!empty($language))
- {
- Piwik_LanguagesManager::setLanguageForSession($language);
- }
- $this->runUpdaterAndExit();
- }
-
- protected function runUpdaterAndExit()
- {
- $updater = new Piwik_Updater();
+ const CONFIG_FILE_BACKUP = '/config/global.ini.auto-backup-before-update.php';
+ const PATH_TO_EXTRACT_LATEST_VERSION = '/tmp/latest/';
+
+ private $coreError = false;
+ private $warningMessages = array();
+ private $errorMessages = array();
+ private $deactivatedPlugins = array();
+
+ static protected function getLatestZipUrl($newVersion)
+ {
+ if (@Piwik_Config::getInstance()->Debug['allow_upgrades_to_beta']) {
+ return 'http://builds.piwik.org/piwik-' . $newVersion . '.zip';
+ }
+ return Piwik_Config::getInstance()->General['latest_version_url'];
+ }
+
+ public function newVersionAvailable()
+ {
+ Piwik::checkUserIsSuperUser();
+
+ $newVersion = $this->checkNewVersionIsAvailableOrDie();
+
+ $view = Piwik_View::factory('update_new_version_available');
+ $view->piwik_version = Piwik_Version::VERSION;
+ $view->piwik_new_version = $newVersion;
+ $view->piwik_latest_version_url = self::getLatestZipUrl($newVersion);
+ $view->can_auto_update = Piwik::canAutoUpdate();
+ $view->makeWritableCommands = Piwik::getAutoUpdateMakeWritableMessage();
+ echo $view->render();
+ }
+
+ public function oneClickUpdate()
+ {
+ Piwik::checkUserIsSuperUser();
+ $this->newVersion = $this->checkNewVersionIsAvailableOrDie();
+
+ Piwik::setMaxExecutionTime(0);
+
+ $url = self::getLatestZipUrl($this->newVersion);
+ $steps = array(
+ array('oneClick_Download', Piwik_Translate('CoreUpdater_DownloadingUpdateFromX', $url)),
+ array('oneClick_Unpack', Piwik_Translate('CoreUpdater_UnpackingTheUpdate')),
+ array('oneClick_Verify', Piwik_Translate('CoreUpdater_VerifyingUnpackedFiles')),
+ array('oneClick_CreateConfigFileBackup', Piwik_Translate('CoreUpdater_CreatingBackupOfConfigurationFile', self::CONFIG_FILE_BACKUP)),
+ array('oneClick_Copy', Piwik_Translate('CoreUpdater_InstallingTheLatestVersion')),
+ array('oneClick_Finished', Piwik_Translate('CoreUpdater_PiwikUpdatedSuccessfully')),
+ );
+
+ $errorMessage = false;
+ $messages = array();
+ foreach ($steps as $step) {
+ try {
+ $method = $step[0];
+ $message = $step[1];
+ $this->$method();
+ $messages[] = $message;
+ } catch (Exception $e) {
+ $errorMessage = $e->getMessage();
+ break;
+ }
+ }
+
+ // this is a magic template to trigger the Piwik_View_Update
+ $view = Piwik_View::factory(Piwik_View::COREUPDATER_ONE_CLICK_DONE);
+ $view->coreError = $errorMessage;
+ $view->feedbackMessages = $messages;
+ echo $view->render();
+ }
+
+ public function oneClickResults()
+ {
+ Piwik_API_Request::reloadAuthUsingTokenAuth($_POST);
+ Piwik::checkUserIsSuperUser();
+
+ $view = Piwik_View::factory('update_one_click_results');
+ $view->coreError = Piwik_Common::getRequestVar('error', '', 'string', $_POST);
+ $view->feedbackMessages = safe_unserialize(Piwik_Common::unsanitizeInputValue(Piwik_Common::getRequestVar('messages', '', 'string', $_POST)));
+ echo $view->render();
+ }
+
+ private function checkNewVersionIsAvailableOrDie()
+ {
+ $newVersion = Piwik_UpdateCheck::isNewestVersionAvailable();
+ if (!$newVersion) {
+ throw new Exception(Piwik_TranslateException('CoreUpdater_ExceptionAlreadyLatestVersion', Piwik_Version::VERSION));
+ }
+ return $newVersion;
+ }
+
+ private function oneClick_Download()
+ {
+ $this->pathPiwikZip = PIWIK_USER_PATH . self::PATH_TO_EXTRACT_LATEST_VERSION . 'latest.zip';
+ Piwik::checkDirectoriesWritableOrDie(array(self::PATH_TO_EXTRACT_LATEST_VERSION));
+
+ // we catch exceptions in the caller (i.e., oneClickUpdate)
+ $url = self::getLatestZipUrl($this->newVersion) . '?cb=' . $this->newVersion;
+ $fetched = Piwik_Http::fetchRemoteFile($url, $this->pathPiwikZip);
+ }
+
+ private function oneClick_Unpack()
+ {
+ $pathExtracted = PIWIK_USER_PATH . self::PATH_TO_EXTRACT_LATEST_VERSION;
+ $this->pathRootExtractedPiwik = $pathExtracted . 'piwik';
+
+ if (file_exists($this->pathRootExtractedPiwik)) {
+ Piwik::unlinkRecursive($this->pathRootExtractedPiwik, true);
+ }
+
+ $archive = Piwik_Unzip::factory('PclZip', $this->pathPiwikZip);
+
+ if (0 == ($archive_files = $archive->extract($pathExtracted))) {
+ throw new Exception(Piwik_TranslateException('CoreUpdater_ExceptionArchiveIncompatible', $archive->errorInfo()));
+ }
+
+ if (0 == count($archive_files)) {
+ throw new Exception(Piwik_TranslateException('CoreUpdater_ExceptionArchiveEmpty'));
+ }
+ unlink($this->pathPiwikZip);
+ }
+
+ private function oneClick_Verify()
+ {
+ $someExpectedFiles = array(
+ '/config/global.ini.php',
+ '/index.php',
+ '/core/Piwik.php',
+ '/piwik.php',
+ '/plugins/API/API.php'
+ );
+ foreach ($someExpectedFiles as $file) {
+ if (!is_file($this->pathRootExtractedPiwik . $file)) {
+ throw new Exception(Piwik_TranslateException('CoreUpdater_ExceptionArchiveIncomplete', $file));
+ }
+ }
+ }
+
+ private function oneClick_CreateConfigFileBackup()
+ {
+ $configFileBefore = PIWIK_USER_PATH . '/config/global.ini.php';
+ $configFileAfter = PIWIK_USER_PATH . self::CONFIG_FILE_BACKUP;
+ Piwik::copy($configFileBefore, $configFileAfter);
+ }
+
+ private function oneClick_Copy()
+ {
+ /*
+ * Make sure the execute bit is set for this shell script
+ */
+ if (!Piwik_ArchiveProcessing::isBrowserTriggerArchivingEnabled()) {
+ @chmod($this->pathRootExtractedPiwik . '/misc/cron/archive.sh', 0755);
+ }
+
+ /*
+ * Copy all files to PIWIK_INCLUDE_PATH.
+ * These files are accessed through the dispatcher.
+ */
+ Piwik::copyRecursive($this->pathRootExtractedPiwik, PIWIK_INCLUDE_PATH);
+
+ /*
+ * These files are visible in the web root and are generally
+ * served directly by the web server. May be shared.
+ */
+ if (PIWIK_INCLUDE_PATH !== PIWIK_DOCUMENT_ROOT) {
+ /*
+ * Copy PHP files that expect to be in the document root
+ */
+ $specialCases = array(
+ '/index.php',
+ '/piwik.php',
+ '/js/index.php',
+ );
+
+ foreach ($specialCases as $file) {
+ Piwik::copy($this->pathRootExtractedPiwik . $file, PIWIK_DOCUMENT_ROOT . $file);
+ }
+
+ /*
+ * Copy the non-PHP files (e.g., images, css, javascript)
+ */
+ Piwik::copyRecursive($this->pathRootExtractedPiwik, PIWIK_DOCUMENT_ROOT, true);
+ }
+
+ /*
+ * Config files may be user (account) specific
+ */
+ if (PIWIK_INCLUDE_PATH !== PIWIK_USER_PATH) {
+ Piwik::copyRecursive($this->pathRootExtractedPiwik . '/config', PIWIK_USER_PATH . '/config');
+ }
+
+ Piwik::unlinkRecursive($this->pathRootExtractedPiwik, true);
+
+ if (function_exists('apc_clear_cache')) {
+ apc_clear_cache(); // clear the system (aka 'opcode') cache
+ }
+ }
+
+ private function oneClick_Finished()
+ {
+ }
+
+ public function index()
+ {
+ $language = Piwik_Common::getRequestVar('language', '');
+ if (!empty($language)) {
+ Piwik_LanguagesManager::setLanguageForSession($language);
+ }
+ $this->runUpdaterAndExit();
+ }
+
+ protected function runUpdaterAndExit()
+ {
+ $updater = new Piwik_Updater();
$componentsWithUpdateFile = Piwik_CoreUpdater::getComponentUpdates($updater);
- if(empty($componentsWithUpdateFile))
- {
- Piwik::redirectToModule('CoreHome');
- }
-
- Piwik::setMaxExecutionTime(0);
-
- $sqlQueries = $updater->getSqlQueriesToExecute();
- if(Piwik_Common::isPhpCliMode())
- {
- $view = Piwik_View::factory('update_welcome');
- $this->doWelcomeUpdates($view, $componentsWithUpdateFile);
- echo $view->render();
-
- if(!$this->coreError
- && Piwik::getModule() == 'CoreUpdater')
- {
- $view = Piwik_View::factory('update_database_done');
- $this->doExecuteUpdates($view, $updater, $componentsWithUpdateFile);
- echo $view->render();
- }
- }
- else if(Piwik_Common::getRequestVar('updateCorePlugins', 0, 'integer') == 1)
- {
- $this->warningMessages = array();
- $view = Piwik_View::factory('update_database_done');
- $this->doExecuteUpdates($view, $updater, $componentsWithUpdateFile);
-
- if(count($sqlQueries)== 1 && !$this->coreError)
- {
- Piwik::redirectToModule('CoreHome');
- }
-
- echo $view->render();
- }
- else
- {
- $view = Piwik_View::factory('update_welcome');
- $view->queries = $sqlQueries;
- $view->isMajor = $updater->hasMajorDbUpdate();
- $this->doWelcomeUpdates($view, $componentsWithUpdateFile);
- echo $view->render();
- }
- exit;
- }
-
- private function doWelcomeUpdates($view, $componentsWithUpdateFile)
- {
- $view->new_piwik_version = Piwik_Version::VERSION;
- $view->commandUpgradePiwik = "<br /><code>php ".Piwik_Common::getPathToPiwikRoot()."/index.php -- \"module=CoreUpdater\" </code>";
- $pluginNamesToUpdate = array();
- $coreToUpdate = false;
-
- // handle case of existing database with no tables
- if(!Piwik::isInstalled())
- {
- $this->errorMessages[] = Piwik_Translate('CoreUpdater_EmptyDatabaseError', Piwik_Config::getInstance()->database['dbname']);
- $this->coreError = true;
- $currentVersion = 'N/A';
- }
- else
- {
- $this->errorMessages = array();
- try {
- $currentVersion = Piwik_GetOption('version_core');
- } catch( Exception $e) {
- $currentVersion = '<= 0.2.9';
- }
-
- foreach($componentsWithUpdateFile as $name => $filenames)
- {
- if($name == 'core')
- {
- $coreToUpdate = true;
- }
- else
- {
- $pluginNamesToUpdate[] = $name;
- }
- }
- }
-
- // check file integrity
- $integrityInfo = Piwik::getFileIntegrityInformation();
- if(isset($integrityInfo[1]))
- {
- if($integrityInfo[0] == false)
- {
- $this->warningMessages[] = '<b>'.Piwik_Translate('General_FileIntegrityWarningExplanation').'</b>';
- }
- $this->warningMessages = array_merge($this->warningMessages, array_slice($integrityInfo, 1));
- }
- Piwik::deleteAllCacheOnUpdate();
-
- $view->coreError = $this->coreError;
- $view->warningMessages = $this->warningMessages;
- $view->errorMessages = $this->errorMessages;
- $view->current_piwik_version = $currentVersion;
- $view->pluginNamesToUpdate = $pluginNamesToUpdate;
- $view->coreToUpdate = $coreToUpdate;
- }
-
- private function doExecuteUpdates($view, $updater, $componentsWithUpdateFile)
- {
- $this->loadAndExecuteUpdateFiles($updater, $componentsWithUpdateFile);
-
- Piwik::deleteAllCacheOnUpdate();
-
- $view->coreError = $this->coreError;
- $view->warningMessages = $this->warningMessages;
- $view->errorMessages = $this->errorMessages;
- $view->deactivatedPlugins = $this->deactivatedPlugins;
- }
-
- private function loadAndExecuteUpdateFiles($updater, $componentsWithUpdateFile)
- {
- // if error in any core update, show message + help message + EXIT
- // if errors in any plugins updates, show them on screen, disable plugins that errored + CONTINUE
- // if warning in any core update or in any plugins update, show message + CONTINUE
- // if no error or warning, success message + CONTINUE
- foreach($componentsWithUpdateFile as $name => $filenames)
- {
- try {
- $this->warningMessages = array_merge($this->warningMessages, $updater->update($name));
- } catch (Piwik_Updater_UpdateErrorException $e) {
- $this->errorMessages[] = $e->getMessage();
- if($name == 'core')
- {
- $this->coreError = true;
- break;
- }
- else
- {
- Piwik_PluginsManager::getInstance()->deactivatePlugin($name);
- $this->deactivatedPlugins[] = $name;
- }
- }
- }
- }
+ if (empty($componentsWithUpdateFile)) {
+ Piwik::redirectToModule('CoreHome');
+ }
+
+ Piwik::setMaxExecutionTime(0);
+
+ $sqlQueries = $updater->getSqlQueriesToExecute();
+ if (Piwik_Common::isPhpCliMode()) {
+ $view = Piwik_View::factory('update_welcome');
+ $this->doWelcomeUpdates($view, $componentsWithUpdateFile);
+ echo $view->render();
+
+ if (!$this->coreError
+ && Piwik::getModule() == 'CoreUpdater'
+ ) {
+ $view = Piwik_View::factory('update_database_done');
+ $this->doExecuteUpdates($view, $updater, $componentsWithUpdateFile);
+ echo $view->render();
+ }
+ } else if (Piwik_Common::getRequestVar('updateCorePlugins', 0, 'integer') == 1) {
+ $this->warningMessages = array();
+ $view = Piwik_View::factory('update_database_done');
+ $this->doExecuteUpdates($view, $updater, $componentsWithUpdateFile);
+
+ if (count($sqlQueries) == 1 && !$this->coreError) {
+ Piwik::redirectToModule('CoreHome');
+ }
+
+ echo $view->render();
+ } else {
+ $view = Piwik_View::factory('update_welcome');
+ $view->queries = $sqlQueries;
+ $view->isMajor = $updater->hasMajorDbUpdate();
+ $this->doWelcomeUpdates($view, $componentsWithUpdateFile);
+ echo $view->render();
+ }
+ exit;
+ }
+
+ private function doWelcomeUpdates($view, $componentsWithUpdateFile)
+ {
+ $view->new_piwik_version = Piwik_Version::VERSION;
+ $view->commandUpgradePiwik = "<br /><code>php " . Piwik_Common::getPathToPiwikRoot() . "/index.php -- \"module=CoreUpdater\" </code>";
+ $pluginNamesToUpdate = array();
+ $coreToUpdate = false;
+
+ // handle case of existing database with no tables
+ if (!Piwik::isInstalled()) {
+ $this->errorMessages[] = Piwik_Translate('CoreUpdater_EmptyDatabaseError', Piwik_Config::getInstance()->database['dbname']);
+ $this->coreError = true;
+ $currentVersion = 'N/A';
+ } else {
+ $this->errorMessages = array();
+ try {
+ $currentVersion = Piwik_GetOption('version_core');
+ } catch (Exception $e) {
+ $currentVersion = '<= 0.2.9';
+ }
+
+ foreach ($componentsWithUpdateFile as $name => $filenames) {
+ if ($name == 'core') {
+ $coreToUpdate = true;
+ } else {
+ $pluginNamesToUpdate[] = $name;
+ }
+ }
+ }
+
+ // check file integrity
+ $integrityInfo = Piwik::getFileIntegrityInformation();
+ if (isset($integrityInfo[1])) {
+ if ($integrityInfo[0] == false) {
+ $this->warningMessages[] = '<b>' . Piwik_Translate('General_FileIntegrityWarningExplanation') . '</b>';
+ }
+ $this->warningMessages = array_merge($this->warningMessages, array_slice($integrityInfo, 1));
+ }
+ Piwik::deleteAllCacheOnUpdate();
+
+ $view->coreError = $this->coreError;
+ $view->warningMessages = $this->warningMessages;
+ $view->errorMessages = $this->errorMessages;
+ $view->current_piwik_version = $currentVersion;
+ $view->pluginNamesToUpdate = $pluginNamesToUpdate;
+ $view->coreToUpdate = $coreToUpdate;
+ }
+
+ private function doExecuteUpdates($view, $updater, $componentsWithUpdateFile)
+ {
+ $this->loadAndExecuteUpdateFiles($updater, $componentsWithUpdateFile);
+
+ Piwik::deleteAllCacheOnUpdate();
+
+ $view->coreError = $this->coreError;
+ $view->warningMessages = $this->warningMessages;
+ $view->errorMessages = $this->errorMessages;
+ $view->deactivatedPlugins = $this->deactivatedPlugins;
+ }
+
+ private function loadAndExecuteUpdateFiles($updater, $componentsWithUpdateFile)
+ {
+ // if error in any core update, show message + help message + EXIT
+ // if errors in any plugins updates, show them on screen, disable plugins that errored + CONTINUE
+ // if warning in any core update or in any plugins update, show message + CONTINUE
+ // if no error or warning, success message + CONTINUE
+ foreach ($componentsWithUpdateFile as $name => $filenames) {
+ try {
+ $this->warningMessages = array_merge($this->warningMessages, $updater->update($name));
+ } catch (Piwik_Updater_UpdateErrorException $e) {
+ $this->errorMessages[] = $e->getMessage();
+ if ($name == 'core') {
+ $this->coreError = true;
+ break;
+ } else {
+ Piwik_PluginsManager::getInstance()->deactivatePlugin($name);
+ $this->deactivatedPlugins[] = $name;
+ }
+ }
+ }
+ }
}
diff --git a/plugins/CoreUpdater/CoreUpdater.php b/plugins/CoreUpdater/CoreUpdater.php
index 60168b83e7..30a28f76a6 100644
--- a/plugins/CoreUpdater/CoreUpdater.php
+++ b/plugins/CoreUpdater/CoreUpdater.php
@@ -1,10 +1,10 @@
<?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_Plugins
* @package Piwik_CoreUpdater
*/
@@ -15,75 +15,69 @@
*/
class Piwik_CoreUpdater extends Piwik_Plugin
{
- public function getInformation()
- {
- return array(
- 'description' => Piwik_Translate('CoreUpdater_PluginDescription'),
- 'author' => 'Piwik',
- 'author_homepage' => 'http://piwik.org/',
- 'version' => Piwik_Version::VERSION,
- );
- }
+ public function getInformation()
+ {
+ return array(
+ 'description' => Piwik_Translate('CoreUpdater_PluginDescription'),
+ 'author' => 'Piwik',
+ 'author_homepage' => 'http://piwik.org/',
+ 'version' => Piwik_Version::VERSION,
+ );
+ }
+
+ function getListHooksRegistered()
+ {
+ $hooks = array(
+ 'FrontController.dispatchCoreAndPluginUpdatesScreen' => 'dispatch',
+ 'FrontController.checkForUpdates' => 'updateCheck',
+ );
+ return $hooks;
+ }
+
+ public static function getComponentUpdates($updater)
+ {
+ $updater->addComponentToCheck('core', Piwik_Version::VERSION);
+ $plugins = Piwik_PluginsManager::getInstance()->getLoadedPlugins();
+ foreach ($plugins as $pluginName => $plugin) {
+ $updater->addComponentToCheck($pluginName, $plugin->getVersion());
+ }
+
+ $componentsWithUpdateFile = $updater->getComponentsWithUpdateFile();
+ if (count($componentsWithUpdateFile) == 0 && !$updater->hasNewVersion('core')) {
+ return null;
+ }
- function getListHooksRegistered()
- {
- $hooks = array(
- 'FrontController.dispatchCoreAndPluginUpdatesScreen' => 'dispatch',
- 'FrontController.checkForUpdates' => 'updateCheck',
- );
- return $hooks;
- }
+ return $componentsWithUpdateFile;
+ }
- public static function getComponentUpdates($updater)
- {
- $updater->addComponentToCheck('core', Piwik_Version::VERSION);
- $plugins = Piwik_PluginsManager::getInstance()->getLoadedPlugins();
- foreach($plugins as $pluginName => $plugin)
- {
- $updater->addComponentToCheck($pluginName, $plugin->getVersion());
- }
-
- $componentsWithUpdateFile = $updater->getComponentsWithUpdateFile();
- if(count($componentsWithUpdateFile) == 0 && !$updater->hasNewVersion('core'))
- {
- return null;
- }
+ function dispatch()
+ {
+ $module = Piwik_Common::getRequestVar('module', '', 'string');
+ $action = Piwik_Common::getRequestVar('action', '', 'string');
- return $componentsWithUpdateFile;
- }
-
- function dispatch()
- {
- $module = Piwik_Common::getRequestVar('module', '', 'string');
- $action = Piwik_Common::getRequestVar('action', '', 'string');
-
- $updater = new Piwik_Updater();
- $updater->addComponentToCheck('core', Piwik_Version::VERSION);
- $updates = $updater->getComponentsWithNewVersion();
- if(!empty($updates))
- {
- Piwik::deleteAllCacheOnUpdate();
- }
- if(self::getComponentUpdates($updater) !== null
- && $module != 'CoreUpdater'
- // Proxy module is used to redirect users to piwik.org, should still work when Piwik must be updated
- && $module != 'Proxy'
- && !($module == 'LanguagesManager'
- && $action == 'saveLanguage'))
- {
- if(Piwik_FrontController::shouldRethrowException())
- {
- throw new Exception("Piwik and/or some plugins have been upgraded to a new version. Please run the update process first. See documentation: http://piwik.org/docs/update/");
- }
- else
- {
- Piwik::redirectToModule('CoreUpdater');
- }
- }
- }
+ $updater = new Piwik_Updater();
+ $updater->addComponentToCheck('core', Piwik_Version::VERSION);
+ $updates = $updater->getComponentsWithNewVersion();
+ if (!empty($updates)) {
+ Piwik::deleteAllCacheOnUpdate();
+ }
+ if (self::getComponentUpdates($updater) !== null
+ && $module != 'CoreUpdater'
+ // Proxy module is used to redirect users to piwik.org, should still work when Piwik must be updated
+ && $module != 'Proxy'
+ && !($module == 'LanguagesManager'
+ && $action == 'saveLanguage')
+ ) {
+ if (Piwik_FrontController::shouldRethrowException()) {
+ throw new Exception("Piwik and/or some plugins have been upgraded to a new version. Please run the update process first. See documentation: http://piwik.org/docs/update/");
+ } else {
+ Piwik::redirectToModule('CoreUpdater');
+ }
+ }
+ }
- function updateCheck()
- {
- Piwik_UpdateCheck::check();
- }
+ function updateCheck()
+ {
+ Piwik_UpdateCheck::check();
+ }
}
diff --git a/plugins/CoreUpdater/templates/cli_update_database_done.tpl b/plugins/CoreUpdater/templates/cli_update_database_done.tpl
index 19b5554b3b..099960be4d 100644
--- a/plugins/CoreUpdater/templates/cli_update_database_done.tpl
+++ b/plugins/CoreUpdater/templates/cli_update_database_done.tpl
@@ -1,64 +1,64 @@
{textformat}
-{assign var='helpMessage' value='CoreUpdater_HelpMessageContent'|translate:'[':']':"\n\n* "|unescape}
+ {assign var='helpMessage' value='CoreUpdater_HelpMessageContent'|translate:'[':']':"\n\n* "|unescape}
-{if $coreError}
- [X] {'CoreUpdater_CriticalErrorDuringTheUpgradeProcess'|translate|unescape}
+ {if $coreError}
+ [X] {'CoreUpdater_CriticalErrorDuringTheUpgradeProcess'|translate|unescape}
- {foreach from=$errorMessages item=message}
- * {$message}
+ {foreach from=$errorMessages item=message}
+ * {$message}
- {/foreach}
+ {/foreach}
- {'CoreUpdater_HelpMessageIntroductionWhenError'|translate|unescape}
+ {'CoreUpdater_HelpMessageIntroductionWhenError'|translate|unescape}
- * {$helpMessage}
+ * {$helpMessage}
- {'CoreUpdater_ErrorDIYHelp'|translate}
+ {'CoreUpdater_ErrorDIYHelp'|translate}
- * {'CoreUpdater_ErrorDIYHelp_1'|translate}
+ * {'CoreUpdater_ErrorDIYHelp_1'|translate}
- * {'CoreUpdater_ErrorDIYHelp_2'|translate}
+ * {'CoreUpdater_ErrorDIYHelp_2'|translate}
- * {'CoreUpdater_ErrorDIYHelp_3'|translate}
+ * {'CoreUpdater_ErrorDIYHelp_3'|translate}
- * {'CoreUpdater_ErrorDIYHelp_4'|translate}
+ * {'CoreUpdater_ErrorDIYHelp_4'|translate}
- * {'CoreUpdater_ErrorDIYHelp_5'|translate}
+ * {'CoreUpdater_ErrorDIYHelp_5'|translate}
-{else}
- {if count($warningMessages) > 0}
- [!] {'CoreUpdater_WarningMessages'|translate|unescape}
+ {else}
+ {if count($warningMessages) > 0}
+ [!] {'CoreUpdater_WarningMessages'|translate|unescape}
- {foreach from=$warningMessages item=message}
- * {$message}
+ {foreach from=$warningMessages item=message}
+ * {$message}
- {/foreach}
- {/if}
-
- {if count($errorMessages) > 0}
- [X] {'CoreUpdater_ErrorDuringPluginsUpdates'|translate|unescape}
+ {/foreach}
+ {/if}
- {foreach from=$errorMessages item=message}
- * {$message}
+ {if count($errorMessages) > 0}
+ [X] {'CoreUpdater_ErrorDuringPluginsUpdates'|translate|unescape}
- {/foreach}
-
- {if isset($deactivatedPlugins) && count($deactivatedPlugins) > 0}
- {assign var=listOfDeactivatedPlugins value=$deactivatedPlugins|@implode:', '}
- [!] {'CoreUpdater_WeAutomaticallyDeactivatedTheFollowingPlugins'|translate:$listOfDeactivatedPlugins|unescape}
+ {foreach from=$errorMessages item=message}
+ * {$message}
- {/if}
- {/if}
- {if count($errorMessages) > 0 || count($warningMessages) > 0}
- {'CoreUpdater_HelpMessageIntroductionWhenWarning'|translate|unescape}
+ {/foreach}
- * {$helpMessage}
- {else}
- {'CoreUpdater_PiwikHasBeenSuccessfullyUpgraded'|translate|unescape}
+ {if isset($deactivatedPlugins) && count($deactivatedPlugins) > 0}
+ {assign var=listOfDeactivatedPlugins value=$deactivatedPlugins|@implode:', '}
+ [!] {'CoreUpdater_WeAutomaticallyDeactivatedTheFollowingPlugins'|translate:$listOfDeactivatedPlugins|unescape}
- {/if}
-{/if}
+ {/if}
+ {/if}
+ {if count($errorMessages) > 0 || count($warningMessages) > 0}
+ {'CoreUpdater_HelpMessageIntroductionWhenWarning'|translate|unescape}
+
+ * {$helpMessage}
+ {else}
+ {'CoreUpdater_PiwikHasBeenSuccessfullyUpgraded'|translate|unescape}
+
+ {/if}
+ {/if}
{/textformat}
diff --git a/plugins/CoreUpdater/templates/cli_update_welcome.tpl b/plugins/CoreUpdater/templates/cli_update_welcome.tpl
index 1e4afc0da2..b3802e024a 100644
--- a/plugins/CoreUpdater/templates/cli_update_welcome.tpl
+++ b/plugins/CoreUpdater/templates/cli_update_welcome.tpl
@@ -1,38 +1,38 @@
{assign var='helpMessage' value='CoreUpdater_HelpMessageContent'|translate:'[':']':"\n\n* "|unescape}
{textformat}
-*** {'CoreUpdater_UpdateTitle'|translate|unescape} ***
+ *** {'CoreUpdater_UpdateTitle'|translate|unescape} ***
-{if $coreError}
- [X] {'CoreUpdater_CriticalErrorDuringTheUpgradeProcess'|translate|unescape}
+ {if $coreError}
+ [X] {'CoreUpdater_CriticalErrorDuringTheUpgradeProcess'|translate|unescape}
- {foreach from=$errorMessages item=message}
- * {$message}
+ {foreach from=$errorMessages item=message}
+ * {$message}
- {/foreach}
+ {/foreach}
- {'CoreUpdater_HelpMessageIntroductionWhenError'|translate|unescape}
+ {'CoreUpdater_HelpMessageIntroductionWhenError'|translate|unescape}
- * {$helpMessage}
+ * {$helpMessage}
-{else}
- {if $coreToUpdate || count($pluginNamesToUpdate) > 0}
- {'CoreUpdater_DatabaseUpgradeRequired'|translate|unescape}
+ {else}
+ {if $coreToUpdate || count($pluginNamesToUpdate) > 0}
+ {'CoreUpdater_DatabaseUpgradeRequired'|translate|unescape}
- {'CoreUpdater_YourDatabaseIsOutOfDate'|translate|unescape}
+ {'CoreUpdater_YourDatabaseIsOutOfDate'|translate|unescape}
- {if $coreToUpdate}
- {'CoreUpdater_PiwikWillBeUpgradedFromVersionXToVersionY'|translate:$current_piwik_version:$new_piwik_version|unescape}
+ {if $coreToUpdate}
+ {'CoreUpdater_PiwikWillBeUpgradedFromVersionXToVersionY'|translate:$current_piwik_version:$new_piwik_version|unescape}
- {/if}
- {if count($pluginNamesToUpdate) > 0}
- {assign var=listOfPlugins value=$pluginNamesToUpdate|@implode:', '}
- {'CoreUpdater_TheFollowingPluginsWillBeUpgradedX'|translate:$listOfPlugins|unescape}
+ {/if}
+ {if count($pluginNamesToUpdate) > 0}
+ {assign var=listOfPlugins value=$pluginNamesToUpdate|@implode:', '}
+ {'CoreUpdater_TheFollowingPluginsWillBeUpgradedX'|translate:$listOfPlugins|unescape}
- {/if}
- {'CoreUpdater_TheUpgradeProcessMayTakeAWhilePleaseBePatient'|translate|unescape}
+ {/if}
+ {'CoreUpdater_TheUpgradeProcessMayTakeAWhilePleaseBePatient'|translate|unescape}
- {/if}
-{/if}
+ {/if}
+ {/if}
{/textformat}
diff --git a/plugins/CoreUpdater/templates/header.tpl b/plugins/CoreUpdater/templates/header.tpl
index 65670a7728..e0023e6389 100644
--- a/plugins/CoreUpdater/templates/header.tpl
+++ b/plugins/CoreUpdater/templates/header.tpl
@@ -1,42 +1,44 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
- <title>Piwik &rsaquo; {'CoreUpdater_UpdateTitle'|translate}</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <link rel="shortcut icon" href="plugins/CoreHome/templates/images/favicon.ico" />
+ <title>Piwik &rsaquo; {'CoreUpdater_UpdateTitle'|translate}</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <link rel="shortcut icon" href="plugins/CoreHome/templates/images/favicon.ico"/>
- <link rel="stylesheet" type="text/css" href="themes/default/simple_structure.css" />
- <link rel="stylesheet" type="text/css" href="libs/jquery/themes/base/jquery-ui.css" />
- <link rel="stylesheet" type="text/css" href="themes/default/styles.css" />
- <link rel="stylesheet" type="text/css" href="plugins/CoreHome/templates/donate.css"></link>
- <link rel="stylesheet" type="text/css" href="plugins/CoreHome/templates/jquery.ui.autocomplete.css"></link>
-{literal}
-<style type="text/css">
-* {
- margin: 0;
- padding: 0;
-}
-.topBarElem {
- font-family:arial,sans-serif !important;
- font-size:13px;
- line-height:1.33;
-}
+ <link rel="stylesheet" type="text/css" href="themes/default/simple_structure.css"/>
+ <link rel="stylesheet" type="text/css" href="libs/jquery/themes/base/jquery-ui.css"/>
+ <link rel="stylesheet" type="text/css" href="themes/default/styles.css"/>
+ <link rel="stylesheet" type="text/css" href="plugins/CoreHome/templates/donate.css"></link>
+ <link rel="stylesheet" type="text/css" href="plugins/CoreHome/templates/jquery.ui.autocomplete.css"></link>
+ {literal}
+ <style type="text/css">
+ * {
+ margin: 0;
+ padding: 0;
+ }
-#donate-form-container {
- margin: 0 0 2em 2em;
-}
-</style>
-{/literal}
+ .topBarElem {
+ font-family: arial, sans-serif !important;
+ font-size: 13px;
+ line-height: 1.33;
+ }
- <script type="text/javascript" src="libs/jquery/jquery.js"></script>
- <script type="text/javascript" src="libs/jquery/jquery-ui.js"></script>
- <script type="text/javascript" src="plugins/CoreHome/templates/donate.js"></script>
-{if 'General_LayoutDirection'|translate =='rtl'}
-<link rel="stylesheet" type="text/css" href="themes/default/rtl.css" />
-{/if}
-{loadJavascriptTranslations plugins='CoreHome'}
+ #donate-form-container {
+ margin: 0 0 2em 2em;
+ }
+ </style>
+ {/literal}
+
+ <script type="text/javascript" src="libs/jquery/jquery.js"></script>
+ <script type="text/javascript" src="libs/jquery/jquery-ui.js"></script>
+ <script type="text/javascript" src="plugins/CoreHome/templates/donate.js"></script>
+ {if 'General_LayoutDirection'|translate =='rtl'}
+ <link rel="stylesheet" type="text/css" href="themes/default/rtl.css"/>
+ {/if}
+ {loadJavascriptTranslations plugins='CoreHome'}
</head>
<body id="simple">
<div id="contentsimple">
- <div id="title"><img title='Piwik' alt="Piwik" src='themes/default/images/logo-header.png' style='margin-left:10px' /><span id="subh1"> # {'General_OpenSourceWebAnalytics'|translate}</span></div>
+ <div id="title"><img title='Piwik' alt="Piwik" src='themes/default/images/logo-header.png' style='margin-left:10px'/><span
+ id="subh1"> # {'General_OpenSourceWebAnalytics'|translate}</span></div>
diff --git a/plugins/CoreUpdater/templates/update_database_done.tpl b/plugins/CoreUpdater/templates/update_database_done.tpl
index 649321c57f..0ab5d72517 100644
--- a/plugins/CoreUpdater/templates/update_database_done.tpl
+++ b/plugins/CoreUpdater/templates/update_database_done.tpl
@@ -2,64 +2,75 @@
{assign var='helpMessage' value='CoreUpdater_HelpMessageContent'|translate:'<a target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/faq/">':'</a>':'</li><li>'}
{if $coreError}
- <br /><br />
- <div class="error">
- <img src="themes/default/images/error_medium.png" /> {'CoreUpdater_CriticalErrorDuringTheUpgradeProcess'|translate}
- {foreach from=$errorMessages item=message}
- <pre>{$message}</pre><br />
- {/foreach}
- </div>
- <br />
- <p>{'CoreUpdater_HelpMessageIntroductionWhenError'|translate}
- <ul><li>{$helpMessage}</li></ul></p>
-
- <p>{'CoreUpdater_ErrorDIYHelp'|translate}
- <ul><li>{'CoreUpdater_ErrorDIYHelp_1'|translate}</li>
- <li>{'CoreUpdater_ErrorDIYHelp_2'|translate}</li>
- <li>{'CoreUpdater_ErrorDIYHelp_3'|translate}</li>
- <li>{'CoreUpdater_ErrorDIYHelp_4'|translate}</li>
- <li>{'CoreUpdater_ErrorDIYHelp_5'|translate}</li></ul></p>
+ <br/>
+ <br/>
+ <div class="error">
+ <img src="themes/default/images/error_medium.png"/> {'CoreUpdater_CriticalErrorDuringTheUpgradeProcess'|translate}
+ {foreach from=$errorMessages item=message}
+ <pre>{$message}</pre>
+ <br/>
+ {/foreach}
+ </div>
+ <br/>
+ <p>{'CoreUpdater_HelpMessageIntroductionWhenError'|translate}
+ <ul>
+ <li>{$helpMessage}</li>
+ </ul>
+ </p>
+ <p>{'CoreUpdater_ErrorDIYHelp'|translate}
+ <ul>
+ <li>{'CoreUpdater_ErrorDIYHelp_1'|translate}</li>
+ <li>{'CoreUpdater_ErrorDIYHelp_2'|translate}</li>
+ <li>{'CoreUpdater_ErrorDIYHelp_3'|translate}</li>
+ <li>{'CoreUpdater_ErrorDIYHelp_4'|translate}</li>
+ <li>{'CoreUpdater_ErrorDIYHelp_5'|translate}</li>
+ </ul>
+ </p>
{else}
-
- {if count($warningMessages) > 0}
- <div class="warning">
- <p><img src="themes/default/images/warning_medium.png" /> {'CoreUpdater_WarningMessages'|translate}</p>
- {foreach from=$warningMessages item=message}
- <pre>{$message}</pre><br />
- {/foreach}
- </div>
- {/if}
-
- {if count($errorMessages) > 0}
- <div class="warning">
- <p><img src="themes/default/images/error_medium.png" /> {'CoreUpdater_ErrorDuringPluginsUpdates'|translate}</p>
- {foreach from=$errorMessages item=message}
- <pre>{$message}</pre><br />
- {/foreach}
-
- {if isset($deactivatedPlugins) && count($deactivatedPlugins) > 0}
- {assign var=listOfDeactivatedPlugins value=$deactivatedPlugins|@implode:', '}
- <p style="color:red"><img src="themes/default/images/error_medium.png" /> {'CoreUpdater_WeAutomaticallyDeactivatedTheFollowingPlugins'|translate:$listOfDeactivatedPlugins}</p>
- {/if}
- </div>
- {/if}
-
- {if count($errorMessages) > 0 || count($warningMessages) > 0}
- <br />
- <p>{'CoreUpdater_HelpMessageIntroductionWhenWarning'|translate}
- <ul><li>{$helpMessage}</li></ul>
- </p>
- {else}
- <p class="success">{'CoreUpdater_PiwikHasBeenSuccessfullyUpgraded'|translate}</p>
-
- <div id="donate-form-container">
- {include file="CoreHome/templates/donate.tpl"}
- </div>
- {/if}
- <form action="index.php">
- <input type="submit" class="submit" value="{'CoreUpdater_ContinueToPiwik'|translate}" />
- </form>
+ {if count($warningMessages) > 0}
+ <div class="warning">
+ <p><img src="themes/default/images/warning_medium.png"/> {'CoreUpdater_WarningMessages'|translate}</p>
+ {foreach from=$warningMessages item=message}
+ <pre>{$message}</pre>
+ <br/>
+ {/foreach}
+ </div>
+ {/if}
+
+ {if count($errorMessages) > 0}
+ <div class="warning">
+ <p><img src="themes/default/images/error_medium.png"/> {'CoreUpdater_ErrorDuringPluginsUpdates'|translate}</p>
+ {foreach from=$errorMessages item=message}
+ <pre>{$message}</pre>
+ <br/>
+ {/foreach}
+
+ {if isset($deactivatedPlugins) && count($deactivatedPlugins) > 0}
+ {assign var=listOfDeactivatedPlugins value=$deactivatedPlugins|@implode:', '}
+ <p style="color:red"><img
+ src="themes/default/images/error_medium.png"/> {'CoreUpdater_WeAutomaticallyDeactivatedTheFollowingPlugins'|translate:$listOfDeactivatedPlugins}
+ </p>
+ {/if}
+ </div>
+ {/if}
+
+ {if count($errorMessages) > 0 || count($warningMessages) > 0}
+ <br/>
+ <p>{'CoreUpdater_HelpMessageIntroductionWhenWarning'|translate}
+ <ul>
+ <li>{$helpMessage}</li>
+ </ul>
+ </p>
+ {else}
+ <p class="success">{'CoreUpdater_PiwikHasBeenSuccessfullyUpgraded'|translate}</p>
+ <div id="donate-form-container">
+ {include file="CoreHome/templates/donate.tpl"}
+ </div>
+ {/if}
+ <form action="index.php">
+ <input type="submit" class="submit" value="{'CoreUpdater_ContinueToPiwik'|translate}"/>
+ </form>
{/if}
{include file="CoreUpdater/templates/footer.tpl"}
diff --git a/plugins/CoreUpdater/templates/update_new_version_available.tpl b/plugins/CoreUpdater/templates/update_new_version_available.tpl
index d8be6033a6..15541aa48d 100644
--- a/plugins/CoreUpdater/templates/update_new_version_available.tpl
+++ b/plugins/CoreUpdater/templates/update_new_version_available.tpl
@@ -4,25 +4,26 @@
<p><b>{'CoreUpdater_ThereIsNewVersionAvailableForUpdate'|translate}</b></p>
{if $can_auto_update}
- <p>{'CoreUpdater_YouCanUpgradeAutomaticallyOrDownloadPackage'|translate:$piwik_new_version}</p>
+ <p>{'CoreUpdater_YouCanUpgradeAutomaticallyOrDownloadPackage'|translate:$piwik_new_version}</p>
{else}
- <p>{'Installation_SystemCheckAutoUpdateHelp'|translate}</p>
- <p>{'CoreUpdater_YouMustDownloadPackageOrFixPermissions'|translate:$piwik_new_version}
- {$makeWritableCommands}
- </p>
+ <p>{'Installation_SystemCheckAutoUpdateHelp'|translate}</p>
+ <p>{'CoreUpdater_YouMustDownloadPackageOrFixPermissions'|translate:$piwik_new_version}
+ {$makeWritableCommands}
+ </p>
{/if}
{if $can_auto_update}
- <form action="index.php">
- <input type="hidden" name="module" value="CoreUpdater" />
- <input type="hidden" name="action" value="oneClickUpdate" />
- <input type="submit" class="submit" value="{'CoreUpdater_UpdateAutomatically'|translate}" />
+<form action="index.php">
+ <input type="hidden" name="module" value="CoreUpdater"/>
+ <input type="hidden" name="action" value="oneClickUpdate"/>
+ <input type="submit" class="submit" value="{'CoreUpdater_UpdateAutomatically'|translate}"/>
+ {/if}
+ <a style="margin-left:50px" class="submit button"
+ href="{$piwik_latest_version_url}?cb={$piwik_new_version}">{'CoreUpdater_DownloadX'|translate:$piwik_new_version}</a><br/>
+ {if $can_auto_update}
+</form>
{/if}
- <a style="margin-left:50px" class="submit button" href="{$piwik_latest_version_url}?cb={$piwik_new_version}">{'CoreUpdater_DownloadX'|translate:$piwik_new_version}</a><br />
-{if $can_auto_update}
- </form>
-{/if}
-<br />
+<br/>
<a href='index.php'>&laquo; {'General_BackToPiwik'|translate}</a>
{include file="CoreUpdater/templates/footer.tpl"}
diff --git a/plugins/CoreUpdater/templates/update_one_click_results.tpl b/plugins/CoreUpdater/templates/update_one_click_results.tpl
index db463db066..7ba1bf1627 100644
--- a/plugins/CoreUpdater/templates/update_one_click_results.tpl
+++ b/plugins/CoreUpdater/templates/update_one_click_results.tpl
@@ -2,18 +2,23 @@
<br/>
{foreach from=$feedbackMessages item=message}
- <p>{$message|escape:'html'}</p>
+ <p>{$message|escape:'html'}</p>
{/foreach}
{if $coreError}
- <br /><br />
- <div class="error"><img src="themes/default/images/error_medium.png" /> {$coreError|escape:'html'}</div>
- <br /><br />
- <div class="warning"><img src="themes/default/images/warning_medium.png" /> {'CoreUpdater_UpdateHasBeenCancelledExplanation'|translate:"<br /><br />":"<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/update/'>":"</a>"}</div>
- <br /><br />
+ <br/>
+ <br/>
+ <div class="error"><img src="themes/default/images/error_medium.png"/> {$coreError|escape:'html'}</div>
+ <br/>
+ <br/>
+ <div class="warning"><img
+ src="themes/default/images/warning_medium.png"/> {'CoreUpdater_UpdateHasBeenCancelledExplanation'|translate:"<br /><br />":"<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/update/'>":"</a>"}
+ </div>
+ <br/>
+ <br/>
{/if}
<form action="index.php">
-<input type="submit" class="submit" value="{'CoreUpdater_ContinueToPiwik'|translate}" />
+ <input type="submit" class="submit" value="{'CoreUpdater_ContinueToPiwik'|translate}"/>
</form>
{include file="CoreUpdater/templates/footer.tpl"}
diff --git a/plugins/CoreUpdater/templates/update_welcome.tpl b/plugins/CoreUpdater/templates/update_welcome.tpl
index 434b8ad99c..aeaa73c627 100644
--- a/plugins/CoreUpdater/templates/update_welcome.tpl
+++ b/plugins/CoreUpdater/templates/update_welcome.tpl
@@ -3,116 +3,124 @@
{assign var='helpMessage' value='CoreUpdater_HelpMessageContent'|translate:'<a target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/faq/">':'</a>':'</li><li>'}
{if $coreError}
- <br /><br />
- <div class="error">
- <img src="themes/default/images/error_medium.png" /> {'CoreUpdater_CriticalErrorDuringTheUpgradeProcess'|translate}
- {foreach from=$errorMessages item=message}
- <pre>{$message}</pre>
- {/foreach}
- </div>
- <br />
- <p>{'CoreUpdater_HelpMessageIntroductionWhenError'|translate}
- <ul><li>{$helpMessage}</li></ul></p>
+ <br/>
+ <br/>
+ <div class="error">
+ <img src="themes/default/images/error_medium.png"/> {'CoreUpdater_CriticalErrorDuringTheUpgradeProcess'|translate}
+ {foreach from=$errorMessages item=message}
+ <pre>{$message}</pre>
+ {/foreach}
+ </div>
+ <br/>
+ <p>{'CoreUpdater_HelpMessageIntroductionWhenError'|translate}
+ <ul>
+ <li>{$helpMessage}</li>
+ </ul>
+ </p>
{else}
- {if $coreToUpdate || count($pluginNamesToUpdate) > 0}
- <p style='font-size:110%;padding-top:1em;'><b id='titleUpdate'>{'CoreUpdater_DatabaseUpgradeRequired'|translate}</b></p>
- <p>{'CoreUpdater_YourDatabaseIsOutOfDate'|translate}</p>
+ {if $coreToUpdate || count($pluginNamesToUpdate) > 0}
+ <p style='font-size:110%;padding-top:1em;'><b id='titleUpdate'>{'CoreUpdater_DatabaseUpgradeRequired'|translate}</b></p>
+ <p>{'CoreUpdater_YourDatabaseIsOutOfDate'|translate}</p>
+ {if $coreToUpdate}
+ <p>{'CoreUpdater_PiwikWillBeUpgradedFromVersionXToVersionY'|translate:$current_piwik_version:$new_piwik_version}</p>
+ {/if}
- {if $coreToUpdate}
- <p>{'CoreUpdater_PiwikWillBeUpgradedFromVersionXToVersionY'|translate:$current_piwik_version:$new_piwik_version}</p>
- {/if}
+ {if count($pluginNamesToUpdate) > 0}
+ {assign var=listOfPlugins value=$pluginNamesToUpdate|@implode:', '}
+ <p>{'CoreUpdater_TheFollowingPluginsWillBeUpgradedX'|translate:$listOfPlugins}</p>
+ {/if}
+ <h3 id='titleUpdate'>{'CoreUpdater_NoteForLargePiwikInstances'|translate}</h3>
+ {if $isMajor}
+ <p class="warning normalFontSize">
+ {'CoreUpdater_MajorUpdateWarning1'|translate}<br/>
+ {'CoreUpdater_MajorUpdateWarning2'|translate}
+ </p>
+ {/if}
+ <ul>
+ <li>{'CoreUpdater_TheUpgradeProcessMayFailExecuteCommand'|translate:$commandUpgradePiwik}</li>
+ <li>It is also recommended for high traffic Piwik servers to <a target='_blank'
+ href='?module=Proxy&action=redirect&url={"http://piwik.org/faq/how-to/#faq_111"|escape:"url"}'>momentarily
+ disable visitor Tracking and put the Piwik User Interface in maintenance mode</a>.
+ </li>
+ <li>{'CoreUpdater_YouCouldManuallyExecuteSqlQueries'|translate}<br/>
+ <a href='#' id='showSql' style='margin-left:20px'>› {'CoreUpdater_ClickHereToViewSqlQueries'|translate}</a>
- {if count($pluginNamesToUpdate) > 0}
- {assign var=listOfPlugins value=$pluginNamesToUpdate|@implode:', '}
- <p>{'CoreUpdater_TheFollowingPluginsWillBeUpgradedX'|translate:$listOfPlugins}</p>
- {/if}
+ <div id='sqlQueries' style='display:none'>
+ <br/>
+ <code>
+ # {'CoreUpdater_NoteItIsExpectedThatQueriesFail'|translate}<br/><br/>
+ {foreach from=$queries item=query}&nbsp;&nbsp;&nbsp;{$query}
+ <br/>
+ {/foreach}
+ </code>
+ </div>
+ </li>
+ </ul>
+ <br/>
+ <br/>
+ <h4 id='titleUpdate'>{'CoreUpdater_ReadyToGo'|translate}</h4>
+ <p>{'CoreUpdater_TheUpgradeProcessMayTakeAWhilePleaseBePatient'|translate}</p>
+ {/if}
- <h3 id='titleUpdate'>{'CoreUpdater_NoteForLargePiwikInstances'|translate}</h3>
- {if $isMajor}
- <p class="warning normalFontSize">
- {'CoreUpdater_MajorUpdateWarning1'|translate}<br />
- {'CoreUpdater_MajorUpdateWarning2'|translate}
- </p>
- {/if}
- <ul>
- <li>{'CoreUpdater_TheUpgradeProcessMayFailExecuteCommand'|translate:$commandUpgradePiwik}</li>
- <li>It is also recommended for high traffic Piwik servers to <a target='_blank' href='?module=Proxy&action=redirect&url={"http://piwik.org/faq/how-to/#faq_111"|escape:"url"}'>momentarily disable visitor Tracking and put the Piwik User Interface in maintenance mode</a>.</li>
- <li>{'CoreUpdater_YouCouldManuallyExecuteSqlQueries'|translate}<br />
- <a href='#' id='showSql' style='margin-left:20px'>› {'CoreUpdater_ClickHereToViewSqlQueries'|translate}</a>
- <div id='sqlQueries' style='display:none'>
- <br />
- <code>
- # {'CoreUpdater_NoteItIsExpectedThatQueriesFail'|translate}<br /><br />
- {foreach from=$queries item=query}&nbsp;&nbsp;&nbsp;{$query}<br />
- {/foreach}
- </code>
- </div>
- </li>
- </ul>
- <br /><br />
- <h4 id='titleUpdate'>{'CoreUpdater_ReadyToGo'|translate}</h4>
- <p>{'CoreUpdater_TheUpgradeProcessMayTakeAWhilePleaseBePatient'|translate}</p>
- {/if}
+ {if count($warningMessages) > 0}
+ <p><i>{$warningMessages[0]}</i>
+ {if count($warningMessages) > 1}
+ <button id="more-results" class="ui-button ui-state-default ui-corner-all">{'General_Details'|translate}</button>
+ {/if}
+ </p>
+ {/if}
- {if count($warningMessages) > 0}
- <p><i>{$warningMessages[0]}</i>
- {if count($warningMessages) > 1}
- <button id="more-results" class="ui-button ui-state-default ui-corner-all">{'General_Details'|translate}</button>
- {/if}
- </p>
- {/if}
-
- {if $coreToUpdate || count($pluginNamesToUpdate) > 0}
- <br />
- <form action="index.php" id="upgradeCorePluginsForm">
- <input type="hidden" name="updateCorePlugins" value="1" />
- {if count($queries) == 1}
- <input type="submit" class="submit" value="{'CoreUpdater_ContinueToPiwik'|translate}" />
- {else}
- <input type="submit" class="submit" value="{'CoreUpdater_UpgradePiwik'|translate}" />
- {/if}
- </form>
- {else}
- {if count($warningMessages) == 0}
- <p class="success">{'CoreUpdater_PiwikHasBeenSuccessfullyUpgraded'|translate}</p>
- {/if}
-
- <br />
- <form action="index.php">
- <input type="submit" class="submit" value="{'CoreUpdater_ContinueToPiwik'|translate}" />
- </form>
- {/if}
+ {if $coreToUpdate || count($pluginNamesToUpdate) > 0}
+ <br/>
+ <form action="index.php" id="upgradeCorePluginsForm">
+ <input type="hidden" name="updateCorePlugins" value="1"/>
+ {if count($queries) == 1}
+ <input type="submit" class="submit" value="{'CoreUpdater_ContinueToPiwik'|translate}"/>
+ {else}
+ <input type="submit" class="submit" value="{'CoreUpdater_UpgradePiwik'|translate}"/>
+ {/if}
+ </form>
+ {else}
+ {if count($warningMessages) == 0}
+ <p class="success">{'CoreUpdater_PiwikHasBeenSuccessfullyUpgraded'|translate}</p>
+ {/if}
+ <br/>
+ <form action="index.php">
+ <input type="submit" class="submit" value="{'CoreUpdater_ContinueToPiwik'|translate}"/>
+ </form>
+ {/if}
{/if}
{include file="Installation/templates/integrityDetails.tpl"}
{literal}
-<style type="text/css">
-code {
- background-color:#F0F7FF;
- border: 1px dashed #00008B;
- border-left: 5px solid;
- direction:ltr;
- display:block;
- margin:2px 2px 20px;
- padding:4px;
- text-align:left;
-}
-li {
- margin-top:10px;
- margin-left:30px;
-}
-</style>
-<script type="text/javascript">
-$(document).ready(function() {
- $('#showSql').click( function () {
- $('#sqlQueries').toggle();
- });
- $('#upgradeCorePluginsForm').submit(function(){
- $('input[type=submit]', this).prop('disabled', 'disabled');
- });
-});
-</script>
+ <style type="text/css">
+ code {
+ background-color: #F0F7FF;
+ border: 1px dashed #00008B;
+ border-left: 5px solid;
+ direction: ltr;
+ display: block;
+ margin: 2px 2px 20px;
+ padding: 4px;
+ text-align: left;
+ }
+
+ li {
+ margin-top: 10px;
+ margin-left: 30px;
+ }
+ </style>
+ <script type="text/javascript">
+ $(document).ready(function () {
+ $('#showSql').click(function () {
+ $('#sqlQueries').toggle();
+ });
+ $('#upgradeCorePluginsForm').submit(function () {
+ $('input[type=submit]', this).prop('disabled', 'disabled');
+ });
+ });
+ </script>
{/literal}
{include file="CoreUpdater/templates/footer.tpl"}