- Setup: check php version (5.4 required)
- Comanche: implement conditionals. Currently the only supported tests are true/false for system config settings and supports the following forms: [if $config.system.foo] [widget=widget1][/widget] [else] [widget=widget2][/widget] [/if] [if $config.system.foo] [widget=widget1][/widget] [/if]
This commit is contained in:
parent
8ffdc4859b
commit
2e3da0cbbb
@ -407,6 +407,11 @@ class Setup extends \Zotlabs\Web\Controller {
|
|||||||
function check_php(&$phpath, &$checks) {
|
function check_php(&$phpath, &$checks) {
|
||||||
$help = '';
|
$help = '';
|
||||||
|
|
||||||
|
if(version_compare(PHP_VERSION, '5.4') < 0) {
|
||||||
|
$help .= t('PHP version 5.4 or greater is required.');
|
||||||
|
$this->check_add($checks, t('PHP version'), false, false, $help);
|
||||||
|
}
|
||||||
|
|
||||||
if (strlen($phpath)) {
|
if (strlen($phpath)) {
|
||||||
$passed = file_exists($phpath);
|
$passed = file_exists($phpath);
|
||||||
} else {
|
} else {
|
||||||
|
@ -53,6 +53,31 @@ function comanche_parser(&$a, $s, $pass = 0) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$cnt = preg_match_all("/\[if (.*?)\](.*?)\[else\](.*?)\[\/if\]/ism", $s, $matches, PREG_SET_ORDER);
|
||||||
|
if($cnt) {
|
||||||
|
foreach($matches as $mtch) {
|
||||||
|
if(comanche_test_condition($mtch[1])) {
|
||||||
|
$s = str_replace($mtch[0], $mtch[2], $s);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$s = str_replace($mtch[0], $mtch[3], $s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$cnt = preg_match_all("/\[if (.*?)\](.*?)\[\/if\]/ism", $s, $matches, PREG_SET_ORDER);
|
||||||
|
if($cnt) {
|
||||||
|
foreach($matches as $mtch) {
|
||||||
|
if(comanche_test_condition($mtch[1])) {
|
||||||
|
$s = str_replace($mtch[0], $mtch[2], $s);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$s = str_replace($mtch[0], '', $s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if($pass == 0) {
|
if($pass == 0) {
|
||||||
$cnt = preg_match("/\[layout\](.*?)\[\/layout\]/ism", $s, $matches);
|
$cnt = preg_match("/\[layout\](.*?)\[\/layout\]/ism", $s, $matches);
|
||||||
if($cnt)
|
if($cnt)
|
||||||
@ -86,7 +111,6 @@ function comanche_parser(&$a, $s, $pass = 0) {
|
|||||||
App::$layout['webpage'] = comanche_webpage($a,$mtch[1]);
|
App::$layout['webpage'] = comanche_webpage($a,$mtch[1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$cnt = preg_match_all("/\[region=(.*?)\](.*?)\[\/region\]/ism", $s, $matches, PREG_SET_ORDER);
|
$cnt = preg_match_all("/\[region=(.*?)\](.*?)\[\/region\]/ism", $s, $matches, PREG_SET_ORDER);
|
||||||
@ -100,6 +124,17 @@ function comanche_parser(&$a, $s, $pass = 0) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function comanche_test_condition($s) {
|
||||||
|
|
||||||
|
if(preg_match("/[\$]config[\.](.*?)/",$s,$matches)) {
|
||||||
|
$x = explode('.',$s);
|
||||||
|
if(get_config($x[1],$x[2]))
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function comanche_menu($s, $class = '') {
|
function comanche_menu($s, $class = '') {
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user