]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Upgraded pagehandler.
authorSem <sembrestels@riseup.net>
Thu, 3 Nov 2011 20:18:37 +0000 (21:18 +0100)
committerSem <sembrestels@riseup.net>
Thu, 3 Nov 2011 20:18:37 +0000 (21:18 +0100)
pages/videolist/add.php [moved from new.php with 100% similarity]
pages/videolist/all.php [moved from all.php with 100% similarity]
pages/videolist/browse.php [moved from browse.php with 100% similarity]
pages/videolist/edit.php [moved from edit.php with 100% similarity]
pages/videolist/friends.php [moved from friends.php with 100% similarity]
pages/videolist/owner.php [moved from index.php with 100% similarity]
pages/videolist/watch.php [moved from watch.php with 100% similarity]
start.php

similarity index 100%
rename from new.php
rename to pages/videolist/add.php
similarity index 100%
rename from all.php
rename to pages/videolist/all.php
similarity index 100%
rename from browse.php
rename to pages/videolist/browse.php
similarity index 100%
rename from edit.php
rename to pages/videolist/edit.php
similarity index 100%
rename from friends.php
rename to pages/videolist/friends.php
similarity index 100%
rename from index.php
rename to pages/videolist/owner.php
similarity index 100%
rename from watch.php
rename to pages/videolist/watch.php
index 2e371d8d155803729ad83db16ea5745ae90f9ce6..724aad61d02056a6018e3a7328a19d203046385b 100644 (file)
--- a/start.php
+++ b/start.php
@@ -71,49 +71,60 @@ function videolist_init() {
 }
 
 /**
- * videolist page handler; allows the use of fancy URLs
+ * Dispatches blog pages.
+ * URLs take the form of
+ *  All videos:       videolist/all
+ *  User's videos:    videolist/owner/<username>
+ *  Friends' videos:  videolist/friends/<username>
+ *  Video watch:      videolist/watch/<guid>/<title>
+ *  Video browse:     videolist/browse
+ *  New video:        videolist/add/<guid>
+ *  Edit video:       videolist/edit/<guid>/<revision>
+ *  Group videos:     videolist/group/<guid>/all
  *
- * @param array $page From the page_handler function
- * @return true|false Depending on success
+ * Title is ignored
+ *
+ * @param array $page
+ * @return NULL
  */
 function videolist_page_handler($page) {
-       if (isset($page[0])) {
-               switch($page[0]) {
-                       case "owned": if (isset($page[1])) set_input('username',$page[1]);
-                                                               @include(dirname(__FILE__) . "/index.php");
-                                                               break;
-                       case "friends":     @include(dirname(__FILE__) . "/friends.php");
-                                                               break;
-                       case "search":          @include(dirname(__FILE__) . "/all.php");
-                                                               break;
-                       case "video":           @include(dirname(__FILE__) . "/video.php");
-                                                               break;
-                       case "new": if (isset($page[3])) set_input('add_videourl',$page[3]);
-                                                                       if (isset($page[5])) set_input('page',$page[5]);
-                                                                       if (isset($page[1])) set_input('container',$page[1]);
-                                                               @include(dirname(__FILE__) . "/new.php");
-                                                               break;
-                       case "watch":   set_input('video_id',$page[1]);
-                                                               @include(dirname(__FILE__) . "/watch.php");
-                                                               break;
-                       case "browse":  if (isset($page[1])) set_input('container',$page[1]);
-                                                               @include(dirname(__FILE__) . "/browse.php");
-                                                               break;
-               default : if (isset($page[1])) set_input('username',$page[1]);
-                                                               @include(dirname(__FILE__) . "/index.php");
-                                                               break;
-               }
-       // If the URL is just 'videolist/username', or just 'videolist/', load the standard index file
-       } else {
-               if (isset($page[1])) {
-                       set_input('username',$page[1]);
-               }
-
-               include(dirname(__FILE__) . "/index.php");
-               return true;
+       
+       if (!isset($page[0])) {
+               $page[0] = 'all';
        }
 
-       return false;
+       $videolist_dir = elgg_get_plugins_path() . 'videolist/pages/videolist';
+
+       $page_type = $page[0];
+       switch ($page_type) {
+               case 'owner':
+                       include "$videolist_dir/owner.php";
+                       break;
+               case 'friends':
+                       include "$videolist_dir/friends.php";
+                       break;
+               case 'watch':
+                       set_input('guid', $page[1]);
+                       include "$videolist_dir/watch.php";
+                       break;
+               case 'add':
+                       include "$videolist_dir/add.php";
+                       break;
+               case 'edit':
+                       set_input('guid', $page[1]);
+                       include "$videolist_dir/edit.php";
+                       break;
+               case 'browse':
+                       include "$videolist_dir/browse.php";
+                       break;
+               case 'group':
+                       include "$videolist_dir/owner.php";
+                       break;
+               case 'all':
+               default:
+                       include "$videolist_dir/all.php";
+                       break;
+       }
 }