diff options
Diffstat (limited to 'install/cli/sample_installer.php')
| -rw-r--r-- | install/cli/sample_installer.php | 44 |
1 files changed, 41 insertions, 3 deletions
diff --git a/install/cli/sample_installer.php b/install/cli/sample_installer.php index 10838b562..a51f9aae4 100644 --- a/install/cli/sample_installer.php +++ b/install/cli/sample_installer.php @@ -1,12 +1,13 @@ <?php + /** * Sample cli installer script */ -require_once(dirname(dirname(__FILE__)) . "/ElggInstaller.php"); - -$installer = new ElggInstaller(); +// change to true to run this script. Change back to false when done. +$enabled = false; +// none of the following may be empty $params = array( // database parameters 'dbuser' => '', @@ -15,6 +16,7 @@ $params = array( // site settings 'sitename' => '', + 'siteemail' => '', 'wwwroot' => '', 'dataroot' => '', @@ -25,5 +27,41 @@ $params = array( 'password' => '', ); + +// Do not edit below this line. ////////////////////////////// + + +if (!$enabled) { + echo "To enable this script, change \$enabled to true.\n"; + echo "You *must* disable this script after a successful installation.\n"; + exit; +} + +if (PHP_SAPI !== 'cli') { + echo "You must use the command line to run this script."; + exit; +} + +require_once(dirname(dirname(__FILE__)) . "/ElggInstaller.php"); + +$installer = new ElggInstaller(); + // install and create the .htaccess file $installer->batchInstall($params, TRUE); + +// at this point installation has completed (otherwise an exception halted execution). +// try to rewrite the script to disable it. +if (is_writable(__FILE__)) { + $code = file_get_contents(__FILE__); + if (preg_match('~\\$enabled\\s*=\\s*(true|1)\\s*;~i', $code)) { + // looks safe to rewrite + $code = preg_replace('~\\$enabled\\s*=\\s*(true|1)\\s*;~i', '$enabled = false;', $code); + file_put_contents(__FILE__, $code); + + echo "\nNote: This script has been disabled for your safety.\n"; + exit; + } +} + +echo "\nWarning: You *must* disable this script by setting \$enabled = false;.\n"; +echo "Leaving this script enabled could endanger your installation.\n"; |
