static function update() { $config = Zend_Registry::get('config'); $salt = Piwik_Common::generateUniqId(); try { if(isset($config->superuser->salt)) { return; } if(is_writable( Piwik_Config::getDefaultUserConfigPath() )) { $superuser_info = $config->superuser->toArray(); $superuser_info['salt'] = $salt; $config->superuser = $superuser_info; $config->__destruct(); Piwik::createConfigObject(); return; } } catch(Exception $e) { } throw new Piwik_Updater_UpdateErrorException("Edit config.ini.php and add below <code>[superuser]</code> the following line <br/><code>salt = $salt</code>"); }
static function update() { $config = Zend_Registry::get('config'); $dbInfos = $config->database->toArray(); if(!isset($dbInfos['schema'])) { try { if(is_writable( Piwik_Config::getDefaultUserConfigPath() )) { $dbInfos['schema'] = 'Myisam'; $config->database = $dbInfos; $config->__destruct(); Piwik::createConfigObject(); } else { throw new Exception('mandatory update failed'); } } catch(Exception $e) { throw new Piwik_Updater_UpdateErrorException("Please edit your config/config.ini.php file and add below <code>[database]</code> the following line: <br /><code>schema = Myisam</code>"); } } Piwik_Updater::updateDatabase(__FILE__, self::getSql()); }
static function update() { $config = Zend_Registry::get('config'); $salt = Piwik_Common::generateUniqId(); if(!isset($config->superuser->salt)) { try { if(is_writable( Piwik_Config::getDefaultUserConfigPath() )) { $superuser_info = $config->superuser->toArray(); $superuser_info['salt'] = $salt; $config->superuser = $superuser_info; $config->__destruct(); Piwik::createConfigObject(); } else { throw new Exception('mandatory update failed'); } } catch(Exception $e) { throw new Piwik_Updater_UpdateErrorException("Please edit your config/config.ini.php file and add below <code>[superuser]</code> the following line: <br/><code>salt = $salt</code>"); } } $config = Zend_Registry::get('config'); $plugins = $config->Plugins->toArray(); if(!in_array('MultiSites', $plugins)) { try { if(is_writable( Piwik_Config::getDefaultUserConfigPath() )) { $plugins[] = 'MultiSites'; $config->Plugins = $plugins; $config->__destruct(); Piwik::createConfigObject(); } else { throw new Exception('optional update failed'); } } catch(Exception $e) { throw new Exception("You can now enable the new MultiSites plugin in the Plugins screen in the Piwik admin!"); } } Piwik_Updater::updateDatabase(__FILE__, array( 'ALTER TABLE `'. Piwik::prefixTable('log_action') .'` CHANGE `name` `name` TEXT' => false, )); }
static function update() { $config = Zend_Registry::get('config'); try { if(is_writable( Piwik_Config::getDefaultUserConfigPath() )) { $plugins = $config->Plugins->toArray(); $plugins[] = 'MultiSites'; $config->Plugins = $plugins; $config->__destruct(); Piwik::createConfigObject(); return; } } catch(Exception $e) { } throw new Piwik_Updater_UpdateErrorException("You can now enable the new MultiSites plugin in the Plugins screen in the Piwik admin!"); }
/** * The previous step is valid if it is either * - any step before (OK to go back) * - the current step (case when validating a form) * If step is invalid, then exit. * * @param string $currentStep Current step */ protected function checkPreviousStepIsValid( $currentStep ) { $error = false; if(empty($this->session->currentStepDone)) { $error = true; } else if($currentStep == 'finished' && $this->session->currentStepDone == 'finished') { // ok to refresh this page or use language selector } else { if(file_exists(Piwik_Config::getDefaultUserConfigPath())) { $error = true; } $steps = array_keys($this->steps); // the currentStep $currentStepId = array_search($currentStep, $steps); // the step before $previousStepId = array_search($this->session->currentStepDone, $steps); // not OK if currentStepId > previous+1 if( $currentStepId > $previousStepId + 1 ) { $error = true; } } if($error) { Piwik_Login_Controller::clearSession(); $message = Piwik_Translate('Installation_ErrorInvalidState', array( '<br /><b>', '</b>', '<a href=\''.Piwik_Common::sanitizeInputValue(Piwik_Url::getCurrentUrlWithoutFileName()).'\'>', '</a>') ); Piwik::exitWithErrorMessage( $message ); } }