chiark / gitweb /
WordPress plugin: now with app detail pages
authorCiaran Gultnieks <ciaran@ciarang.com>
Sun, 5 Dec 2010 11:30:11 +0000 (11:30 +0000)
committerCiaran Gultnieks <ciaran@ciarang.com>
Sun, 5 Dec 2010 11:30:11 +0000 (11:30 +0000)
updateplugin.sh [new file with mode: 0755]
wp-fdroid/wp-fdroid.php

diff --git a/updateplugin.sh b/updateplugin.sh
new file mode 100755 (executable)
index 0000000..fe798e9
--- /dev/null
@@ -0,0 +1 @@
+scp -r wp-fdroid/ fdroid@f-droid.org:/home/fdroid/public_html/wp-content/plugins
index b36a0ee2b246d636bc7d2f0834e58a4641b5e2c2..2aaba2e824db6d0dbb2e35d11815ac9261e44516 100644 (file)
@@ -81,16 +81,60 @@ class FDroid
                                $page=1;\r
                }\r
 \r
-               $filter=null;\r
-               if(isset($wp_query->query_vars['fdfilter']))\r
-                       $filter=$wp_query->query_vars['fdfilter'];\r
+               $filter=$wp_query->query_vars['fdfilter'];\r
+               $fdid=$wp_query->query_vars['fdid'];\r
 \r
-               $out=$this->get_apps($page,$filter);\r
+               if($fdid!==null)\r
+                       $out=$this->get_app($fdid);\r
+               else\r
+                       $out=$this->get_apps($page,$filter);\r
                return $out;\r
 \r
        }\r
 \r
 \r
+       function get_app($id) {\r
+\r
+               $xml = simplexml_load_file("/home/fdroid/public_html/repo/index.xml");\r
+               foreach($xml->children() as $app) {\r
+\r
+                       $attrs=$app->attributes();\r
+                       if($attrs['id']==$id) {\r
+                               foreach($app->children() as $el) {\r
+                                       switch($el->getName()) {\r
+                                               case "name":\r
+                                                       $name=$el;\r
+                                                       break;\r
+                                               case "icon":\r
+                                                       $icon=$el;\r
+                                                       break;\r
+                                               case "summary":\r
+                                                       $summary=$el;\r
+                                                       break;\r
+                                               case "license":\r
+                                                       $license=$el;\r
+                                                       break;\r
+                                               case "source":\r
+                                                       $source=$el;\r
+                                                       break;\r
+                                               case "issues":\r
+                                                       $issues=$el;\r
+                                                       break;\r
+                                               case "web":\r
+                                                       $web=$el;\r
+                                                       break;\r
+                                       }\r
+                               }\r
+                               $out="<h2>".$name."</h2>";\r
+                               $out.='<p><img src="http://f-droid.org/repo/icons/'.$icon.'" width=40>';\r
+                               $out.=$summary;\r
+                               $out.="</p>";\r
+                               return $out;\r
+                       }\r
+               }\r
+               return "<p>Application not found</p>";\r
+       }\r
+\r
 \r
        function get_apps($page,$filter=null) {\r
 \r
@@ -108,6 +152,8 @@ class FDroid
                $xml = simplexml_load_file("/home/fdroid/public_html/repo/index.xml");\r
                foreach($xml->children() as $app) {\r
 \r
+                       $attrs=$app->attributes();\r
+                       $id=$attrs['id'];\r
                        foreach($app->children() as $el) {\r
                                switch($el->getName()) {\r
                                        case "name":\r
@@ -122,15 +168,6 @@ class FDroid
                                        case "license":\r
                                                $license=$el;\r
                                                break;\r
-                                       case "source":\r
-                                               $source=$el;\r
-                                               break;\r
-                                       case "issues":\r
-                                               $issues=$el;\r
-                                               break;\r
-                                       case "web":\r
-                                               $web=$el;\r
-                                               break;\r
                                }\r
                        }\r
 \r
@@ -141,6 +178,9 @@ class FDroid
                                        $out.="<h2>".$name."</h2>";\r
                                        $out.='<p><img src="http://f-droid.org/repo/icons/'.$icon.'" width=40>';\r
                                        $out.=$summary;\r
+                                       $out.='<br><a href="';\r
+                                       $out.=$this->makelink("fdid=".$id);\r
+                                       $out.='">Details...</a>';\r
                                        $out.="</p>";\r
                                        $got++;\r
                                }\r