]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
file index page now working for both users and groups
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Fri, 31 Dec 2010 15:47:41 +0000 (15:47 +0000)
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Fri, 31 Dec 2010 15:47:41 +0000 (15:47 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@7790 36083f99-b078-4883-b0ff-0f9b5a30f544

mod/blog/lib/blog.php
mod/file/download.php
mod/file/index.php
mod/file/start.php
mod/file/thumbnail.php
mod/file/upload.php
mod/file/views/default/file/groupprofile_files.php

index 354bf561d0a5a7fb02e32227fcbfe11dd9266e3e..c0b24f92e339e232ab77b7a6b96ed5653f7d09f3 100644 (file)
@@ -82,7 +82,7 @@ function blog_get_page_content_list($container_guid = NULL) {
 
                if ($container_guid == $loggedin_userid) {
                        $return['filter_context'] = 'mine';
-               } else{
+               } else {
                        // do not show button or select a tab when viewing someone else's posts
                        $return['filter_context'] = 'none';
                        $return['buttons'] = '';
index d7625901ef9503f0b26e1b893d9cce39d86ffc8f..a386d490fb4d53485edafae244dfbded997e12ec 100644 (file)
@@ -11,32 +11,30 @@ $file_guid = get_input("file_guid");
 
 // Get the file
 $file = get_entity($file_guid);
+if (!$file) {
+       register_error(elgg_echo("file:downloadfailed"));
+       forward();
+}
 
-if ($file) {
-       $mime = $file->getMimeType();
-       if (!$mime) {
-               $mime = "application/octet-stream";
-       }
-
-       $filename = $file->originalfilename;
+$mime = $file->getMimeType();
+if (!$mime) {
+       $mime = "application/octet-stream";
+}
 
-       // fix for IE https issue
-       header("Pragma: public");
+$filename = $file->originalfilename;
 
-       header("Content-type: $mime");
-       if (strpos($mime, "image/") !== false) {
-               header("Content-Disposition: inline; filename=\"$filename\"");
-       } else {
-               header("Content-Disposition: attachment; filename=\"$filename\"");
-       }
+// fix for IE https issue
+header("Pragma: public");
 
-       $contents = $file->grabFile();
-       $splitString = str_split($contents, 8192);
-       foreach ($splitString as $chunk) {
-               echo $chunk;
-       }
-       exit;
+header("Content-type: $mime");
+if (strpos($mime, "image/") !== false) {
+       header("Content-Disposition: inline; filename=\"$filename\"");
 } else {
-       register_error(elgg_echo("file:downloadfailed"));
-       forward();
-}
\ No newline at end of file
+       header("Content-Disposition: attachment; filename=\"$filename\"");
+}
+
+$contents = $file->grabFile();
+$splitString = str_split($contents, 8192);
+foreach ($splitString as $chunk) {
+       echo $chunk;
+}
index 3706f65b3d3b5df00242905a59e1bb3d93035ca4..bdda62786e6588cfd2e073dc6fe4db248592886f 100644 (file)
@@ -5,6 +5,8 @@
  * @package ElggFile
  */
 
+elgg_set_page_owner_guid(get_input('guid'));
+
 // access check for closed groups
 group_gatekeeper();
 
@@ -13,21 +15,44 @@ $owner = elgg_get_page_owner();
 elgg_push_breadcrumb(elgg_echo('file'), "pg/file/all/");
 elgg_push_breadcrumb($owner->name);
 
+$params = array();
 
-//set the title
-if (elgg_get_page_owner_guid() == get_loggedin_userid()) {
+if ($owner->guid == get_loggedin_userid()) {
+       // user looking at own files
        $title = elgg_echo('file:yours');
-       $area1 = elgg_view('page/elements/content_header', array('context' => "mine", 'type' => 'file'));
+       $params['filter_context'] = 'mine';
+} else if (elgg_instanceof($owner, 'user')) {
+       // someone else's files
+       $title = elgg_echo("file:user", array($owner()->name));
+       // do not show button or select a tab when viewing someone else's posts
+       $params['filter_context'] = 'none';
+       $params['buttons'] = '';
 } else {
-       $title = elgg_echo("file:user",array(elgg_get_page_owner()->name));
-       $area1 = elgg_view('page/elements/content_header', array('context' => "friends", 'type' => 'file'));
+       // group files
+       $title = elgg_echo("file:user", array($owner->name));
+       $params['filter'] = '';
+       if ($owner->isMember(get_loggedin_user())) {
+               $url = "pg/file/new/$owner->guid";
+               $vars = array(
+                       'href' => $url,
+                       'text' => elgg_echo("file:new"),
+                       'class' => 'elgg-action-button',
+               );
+               $button = elgg_view('output/url', $vars);
+               $params['buttons'] = $button;
+       } else {
+               $params['buttons'] = '';
+       }
 }
 
 // Get objects
-elgg_push_context('search');
-$offset = (int)get_input('offset', 0);
-$content = elgg_list_entities(array('types' => 'object', 'subtypes' => 'file', 'container_guid' => elgg_get_page_owner_guid(), 'limit' => 10, 'offset' => $offset, 'full_view' => FALSE));
-elgg_pop_context();
+$content = elgg_list_entities(array(
+       'types' => 'object',
+       'subtypes' => 'file',
+       'container_guid' => $owner->guid,
+       'limit' => 10,
+       'full_view' => FALSE,
+));
 
 $get_filter = get_filetype_cloud(elgg_get_page_owner_guid());
 if ($get_filter) {
@@ -40,10 +65,9 @@ if ($get_filter) {
 $comments = get_annotations(0, "object", "file", "generic_comment", "", 0, 4, 0, "desc",0,0,elgg_get_page_owner_guid());
 $area3 = elgg_view('comments/latest', array('comments' => $comments));
 
-$body = elgg_view_layout('content', array(
-       'filter_context' => 'mine',
-       'content' => $content,
-       'title' => $title,
-));
+$params['content'] = $content;
+$params['title'] = $title;
+
+$body = elgg_view_layout('content', $params);
 
-echo elgg_view_page($title, $body);
\ No newline at end of file
+echo elgg_view_page($title, $body);
index ff0dcbc48efb4eb8c6d0744c7b76089fbee25139..d58940f4069595bb8084e75059a0e3767aa028ad 100644 (file)
@@ -59,7 +59,7 @@ function file_init() {
  *  Friends' files:  pg/file/friends/<username>
  *  View file:       pg/file/view/<guid>/<title>
  *  New file:        pg/file/new/<guid>
- *  Edit file:       pg/file/edit/<guid>/<revision>
+ *  Edit file:       pg/file/edit/<guid>
  *  Group files:     pg/file/group/<guid>/owner
  *
  * Title is ignored
@@ -78,7 +78,8 @@ function file_page_handler($page) {
        $page_type = $page[0];
        switch ($page_type) {
                case 'owner':
-                       set_input('username', $page[1]);
+                       $owner = get_user_by_username($page[1]);
+                       set_input('guid', $owner->guid);
                        include "$file_dir/index.php";
                        break;
                case 'friends':
@@ -98,6 +99,8 @@ function file_page_handler($page) {
                        include "$file_dir/edit.php";
                        break;
                case 'group':
+                       set_input('guid', $page[1]);
+                       include "$file_dir/index.php";
                        break;
                case 'all':
                default:
@@ -150,7 +153,7 @@ function file_owner_block_menu($hook, $type, $return, $params) {
                $return[] = $item;
        } else {
                if ($params['entity']->file_enable != "no") {
-                       $url = "pg/file/owner/{$params['entity']->username}";
+                       $url = "pg/file/group/{$params['entity']->guid}/owner";
                        $item = new ElggMenuItem('file', elgg_echo('file:group'), $url);
                        $return[] = $item;
                }
index 4da560a6c8ac6e08811859782a32f979ce34bb43..35bf8c7f71d64e46ab8555f36d2d8e41e3316b5a 100644 (file)
@@ -14,50 +14,44 @@ $file_guid = (int) get_input('file_guid', 0);
 // Get file thumbnail size
 $size = get_input('size', 'small');
 
-// Get file entity
-if ($file = get_entity($file_guid)) {
-               
-       if ($file->getSubtype() == "file") {
-
-               $simpletype = $file->simpletype;
-               if ($simpletype == "image") {
-                               
-                       // Get file thumbnail
-                       switch ($size) {
-                               case "small":
-                                       $thumbfile = $file->thumbnail;
-                                       break;
-                               case "medium":
-                                       $thumbfile = $file->smallthumb;
-                                       break;
-                               case "large":
-                               default:
-                                       $thumbfile = $file->largethumb;
-                                       break;
-                       }
-
-                       // Grab the file
-                       if ($thumbfile && !empty($thumbfile)) {
-                               $readfile = new ElggFile();
-                               $readfile->owner_guid = $file->owner_guid;
-                               $readfile->setFilename($thumbfile);
-                               $mime = $file->getMimeType();
-                               $contents = $readfile->grabFile();
-                               
-                               // caching images for 10 days
-                               header("Content-type: $mime");
-                               header('Expires: ' . date('r',time() + 864000));
-                               header("Pragma: public", true);
-                               header("Cache-Control: public", true);
-                               header("Content-Length: " . strlen($contents));
-                               
-                               echo $contents;
-                               exit;
-                                       
-                       }
-                               
-               }
+$file = get_entity($file_guid);
+if (!$file || $file->getSubtype() != "file") {
+       exit;
+}
+
+$simpletype = $file->simpletype;
+if ($simpletype == "image") {
+
+       // Get file thumbnail
+       switch ($size) {
+               case "small":
+                       $thumbfile = $file->thumbnail;
+                       break;
+               case "medium":
+                       $thumbfile = $file->smallthumb;
+                       break;
+               case "large":
+               default:
+                       $thumbfile = $file->largethumb;
+                       break;
+       }
+
+       // Grab the file
+       if ($thumbfile && !empty($thumbfile)) {
+               $readfile = new ElggFile();
+               $readfile->owner_guid = $file->owner_guid;
+               $readfile->setFilename($thumbfile);
+               $mime = $file->getMimeType();
+               $contents = $readfile->grabFile();
+
+               // caching images for 10 days
+               header("Content-type: $mime");
+               header('Expires: ' . date('r',time() + 864000));
+               header("Pragma: public", true);
+               header("Cache-Control: public", true);
+               header("Content-Length: " . strlen($contents));
 
+               echo $contents;
+               exit;
        }
-               
 }
index 0c89e64a559f56674fb9a534fb5fbbea5f5dc2e4..ef0899f20595af113635adc07a377610faeddbca 100644 (file)
@@ -6,11 +6,17 @@
  */
 
 elgg_set_page_owner_guid(get_input('guid'));
+$owner = elgg_get_page_owner();
 
 gatekeeper();
 group_gatekeeper();
 
 elgg_push_breadcrumb(elgg_echo('file'), "pg/file/all/");
+if (elgg_instanceof($owner, 'user')) {
+       elgg_push_breadcrumb($owner->name, "pg/file/owner/$owner->username");
+} else {
+       elgg_push_breadcrumb($owner->name, "pg/file/group/$owner->guid/owner");
+}
 elgg_push_breadcrumb(elgg_echo('file:new'));
 
 $container_guid = elgg_get_page_owner_guid();
index 4c7321e4852596e853566a3f86d148d51f58d2eb..5cbf75bce7e156000f2526756f999668f58f65d6 100644 (file)
@@ -41,7 +41,7 @@
 
 
         //get a link to the users files
-        $users_file_url = elgg_get_site_url() . "pg/file/" . elgg_get_page_owner()->username;
+        $users_file_url = elgg_get_site_url() . "pg/file/group/" . elgg_get_page_owner()->guid;
 
         echo "<p><a href=\"{$users_file_url}\">" . elgg_echo('file:more') . "</a></p>";