예제 #1
0
 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);
 }
예제 #2
0
 /**
  * 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);
     }
 }