diff options
-rw-r--r-- | mod/search/index.php | 8 | ||||
-rw-r--r-- | mod/search/views/rss/search/entity.php | 32 | ||||
-rw-r--r-- | mod/search/views/rss/search/listing.php | 28 |
3 files changed, 68 insertions, 0 deletions
diff --git a/mod/search/index.php b/mod/search/index.php index adf514caf..4f1aa3dbf 100644 --- a/mod/search/index.php +++ b/mod/search/index.php @@ -1,4 +1,12 @@ <?php +/** + * Elgg core search. + * + * @package Elgg + * @subpackage Core + * @author Curverider Ltd <info@elgg.com>, The MITRE Corporation <http://www.mitre.org> + * @link http://elgg.org/ + */ // $search_type == all || entities || trigger plugin hook $search_type = get_input('search_type', 'all'); diff --git a/mod/search/views/rss/search/entity.php b/mod/search/views/rss/search/entity.php new file mode 100644 index 000000000..8c3609fe5 --- /dev/null +++ b/mod/search/views/rss/search/entity.php @@ -0,0 +1,32 @@ +<?php +/** + * Elgg core search. + * Search entity view for RSS feeds. + * + * @package Elgg + * @subpackage Core + * @author Curverider Ltd <info@elgg.com>, The MITRE Corporation <http://www.mitre.org> + * @link http://elgg.org/ + */ + +$title = $vars['entity']->title; +if (empty($title)) { + $title = substr($vars['entity']->description, 0, 32); + if (strlen($vars['entity']->description) > 32) { + $title .= " ..."; + } +} + +?> + +<item> +<guid isPermaLink='true'><?php echo htmlspecialchars($vars['entity']->getURL()); ?></guid> +<pubDate><?php echo date("r", $vars['entity']->time_created) ?></pubDate> +<link><?php echo htmlspecialchars($vars['entity']->getURL()); ?></link> +<title><![CDATA[<?php echo $title; ?>]]></title> +<description><![CDATA[<?php + $summary = $vars['entity']->summary; + if (!empty($summary)) echo wpautop($summary); + echo (autop($vars['entity']->description)); +?>]]></description> +</item> diff --git a/mod/search/views/rss/search/listing.php b/mod/search/views/rss/search/listing.php new file mode 100644 index 000000000..40aae018d --- /dev/null +++ b/mod/search/views/rss/search/listing.php @@ -0,0 +1,28 @@ +<?php +/** + * Elgg core search. + * Search listing view for RSS feeds. + * + * @package Elgg + * @subpackage Core + * @author Curverider Ltd <info@elgg.com>, The MITRE Corporation <http://www.mitre.org> + * @link http://elgg.org/ + */ + +$entities = $vars['results']['entities']; + +if (!is_array($entities) || !count($entities)) { + return FALSE; +} + +foreach ($entities as $entity) { + if ($view = search_get_search_view($vars['params'], 'entity')) { + $body .= elgg_view($view, array( + 'entity' => $entity, + 'params' => $vars['params'], + 'results' => $vars['results'] + )); + } +} + +echo $body;
\ No newline at end of file |