From b36bf0e97e8dfbf2dcd07d4173392a3dcfbc2df0 Mon Sep 17 00:00:00 2001 From: brettp Date: Thu, 22 Oct 2009 18:20:10 +0000 Subject: Pulling in MITRE's search core. Fo'rizzle this time. Yo. git-svn-id: http://code.elgg.org/elgg/trunk@3572 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/elgglib.php | 4 +- engine/lib/entities.php | 39 ++++++ engine/lib/search.php | 52 -------- mod/search/index.php | 146 +++++++++++++++++++++ mod/search/languages/en.php | 10 ++ mod/search/manifest.xml | 10 ++ mod/search/start.php | 116 ++++++++++++++++ .../views/default/page_elements/searchbox.php | 4 + mod/search/views/default/search/css.php | 67 ++++++++++ mod/search/views/default/search/entity_list.php | 66 ++++++++++ mod/search/views/default/search/gallery.php | 55 ++++++++ .../views/default/search/gallery_listing.php | 16 +++ mod/search/views/default/search/listing.php | 35 +++++ mod/search/views/default/search/startblurb.php | 15 +++ search/groups.php | 35 ----- search/index.php | 85 ------------ search/users.php | 35 ----- views/default/css.php | 77 ++++------- views/default/entities/entity_list.php | 62 +++++++++ views/default/entities/entity_listing.php | 37 ++++++ views/default/entities/gallery.php | 44 +++++++ views/default/entities/gallery_listing.php | 32 +++++ views/default/page_elements/elgg_topbar.php | 5 +- views/default/search/entity_list.php | 64 --------- views/default/search/gallery.php | 44 ------- views/default/search/gallery_listing.php | 32 ----- views/default/search/listing.php | 38 ------ views/default/search/startblurb.php | 15 --- 28 files changed, 780 insertions(+), 460 deletions(-) delete mode 100644 engine/lib/search.php create mode 100644 mod/search/index.php create mode 100644 mod/search/languages/en.php create mode 100644 mod/search/manifest.xml create mode 100644 mod/search/start.php create mode 100644 mod/search/views/default/page_elements/searchbox.php create mode 100644 mod/search/views/default/search/css.php create mode 100644 mod/search/views/default/search/entity_list.php create mode 100644 mod/search/views/default/search/gallery.php create mode 100644 mod/search/views/default/search/gallery_listing.php create mode 100644 mod/search/views/default/search/listing.php create mode 100644 mod/search/views/default/search/startblurb.php delete mode 100644 search/groups.php delete mode 100644 search/index.php delete mode 100644 search/users.php create mode 100644 views/default/entities/entity_list.php create mode 100644 views/default/entities/entity_listing.php create mode 100644 views/default/entities/gallery.php create mode 100644 views/default/entities/gallery_listing.php delete mode 100644 views/default/search/entity_list.php delete mode 100644 views/default/search/gallery.php delete mode 100644 views/default/search/gallery_listing.php delete mode 100644 views/default/search/listing.php delete mode 100644 views/default/search/startblurb.php diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php index 7a10cd809..2b2180532 100644 --- a/engine/lib/elgglib.php +++ b/engine/lib/elgglib.php @@ -724,7 +724,7 @@ function elgg_view_entity_list($entities, $count, $offset, $limit, $fullview = t $context = get_context(); - $html = elgg_view('search/entity_list',array( + $html = elgg_view('entities/entity_list',array( 'entities' => $entities, 'count' => $count, 'offset' => $offset, @@ -992,7 +992,7 @@ function elgg_count_comments($entity) { * @return string The HTML (etc) representing the listing */ function elgg_view_listing($icon, $info) { - return elgg_view('search/listing',array('icon' => $icon, 'info' => $info)); + return elgg_view('entities/entity_listing',array('icon' => $icon, 'info' => $info)); } /** diff --git a/engine/lib/entities.php b/engine/lib/entities.php index 373654431..7fe849421 100644 --- a/engine/lib/entities.php +++ b/engine/lib/entities.php @@ -63,6 +63,13 @@ abstract class ElggEntity implements */ protected $temp_annotations; + + /** + * Volatile data structure for this object, allows for storage of data + * in-memory that isn't sync'd back to the metadata table. + */ + protected $volatile; + /** * Initialise the attributes array. * This is vital to distinguish between metadata and base parameters. @@ -84,6 +91,9 @@ abstract class ElggEntity implements if (!is_array($this->temp_annotations)) { $this->temp_annotations = array(); } + if (!is_array($this->volatile)) { + $this->volatile = array(); + } $this->attributes['guid'] = ""; $this->attributes['type'] = ""; @@ -325,6 +335,35 @@ abstract class ElggEntity implements } } + + /** + * Get a piece of volatile (non-persisted) data on this entity + */ + public function getVolatileData($name) { + if (!is_array($this->volatile)) { + $this->volatile = array(); + } + + if (array_key_exists($name, $this->volatile)) { + return $this->volatile[$name]; + } else { + return NULL; + } + } + + + /** + * Set a piece of volatile (non-persisted) data on this entity + */ + public function setVolatileData($name, $value) { + if (!is_array($this->volatile)) { + $this->volatile = array(); + } + + $this->volatile[$name] = $value; + } + + /** * Remove all entities associated with this entity * diff --git a/engine/lib/search.php b/engine/lib/search.php deleted file mode 100644 index 0f6c0a12d..000000000 --- a/engine/lib/search.php +++ /dev/null @@ -1,52 +0,0 @@ - - * @link http://elgg.org/ - */ - -/** - * Initialise search helper functions. - * - */ -function search_init() { - register_page_handler('search','search_page_handler'); -} - -/** - * Page handler for search - * - * @param array $page Page elements from pain page handler - */ -function search_page_handler($page) { - global $CONFIG; - - if(!get_input('tag')) { - set_input('tag', $page[0]); - } - - if (isset($page[0])) { - switch ($page[0]) { - case 'user' : - case 'users' : - include_once($CONFIG->path . "search/users.php"); - break; - - case 'group' : - case 'groups' : - include_once($CONFIG->path . "search/groups.php"); - break; - - default: - include_once($CONFIG->path . "search/index.php"); - } - } else { - include_once($CONFIG->path . "search/index.php"); - } -} - -/** Register init system event **/ -register_elgg_event_handler('init','system','search_init'); \ No newline at end of file diff --git a/mod/search/index.php b/mod/search/index.php new file mode 100644 index 000000000..7cbf6121c --- /dev/null +++ b/mod/search/index.php @@ -0,0 +1,146 @@ + 0) { + if ($friends = get_user_friends($friends,'',9999)) { + $owner_guid_array = array(); + foreach($friends as $friend) { + $owner_guid_array[] = $friend->guid; + } + } else { + $owner_guid = -1; + } +} + +// Set up submenus +if ($object_types = get_registered_entity_types()) { + + foreach($object_types as $ot => $subtype_array) { + if (is_array($subtype_array) && sizeof($subtype_array)) + foreach($subtype_array as $object_subtype) { + $label = 'item:' . $ot; + if (!empty($object_subtype)) $label .= ':' . $object_subtype; + add_submenu_item(elgg_echo($label), $CONFIG->wwwroot . "pg/search/?tag=". urlencode($tag) ."&subtype=" . $object_subtype . "&object_type=". urlencode($ot) ."&tagtype=" . urlencode($md_type) . "&owner_guid=" . urlencode($owner_guid)); + } + } + add_submenu_item(elgg_echo('all'), $CONFIG->wwwroot . "pg/search/?tag=". urlencode($tag) ."&owner_guid=" . urlencode($owner_guid)); + +} + +$body = ''; +if (!empty($tag)) { + + // blank the results to start off + $results = new stdClass(); + $results->entities = array(); + $results->total = 0; + + // do the actual search + $results = trigger_plugin_hook('search:entities', '', array('tag' => $tag, + 'offset' => $offset, + 'limit' => $limit, + 'searchtype' => $searchtype, + 'object_type' => $object_type, + 'subtype' => $subtype, + 'tagtype' => $tagtype, + 'owner_guid' => $owner_guid_array + ), + $results); + + /* // this piece is for future work, to setup submenus for searchtypes + $searchtypes = trigger_plugin_hook('search:types', '', NULL, array()); + add_submenu_item(elgg_echo('search:type:all'), + $CONFIG->wwwroot . "pg/search/?tag=". urlencode($tag) ."&searchtype=all"); + + foreach ($searchtypes as $st) { + add_submenu_item(elgg_echo('search:type:' . $st), + $CONFIG->wwwroot . "pg/search/?tag=". urlencode($tag) ."&searchtype=" . $st); + } + */ + + + if (empty($objecttype) && empty($subtype)) { + $title = sprintf(elgg_echo('searchtitle'),$tag); + } else { + if (empty($objecttype)) $objecttype = 'object'; + $itemtitle = 'item:' . $objecttype; + if (!empty($subtype)) $itemtitle .= ':' . $subtype; + $itemtitle = elgg_echo($itemtitle); + $title = sprintf(elgg_echo('advancedsearchtitle'),$itemtitle,$tag); + } + + + + + //print_r($results); + + $body .= elgg_view_title($title); // elgg_view_title(sprintf(elgg_echo('searchtitle'),$tag)); + + // call the old (now-deprecated) search hook here + $body .= trigger_plugin_hook('search','',$tag, ''); + + $body .= elgg_view('search/startblurb', array('tag' => $tag)); + + if ($results->total > 0) { + + + $body .= elgg_view('search/entity_list', array('entities' => $results->entities, + 'count' => $results->total, + 'offset' => $offset, + 'limit' => $limit, + 'baseurl' => $_SERVER['REQUEST_URI'], + 'fullview' => false, + 'context' => 'search', + 'viewtypetoggle' => true, + 'viewtype' => $viewtype, + 'pagination' => true + )); + } else { + $body .= elgg_view('page_elements/contentwrapper', array('body' => elgg_echo('search:noresults'))); + } + + + + + elgg_view_entity_list($results->entities, count($results->entities), 0, count($results->entities), false); +} else { + // if no tag was given, give the user a box to input a search term + $body .= elgg_view_title(elgg_echo('search:enterterm')); + $body .= elgg_view('page_elements/contentwrapper', array('body' => '
' . elgg_view('page_elements/searchbox') . '
')); + + +} +$layout = elgg_view_layout('two_column_left_sidebar','',$body); + + +page_draw($title, $layout); + + +?> \ No newline at end of file diff --git a/mod/search/languages/en.php b/mod/search/languages/en.php new file mode 100644 index 000000000..52c29c7ed --- /dev/null +++ b/mod/search/languages/en.php @@ -0,0 +1,10 @@ + 'Enter a search term:', + 'search:noresults' => 'No results.', + 'search:matched' => 'Matched: ' + ); + +add_translation('en', $language_array); + +?> diff --git a/mod/search/manifest.xml b/mod/search/manifest.xml new file mode 100644 index 000000000..1f8415445 --- /dev/null +++ b/mod/search/manifest.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/mod/search/start.php b/mod/search/start.php new file mode 100644 index 000000000..24b038c7a --- /dev/null +++ b/mod/search/start.php @@ -0,0 +1,116 @@ +, The MITRE Corporation + * @link http://elgg.org/ + */ + +/** + * Initialise search helper functions. + * + */ +function search_init() { + global $CONFIG; + + // page handler for search actions and results + register_page_handler('search','search_page_handler'); + + // hook into the search callback to use the metadata system (this is the part that will go away!) + register_plugin_hook('search:entities', 'all', 'search_original_hook'); + + // list of available search types should include our base parts + register_plugin_hook('searchtypes', 'all', 'search_base_search_types_hook'); + + // add in CSS for search elements + extend_view('css', 'search/css'); +} + +/** + * Page handler for search + * + * @param array $page Page elements from pain page handler + */ +function search_page_handler($page) { + global $CONFIG; + + if(!get_input('tag')) { + set_input('tag', $page[0]); + } + + include_once($CONFIG->path . "mod/search/index.php"); +} + +/** + * Core search hook. + * Returns an object with two parts: + * ->entities: an array of instantiated entities that have been decorated with + * volatile "search" data indicating what they matched. These are + * the entities to be displayed to the user on this page. + * ->total: total number of entities overall. This function can update this + * limit to ask for more pages in the pagination. + */ +function search_original_hook($hook, $type, $returnvalue, $params) { + $tag = $params['tag']; + $offset = $params['offset']; // starting page + $limit = $params['limit']; // number per page + $searchtype = $params['searchtype']; // the search type we're looking for + $object_type = $params['object_type']; + $subtype = $params['subtype']; + $owner_guid = $params['owner_guid']; + $tagtype = $params['tagtype']; + + $count = get_entities_from_metadata($tagtype, elgg_strtolower($tag), $object_type, $subtype, $owner_guid, $limit, $offset, "", 0, TRUE, FALSE); + $ents = get_entities_from_metadata($tagtype, elgg_strtolower($tag), $object_type, $subtype, $owner_guid, $limit, $offset, "", 0, FALSE, FALSE); + + /* + * Foreach entity + * get the metadata keys + * If the value matches, hang onto the key + * add all the matched keys to VolatileData + * This tells us *why* each entity matched + */ + foreach ($ents as $ent) { + $metadata = get_metadata_for_entity($ent->getGUID()); + $matched = array(); + if ($metadata) { + foreach ($metadata as $tuple) { + if ($tag === $tuple->value) { + // This is one of the matching elements + $matched[] = $tuple->name; + } + } + $ent->setVolatileData('search', $matched); + } + } + + // merge in our entities with any coming in from elsewhere + $returnvalue->entities = array_merge($returnvalue->entities, $ents); + + // expand the total entity count if necessary + if ($count > $returnvalue->total) { + $returnvalue->total = $count; + } + + return $returnvalue; +} + +/** + * return our base search types (right now, we have none) + */ +function search_base_search_types_hook($hook, $type, $returnvalue, $params) { + if (!is_array($returnvalue)) { + $returnvalue = array(); + } + + return $returnvalue; +} + +/** Register init system event **/ + +register_elgg_event_handler('init','system','search_init'); + +?> diff --git a/mod/search/views/default/page_elements/searchbox.php b/mod/search/views/default/page_elements/searchbox.php new file mode 100644 index 000000000..4bab36be9 --- /dev/null +++ b/mod/search/views/default/page_elements/searchbox.php @@ -0,0 +1,4 @@ +
+ + +
diff --git a/mod/search/views/default/search/css.php b/mod/search/views/default/search/css.php new file mode 100644 index 000000000..27b532727 --- /dev/null +++ b/mod/search/views/default/search/css.php @@ -0,0 +1,67 @@ +.searchtype { +background: #FFFACD; +color: black; +} + +.searchtypes { +border: 1px #EEEEEE solid; +padding: 4px; +margin: 6px; +} + +#searchform input.search_input { + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + background-color:#FFFFFF; + border:1px solid #BBBBBB; + color:#999999; + font-size:12px; + font-weight:bold; + margin:0pt; + padding:2px; + width:180px; + height:12px; +} +#searchform input.search_submit_button { + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + color:#333333; + background: #cccccc; + border:none; + font-size:12px; + font-weight:bold; + margin:0px; + padding:2px; + width:auto; + height:18px; + cursor:pointer; +} +#searchform input.search_submit_button:hover { + color:#ffffff; + background: #4690d6; +} + + +.search_listing { + display: block; + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + background:white; + margin:0 10px 5px 10px; + padding:5px; +} + +.entity_gallery_item .search_listing { + background: none; + text-align: center; +} + +/* override the entity container piece */ +.search_listing .entity_listing { + -webkit-border-radius: 0px; + -moz-border-radius: 0px; + background: transparent; + margin: 0; + padding: 0; +} + diff --git a/mod/search/views/default/search/entity_list.php b/mod/search/views/default/search/entity_list.php new file mode 100644 index 000000000..d709210df --- /dev/null +++ b/mod/search/views/default/search/entity_list.php @@ -0,0 +1,66 @@ + 0 && $viewtypetoggle) { + $nav .= elgg_view("navigation/viewtype",array( + + 'baseurl' => $baseurl, + 'offset' => $offset, + 'count' => $count, + 'viewtype' => $viewtype, + + )); +} + +if ($pagination) + $nav .= elgg_view('navigation/pagination',array( + + 'baseurl' => $baseurl, + 'offset' => $offset, + 'count' => $count, + 'limit' => $limit, + + )); + +$html .= $nav; + +if ($viewtype == "list") { + if (is_array($entities) && sizeof($entities) > 0) { + foreach($entities as $entity) { + // print out the entity + $ev = elgg_view_entity($entity, $fullview); + // then add the search decorations around it + $html .= elgg_view('search/listing', array('entity_view' => $ev, + 'search_types' => $entity->getVolatileData('search'))); + + } + } +} else if ($viewtype == "gallery") { + if (is_array($entities) && sizeof($entities) > 0) { + $html .= elgg_view("search/gallery",array('entities' => $entities)); + } +} + +if ($count) { + $html .= $nav; +} +echo $html; + +?> diff --git a/mod/search/views/default/search/gallery.php b/mod/search/views/default/search/gallery.php new file mode 100644 index 000000000..753a38684 --- /dev/null +++ b/mod/search/views/default/search/gallery.php @@ -0,0 +1,55 @@ + 0) { + +?> + + + +"; + + } + echo ""; + $col++; + if ($col > 3) { + echo ""; + $col = 0; + } + } + if ($col > 0) echo ""; + +?> + + + + \ No newline at end of file diff --git a/mod/search/views/default/search/gallery_listing.php b/mod/search/views/default/search/gallery_listing.php new file mode 100644 index 000000000..bbecaf202 --- /dev/null +++ b/mod/search/views/default/search/gallery_listing.php @@ -0,0 +1,16 @@ + \ No newline at end of file diff --git a/mod/search/views/default/search/listing.php b/mod/search/views/default/search/listing.php new file mode 100644 index 000000000..e3ad91ba8 --- /dev/null +++ b/mod/search/views/default/search/listing.php @@ -0,0 +1,35 @@ + + +
+ +' . elgg_echo('search:matched'); + foreach ($vars['search_types'] as $st) { + echo '' . elgg_echo($st) . ' '; + } + echo '
'; + +} + + + + +?> + diff --git a/mod/search/views/default/search/startblurb.php b/mod/search/views/default/search/startblurb.php new file mode 100644 index 000000000..0115438f2 --- /dev/null +++ b/mod/search/views/default/search/startblurb.php @@ -0,0 +1,15 @@ + +
+ +
\ No newline at end of file diff --git a/search/groups.php b/search/groups.php deleted file mode 100644 index c31e421f0..000000000 --- a/search/groups.php +++ /dev/null @@ -1,35 +0,0 @@ - $tag)); - $body .= list_group_search($tag); - //$body = elgg_view_layout('two_column_left_sidebar','',$body); -} else { - $title = elgg_echo('item:group'); - $body .= elgg_view_title($title); - $body .= list_entities('groups'); -} - -$body = elgg_view_layout('two_column_left_sidebar','',$body); -page_draw($title,$body); \ No newline at end of file diff --git a/search/index.php b/search/index.php deleted file mode 100644 index 9ae3533d6..000000000 --- a/search/index.php +++ /dev/null @@ -1,85 +0,0 @@ - 0) { - if ($friends = get_user_friends($friends,'',9999)) { - $owner_guid_array = array(); - foreach($friends as $friend) { - $owner_guid_array[] = $friend->guid; - } - } else { - $owner_guid = -1; - } -} - -// Set up submenus -if ($object_types = get_registered_entity_types()) { - foreach($object_types as $object_type => $subtype_array) { - if (is_array($subtype_array) && sizeof($subtype_array)) - foreach($subtype_array as $object_subtype) { - $label = 'item:' . $object_type; - if (!empty($object_subtype)) { - $label .= ':' . $object_subtype; - } - global $CONFIG; - add_submenu_item(elgg_echo($label), $CONFIG->wwwroot . "pg/search/?tag=". urlencode($tag) ."&subtype=" . $object_subtype . "&object=". urlencode($object_type) ."&tagtype=" . urlencode($md_type) . "&owner_guid=" . urlencode($owner_guid)); - } - } - add_submenu_item(elgg_echo('all'), $CONFIG->wwwroot . "pg/search/?tag=". urlencode($tag) ."&owner_guid=" . urlencode($owner_guid)); - -} - -if (empty($objecttype) && empty($subtype)) { - $title = sprintf(elgg_echo('searchtitle'),$tag); -} else { - if (empty($objecttype)) { - $objecttype = 'object'; - } - $itemtitle = 'item:' . $objecttype; - if (!empty($subtype)) { - $itemtitle .= ':' . $subtype; - } - $itemtitle = elgg_echo($itemtitle); - $title = sprintf(elgg_echo('advancedsearchtitle'),$itemtitle,$tag); -} - -if (!empty($tag)) { - $body = ""; - $body .= elgg_view_title($title); // elgg_view_title(sprintf(elgg_echo('searchtitle'),$tag)); - $body .= trigger_plugin_hook('search','',$tag,""); - $body .= elgg_view('search/startblurb',array('tag' => $tag)); - $body .= list_entities_from_metadata($md_type, elgg_strtolower($tag), $objecttype, $subtype, $owner_guid_array, 10, false, false); - $body = elgg_view_layout('two_column_left_sidebar','',$body); -} - -page_draw($title,$body); \ No newline at end of file diff --git a/search/users.php b/search/users.php deleted file mode 100644 index 62296e7e7..000000000 --- a/search/users.php +++ /dev/null @@ -1,35 +0,0 @@ - $tag)); - $body .= list_user_search($tag); - //$body = elgg_view_layout('two_column_left_sidebar','',$body); -} else { - $title = elgg_echo('item:user'); - $body .= elgg_view_title($title); - $body .= list_entities('user'); -} - -$body = elgg_view_layout('two_column_left_sidebar','',$body); -page_draw($title,$body); \ No newline at end of file diff --git a/views/default/css.php b/views/default/css.php index feca46216..da91e07a8 100644 --- a/views/default/css.php +++ b/views/default/css.php @@ -560,37 +560,6 @@ HORIZONTAL ELGG TOPBAR display:none; position:relative; } -#searchform input.search_input { - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - background-color:#FFFFFF; - border:1px solid #BBBBBB; - color:#999999; - font-size:12px; - font-weight:bold; - margin:0pt; - padding:2px; - width:180px; - height:12px; -} -#searchform input.search_submit_button { - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - color:#333333; - background: #cccccc; - border:none; - font-size:12px; - font-weight:bold; - margin:0px; - padding:2px; - width:auto; - height:18px; - cursor:pointer; -} -#searchform input.search_submit_button:hover { - color:#ffffff; - background: #4690d6; -} /* *************************************** @@ -1274,9 +1243,9 @@ p.user_menu_friends_of { } /* *************************************** - SEARCH LISTINGS + ENTITY LISTINGS *************************************** */ -.search_listing { +.entity_listing { display: block; -webkit-border-radius: 8px; -moz-border-radius: 8px; @@ -1284,80 +1253,80 @@ p.user_menu_friends_of { margin:0 10px 5px 10px; padding:5px; } -.search_listing_icon { +.entity_listing_icon { float:left; } -.search_listing_icon img { +.entity_listing_icon img { width: 40px; } -.search_listing_icon .avatar_menu_button img { +.entity_listing_icon .avatar_menu_button img { width: 15px; } -.search_listing_info { +.entity_listing_info { margin-left: 50px; min-height: 40px; } /* IE 6 fix */ -* html .search_listing_info { +* html .entity_listing_info { height:40px; } -.search_listing_info p { +.entity_listing_info p { margin:0 0 3px 0; line-height:1.2em; } -.search_listing_info p.owner_timestamp { +.entity_listing_info p.owner_timestamp { margin:0; padding:0; color:#666666; font-size: 90%; } -table.search_gallery { +table.entity_gallery { border-spacing: 10px; margin:0 0 0 0; } -.search_gallery td { +.entity_gallery td { padding: 5px; } -.search_gallery_item { +.entity_gallery_item { background: white; -webkit-border-radius: 8px; -moz-border-radius: 8px; width:170px; } -.search_gallery_item:hover { +.entity_gallery_item:hover { background: black; color:white; } -.search_gallery_item .search_listing { +.entity_gallery_item .entity_listing { background: none; text-align: center; } -.search_gallery_item .search_listing_header { +.entity_gallery_item .entity_listing_header { text-align: center; } -.search_gallery_item .search_listing_icon { +.entity_gallery_item .entity_listing_icon { position: relative; text-align: center; } -.search_gallery_item .search_listing_info { +.entity_gallery_item .entity_listing_info { margin: 5px; } -.search_gallery_item .search_listing_info p { +.entity_gallery_item .entity_listing_info p { margin: 5px; margin-bottom: 10px; } -.search_gallery_item .search_listing { +.entity_gallery_item .entity_listing { background: none; text-align: center; } -.search_gallery_item .search_listing_icon { +.entity_gallery_item .entity_listing_icon { position: absolute; margin-bottom: 20px; } -.search_gallery_item .search_listing_info { +.entity_gallery_item .entity_listing_info { margin: 5px; } -.search_gallery_item .search_listing_info p { +.entity_gallery_item .entity_listing_info p { margin: 5px; margin-bottom: 10px; } @@ -2376,7 +2345,7 @@ h3.settings { .admin_statistics table tr:hover { background: #E4E4E4; } -.admin_users_online .search_listing { +.admin_users_online .entity_listing { margin:0 0 5px 0; padding:5px; border:2px solid #cccccc; diff --git a/views/default/entities/entity_list.php b/views/default/entities/entity_list.php new file mode 100644 index 000000000..81fd102e3 --- /dev/null +++ b/views/default/entities/entity_list.php @@ -0,0 +1,62 @@ + 0 && $viewtypetoggle) { + $nav .= elgg_view("navigation/viewtype",array( + + 'baseurl' => $baseurl, + 'offset' => $offset, + 'count' => $count, + 'viewtype' => $viewtype, + + )); + } + + if ($pagination) + $nav .= elgg_view('navigation/pagination',array( + + 'baseurl' => $baseurl, + 'offset' => $offset, + 'count' => $count, + 'limit' => $limit, + + )); + + $html .= $nav; + + if ($viewtype == "list") { + if (is_array($entities) && sizeof($entities) > 0) { + foreach($entities as $entity) { + $html .= elgg_view_entity($entity, $fullview); + } + } + } else { + if (is_array($entities) && sizeof($entities) > 0) + $html .= elgg_view("entities/gallery",array('entities' => $entities)); + } + + if ($count) + $html .= $nav; + + echo $html; + +?> diff --git a/views/default/entities/entity_listing.php b/views/default/entities/entity_listing.php new file mode 100644 index 000000000..dd07e7d01 --- /dev/null +++ b/views/default/entities/entity_listing.php @@ -0,0 +1,37 @@ + + +
+ +
+ +
+
+ +
+ +
+ + \ No newline at end of file diff --git a/views/default/entities/gallery.php b/views/default/entities/gallery.php new file mode 100644 index 000000000..a2701ed0c --- /dev/null +++ b/views/default/entities/gallery.php @@ -0,0 +1,44 @@ + 0) { + +?> + + + +"; + + } + echo ""; + $col++; + if ($col > 3) { + echo ""; + $col = 0; + } + } + if ($col > 0) echo ""; + +?> + + + + + +
+ +
+ + + +
+
+ +
+ +
\ No newline at end of file diff --git a/views/default/page_elements/elgg_topbar.php b/views/default/page_elements/elgg_topbar.php index b9609910c..00240f35e 100644 --- a/views/default/page_elements/elgg_topbar.php +++ b/views/default/page_elements/elgg_topbar.php @@ -66,10 +66,7 @@ diff --git a/views/default/search/entity_list.php b/views/default/search/entity_list.php deleted file mode 100644 index 07e76e955..000000000 --- a/views/default/search/entity_list.php +++ /dev/null @@ -1,64 +0,0 @@ - 0 && $viewtypetoggle) { - $nav .= elgg_view("navigation/viewtype",array( - 'baseurl' => $baseurl, - 'offset' => $offset, - 'count' => $count, - 'viewtype' => $viewtype, - )); -} - -if ($pagination) { - $nav .= elgg_view('navigation/pagination',array( - 'baseurl' => $baseurl, - 'offset' => $offset, - 'count' => $count, - 'limit' => $limit, - )); -} - -$html .= $nav; - -if ($viewtype == "list") { - if (is_array($entities) && sizeof($entities) > 0) { - foreach($entities as $entity) { - $html .= elgg_view_entity($entity, $fullview); - } - } -} else { - if (is_array($entities) && sizeof($entities) > 0) { - $html .= elgg_view("search/gallery",array('entities' => $entities)); - } -} - -if ($count) { - $html .= $nav; -} - -echo $html; \ No newline at end of file diff --git a/views/default/search/gallery.php b/views/default/search/gallery.php deleted file mode 100644 index 52c4d0b92..000000000 --- a/views/default/search/gallery.php +++ /dev/null @@ -1,44 +0,0 @@ - 0) { - -?> - - - -"; - - } - echo ""; - $col++; - if ($col > 3) { - echo ""; - $col = 0; - } - } - if ($col > 0) echo ""; - -?> - - - - - -
- -
- - - -
-
- -
- -
\ No newline at end of file diff --git a/views/default/search/listing.php b/views/default/search/listing.php deleted file mode 100644 index fa1719069..000000000 --- a/views/default/search/listing.php +++ /dev/null @@ -1,38 +0,0 @@ - - -
- -
- -
-
- -
- -
- - -
- -
\ No newline at end of file -- cgit v1.2.3