From 903ae8a581fac1e6917fc3e31d2ad8fb91df80c3 Mon Sep 17 00:00:00 2001 From: ctrlaltca <> Date: Thu, 12 Jul 2012 11:21:01 +0000 Subject: standardize the use of unix eol; use svn properties to enforce native eol --- requirements/index.php | 568 ++++++++++++++++++++++++------------------------- 1 file changed, 284 insertions(+), 284 deletions(-) (limited to 'requirements/index.php') diff --git a/requirements/index.php b/requirements/index.php index 6366b494..fea2964c 100644 --- a/requirements/index.php +++ b/requirements/index.php @@ -1,285 +1,285 @@ - - * @link http://www.pradosoft.com/ - * @copyright Copyright © 2005 PradoSoft - * @license http://www.pradosoft.com/license/ - * @version $Id$ - * @package prado - */ - -/** - * PRADO Requirements Checker script - * - * This script will check if your system meets the requirements for running PRADO. - * It will check if you are running the right version of PHP, if you included - * the right libraries and if your php.ini file settings are correct. - * - * This script is capable of displaying localized messages. - * All messages are stored in messages.txt. A localized message file is named as - * messsages-.txt, and it will be used when the client browser - * chooses the corresponding language. - * The script output uses a template named template.html. - * Its localized version is stored in template-.html. - */ - -/** - * @var array List of requirements (required or not, check item, hint) - */ -$requirements = array( - array( - true, - version_compare(PHP_VERSION,"5.3.3",">="), - 'PHP version check','PHP 5.3.3 or higher required'), - array( - true, - isset($_SERVER["HTTP_ACCEPT"]), - '$_SERVER["HTTP_ACCEPT"] check', - 'HTTP_ACCEPT required'), - array( - true, - isset($_SERVER["SCRIPT_FILENAME"]) && realpath($_SERVER["SCRIPT_FILENAME"])===realpath(__FILE__), - '$_SERVER["SCRIPT_FILENAME"] check', - 'SCRIPT_FILENAME required'), - array( - true, - isset($_SERVER["REQUEST_URI"]) || isset($_SERVER["QUERY_STRING"]), - '$_SERVER["REQUEST_URI"] check', - 'REQUEST_URI required'), - array( - true, - isset($_SERVER["PATH_INFO"]) || strpos($_SERVER["PHP_SELF"],$_SERVER["SCRIPT_NAME"])===0, - '$_SERVER["PATH_INFO"] check', - 'PATH_INFO required'), - array( - true, - class_exists('Reflection',false), - 'Reflection extension check', - 'Reflection extension required'), - array( - true, - class_exists("DOMDocument",false), - 'DOM extension check', - 'DOM extension required'), - array( - true, - extension_loaded("SPL"), - 'SPL extension check', - 'SPL extension required'), - array( - true, - extension_loaded("CType"), - 'CType extension check', - 'CType extension required'), - array( - true, - extension_loaded("pcre"), - 'PCRE extension check', - 'PCRE extension required'), - array( - true, - extension_loaded("json"), - 'JSON extension check', - 'JSON extension required'), - array( - false, - class_exists("PDO",false), - 'PDO extension check', - 'PDO extension optional'), - array( - false, - function_exists("iconv"), - 'ICONV extension check', - 'ICONV extension optional'), - array( - false, - extension_loaded("zlib"), - 'Zlib extension check', - 'Zlib extension optional'), - array( - false, - extension_loaded("sqlite"), - 'SQLite extension check', - 'SQLite extension optional deprecated'), - array( - false, - extension_loaded("memcache"), - 'Memcache extension check', - 'Memcache extension optional'), - array( - false, - extension_loaded("apc"), - 'APC extension check', - 'APC extension optional'), - array( - false, - extension_loaded("mcrypt"), - 'Mcrypt extension check', - 'Mcrypt extension optional'), - array( - false, - extension_loaded("mbstring"), - 'Mbstring extension check', - 'Mbstring extension optional'), - array( - false, - extension_loaded("hash"), - 'Hash extension check', - 'Hash extension optional'), - array( - false, - extension_loaded("xsl"), - 'XSL extension check', - 'XSL extension optional'), - array( - false, - extension_loaded("soap"), - 'SOAP extension check', - 'SOAP extension optional'), -); - -$results = "\n"; -$conclusion = 0; -foreach($requirements as $requirement) -{ - list($required,$expression,$aspect,$hint)=$requirement; - //eval('$ret='.$expression.';'); - $ret=$expression; - if($required) - { - if($ret) - $ret='passed'; - else - { - $conclusion=1; - $ret='error'; - } - } - else - { - if($ret) - $ret='passed'; - else - { - if($conclusion!==1) - $conclusion=2; - $ret='warning'; - } - } - $results.="\n"; -} -$results .= '
".lmessage($aspect)."".lmessage($hint)."
'; -if($conclusion===0) - $conclusion=lmessage('all passed'); -else if($conclusion===1) - $conclusion=lmessage('failed'); -else - $conclusion=lmessage('passed with warnings'); - -$tokens = array( - '%%Conclusion%%' => $conclusion, - '%%Details%%' => $results, - '%%Version%%' => $_SERVER['SERVER_SOFTWARE'].' PRADO/'.getPradoVersion(), - '%%Time%%' => @strftime('%Y-%m-%d %H:%m',time()), -); - -$lang=getPreferredLanguage(); -$templateFile=dirname(__FILE__)."/template-$lang.html"; -if(!is_file($templateFile)) - $templateFile=dirname(__FILE__).'/template.html'; -if(($content=@file_get_contents($templateFile))===false) - die("Unable to open template file '$templateFile'."); - -header('Content-Type: text/html; charset=UTF-8'); -echo strtr($content,$tokens); - -/** - * Returns a localized message according to user preferred language. - * @param string message to be translated - * @return string translated message - */ -function lmessage($token) -{ - static $messages=null; - if($messages===null) - { - $lang = getPreferredLanguage(); - $msgFile=dirname(__FILE__)."/messages-$lang.txt"; - if(!is_file($msgFile)) - $msgFile=dirname(__FILE__).'/messages.txt'; - if(($entries=@file($msgFile))!==false) - { - foreach($entries as $entry) - { - @list($code,$message)=explode('=',$entry,2); - $messages[trim($code)]=trim($message); - } - } - } - return isset($messages[$token])?$messages[$token]:$token; -} - -/** - * Returns a list of user preferred languages. - * The languages are returned as an array. Each array element - * represents a single language preference. The languages are ordered - * according to user preferences. The first language is the most preferred. - * @return array list of user preferred languages. - */ -function getUserLanguages() -{ - static $languages=null; - if($languages===null) - { - $languages=array(); - foreach(explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']) as $language) - { - $array=explode(';q=',trim($language)); - $languages[trim($array[0])]=isset($array[1])?(float)$array[1]:1.0; - } - arsort($languages); - $languages=array_keys($languages); - if(empty($languages)) - $languages[0]='en'; - } - return $languages; -} - -/** - * Returns the most preferred language by the client user. - * @return string the most preferred language by the client user, defaults to English. - */ -function getPreferredLanguage() -{ - static $language=null; - if($language===null) - { - $langs=getUserLanguages(); - $lang=explode('-',$langs[0]); - if(empty($lang[0]) || !function_exists('ctype_alpha') || !ctype_alpha($lang[0])) - $language='en'; - else - $language=$lang[0]; - } - return $language; -} - -/** - * @return string Prado version - */ -function getPradoVersion() -{ - $coreFile=dirname(__FILE__).'/../framework/PradoBase.php'; - if(is_file($coreFile)) - { - $contents=file_get_contents($coreFile); - $matches=array(); - if(preg_match('/public static function getVersion.*?return \'(.*?)\'/ms',$contents,$matches)>0) - return $matches[1]; - } - return ''; -} - + + * @link http://www.pradosoft.com/ + * @copyright Copyright © 2005 PradoSoft + * @license http://www.pradosoft.com/license/ + * @version $Id$ + * @package prado + */ + +/** + * PRADO Requirements Checker script + * + * This script will check if your system meets the requirements for running PRADO. + * It will check if you are running the right version of PHP, if you included + * the right libraries and if your php.ini file settings are correct. + * + * This script is capable of displaying localized messages. + * All messages are stored in messages.txt. A localized message file is named as + * messsages-.txt, and it will be used when the client browser + * chooses the corresponding language. + * The script output uses a template named template.html. + * Its localized version is stored in template-.html. + */ + +/** + * @var array List of requirements (required or not, check item, hint) + */ +$requirements = array( + array( + true, + version_compare(PHP_VERSION,"5.3.3",">="), + 'PHP version check','PHP 5.3.3 or higher required'), + array( + true, + isset($_SERVER["HTTP_ACCEPT"]), + '$_SERVER["HTTP_ACCEPT"] check', + 'HTTP_ACCEPT required'), + array( + true, + isset($_SERVER["SCRIPT_FILENAME"]) && realpath($_SERVER["SCRIPT_FILENAME"])===realpath(__FILE__), + '$_SERVER["SCRIPT_FILENAME"] check', + 'SCRIPT_FILENAME required'), + array( + true, + isset($_SERVER["REQUEST_URI"]) || isset($_SERVER["QUERY_STRING"]), + '$_SERVER["REQUEST_URI"] check', + 'REQUEST_URI required'), + array( + true, + isset($_SERVER["PATH_INFO"]) || strpos($_SERVER["PHP_SELF"],$_SERVER["SCRIPT_NAME"])===0, + '$_SERVER["PATH_INFO"] check', + 'PATH_INFO required'), + array( + true, + class_exists('Reflection',false), + 'Reflection extension check', + 'Reflection extension required'), + array( + true, + class_exists("DOMDocument",false), + 'DOM extension check', + 'DOM extension required'), + array( + true, + extension_loaded("SPL"), + 'SPL extension check', + 'SPL extension required'), + array( + true, + extension_loaded("CType"), + 'CType extension check', + 'CType extension required'), + array( + true, + extension_loaded("pcre"), + 'PCRE extension check', + 'PCRE extension required'), + array( + true, + extension_loaded("json"), + 'JSON extension check', + 'JSON extension required'), + array( + false, + class_exists("PDO",false), + 'PDO extension check', + 'PDO extension optional'), + array( + false, + function_exists("iconv"), + 'ICONV extension check', + 'ICONV extension optional'), + array( + false, + extension_loaded("zlib"), + 'Zlib extension check', + 'Zlib extension optional'), + array( + false, + extension_loaded("sqlite"), + 'SQLite extension check', + 'SQLite extension optional deprecated'), + array( + false, + extension_loaded("memcache"), + 'Memcache extension check', + 'Memcache extension optional'), + array( + false, + extension_loaded("apc"), + 'APC extension check', + 'APC extension optional'), + array( + false, + extension_loaded("mcrypt"), + 'Mcrypt extension check', + 'Mcrypt extension optional'), + array( + false, + extension_loaded("mbstring"), + 'Mbstring extension check', + 'Mbstring extension optional'), + array( + false, + extension_loaded("hash"), + 'Hash extension check', + 'Hash extension optional'), + array( + false, + extension_loaded("xsl"), + 'XSL extension check', + 'XSL extension optional'), + array( + false, + extension_loaded("soap"), + 'SOAP extension check', + 'SOAP extension optional'), +); + +$results = "\n"; +$conclusion = 0; +foreach($requirements as $requirement) +{ + list($required,$expression,$aspect,$hint)=$requirement; + //eval('$ret='.$expression.';'); + $ret=$expression; + if($required) + { + if($ret) + $ret='passed'; + else + { + $conclusion=1; + $ret='error'; + } + } + else + { + if($ret) + $ret='passed'; + else + { + if($conclusion!==1) + $conclusion=2; + $ret='warning'; + } + } + $results.="\n"; +} +$results .= '
".lmessage($aspect)."".lmessage($hint)."
'; +if($conclusion===0) + $conclusion=lmessage('all passed'); +else if($conclusion===1) + $conclusion=lmessage('failed'); +else + $conclusion=lmessage('passed with warnings'); + +$tokens = array( + '%%Conclusion%%' => $conclusion, + '%%Details%%' => $results, + '%%Version%%' => $_SERVER['SERVER_SOFTWARE'].' PRADO/'.getPradoVersion(), + '%%Time%%' => @strftime('%Y-%m-%d %H:%m',time()), +); + +$lang=getPreferredLanguage(); +$templateFile=dirname(__FILE__)."/template-$lang.html"; +if(!is_file($templateFile)) + $templateFile=dirname(__FILE__).'/template.html'; +if(($content=@file_get_contents($templateFile))===false) + die("Unable to open template file '$templateFile'."); + +header('Content-Type: text/html; charset=UTF-8'); +echo strtr($content,$tokens); + +/** + * Returns a localized message according to user preferred language. + * @param string message to be translated + * @return string translated message + */ +function lmessage($token) +{ + static $messages=null; + if($messages===null) + { + $lang = getPreferredLanguage(); + $msgFile=dirname(__FILE__)."/messages-$lang.txt"; + if(!is_file($msgFile)) + $msgFile=dirname(__FILE__).'/messages.txt'; + if(($entries=@file($msgFile))!==false) + { + foreach($entries as $entry) + { + @list($code,$message)=explode('=',$entry,2); + $messages[trim($code)]=trim($message); + } + } + } + return isset($messages[$token])?$messages[$token]:$token; +} + +/** + * Returns a list of user preferred languages. + * The languages are returned as an array. Each array element + * represents a single language preference. The languages are ordered + * according to user preferences. The first language is the most preferred. + * @return array list of user preferred languages. + */ +function getUserLanguages() +{ + static $languages=null; + if($languages===null) + { + $languages=array(); + foreach(explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']) as $language) + { + $array=explode(';q=',trim($language)); + $languages[trim($array[0])]=isset($array[1])?(float)$array[1]:1.0; + } + arsort($languages); + $languages=array_keys($languages); + if(empty($languages)) + $languages[0]='en'; + } + return $languages; +} + +/** + * Returns the most preferred language by the client user. + * @return string the most preferred language by the client user, defaults to English. + */ +function getPreferredLanguage() +{ + static $language=null; + if($language===null) + { + $langs=getUserLanguages(); + $lang=explode('-',$langs[0]); + if(empty($lang[0]) || !function_exists('ctype_alpha') || !ctype_alpha($lang[0])) + $language='en'; + else + $language=$lang[0]; + } + return $language; +} + +/** + * @return string Prado version + */ +function getPradoVersion() +{ + $coreFile=dirname(__FILE__).'/../framework/PradoBase.php'; + if(is_file($coreFile)) + { + $contents=file_get_contents($coreFile); + $matches=array(); + if(preg_match('/public static function getVersion.*?return \'(.*?)\'/ms',$contents,$matches)>0) + return $matches[1]; + } + return ''; +} + ?> \ No newline at end of file -- cgit v1.2.3