diff options
Diffstat (limited to 'include/apps.php')
-rw-r--r-- | include/apps.php | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/include/apps.php b/include/apps.php new file mode 100644 index 000000000..38812ef83 --- /dev/null +++ b/include/apps.php @@ -0,0 +1,53 @@ +<?php /** @file */ + +/** + * apps + * + */ + +require_once('include/plugin.php'); + +function get_system_apps() { + + $ret = array(); + $files = glob('app/*.apd'); + if($files) { + foreach($files as $f) { + $x = parse_app_description($f); + if($x) { + $ret[] = $x; + } + } + } + $files = glob('addon/*/*.apd'); + if($files) { + foreach($files as $f) { + $n = basename($f,'.apd'); + if(plugin_is_installed($n)) { + $x = parse_app_description($f); + if($x) { + $ret[] = $x; + } + } + } + } + + return $ret; + +} + + +function parse_app_description($f) { + $ret = array(); + + $lines = @file($f); + if($lines) { + foreach($lines as $x) { + if(preg_match('/^([a-zA-Z].*?):(.*?)$/ism',$x,$matches)) { + $ret[$matches[1]] = trim($matches[2]); + } + } + } + + return $ret; +} |