aboutsummaryrefslogtreecommitdiff
path: root/install
diff options
context:
space:
mode:
authorSem <sembrestels@riseup.net>2012-11-18 16:07:31 +0100
committerSem <sembrestels@riseup.net>2012-11-18 16:07:31 +0100
commit7f4f57ef1ebd8b97370094da2518dd39e183a43d (patch)
treee0a8518ee22c334ce5741c9247403cf09d179ec4 /install
parent47aa87219deb97da16eabe03dee9179999faf2d7 (diff)
parent6623571b615fc5c9d1b82e2607de4cdaee8a818b (diff)
downloadelgg-7f4f57ef1ebd8b97370094da2518dd39e183a43d.tar.gz
elgg-7f4f57ef1ebd8b97370094da2518dd39e183a43d.tar.bz2
Merge tag '1.8.9' of git://github.com/Elgg/Elgg into lorea-preprod
Elgg 1.8.9 release
Diffstat (limited to 'install')
-rw-r--r--install/ElggInstaller.php2
-rw-r--r--install/cli/sample_installer.php35
2 files changed, 36 insertions, 1 deletions
diff --git a/install/ElggInstaller.php b/install/ElggInstaller.php
index 03c84a43e..934b38d28 100644
--- a/install/ElggInstaller.php
+++ b/install/ElggInstaller.php
@@ -157,7 +157,7 @@ class ElggInstaller {
'password',
);
foreach ($requiredParams as $key) {
- if (!array_key_exists($key, $params)) {
+ if (empty($params[$key])) {
$msg = elgg_echo('install:error:requiredfield', array($key));
throw new InstallationException($msg);
}
diff --git a/install/cli/sample_installer.php b/install/cli/sample_installer.php
index 954169a6a..0bae0cd23 100644
--- a/install/cli/sample_installer.php
+++ b/install/cli/sample_installer.php
@@ -3,10 +3,27 @@
* Sample cli installer script
*/
+$enabled = false;
+
+// 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();
+// none of the following may be empty
$params = array(
// database parameters
'dbuser' => '',
@@ -28,3 +45,21 @@ $params = array(
// 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";