Adding missing files, a=chris
Adding missing files, a=chris
diff --git a/views/layouts/rss_layout.php b/views/layouts/rss_layout.php
new file mode 100644
index 000000000..ca641c5d3
--- /dev/null
+++ b/views/layouts/rss_layout.php
@@ -0,0 +1,91 @@
+<?php
+/**
+ * SeekQuarry/Yioop --
+ * Open Source Pure PHP Search Engine, Crawler, and Indexer
+ *
+ * Copyright (C) 2009, 2010, 2011 Chris Pollett chris@pollett.org
+ *
+ * LICENSE:
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * END LICENSE
+ *
+ * @author Chris Pollett chris@pollett.org
+ * @package seek_quarry
+ * @subpackage layout
+ * @license http://www.gnu.org/licenses/ GPL3
+ * @link http://www.seekquarry.com/
+ * @copyright 2009, 2010, 2011
+ * @filesource
+ */
+
+if(!defined('BASE_DIR')) {echo "BAD REQUEST"; exit();}
+
+/**
+ * Layout used for the seek_quarry Website
+ * including pages such as search landing page
+ * and settings page
+ *
+ * @author Chris Pollett
+ * @package seek_quarry
+ * @subpackage layout
+ */
+class RssLayout extends Layout
+{
+
+ /**
+ * Responsible for drawing the header of the document containing
+ * Yioop! title and including basic.js. It calls the renderView method of
+ * the View that lives on the layout. If the QUERY_STATISTIC config setting
+ * is set, it output statistics about each query run on the database.
+ * Finally, it draws the footer of the document.
+ *
+ * @param array $data an array of data set up by the controller to be
+ * be used in drawing the WebLayout and its View.
+ */
+ public function render($data) {
+header("Content-type: application/rss+xml");
+ e('<?xml version="1.0" encoding="UTF-8" ?>'."\n");?>
+<rss version="2.0" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"
+xmlns:atom="http://www.w3.org/2005/Atom"
+>
+ <channel>
+ <title><?php e(tl('rss_layout_title', urldecode($data['QUERY'])));
+ ?></title>
+ <language><?php e(getLocaleTag()); ?></language>
+ <link><?php e(QUEUE_SERVER);
+ ?>?f=rss&q=<?php e($data['QUERY']); ?>&<?php
+ ?>its=<?php e($data['its']); ?></link>
+ <description><?php e(tl('rss_layout_description',
+ urldecode($data['QUERY'])));?></description>
+ <opensearch:totalResults><?php e($data['TOTAL_ROWS']);
+ ?></opensearch:totalResults>
+ <opensearch:startIndex><?php e($data['LIMIT']);
+ ?></opensearch:startIndex>
+ <opensearch:itemsPerPage><?php e($data['RESULTS_PER_PAGE']);
+ ?></opensearch:itemsPerPage>
+ <atom:link rel="search" type="application/opensearchdescription+xml"
+ href="<?php e(QUEUE_SERVER);?>yioopbar.xml"/>
+ <opensearch:Query role="request" searchTerms="<?php
+ e($data['QUERY']); ?>"/>
+ <?php
+ $this->view->renderView($data);
+ ?>
+ </channel>
+</rss>
+ <?php
+ }
+}
+?>
diff --git a/views/rss_view.php b/views/rss_view.php
new file mode 100644
index 000000000..09a2110a2
--- /dev/null
+++ b/views/rss_view.php
@@ -0,0 +1,98 @@
+<?php
+/**
+ * SeekQuarry/Yioop --
+ * Open Source Pure PHP Search Engine, Crawler, and Indexer
+ *
+ * Copyright (C) 2009, 2010, 2011 Chris Pollett chris@pollett.org
+ *
+ * LICENSE:
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * END LICENSE
+ *
+ * @author Chris Pollett chris@pollett.org
+ * @package seek_quarry
+ * @subpackage view
+ * @license http://www.gnu.org/licenses/ GPL3
+ * @link http://www.seekquarry.com/
+ * @copyright 2009, 2010, 2011
+ * @filesource
+ */
+
+if(!defined('BASE_DIR')) {echo "BAD REQUEST"; exit();}
+
+/** Loads common constants for web crawling*/
+require_once BASE_DIR."/lib/crawl_constants.php";
+
+/**
+ * Web page used to present search results
+ * It is also contains the search box for
+ * people to types searches into
+ *
+ * @author Chris Pollett
+ * @package seek_quarry
+ * @subpackage view
+ */
+
+class RssView extends View implements CrawlConstants
+{
+ /** Names of helper objects that the view uses to help draw itself
+ * @var array
+ */
+ var $helpers = array("pagination", "filetype", "displayresults");
+
+ /** This view is drawn on a web layout
+ * @var string
+ */
+ var $layout = "rss";
+
+ /**
+ * Draws the main landing pages as well as search result pages
+ *
+ * @param array $data PAGES contains all the summaries of web pages
+ * returned by the current query, $data also contains information
+ * about how the the query took to process and the total number
+ * of results, how to fetch the next results, etc.
+ *
+ */
+ public function renderView($data)
+ {
+ if(isset($data['PAGES'])) {
+ ?>
+
+ <?php
+ foreach($data['PAGES'] as $page) {?>
+ <item>
+ <title><?php e(strip_tags($page[self::TITLE]));
+ if(isset($page[self::TYPE])) {
+ $this->filetypeHelper->render($page[self::TYPE]);
+ }?></title>
+ <link><?php if(isset($page[self::TYPE])
+ && $page[self::TYPE] != "link") {
+ e($page[self::URL]);
+ } else {
+ e(htmlentities(strip_tags($page[self::TITLE])));
+ } ?></link>
+ <description><?php
+ e(htmlentities(strip_tags($page[self::DESCRIPTION])));
+ ?></description>
+ </item>
+
+ <?php
+ } //end foreach
+ }
+ }
+}
+?>