| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 | 
							- <?php
 
- /**
 
-  * Elgg file browser.
 
-  * File renderer.
 
-  *
 
-  * @package ElggFile
 
-  */
 
- $file = elgg_extract("entity", $vars, false);
 
- $full_view = elgg_extract("full_view", $vars, false);
 
- if (empty($file)) {
 
- 	return true;
 
- }
 
- $file_guid = $file->getGUID();
 
- $owner = $file->getOwnerEntity();
 
- $tags = elgg_view("output/tags", array("value" => $file->tags));
 
- $categories = elgg_view('output/categories', $vars);
 
- $title = $file->title;
 
- $mime = $file->mimetype;
 
- $base_type = substr($mime, 0, strpos($mime,'/'));
 
- $owner_link = elgg_view("output/url", array("text" => $owner->name, "href" => $owner->getURL(), "is_trusted" => true));
 
- $author_text = elgg_echo("byline", array($owner_link));
 
- // which time format to show
 
- $time_preference = "date";
 
- if ($user_time_preference = elgg_get_plugin_user_setting("file_tools_time_display", null, "file_tools")) {
 
- 	$time_preference = $user_time_preference;
 
- } elseif ($site_time_preference = elgg_get_plugin_setting("file_tools_default_time_display", "file_tools")) {
 
- 	$time_preference = $site_time_preference;
 
- }
 
- if ($time_preference == "date") {
 
- 	$date = date(elgg_echo("friendlytime:date_format"), $file->time_created);
 
- } else {
 
- 	$date = elgg_view_friendly_time($file->time_created);
 
- }
 
- // count comments
 
- $comments_link = "";
 
- $comment_count = (int) $file->countComments();
 
- if ($comment_count > 0) {
 
- 	$comments_link = elgg_view("output/url", array(
 
- 		"href" => $file->getURL() . "#file-comments",
 
- 		"text" => elgg_echo("comments") . " ($comment_count)",
 
- 		"is_trusted" => true,
 
- 	));
 
- }
 
- $subtitle = "$author_text $date $comments_link $categories";
 
- // title
 
- if (empty($title)) {
 
- 	$title = elgg_echo("untitled");
 
- }
 
- // entity actions
 
- $entity_menu = "";
 
- if (!elgg_in_context("widgets")) {
 
- 	$entity_menu = elgg_view_menu("entity", array(
 
- 		"entity" => $file,
 
- 		"handler" => "file",
 
- 		"sort_by" => "priority",
 
- 		"class" => "elgg-menu-hz"
 
- 	));
 
- }
 
- if ($full_view && !elgg_in_context("gallery")) {
 
- 	// normal full view
 
- 	
 
- 	// add folder structure to the breadcrumbs
 
- 	if (file_tools_use_folder_structure()) {
 
- 		// @todo this should probably be moved to the file view page, but that is currently not under control of file_tools
 
- 		$endpoint = elgg_pop_breadcrumb();
 
- 		
 
- 		$parent_folder = elgg_get_entities_from_relationship(array(
 
- 			'relationship' => 'folder_of',
 
- 			'relationship_guid' => $file->getGUID(),
 
- 			'inverse_relationship' => true
 
- 		));
 
- 		$folders = array();
 
- 		if ($parent_folder) {
 
- 			$parent_guid = (int) $parent_folder[0]->guid;
 
- 			while (!empty($parent_guid) && ($parent = get_entity($parent_guid))) {
 
- 				$folders[] = $parent;
 
- 				$parent_guid = (int) $parent->parent_guid;
 
- 			}
 
- 		}
 
- 		while ($p = array_pop($folders)) {
 
- 			elgg_push_breadcrumb($p->title, $p->getURL());
 
- 		}
 
- 		elgg_push_breadcrumb($file->title);
 
- 	}
 
- 	$extra = "";
 
- 	if (elgg_view_exists("file/specialcontent/$mime")) {
 
- 		$extra = elgg_view("file/specialcontent/$mime", $vars);
 
- 	} elseif (elgg_view_exists("file/specialcontent/$base_type/default")) {
 
- 		$extra = elgg_view("file/specialcontent/$base_type/default", $vars);
 
- 	}
 
- 	
 
- 	$params = array(
 
- 		"entity" => $file,
 
- 		"title" => elgg_view("output/url", array("text" => $title, "href" => "file/download/" . $file->getGUID())),
 
- 		"metadata" => $entity_menu,
 
- 		"subtitle" => $subtitle,
 
- 		"tags" => $tags
 
- 	);
 
- 	$params = $params + $vars;
 
- 	$summary = elgg_view("object/elements/summary", $params);
 
- 	
 
- 	$text = elgg_view("output/longtext", array("value" => $file->description));
 
- 	$body = "$text $extra";
 
- 	
 
- 	echo elgg_view("object/elements/full", array(
 
- 			"entity" => $file,
 
- 			"title" => false,
 
- 			"icon" => elgg_view_entity_icon($file, "small"),
 
- 			"summary" => $summary,
 
- 			"body" => $body
 
- 	));
 
- } elseif (elgg_in_context("gallery")) {
 
- 	// gallery view of the file
 
- 	echo "<div class='file-gallery-item'>";
 
- 	echo "<h3>" . $file->title . "</h3>";
 
- 	echo elgg_view_entity_icon($file, "medium");
 
- 	echo "<p class='elgg-quiet'>$owner_link $date</p>";
 
- 	echo "</div>";
 
- } else {
 
- 	// listing view of the file
 
- 	$file_icon_alt = "";
 
- 	if (file_tools_use_folder_structure()) {
 
- 		$file_icon = elgg_view_entity_icon($file, "tiny", array("img_class" => "file-tools-icon-tiny"));
 
- 		
 
- 		if (elgg_in_context("file_tools_selector")) {
 
- 			$file_icon_alt = elgg_view("input/checkbox", array("name" => "file_guids[]", "value" => $file->getGUID(), "default" => false));
 
- 		}
 
- 		
 
- 		$excerpt = "";
 
- 		$subtitle = "";
 
- 		$tags = "";
 
- 	} else {
 
- 		$file_icon = elgg_view_entity_icon($file, "small");
 
- 		$excerpt = elgg_get_excerpt($file->description);
 
- 	}
 
- 	
 
- 	$params = array(
 
- 		"entity" => $file,
 
- 		"metadata" => $entity_menu,
 
- 		"subtitle" => $subtitle,
 
- 		"tags" => $tags,
 
- 		"content" => $excerpt
 
- 	);
 
- 	$params = $params + $vars;
 
- 	$list_body = elgg_view("object/elements/summary", $params);
 
- 	
 
- 	echo elgg_view_image_block($file_icon, $list_body, array("class" => "file-tools-file", "image_alt" => $file_icon_alt));
 
- }
 
 
  |