public function testWritingConfigWithSpecialCharacters() { $userFile = PIWIK_INCLUDE_PATH . '/tests/resources/Config/config.written.ini.php'; $globalFile = PIWIK_INCLUDE_PATH . '/tests/resources/Config/global.ini.php'; $config = new Piwik_Config($userFile, $globalFile); $config->init(); $stringWritten = '&6^ geagea\'\'\'";;&'; $config->Category = array('test' => $stringWritten); $this->assertEqual($config->Category->test, $stringWritten); unset($config); $config = new Piwik_Config($userFile, $globalFile); $config->init(); $this->assertEqual($config->Category->test, $stringWritten); $config->Category = array('test' => $config->Category->test, 'test2' => $stringWritten); $this->assertEqual($config->Category->test, $stringWritten); $this->assertEqual($config->Category->test2, $stringWritten); }
/** * The previous step is valid if it is either * - any step before (OK to go back) * - the current step (case when validating a form) */ protected function checkPreviousStepIsValid($currentStep) { $error = false; // first we make sure that the config file is not present, ie. Installation state is expected try { $config = new Piwik_Config(); $config->init(); $error = true; } catch (Exception $e) { } if (empty($this->session->currentStepDone)) { $error = true; } else { // the currentStep $currentStepId = array_search($currentStep, $this->steps); // the step before $previousStepId = array_search($this->session->currentStepDone, $this->steps); // not OK if currentStepId > previous+1 if ($currentStepId > $previousStepId + 1) { $error = true; } } if ($error) { $message = Piwik_Translate('Installation_ErrorInvalidState', array('<br /><b>', '</b>', '<a href=\'' . Piwik_Url::getCurrentUrlWithoutFileName() . '\'>', '</a>')); Piwik::exitWithErrorMessage($message); } }