From: Hans-Emil Skogh Date: Thu, 12 Jan 2012 20:24:17 +0000 (+0100) Subject: Added support for custom/extra/unknown permissions. X-Git-Tag: 0.1~1063^2~10^2~3 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=a7fac59c3b6f4b2220566204f372087d2d9de0be;p=fdroidserver.git Added support for custom/extra/unknown permissions. Also alphabetic sorting of permissions with identical levels and group. --- 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 ''; } }