From: Hans-Emil Skogh Date: Tue, 27 Dec 2011 19:29:45 +0000 (+0100) Subject: Added functionality to parse android permission data from the appropriate XML file... X-Git-Tag: 0.1~1063^2~10^2~9 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=34ae635f5031a04f98f9e69d2e3c8f805ff320fb;p=fdroidserver.git Added functionality to parse android permission data from the appropriate XML file from the Android source. --- diff --git a/wp-fdroid/android-permissions.php b/wp-fdroid/android-permissions.php new file mode 100644 index 00000000..9901a70c --- /dev/null +++ b/wp-fdroid/android-permissions.php @@ -0,0 +1,39 @@ +load($android_manifest_file_path); + + $xpath = new DOMXPath($doc); + + $description = ''; + + foreach ($xpath->query('node()') as $node) { + // Save permissions and permission groups from tags + if($node->nodeName == 'permission-group' || $node->nodeName == 'permission') { + $name = $node->attributes->getNamedItem('name')->value; + $name = substr(strrchr($name,'.'), 1); + $permissions[$node->nodeName][$name]['description'] = str_replace(array("\r\n", "\r", "\n", "\t", ' '), '', $description); + + if($node->nodeName == 'permission') { + $permissions[$node->nodeName][$name]['permissionGroup'] = substr(strrchr($node->attributes->getNamedItem('permissionGroup')->value,'.'), 1); + $permissions[$node->nodeName][$name]['protectionLevel'] = $node->attributes->getNamedItem('protectionLevel')->value; + } + } + + // Cache descriptions from comments preceding the tags + if($node->nodeName == '#comment') { + $description .= $node->textContent; + } + elseif($node->nodeName != '#text') { + $description = ''; + } + } + + return $permissions; +} +?> \ No newline at end of file