aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs/Module/Setup.php
diff options
context:
space:
mode:
authorKlaus Weidenbach <Klaus.Weidenbach@gmx.net>2019-02-21 20:07:46 +0100
committerKlaus Weidenbach <Klaus.Weidenbach@gmx.net>2019-02-21 21:31:36 +0100
commit3f13c85b64ebaa4fbd2ee6c0276febcdc3bf7afb (patch)
tree8395a993f7f4399198ef57a704ee4559f601795a /Zotlabs/Module/Setup.php
parent938e8110cae17307f18dc2b40de09bfcc6301404 (diff)
downloadvolse-hubzilla-3f13c85b64ebaa4fbd2ee6c0276febcdc3bf7afb.tar.gz
volse-hubzilla-3f13c85b64ebaa4fbd2ee6c0276febcdc3bf7afb.tar.bz2
volse-hubzilla-3f13c85b64ebaa4fbd2ee6c0276febcdc3bf7afb.zip
Update PHP Version check during Setup.
Hubzilla 4.0 requires PHP7. The oldest still supported PHP branch is 7.1. So check during Setup for PHP >= 7.1.
Diffstat (limited to 'Zotlabs/Module/Setup.php')
-rw-r--r--Zotlabs/Module/Setup.php61
1 files changed, 30 insertions, 31 deletions
diff --git a/Zotlabs/Module/Setup.php b/Zotlabs/Module/Setup.php
index 370b7b9f8..ce0538099 100644
--- a/Zotlabs/Module/Setup.php
+++ b/Zotlabs/Module/Setup.php
@@ -39,12 +39,12 @@ class Setup extends \Zotlabs\Web\Controller {
ini_set('display_errors', '1');
// $baseurl/setup/testrewrite to test if rewrite in .htaccess is working
- if (argc() == 2 && argv(1) == "testrewrite") {
+ if(argc() == 2 && argv(1) == 'testrewrite') {
echo 'ok';
killme();
}
- if (x($_POST, 'pass')) {
+ if(x($_POST, 'pass')) {
$this->install_wizard_pass = intval($_POST['pass']);
} else {
$this->install_wizard_pass = 1;
@@ -63,7 +63,6 @@ class Setup extends \Zotlabs\Web\Controller {
return;
// implied break;
case 3:
- $urlpath = \App::get_path();
$dbhost = trim($_POST['dbhost']);
$dbport = intval(trim($_POST['dbport']));
$dbuser = trim($_POST['dbuser']);
@@ -89,7 +88,6 @@ class Setup extends \Zotlabs\Web\Controller {
return;
// implied break;
case 4:
- $urlpath = \App::get_path();
$dbhost = trim($_POST['dbhost']);
$dbport = intval(trim($_POST['dbport']));
$dbuser = trim($_POST['dbuser']);
@@ -162,7 +160,6 @@ class Setup extends \Zotlabs\Web\Controller {
*
* @return string parsed HTML output
*/
-
function get() {
$o = '';
@@ -213,10 +210,10 @@ class Setup extends \Zotlabs\Web\Controller {
}
if(x(\App::$data, 'txt') && strlen(\App::$data['txt'])) {
- $db_return_text .= $this->manual_config($a);
+ $db_return_text .= $this->manual_config();
}
- if ($db_return_text != "") {
+ if($db_return_text != '') {
$tpl = get_markup_template('install.tpl');
return replace_macros($tpl, array(
'$title' => $install_title,
@@ -242,7 +239,7 @@ class Setup extends \Zotlabs\Web\Controller {
$this->check_keys($checks);
- if (x($_POST, 'phpath'))
+ if(x($_POST, 'phpath'))
$phpath = notags(trim($_POST['phpath']));
$this->check_php($phpath, $checks);
@@ -278,7 +275,6 @@ class Setup extends \Zotlabs\Web\Controller {
$dbtype = intval(trim($_POST['dbtype']));
$phpath = trim($_POST['phpath']);
$adminmail = trim($_POST['adminmail']);
- $siteurl = trim($_POST['siteurl']);
$tpl = get_markup_template('install_db.tpl');
$o .= replace_macros($tpl, array(
@@ -320,7 +316,6 @@ class Setup extends \Zotlabs\Web\Controller {
$phpath = trim($_POST['phpath']);
$adminmail = trim($_POST['adminmail']);
- $siteurl = trim($_POST['siteurl']);
$timezone = ((x($_POST,'timezone')) ? ($_POST['timezone']) : 'America/Los_Angeles');
@@ -363,12 +358,12 @@ class Setup extends \Zotlabs\Web\Controller {
* @param string $help optional help string
*/
function check_add(&$checks, $title, $status, $required, $help = '') {
- $checks[] = array(
+ $checks[] = [
'title' => $title,
'status' => $status,
'required' => $required,
'help' => $help
- );
+ ];
}
/**
@@ -380,12 +375,12 @@ class Setup extends \Zotlabs\Web\Controller {
function check_php(&$phpath, &$checks) {
$help = '';
- if(version_compare(PHP_VERSION, '5.5') < 0) {
- $help .= t('PHP version 5.5 or greater is required.');
+ if(version_compare(PHP_VERSION, '7.1') < 0) {
+ $help .= t('PHP version 7.1 or greater is required.');
$this->check_add($checks, t('PHP version'), false, false, $help);
}
- if (strlen($phpath)) {
+ if(strlen($phpath)) {
$passed = file_exists($phpath);
}
elseif(function_exists('shell_exec')) {
@@ -419,6 +414,7 @@ class Setup extends \Zotlabs\Web\Controller {
$result = trim(shell_exec($cmd));
else
$help .= t('Unable to check command line PHP, as shell_exec() is disabled. This is required.') . EOL;
+
$passed2 = (($result == $str) ? true : false);
if(!$passed2) {
$help .= t('The command line version of PHP on your system does not have "register_argc_argv" enabled.'). EOL;
@@ -445,14 +441,14 @@ class Setup extends \Zotlabs\Web\Controller {
$result = getPhpiniUploadLimits();
if($result['post_max_size'] < 4194304 || $result['max_upload_filesize'] < 4194304) {
- $mem_warning = '<strong>' .t('This is not sufficient to upload larger images or files. You should be able to upload at least 4 MB at once.') . '</strong>';
- }
+ $mem_warning = '<strong>' .t('This is not sufficient to upload larger images or files. You should be able to upload at least 4 MB at once.') . '</strong>';
+ }
$help = sprintf(t('Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once.'),
userReadableSize($result['post_max_size']),
userReadableSize($result['max_upload_filesize']),
$result['max_file_uploads']
);
- $help .= $mem_warning;
+ $help .= $mem_warning;
$help .= '<br><br>' . t('You can adjust these settings in the server php.ini file.');
$this->check_add($checks, t('PHP upload limits'), true, false, $help);
@@ -467,7 +463,7 @@ class Setup extends \Zotlabs\Web\Controller {
$help = '';
$res = false;
- if (function_exists('openssl_pkey_new')) {
+ if(function_exists('openssl_pkey_new')) {
$res = openssl_pkey_new(array(
'digest_alg' => 'sha1',
'private_key_bits' => 4096,
@@ -477,7 +473,7 @@ class Setup extends \Zotlabs\Web\Controller {
// Get private key
- if (! $res) {
+ if(! $res) {
$help .= t('Error: the "openssl_pkey_new" function on this system is not able to generate encryption keys'). EOL;
$help .= t('If running under Windows, please see "http://www.php.net/manual/en/openssl.installation.php".');
}
@@ -508,7 +504,7 @@ class Setup extends \Zotlabs\Web\Controller {
$this->check_add($ck_funcs, t('zip PHP module'), true, true);
if(function_exists('apache_get_modules')){
- if (! in_array('mod_rewrite', apache_get_modules())) {
+ if(! in_array('mod_rewrite', apache_get_modules())) {
$this->check_add($ck_funcs, t('Apache mod_rewrite module'), false, true, t('Error: Apache webserver mod-rewrite module is required but not installed.'));
} else {
$this->check_add($ck_funcs, t('Apache mod_rewrite module'), true, true);
@@ -577,7 +573,7 @@ class Setup extends \Zotlabs\Web\Controller {
$fname = '.htconfig.php';
- if((file_exists($fname) && is_writable($fname)) ||
+ if((file_exists($fname) && is_writable($fname)) ||
(! (file_exists($fname) && is_writable('.')))) {
$this->check_add($checks, t('.htconfig.php is writable'), $status, true, $help);
return;
@@ -643,7 +639,7 @@ class Setup extends \Zotlabs\Web\Controller {
$url = z_root() . '/setup/testrewrite';
- if (function_exists('curl_init')){
+ if(function_exists('curl_init')){
$test = z_fetch_url($url);
if(! $test['success']) {
if(strstr($url,'https://')) {
@@ -666,14 +662,13 @@ class Setup extends \Zotlabs\Web\Controller {
$help .= t('If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues.') . EOL;
$help .= t('This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement.') .EOL;
$help .= t('Providers are available that issue free certificates which are browser-valid.'). EOL;
-
$help .= t('If you are confident that the certificate is valid and signed by a trusted authority, check to see if you have failed to install an intermediate cert. These are not normally required by browsers, but are required for server-to-server communications.') . EOL;
$this->check_add($checks, t('SSL certificate validation'), false, true, $help);
}
}
- if ((! $test['success']) || ($test['body'] != "ok")) {
+ if((! $test['success']) || ($test['body'] != "ok")) {
$status = false;
$help = t('Url rewrite in .htaccess is not working. Check your server configuration.'.'Test: '.var_export($test,true));
}
@@ -687,10 +682,9 @@ class Setup extends \Zotlabs\Web\Controller {
/**
* @brief
*
- * @param App &$a
* @return string with paresed HTML
*/
- function manual_config(&$a) {
+ function manual_config() {
$data = htmlspecialchars(\App::$data['txt'], ENT_COMPAT, 'UTF-8');
$o = t('The database configuration file ".htconfig.php" could not be written. Please use the enclosed text to create a configuration file in your web server root.');
$o .= "<textarea rows=\"24\" cols=\"80\" >$data</textarea>";
@@ -700,14 +694,19 @@ class Setup extends \Zotlabs\Web\Controller {
function load_database_rem($v, $i){
$l = trim($i);
- if (strlen($l)>1 && ($l[0]=="-" || ($l[0]=="/" && $l[1]=="*"))){
+ if(strlen($l)>1 && ($l[0]=="-" || ($l[0]=="/" && $l[1]=="*"))){
return $v;
} else {
return $v."\n".$i;
}
}
-
+ /**
+ * @brief Executes the SQL install script and create database tables.
+ *
+ * @param dba_driver $db (unused)
+ * @return boolean|string false on success or error message as string
+ */
function load_database($db) {
$str = file_get_contents(\DBA::$dba->get_install_script());
$arr = explode(';', $str);
@@ -767,12 +766,12 @@ class Setup extends \Zotlabs\Web\Controller {
/**
* @brief
*
- * @param unknown $v
+ * @param array $v
* @param array $c
* @return array
*/
static private function check_passed($v, $c) {
- if ($c['required'])
+ if($c['required'])
$v = $v && $c['status'];
return $v;