diff --git a/application/controllers/InstallerController.php b/application/controllers/InstallerController.php
index 587497e7908..f1796611dd2 100644
--- a/application/controllers/InstallerController.php
+++ b/application/controllers/InstallerController.php
@@ -11,17 +11,16 @@
* See COPYRIGHT.php for copyright notices and details.
*
* @author Shubham Sachdeva
-* @author Gautam Gupta
*/
/**
* Installer
*
-* FIXME output code belongs into view
+* @todo Output code belongs into view
+* @todo Make it write the config.php file
*
* @package LimeSurvey
* @author Shubham Sachdeva
-* @author Gautam Gupta
* @copyright 2011
* @version $Id$
* @access public
@@ -590,15 +589,6 @@ private function stepOptionalConfiguration()
Yii::app()->session['deletedirectories'] = true;
- //DELETE SAMPLE INSTALLER FILE. If we can't, notify user of the same.
- $installer_file = Yii::app()->getConfig('rootdir').'/tmp/sample_installer_file.txt';
- if (is_writable($installer_file))
- {
- rename($installer_file, $installer_file.'.removed');
- } else {
- $aData['error'] = true;
- }
-
$aData['title'] = $clang->gT("Success!");
$aData['descp'] = $clang->gT("LimeSurvey has been installed successfully.");
$aData['classesForStep'] = array('off','off','off','off','off','off');
@@ -762,12 +752,8 @@ function check_DirectoryWriteable($directory, &$data, $base, $keyError)
// ** file and directory permissions checking **
- // config file
- if (!check_FileWriteable(Yii::app()->getConfig('rootdir').'/application/config/config.php', $data, 'config', 'derror') )
- $bProceed = false;
-
- // tmp directory check
- if (!check_DirectoryWriteable(Yii::app()->getConfig('rootdir').'/tmp/', $data, 'tmpdir', 'terror') )
+ // config directory
+ if (!check_DirectoryWriteable(Yii::app()->getConfig('rootdir').'/application/config', $data, 'config', 'derror') )
$bProceed = false;
// templates directory check
@@ -962,13 +948,14 @@ function _writeConfigFile()
. "/* End of file config.php */" . "\n"
. "/* Location: ./application/config/config.php */";
- if (is_writable(APPPATH . 'config/config.php')) {
+ if (is_writable(APPPATH . 'config')) {
write_file(APPPATH . 'config/config.php', $dbdata);
Yii::app()->session['configFileWritten'] = true;
} else {
header('refresh:5;url='.$this->createUrl("installer/welcome"));
- echo "".$clang->gT("Configuration file directory is not writable")."
";
+ echo "".$clang->gT("Configuration directory is not writable")."
";
printf($clang->gT('You will be redirected in about 5 secs. If not, click here.' ,'unescaped'), $this->createUrl('installer/welcome'));
+ exit;
}
}
}
diff --git a/application/core/LSYii_Controller.php b/application/core/LSYii_Controller.php
index 61f60e279b6..f76573b4736 100644
--- a/application/core/LSYii_Controller.php
+++ b/application/core/LSYii_Controller.php
@@ -49,7 +49,7 @@ public function __construct($id, $module = null)
protected function _checkInstallation()
{
$file_name = Yii::app()->getConfig('rootdir').'/application/config/config.php';
- if (!file_exists($file_name))
+ if (!file_exists($file_name) && empty(Yii::app()->session['configFileWritten']))
{
$this->redirect($this->createUrl('/installer'));
}