]> source.dussan.org Git - nextcloud-server.git/commitdiff
application listing works more or less now
authorFrank Karlitschek <karlitschek@kde.org>
Sat, 16 Apr 2011 17:42:58 +0000 (19:42 +0200)
committerFrank Karlitschek <karlitschek@kde.org>
Sat, 16 Apr 2011 17:42:58 +0000 (19:42 +0200)
admin/apps.php
admin/templates/apps.php
lib/ocsclient.php

index dc7b51bb820a5acbf58e1e1f0267e570fea43fa7..b03357a0fb0965711509da04c78bb366cf781cd4 100644 (file)
@@ -35,7 +35,9 @@ if( !OC_USER::isLoggedIn() || !OC_GROUP::inGroup( $_SESSION['user_id'], 'admin'
 
 
 $categories=OC_OCSCLIENT::getCategories();
+//print_r($categories);
 $apps=OC_OCSCLIENT::getApplications($categories);
+//print_r($apps);
 
 
 // return template
index f1fdafc27cc824e21bfd20342635238875850e91..c3f4fdfcc19869147278ede0714ca82cfafb7e7c 100644 (file)
@@ -1,50 +1,29 @@
 <?php
 /*
- * Template for files
+ * Template for Apps
  */
 ?>
-<h1>Files</h1>
+<h1>Apps Repository</h1>
 
-<div class="controls">
-       <p class="actions">
-               <a href="" title="" class="upload">Upload</a><a href="" title="" class="new-dir">New folder</a><a href="" title="" class="download">Download</a><a href="" title="" class="share">Share</a><a href="" title="" class="delete">Delete</a>
-       </p>
-</div>
-
-<p class="nav">
-       <a href="<?php echo link_to("files", "index.php?dir=/"); ?>"><img src="<?php echo image_path("", "actions/go-home.png"); ?>" alt="Root" /></a>
-       <?php foreach($_["breadcrumb"] as $crumb): ?>
-               <a href="<?php echo link_to("files", "index.php?dir=".$crumb["dir"]); ?>"><?php echo $crumb["name"]; ?></a>
-       <?php endforeach; ?>
-</p>
 
 <table cellspacing="0">
        <thead>
                <tr>
-                       <th><input type="checkbox" id="select_all" /></th>
+                       <th></th>
                        <th>Name</th>
-                       <th>Size</th>
                        <th>Modified</th>
                        <th></th>
                </tr>
        </thead>
        <tbody>
-               <?php foreach($_["files"] as $file): ?>
+               <?php foreach($_["apps"] as $app): ?>
                        <tr>
-                               <td class="selection"><input type="checkbox" /></td>
-                               <td class="filename"><a style="background-image:url(<?php if($file["type"] == "dir") echo mimetype_icon("dir"); else echo mimetype_icon($file["mime"]); ?>)" href="<?php if($file["type"] == "dir") echo link_to("files", "index.php?dir=".$file["directory"]."/".$file["name"]); else echo link_to("files", "download.php?file=".$file["directory"]."/".$file["name"]); ?>" title=""><?php echo $file["name"]; ?></a></td>
-                               <td class="filesize"><?php echo human_file_size($file["size"]); ?></td>
-                               <td class="date"><?php if($file["type"] != "dir") echo $file["date"]; ?></td>
+                               <td class="filename"><?php if($app["preview"] <> "") { echo('<a href=""><img border="0" src="'.$app["preview"].'" /></a>'); } ?> </a></td>
+                               <td class="filename"><a href="" title=""><?php echo $app["name"]; ?></a></td>
+                               <td class="date"><?php echo date($app["changed"]); ?></td>
                                <td class="fileaction"><a href="" title=""><img src="images/drop-arrow.png" alt="+" /></a></td>
                        </tr>
                <?php endforeach; ?>
        </tbody>
 </table>
 
-<div id="file_menu">
-       <ul>
-               <li><a href="" title="">Download</a></li>
-               <li><a href="" title="">Share</a></li>
-               <li><a href="" title="">Delete</a></li>
-       </ul>
-</div>
index 0546ef3989723dc163b199c1d616e71b85d21703..e58a210077ecd18fd2b4a59b7a37e3d0f2a4f6b1 100644 (file)
@@ -35,8 +35,20 @@ class OC_OCSCLIENT{
         * This function returns a list of all the application categories on the OCS server
         */
        public static function getCategories(){
-
-               return true;
+               $url='http://api.opendesktop.org/v1/content/categories';
+       
+               $cats=array();
+               $xml=file_get_contents($url);
+               $data=simplexml_load_string($xml);
+       
+               $tmp=$data->data->category;
+               for($i = 0; $i < count($tmp); $i++) {
+                       $cat=array();
+                       $cat['id']=$tmp[$i]->id;
+                       $cat['name']=$tmp[$i]->name;
+                       $cats[]=$cat;
+               }
+               return $cats;
        }
 
        /**
@@ -45,9 +57,29 @@ class OC_OCSCLIENT{
         *
         * This function returns a list of all the applications on the OCS server
         */
-       public static function getApplications(){
-
-               return true;
+       public static function getApplications($categories){
+               $categoriesstring=implode('x',$categories);
+               $url='http://api.opendesktop.org/v1/content/data?categories='.$ocscategories['ids'].'&sortmode=new&page=0&pagesize=10';
+       
+               $apps=array();
+               $xml=file_get_contents($url);
+               $data=simplexml_load_string($xml);
+       
+               $tmp=$data->data->content;
+               for($i = 0; $i < count($tmp); $i++) {
+                       $app=array();
+                       $app['id']=$tmp[$i]->id;
+                       $app['name']=$tmp[$i]->name;
+                       $app['type']=$tmp[$i]->type;
+                       $app['personid']=$tmp[$i]->personid;
+                       $app['detailpage']=$tmp[$i]->detailpage;
+                       $app['preview']=$tmp[$i]->smallpreviewpic1;
+                       $app['changed']=$tmp[$i]->changed;
+                       $app['description']=$tmp[$i]->description;
+       
+                       $apps[]=$app;
+               } 
+               return $apps;
        }
 
 }