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'] = '';
// 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;
+}
* @package ElggFile
*/
+elgg_set_page_owner_guid(get_input('guid'));
+
// access check for closed groups
group_gatekeeper();
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) {
$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);
* 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
$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':
include "$file_dir/edit.php";
break;
case 'group':
+ set_input('guid', $page[1]);
+ include "$file_dir/index.php";
break;
case 'all':
default:
$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;
}
// 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;
}
-
}
*/
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();
//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>";