From 995fc63f2caa6d735044b28caf03793f7c275eb1 Mon Sep 17 00:00:00 2001 From: "M.Dent" Date: Sun, 23 Sep 2018 22:36:27 -0400 Subject: Add filters for addon/app installed checks and docs --- Zotlabs/Lib/Apps.php | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) (limited to 'Zotlabs/Lib/Apps.php') diff --git a/Zotlabs/Lib/Apps.php b/Zotlabs/Lib/Apps.php index 010947467..4ee64f15e 100644 --- a/Zotlabs/Lib/Apps.php +++ b/Zotlabs/Lib/Apps.php @@ -532,7 +532,7 @@ class Apps { static public function app_install($uid,$app) { $app['uid'] = $uid; - if(self::app_installed($uid,$app)) + if(self::app_installed($uid,$app,true)) $x = self::app_update($app); else $x = self::app_store($app); @@ -660,33 +660,60 @@ class Apps { } } - static public function app_installed($uid,$app) { + static public function app_installed($uid,$app,$bypass_filter=false) { $r = q("select id from app where app_id = '%s' and app_channel = %d limit 1", dbesc((array_key_exists('guid',$app)) ? $app['guid'] : ''), intval($uid) ); + if (!$bypass_filter) { + $filter_arr = [ + 'uid'=>$uid, + 'app'=>$app, + 'installed'=>$r + ]; + call_hooks('app_installed_filter',$filter_arr); + $r = $filter_arr['installed']; + } return(($r) ? true : false); } - static public function addon_app_installed($uid,$app) { + static public function addon_app_installed($uid,$app,$bypass_filter=false) { $r = q("select id from app where app_plugin = '%s' and app_channel = %d limit 1", dbesc($app), intval($uid) ); + if (!$bypass_filter) { + $filter_arr = [ + 'uid'=>$uid, + 'app'=>$app, + 'installed'=>$r + ]; + call_hooks('addon_app_installed_filter',$filter_arr); + $r = $filter_arr['installed']; + } return(($r) ? true : false); } - static public function system_app_installed($uid,$app) { + static public function system_app_installed($uid,$app,$bypass_filter=false) { $r = q("select id from app where app_id = '%s' and app_channel = %d limit 1", dbesc(hash('whirlpool',$app)), intval($uid) ); + if (!$bypass_filter) { + $filter_arr = [ + 'uid'=>$uid, + 'app'=>$app, + 'installed'=>$r + ]; + call_hooks('system_app_installed_filter',$filter_arr); + $r = $filter_arr['installed']; + } return(($r) ? true : false); } -- cgit v1.2.3 From 6f98ca68af59e7c27179b5b9712a4fa015ad7f47 Mon Sep 17 00:00:00 2001 From: "M.Dent" Date: Thu, 27 Sep 2018 13:37:15 -0400 Subject: Translate system app names --- Zotlabs/Lib/Apps.php | 1 + 1 file changed, 1 insertion(+) (limited to 'Zotlabs/Lib/Apps.php') diff --git a/Zotlabs/Lib/Apps.php b/Zotlabs/Lib/Apps.php index 4ee64f15e..519d5f35a 100644 --- a/Zotlabs/Lib/Apps.php +++ b/Zotlabs/Lib/Apps.php @@ -763,6 +763,7 @@ class Apps { call_hooks('app_list',$hookinfo); $r = $hookinfo['apps']; for($x = 0; $x < count($r); $x ++) { + $r[$x]['app_name']=t(trim($r[$x]['app_name'])); if(! $r[$x]['app_system']) $r[$x]['type'] = 'personal'; $r[$x]['term'] = q("select * from term where otype = %d and oid = %d", -- cgit v1.2.3 From 78ed1ae44623f58c4e9e2d6fd4d6a4ff322309fd Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Thu, 27 Sep 2018 21:57:27 +0200 Subject: Add translation for new apps --- Zotlabs/Lib/Apps.php | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Lib/Apps.php') diff --git a/Zotlabs/Lib/Apps.php b/Zotlabs/Lib/Apps.php index 519d5f35a..aef6756b5 100644 --- a/Zotlabs/Lib/Apps.php +++ b/Zotlabs/Lib/Apps.php @@ -337,7 +337,20 @@ class Apps { 'Profiles' => t('Profiles'), 'Privacy Groups' => t('Privacy Groups'), 'Notifications' => t('Notifications'), - 'Order Apps' => t('Order Apps') + 'Order Apps' => t('Order Apps'), + 'CalDAV' => t('CalDAV'), + 'CardDAV' => t('CardDAV'), + 'Channel Sources' => t('Channel Sources'), + 'Gallery' => t('Gallery'), + 'Guest Access' => t('Guest Access'), + 'Notes' => t('Notes'), + 'OAuth Apps Manager' => t('OAuth Apps Manager'), + 'OAuth2 Apps Manager' => t('OAuth2 Apps Manager'), + 'PDL Editor' => t('PDL Editor'), + 'Permission Categories' => t('Permission Categories'), + 'Premium Channel' => t('Premium Channel'), + 'Public Stream' => t('Public Stream'), + 'My Chatrooms' => t('My Chatrooms') ); if(array_key_exists('name',$arr)) { @@ -349,6 +362,9 @@ class Apps { for($x = 0; $x < count($arr); $x++) { if(array_key_exists($arr[$x]['name'],$apps)) { $arr[$x]['name'] = $apps[$arr[$x]['name']]; + } else { + // Try to guess by app name if not in list + $arr[$x]['name'] = t(trim($arr[$x]['name'])); } } } @@ -763,7 +779,6 @@ class Apps { call_hooks('app_list',$hookinfo); $r = $hookinfo['apps']; for($x = 0; $x < count($r); $x ++) { - $r[$x]['app_name']=t(trim($r[$x]['app_name'])); if(! $r[$x]['app_system']) $r[$x]['type'] = 'personal'; $r[$x]['term'] = q("select * from term where otype = %d and oid = %d", -- cgit v1.2.3 From 7ca8f7b5ccd8f0526d7b96676a15440d8068d58d Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Sat, 29 Sep 2018 15:42:22 +0200 Subject: allow to install apps by name --- Zotlabs/Lib/Apps.php | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'Zotlabs/Lib/Apps.php') diff --git a/Zotlabs/Lib/Apps.php b/Zotlabs/Lib/Apps.php index aef6756b5..c54a5a111 100644 --- a/Zotlabs/Lib/Apps.php +++ b/Zotlabs/Lib/Apps.php @@ -546,6 +546,17 @@ class Apps { } static public function app_install($uid,$app) { + + if(! is_array($app)) { + $r = q("select * from app where app_name = '%s' and app_channel = 0", + dbesc($app) + ); + if(! $r) + return false; + + $app = self::app_encode($r[0]); + } + $app['uid'] = $uid; if(self::app_installed($uid,$app,true)) -- cgit v1.2.3 From 67f19745fd5c66345a7e64b3d5fdedf6c1a6b8b6 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Tue, 2 Oct 2018 14:29:56 +0200 Subject: add app_destroy hook which allows addons to perform post delete actions --- Zotlabs/Lib/Apps.php | 1 + 1 file changed, 1 insertion(+) (limited to 'Zotlabs/Lib/Apps.php') diff --git a/Zotlabs/Lib/Apps.php b/Zotlabs/Lib/Apps.php index c54a5a111..ec1f3f9dc 100644 --- a/Zotlabs/Lib/Apps.php +++ b/Zotlabs/Lib/Apps.php @@ -623,6 +623,7 @@ class Apps { intval(TERM_OBJ_APP), intval($x[0]['id']) ); + call_hooks('app_destroy', $x[0]); } else { $r = q("update app set app_deleted = 1 where app_id = '%s' and app_channel = %d", -- cgit v1.2.3 From c00dc6120d5a458a2386ab4e561437d9f8c62b3c Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Thu, 4 Oct 2018 13:26:45 +0200 Subject: defperm app --- Zotlabs/Lib/Apps.php | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'Zotlabs/Lib/Apps.php') diff --git a/Zotlabs/Lib/Apps.php b/Zotlabs/Lib/Apps.php index ec1f3f9dc..8db4e000f 100644 --- a/Zotlabs/Lib/Apps.php +++ b/Zotlabs/Lib/Apps.php @@ -271,6 +271,10 @@ class Apps { if(! can_view_public_stream()) unset($ret); break; + case 'custom_role': + if(get_pconfig(local_channel(),'system','permissions_role') != 'custom') + unset($ret); + break; case 'observer': if(! $observer) unset($ret); @@ -468,6 +472,10 @@ class Apps { if(! can_view_public_stream()) return ''; break; + case 'custom_role': + if(get_pconfig(local_channel(),'system','permissions_role') != 'custom') + return ''; + break; case 'observer': $observer = \App::get_observer(); if(! $observer) -- cgit v1.2.3