From a7fac59c3b6f4b2220566204f372087d2d9de0be Mon Sep 17 00:00:00 2001 From: Hans-Emil Skogh Date: Thu, 12 Jan 2012 21:24:17 +0100 Subject: [PATCH] Added support for custom/extra/unknown permissions. Also alphabetic sorting of permissions with identical levels and group. --- wp-fdroid/wp-fdroid.php | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/wp-fdroid/wp-fdroid.php b/wp-fdroid/wp-fdroid.php index 7b33e4ff..8e073371 100644 --- a/wp-fdroid/wp-fdroid.php +++ b/wp-fdroid/wp-fdroid.php @@ -224,38 +224,42 @@ class FDroid $out.='
'; $permissions = explode(',',$apk['permissions']); usort($permissions, - - function ($a, $b) use (&$permissions_data) { $aProtectionLevel = $permissions_data['permission'][$a]['protectionLevel']; $bProtectionLevel = $permissions_data['permission'][$b]['protectionLevel']; if($aProtectionLevel != $bProtectionLevel) { + if(strlen($aProtectionLevel)==0) return 1; + if(strlen($bProtectionLevel)==0) return -1; + return strcmp($aProtectionLevel, $bProtectionLevel); } $aGroup = $permissions_data['permission'][$a]['permissionGroup']; $bGroup = $permissions_data['permission'][$b]['permissionGroup']; - return strcmp($aGroup, $bGroup); - } + if($aGroup != $bGroup) { + return strcmp($aGroup, $bGroup); + } - - + return strcmp($a, $b); + } ); $permission_group_last = ''; foreach($permissions as $permission) { $permission_group = $permissions_data['permission'][$permission]['permissionGroup']; if($permission_group != $permission_group_last) { - $out.=''.strtoupper($permissions_data['permission-group'][$permission_group]['label']).'
'; + $permission_group_label = $permissions_data['permission-group'][$permission_group]['label']; + if($permission_group_label=='') $permission_group_label = 'Extra/Custom'; + $out.=''.strtoupper($permission_group_label).'
'; $permission_group_last = $permission_group; } $out.=$this->get_permission_protection_level_icon($permissions_data['permission'][$permission]['protectionLevel']).' '; $out.=''.$permissions_data['permission'][$permission]['label'].' ['.$permission.']
'; - $out.=$permissions_data['permission'][$permission]['description'].'
'; + if($permissions_data['permission'][$permission]['description']) $out.=$permissions_data['permission'][$permission]['description'].'
'; //$out.=$permissions_data['permission'][$permission]['comment'].'
'; $out.='
'; } @@ -284,7 +288,7 @@ class FDroid } else { - return '!'; + return ''; } } -- 2.30.2