diff options
Diffstat (limited to 'mod/file/views/default/object/file.php')
| -rw-r--r-- | mod/file/views/default/object/file.php | 289 |
1 files changed, 104 insertions, 185 deletions
diff --git a/mod/file/views/default/object/file.php b/mod/file/views/default/object/file.php index f92c2bfc5..64f19c483 100644 --- a/mod/file/views/default/object/file.php +++ b/mod/file/views/default/object/file.php @@ -1,188 +1,107 @@ <?php - /** - * Elgg file browser. - * File renderer. - * - * @package ElggFile - * @author Curverider Ltd - * @copyright Curverider Ltd 2008-2010 - * @link http://elgg.com/ - */ - - global $CONFIG; - - $file = $vars['entity']; - - $file_guid = $file->getGUID(); - $tags = $file->tags; - $title = $file->title; - $desc = $file->description; - $owner = $vars['entity']->getOwnerEntity(); - $friendlytime = friendly_time($vars['entity']->time_created); - $mime = $file->mimetype; - - if (!$title) { - $title = elgg_echo('untitled'); - } - - if (get_context() == "search") { // Start search listing version - - if (get_input('search_viewtype') == "gallery") { - echo "<div class='filerepo_gallery_item'>"; - if ($vars['entity']->smallthumb) { - echo "<p class='filerepo_title'>" . $file->title . "</p>"; - echo "<p><a href=\"{$file->getURL()}\"><img src=\"{$vars['url']}mod/file/thumbnail.php?size=medium&file_guid={$vars['entity']->getGUID()}\" border=\"0\" /></a></p>"; - echo "<p class='filerepo_timestamp'><small><a href=\"{$vars['url']}pg/file/{$owner->username}\">{$owner->username}</a> {$friendlytime}</small></p>"; - - //get the number of comments - $numcomments = elgg_count_comments($vars['entity']); - if ($numcomments) - echo "<p class='filerepo_comments'><a href=\"{$file->getURL()}\">" . sprintf(elgg_echo("comments")) . " (" . $numcomments . ")</a></p>"; - - - //if the user can edit, display edit and delete links - if ($file->canEdit()) { - echo "<div class='filerepo_controls'><p>"; - echo "<a href=\"{$vars['url']}mod/file/edit.php?file_guid={$file->getGUID()}\">" . elgg_echo('edit') . "</a> "; - echo elgg_view('output/confirmlink',array( - - 'href' => $vars['url'] . "action/file/delete?file=" . $file->getGUID(), - 'text' => elgg_echo("delete"), - 'confirm' => elgg_echo("file:delete:confirm"), - 'is_action' => true, - - )); - echo "</p></div>"; - } - - - } else { - echo "<p class='filerepo_title'>{$title}</p>"; - echo "<a href=\"{$file->getURL()}\">" . elgg_view("file/icon", array("mimetype" => $mime, 'thumbnail' => $file->thumbnail, 'file_guid' => $file_guid, 'size' => 'large')) . "</a>"; - echo "<p class='filerepo_timestamp'><small><a href=\"{$vars['url']}pg/file/{$owner->username}\">{$owner->name}</a> {$friendlytime}</small></p>"; - //get the number of comments - $numcomments = elgg_count_comments($file); - if ($numcomments) - echo "<p class='filerepo_comments'><a href=\"{$file->getURL()}\">" . sprintf(elgg_echo("comments")) . " (" . $numcomments . ")</a></p>"; - - } - echo "</div>"; - - } else { - - $info = "<p class='entity_title'> <a href=\"{$file->getURL()}\">{$title}</a></p>"; - $info .= "<p class='entity_subtext'><a href=\"{$vars['url']}pg/file/{$owner->username}\">{$owner->name}</a> {$friendlytime}"; - $numcomments = elgg_count_comments($file); - if ($numcomments) - $info .= ", <a href=\"{$file->getURL()}\">" . sprintf(elgg_echo("comments")) . " (" . $numcomments . ")</a>"; - $info .= "</p>"; - $icon = "<a href=\"{$file->getURL()}\">" . elgg_view("file/icon", array("mimetype" => $mime, 'thumbnail' => $file->thumbnail, 'file_guid' => $file_guid, 'size' => 'small')) . "</a>"; - - echo elgg_view_listing($icon, $info); - - } - - } else { // Start main version - -?> - <div class="filerepo_file"> - <div class="filerepo_icon"> - <a href="<?php echo $vars['url']; ?>mod/file/download.php?file_guid=<?php echo $file_guid; ?>"><?php - - echo elgg_view("file/icon", array("mimetype" => $mime, 'thumbnail' => $file->thumbnail, 'file_guid' => $file_guid)); - - ?></a> - </div> - - <div class="filerepo_title_owner_wrapper"> - <?php - //get the user and a link to their gallery - $user_gallery = $vars['url'] . "mod/file/search.php?md_type=simpletype&subtype=file&tag=image&owner_guid=" . $owner->guid . "&search_viewtype=gallery"; - ?> - <div class="filerepo_user_gallery_link"><a href="<?php echo $user_gallery; ?>"><?php echo sprintf(elgg_echo("file:user:gallery"),''); ?></a></div> - <div class="filerepo_title"><h2><a href="<?php echo $vars['url']; ?>mod/file/download.php?file_guid=<?php echo $file_guid; ?>"><?php echo $title; ?></a></h2></div> - <div class="filerepo_owner"> - <?php - - echo elgg_view("profile/icon",array('entity' => $owner, 'size' => 'tiny')); - - ?> - <p class="filerepo_owner_details"><b><a href="<?php echo $vars['url']; ?>pg/file/<?php echo $owner->username; ?>"><?php echo $owner->name; ?></a></b><br /> - <small><?php echo $friendlytime; ?></small></p> - </div> - </div> - - - <div class="filerepo_maincontent"> - - <div class="filerepo_description"><?php echo elgg_view('output/longtext', array('value' => $desc)); ?></div> -<?php - - if (!empty($tags)) { -?> - <p class="tags"><?php echo elgg_view('output/tags',array('value' => $tags)); ?></p> -<?php - } - - $categories = elgg_view('categories/view',$vars); - if (!empty($categories)) { -?> - <p class="categories"><?php echo $categories; ?></p> -<?php - } - -?> - <?php - if (elgg_view_exists('file/specialcontent/' . $mime)) { - echo "<div class='filerepo_specialcontent'>".elgg_view('file/specialcontent/' . $mime, $vars)."</div>"; - } else if (elgg_view_exists("file/specialcontent/" . substr($mime,0,strpos($mime,'/')) . "/default")) { - echo "<div class='filerepo_specialcontent'>".elgg_view("file/specialcontent/" . substr($mime,0,strpos($mime,'/')) . "/default", $vars)."</div>"; - } - - ?> - - <div class="filerepo_download"><p><a class="action_button small" href="<?php echo $vars['url']; ?>mod/file/download.php?file_guid=<?php echo $file_guid; ?>"><?php echo elgg_echo("file:download"); ?></a></p></div> - -<?php - - if ($file->canEdit()) { -?> - - <div class="filerepo_controls"> - <p> - <a href="<?php echo $vars['url']; ?>mod/file/edit.php?file_guid=<?php echo $file->getGUID(); ?>"><?php echo elgg_echo('edit'); ?></a> - <?php - echo elgg_view('output/confirmlink',array( - - 'href' => $vars['url'] . "action/file/delete?file=" . $file->getGUID(), - 'text' => elgg_echo("delete"), - 'confirm' => elgg_echo("file:delete:confirm"), - 'is_action' => true, - - )); - ?> - </p> - </div> - -<?php - } - -?> - </div> -</div> - -<?php - - if ($vars['full']) { - - echo elgg_view_comments($file); - - } - -?> - -<?php - +/** + * File renderer. + * + * @package ElggFile + */ + +$full = elgg_extract('full_view', $vars, FALSE); +$file = elgg_extract('entity', $vars, FALSE); + +if (!$file) { + return TRUE; +} + +$owner = $file->getOwnerEntity(); +$container = $file->getContainerEntity(); +$categories = elgg_view('output/categories', $vars); +$excerpt = elgg_get_excerpt($file->description); +$mime = $file->mimetype; +$base_type = substr($mime, 0, strpos($mime,'/')); + +$owner_link = elgg_view('output/url', array( + 'href' => "file/owner/$owner->username", + 'text' => $owner->name, + 'is_trusted' => true, +)); +$author_text = elgg_echo('byline', array($owner_link)); + +$file_icon = elgg_view_entity_icon($file, 'small'); + +$date = elgg_view_friendly_time($file->time_created); + +$comments_count = $file->countComments(); +//only display if there are commments +if ($comments_count != 0) { + $text = elgg_echo("comments") . " ($comments_count)"; + $comments_link = elgg_view('output/url', array( + 'href' => $file->getURL() . '#file-comments', + 'text' => $text, + 'is_trusted' => true, + )); +} else { + $comments_link = ''; +} + +$metadata = elgg_view_menu('entity', array( + 'entity' => $vars['entity'], + 'handler' => 'file', + 'sort_by' => 'priority', + 'class' => 'elgg-menu-hz', +)); + +$subtitle = "$author_text $date $comments_link $categories"; + +// do not show the metadata and controls in widget view +if (elgg_in_context('widgets')) { + $metadata = ''; +} + +if ($full && !elgg_in_context('gallery')) { + + $extra = ''; + if (elgg_view_exists("file/specialcontent/$mime")) { + $extra = elgg_view("file/specialcontent/$mime", $vars); + } else if (elgg_view_exists("file/specialcontent/$base_type/default")) { + $extra = elgg_view("file/specialcontent/$base_type/default", $vars); } -?>
\ No newline at end of file + $params = array( + 'entity' => $file, + 'title' => false, + 'metadata' => $metadata, + 'subtitle' => $subtitle, + ); + $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, + 'icon' => $file_icon, + 'summary' => $summary, + 'body' => $body, + )); + +} elseif (elgg_in_context('gallery')) { + echo '<div class="file-gallery-item">'; + echo "<h3>" . $file->title . "</h3>"; + echo elgg_view_entity_icon($file, 'medium'); + echo "<p class='subtitle'>$owner_link $date</p>"; + echo '</div>'; +} else { + // brief view + + $params = array( + 'entity' => $file, + 'metadata' => $metadata, + 'subtitle' => $subtitle, + 'content' => $excerpt, + ); + $params = $params + $vars; + $list_body = elgg_view('object/elements/summary', $params); + + echo elgg_view_image_block($file_icon, $list_body); +} |
