From 34ae635f5031a04f98f9e69d2e3c8f805ff320fb Mon Sep 17 00:00:00 2001 From: Hans-Emil Skogh Date: Tue, 27 Dec 2011 20:29:45 +0100 Subject: [PATCH] Added functionality to parse android permission data from the appropriate XML file from the Android source. --- wp-fdroid/android-permissions.php | 39 +++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 wp-fdroid/android-permissions.php 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 -- 2.30.2