aboutsummaryrefslogtreecommitdiffstats
path: root/include/apps.php
diff options
context:
space:
mode:
Diffstat (limited to 'include/apps.php')
-rw-r--r--include/apps.php46
1 files changed, 43 insertions, 3 deletions
diff --git a/include/apps.php b/include/apps.php
index 244c2adb7..f6c09d803 100644
--- a/include/apps.php
+++ b/include/apps.php
@@ -46,10 +46,9 @@ function parse_app_description($f) {
//future expansion
- $observer = get_observer();
+ $observer = get_app()->get_observer();
-
$lines = @file($f);
if($lines) {
foreach($lines as $x) {
@@ -62,5 +61,46 @@ function parse_app_description($f) {
if(! $ret['photo'])
$ret['photo'] = $baseurl . '/' . get_default_profile_photo(80);
- return $ret;
+
+ foreach($ret as $k => $v) {
+ if(strpos($v,'http') === 0)
+ $ret[$k] = zid($v);
+ }
+
+ if(array_key_exists('requires',$ret)) {
+ $require = trim(strtolower($ret['requires']));
+ switch($require) {
+ case 'local_user':
+ if(! local_user())
+ unset($ret);
+ break;
+ case 'observer':
+ if(! $observer)
+ unset($ret);
+ break;
+ default:
+ if(! local_user() && feature_enabled(local_user(),$require))
+ unset($ret);
+ break;
+
+ }
+ logger('require: ' . print_r($ret,true));
+ }
+ if($ret) {
+ translate_system_apps($ret);
+ return $ret;
+ }
+ return false;
}
+
+
+function translate_system_apps(&$arr) {
+ $apps = array( 'Matrix' => t('Matrix'), 'Channel Home' => t('Channel Home'), 'Profile' => t('Profile'),
+ 'Photos' => t('Photos')
+
+ );
+
+ if(array_key_exists($arr['name'],$apps))
+ $arr['name'] = $apps[$arr['name']];
+
+} \ No newline at end of file