Handle if a package has no permissions.

This commit is contained in:
Hans-Emil Skogh 2012-01-14 12:39:33 +01:00
parent 9355640475
commit a2569989b4

View file

@ -215,55 +215,60 @@ class FDroid
if($apk['srcname']) if($apk['srcname'])
$out.='<br><a href="http://f-droid.org/repo/'.$apk['srcname'].'">source tarball</a>'; $out.='<br><a href="http://f-droid.org/repo/'.$apk['srcname'].'">source tarball</a>';
/*if($i==0) if(isset($apk['permissions'])) {
$divStyleDisplay='block'; /*if($i==0)
else*/ $divStyleDisplay='block';
$divStyleDisplay='none'; else*/
$divId='permissions'.$i; $divStyleDisplay='none';
$out.='<br /><a href="javascript:void(0);" onClick="showHidePermissions(\''.$divId.'\');">view permissions</a><br/>'; $divId='permissions'.$i;
$out.='<div style="display:'.$divStyleDisplay.';" id="'.$divId.'">'; $out.='<br /><a href="javascript:void(0);" onClick="showHidePermissions(\''.$divId.'\');">view permissions</a><br/>';
$permissions = explode(',',$apk['permissions']); $out.='<div style="display:'.$divStyleDisplay.';" id="'.$divId.'">';
usort($permissions, $permissions = explode(',',$apk['permissions']);
function ($a, $b) use (&$permissions_data) { usort($permissions,
function ($a, $b) use (&$permissions_data) {
$aProtectionLevel = $permissions_data['permission'][$a]['protectionLevel']; $aProtectionLevel = $permissions_data['permission'][$a]['protectionLevel'];
$bProtectionLevel = $permissions_data['permission'][$b]['protectionLevel']; $bProtectionLevel = $permissions_data['permission'][$b]['protectionLevel'];
if($aProtectionLevel != $bProtectionLevel) { if($aProtectionLevel != $bProtectionLevel) {
if(strlen($aProtectionLevel)==0) return 1; if(strlen($aProtectionLevel)==0) return 1;
if(strlen($bProtectionLevel)==0) return -1; if(strlen($bProtectionLevel)==0) return -1;
return strcmp($aProtectionLevel, $bProtectionLevel); return strcmp($aProtectionLevel, $bProtectionLevel);
}
$aGroup = $permissions_data['permission'][$a]['permissionGroup'];
$bGroup = $permissions_data['permission'][$b]['permissionGroup'];
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) {
$permission_group_label = $permissions_data['permission-group'][$permission_group]['label'];
if($permission_group_label=='') $permission_group_label = 'Extra/Custom';
$out.='<strong>'.strtoupper($permission_group_label).'</strong><br/>';
$permission_group_last = $permission_group;
} }
$aGroup = $permissions_data['permission'][$a]['permissionGroup']; $out.=$this->get_permission_protection_level_icon($permissions_data['permission'][$permission]['protectionLevel']).' ';
$bGroup = $permissions_data['permission'][$b]['permissionGroup']; $out.='<strong>'.$permissions_data['permission'][$permission]['label'].'</strong> [<code>'.$permission.'</code>]<br/>';
if($permissions_data['permission'][$permission]['description']) $out.=$permissions_data['permission'][$permission]['description'].'<br/>';
if($aGroup != $bGroup) { //$out.=$permissions_data['permission'][$permission]['comment'].'<br/>';
return strcmp($aGroup, $bGroup); $out.='<br/>';
}
return strcmp($a, $b);
} }
); $out.='</div>';
}
$permission_group_last = ''; else {
foreach($permissions as $permission) { $out.='<br /><span style="color:#999999;">no permissions</span><br />';
$permission_group = $permissions_data['permission'][$permission]['permissionGroup'];
if($permission_group != $permission_group_last) {
$permission_group_label = $permissions_data['permission-group'][$permission_group]['label'];
if($permission_group_label=='') $permission_group_label = 'Extra/Custom';
$out.='<strong>'.strtoupper($permission_group_label).'</strong><br/>';
$permission_group_last = $permission_group;
}
$out.=$this->get_permission_protection_level_icon($permissions_data['permission'][$permission]['protectionLevel']).' ';
$out.='<strong>'.$permissions_data['permission'][$permission]['label'].'</strong> [<code>'.$permission.'</code>]<br/>';
if($permissions_data['permission'][$permission]['description']) $out.=$permissions_data['permission'][$permission]['description'].'<br/>';
//$out.=$permissions_data['permission'][$permission]['comment'].'<br/>';
$out.='<br/>';
} }
$out.='</div>';
$out.='</p>'; $out.='</p>';
$i++; $i++;
@ -278,16 +283,13 @@ class FDroid
} }
private function get_permission_protection_level_icon($protection_level) { private function get_permission_protection_level_icon($protection_level) {
if($protection_level=='dangerous') if($protection_level=='dangerous') {
{
return '<span style="color:#DD9900;font-size:150%;">&#x26a0;</span>'; return '<span style="color:#DD9900;font-size:150%;">&#x26a0;</span>';
} }
elseif($protection_level=='normal') elseif($protection_level=='normal') {
{
return '<span style="color:#6666FF;font-size:110%;">&#x24D8;</span>'; return '<span style="color:#6666FF;font-size:110%;">&#x24D8;</span>';
} }
else else {
{
return '<span style="color:#33AA33;font-size:130%;">&#x2699;</span>'; return '<span style="color:#33AA33;font-size:130%;">&#x2699;</span>';
} }
} }