aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Gallo <tonicucoz@gmail.com>2011-07-24 17:06:13 +0000
committerAntonio Gallo <tonicucoz@gmail.com>2011-07-24 17:06:13 +0000
commit7dd59cf1f5c5452d31669ca196405ac77da3ab00 (patch)
tree60f667aa8cd46e62cf0bad8829178fc9659a741a
parente3e68a82efa932d4d3168ff365fb15c0c1fdfc00 (diff)
added RSS - part 1
-rw-r--r--h-source/Application/Controllers/RssController.php41
-rw-r--r--h-source/Application/Controllers/SpecialController.php2
-rw-r--r--h-source/Application/Views/Rss/modifications.php45
-rw-r--r--h-source/Config/Route.php1
4 files changed, 88 insertions, 1 deletions
diff --git a/h-source/Application/Controllers/RssController.php b/h-source/Application/Controllers/RssController.php
new file mode 100644
index 0000000..359c651
--- /dev/null
+++ b/h-source/Application/Controllers/RssController.php
@@ -0,0 +1,41 @@
+<?php
+
+// h-source, a web software to build a community of people that want to share their hardware information.
+// Copyright (C) 2010 Antonio Gallo (h-source-copyright.txt)
+//
+// This file is part of h-source
+//
+// h-source 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.
+//
+// h-source 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 h-source. If not, see <http://www.gnu.org/licenses/>.
+
+if (!defined('EG')) die('Direct access not allowed!');
+
+class RssController extends SpecialController
+{
+
+ public function __construct($model, $controller, $queryString)
+ {
+ parent::__construct($model, $controller, $queryString);
+
+ $data['title'] = 'RSS - '.Website::$generalName;
+ $this->append($data);
+ }
+
+ public function modifications($lang = 'en')
+ {
+ parent::modifications($lang);
+ $this->clean();
+ $this->load('modifications');
+ }
+
+} \ No newline at end of file
diff --git a/h-source/Application/Controllers/SpecialController.php b/h-source/Application/Controllers/SpecialController.php
index 3776a18..480c0fa 100644
--- a/h-source/Application/Controllers/SpecialController.php
+++ b/h-source/Application/Controllers/SpecialController.php
@@ -110,7 +110,7 @@ class SpecialController extends BaseController
$this->helper('Pages','special/'.$this->action.'/'.$this->lang,'page');
- $this->m['HistoryModel']->clear()->inner('hardware')->on('hardware.id_hard=history.id')->select()->where($whereClauseArray)->orderBy('id_history desc');
+ $this->m['HistoryModel']->clear()->select('history.*,hardware.*')->inner('hardware')->on('hardware.id_hard=history.id')->where($whereClauseArray)->orderBy('id_history desc');
$recordNumber = $this->m['HistoryModel']->rowNumber();
$page = $this->viewArgs['page'];
diff --git a/h-source/Application/Views/Rss/modifications.php b/h-source/Application/Views/Rss/modifications.php
new file mode 100644
index 0000000..02e7197
--- /dev/null
+++ b/h-source/Application/Views/Rss/modifications.php
@@ -0,0 +1,45 @@
+<?php if (!defined('EG')) die('Direct access not allowed!'); ?>
+<?php echo "<?xml version='1.0' encoding='UTF-8'?>\n";?>
+<rss version="2.0">
+
+<channel>
+<title>www.h-node.com</title>
+<link>http://www.h-node.com</link>
+<description><?php echo gtext("Database modifications");?></description>
+
+<?php
+$u = new UsersModel();
+$translations = array('insert'=>'inserted','update'=>'updated');
+?>
+
+<?php foreach ($table as $row) { ?>
+<item>
+ <title><?php echo $row['hardware']['model'];?></title>
+ <description><![CDATA[<?php echo gtext('the model')." ".$row['hardware']['model']." ".gtext('has been '.$translations[$row['history']['action']].' by')." ".$u->getUser($row['history']['created_by']);?>]]></description>
+ <link><?php echo $this->baseUrl."/".Hardware::$typeToController[$row['hardware']['type']]."/view/$lang/".$row['hardware']['id_hard']."/".encodeUrl($row['hardware']['model']);?></link>
+</item>
+
+<?php } ?>
+
+</channel>
+</rss>
+
+<?php
+// h-source, a web software to build a community of people that want to share their hardware information.
+// Copyright (C) 2010 Antonio Gallo (h-source-copyright.txt)
+//
+// This file is part of h-source
+//
+// h-source 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.
+//
+// h-source 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 h-source. If not, see <http://www.gnu.org/licenses/>.
+?> \ No newline at end of file
diff --git a/h-source/Config/Route.php b/h-source/Config/Route.php
index f8491d6..34dd039 100644
--- a/h-source/Config/Route.php
+++ b/h-source/Config/Route.php
@@ -162,6 +162,7 @@ class Route
'webcams,differences',
'webcams,climb',
'webcams,talk',
+ 'rss,modifications',
'special,modifications',
'special,modactions',
'special,adminactions',