From 8f8339eb491876d19ef3b6a68c168e40468cec64 Mon Sep 17 00:00:00 2001 From: Andreas Oesterreicher Date: Thu, 13 Jul 2017 10:51:49 +0200 Subject: [PATCH] Added Script to check FH-Complete Environment for missing Configuration --- system/checkcomposer.php | 0 system/checkphp.php | 2 - system/environment.php | 179 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 179 insertions(+), 2 deletions(-) delete mode 100644 system/checkcomposer.php delete mode 100644 system/checkphp.php create mode 100644 system/environment.php diff --git a/system/checkcomposer.php b/system/checkcomposer.php deleted file mode 100644 index e69de29bb..000000000 diff --git a/system/checkphp.php b/system/checkphp.php deleted file mode 100644 index a14c2fc2d..000000000 --- a/system/checkphp.php +++ /dev/null @@ -1,2 +0,0 @@ - + */ + /** + * Script to Test the System Environment + * Tests if all PHP-Modules, Configfiles, CommandlineTools, etc are installed + */ +require_once('../config/vilesci.config.inc.php'); +require_once('../include/functions.inc.php'); +require_once('../include/benutzerberechtigung.class.php'); + +$user = get_uid(); +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); +if(!$rechte->isBerechtigt('admin')) + die($rechte->errormsg); + +echo ' + + + + FH-Complete - Environment'; + +include('../include/meta/jquery.php'); +include('../include/meta/jquery-tablesorter.php'); + +echo ' + + + + +

FH-Complete Environment

+ + + + + + + + +'; +// Apache +printVersion("Apache", apache_get_version()); + +// PHP version +printVersion("php", phpversion()); + +// PHP module +printVersion("php-xsl", phpversion('xsl')); +printVersion("php-gd", phpversion('gd')); +printVersion("php-pgsql", phpversion('pgsql')); +printVersion("php-ldap", phpversion('ldap')); +printVersion("php-mcrypt", phpversion('mcrypt')); +printVersion("php-mbstring", phpversion('mbstring')); +printVersion("php-soap", phpversion('soap')); +printVersion("php-curl", phpversion('curl')); + +// Unoconv version +$returnArray = array(); +exec('unoconv --version',$returnArray); +if(isset($returnArray[0])) + $unoconvVersion = explode(' ',$returnArray[0])[1]; +else + $unoconvVersion = null; + +printVersion("Unoconv", $unoconvVersion, "0.7"); + +// Codeigniter Environment Variable CI_ENV +$CI_ENV = getenv('CI_ENV'); +printVersion("CI_ENV", $CI_ENV); + +// ZIP +printVersion("zip", checkInstalled('zip')); + +// Composer +printVersion("composer", checkInstalled('composer')); + +// Composer / Vendor +$vendorFileExists = file_exists('../vendor/codeigniter/framework/index.php'); +printVersion("Composer Status", ($vendorFileExists?'ok':'out of date')); + +// Config Files +$ConfigExists = file_exists('../config/cis.config.inc.php'); +if(!$ConfigExists) + $ConfigExists = file_exists('../config/vilesci.config.inc.php'); + +printVersion("ConfigFile CIS/Vilesci", ($ConfigExists?'ok':'missing')); + +$ConfigExists = file_exists('../config/global.config.inc.php'); +printVersion("ConfigFile Global", ($ConfigExists?'ok':'missing')); + +if($CI_ENV == '') + $CI_ENV = 'production'; +$ConfigExists = file_exists('../application/config/'.$CI_ENV.'/config.php'); +printVersion("ConfigFile Codeigniter", ($ConfigExists?'ok':'missing')); + +// Htaccess Files +$htaccessExists = file_exists('../cis/private/.htaccess'); +printVersion("htaccess File CIS", ($htaccessExists?'ok':'missing')); +$htaccessExists = file_exists('../content/.htaccess'); +printVersion("htaccess File Content", ($htaccessExists?'ok':'missing')); +$htaccessExists = file_exists('../vilesci/.htaccess'); +printVersion("htaccess File Vilesci", ($htaccessExists?'ok':'missing')); +$htaccessExists = file_exists('../system/.htaccess'); +printVersion("htaccess File System", ($htaccessExists?'ok':'missing')); +$htaccessExists = file_exists('../rdf/.htaccess'); +printVersion("htaccess File RDF", ($htaccessExists?'ok':'missing')); + +echo ' + +
ModuleVersion/Status
+ +'; + +function printVersion($module, $currentVersion, $expectedVersion = '') +{ + $failed = false; + + if ($currentVersion == null) + $failed = true; + + if ($currentVersion == '') + $currentVersion = 'missing'; + if ($expectedVersion != '' && $currentVersion != $expectedVersion) + $failed = true; + + echo ' + + '.$module.' + '.$currentVersion.''; + if($failed && $expectedVersion != '') + echo ' (should be '.$expectedVersion.')'; + echo ''; + echo ''; +} + +function checkInstalled($tool) +{ + $returnArray = array(); + $returnValue = null; + exec('which '.$tool, $returnArray, $returnValue); + if($returnValue==0) + return 'ok'; + else + return 'missing'; +}