diff options
Diffstat (limited to 'mod/search/views/default')
-rw-r--r-- | mod/search/views/default/search/css.php | 11 | ||||
-rw-r--r-- | mod/search/views/default/search/entity.php | 79 |
2 files changed, 58 insertions, 32 deletions
diff --git a/mod/search/views/default/search/css.php b/mod/search/views/default/search/css.php index 4eb07d323..72b696059 100644 --- a/mod/search/views/default/search/css.php +++ b/mod/search/views/default/search/css.php @@ -76,3 +76,14 @@ .searchMatchColor5 { background-color: #4690d6; } + +/* formatting for the search results */ +.search_listing .item_extra { + border: 1px solid #cccccc; + margin: 2px; + padding: 3px; +} + +.search_listing .item_timestamp { + font-style: italic; +}
\ No newline at end of file diff --git a/mod/search/views/default/search/entity.php b/mod/search/views/default/search/entity.php index 2b08384d5..b65bad888 100644 --- a/mod/search/views/default/search/entity.php +++ b/mod/search/views/default/search/entity.php @@ -2,6 +2,14 @@ /** * Elgg search entity * + * Display largely controlled by a set of overrideable volatile data: + * - search_icon (defaults to entity icon) + * - search_matched_title + * - search_matched_description + * - search_matched_extra + * - search_url (defaults to entity->getURL()) + * - search_time (defaults to entity->time_updated or entity->time_created) + * * @package Elgg * @subpackage Core * @author Curverider Ltd @@ -10,46 +18,53 @@ $entity = $vars['entity']; -// display the entity's owner by default if available. -// @todo allow an option to switch to displaying the entity's icon instead. -$type = $entity->getType(); -if ($type == 'user' || $type == 'group') { - $icon = elgg_view('profile/icon', array('entity' => $entity, 'size' => 'tiny')); -} elseif ($owner = $entity->getOwnerEntity()) { - $icon = elgg_view('profile/icon', array('entity' => $owner, 'size' => 'tiny')); -} else { - // display a generic icon if no owner, though there will probably be - // other problems if the owner can't be found. - $icon = elgg_view( - 'graphics/icon', array( - 'entity' => $entity, - 'size' => 'tiny', - )); +$icon = $entity->getVolatileData('search_icon'); +if (!$icon) { + // display the entity's owner by default if available. + // @todo allow an option to switch to displaying the entity's icon instead. + $type = $entity->getType(); + if ($type == 'user' || $type == 'group') { + $icon = elgg_view('profile/icon', array('entity' => $entity, 'size' => 'small')); + } elseif ($owner = $entity->getOwnerEntity()) { + $icon = elgg_view('profile/icon', array('entity' => $owner, 'size' => 'small')); + } else { + // display a generic icon if no owner, though there will probably be + // other problems if the owner can't be found. + $icon = elgg_view( + 'graphics/icon', array( + 'entity' => $entity, + 'size' => 'small', + )); + } } $title = $entity->getVolatileData('search_matched_title'); $description = $entity->getVolatileData('search_matched_description'); $extra_info = $entity->getVolatileData('search_matched_extra'); -$url = $entity->getURL(); - -if (!$title) { - $title = elgg_echo('untitled'); +$url = $entity->getVolatileData('search_url'); +if (!$url) { + $url = $entity->getURL(); } - $title = "<a href=\"$url\">$title</a>"; -$tc = $entity->time_created; -$tu = $entity->time_updated; -$time = friendly_time(($tu > $tc) ? $tu : $tc); - -echo <<<___END +$time = $entity->getVolatileData('search_time'); +if (!$time) { + $tc = $entity->time_created; + $tu = $entity->time_updated; + $time = friendly_time(($tu > $tc) ? $tu : $tc); +} +?> <div class="search_listing clearfloat"> - <div class="search_listing_icon">$icon</div> + <div class="search_listing_icon"><?php echo $icon; ?></div> <div class="search_listing_info"> - <p class="entity_title">$title</p>$description - <p class="entity_subtext">$time $extra_info</p> + <p class="item_title"><?php echo $title; ?></p> + <p class="item_description"><?php echo $description; ?></p> +<?php +if ($extra_info) { +?> + <p class="item_extra"><?php echo $extra_info; ?></p> +<?php +} +?> + <p class="item_timestamp"><?php echo $time; ?></p> </div> </div> -___END; - -// php bug. must have close tag after heredocs -?>
\ No newline at end of file |