From c00a728ac8e8608241f71754ae4cc3941770f05b Mon Sep 17 00:00:00 2001 From: YuCheng Hu Date: Sun, 13 Jun 2010 23:16:14 +0000 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=B0=20trunk?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit +YUCHENG HU+ git-svn-id: https://svn.code.sf.net/p/hawebs/svn@324 a2543c7e-f6e9-4f8a-8bff-1ffc34733512 --- .../admin.ninjarsssyndicator.php | 30 ++ .../assets/images/index.html | 1 + .../assets/images/nficon.png | Bin 0 -> 1853 bytes .../assets/images/ninja-rss-syndicator.jpg | Bin 0 -> 13987 bytes .../assets/images/ninja-rss.jpg | Bin 0 -> 6740 bytes .../assets/images/sel.gif | Bin 0 -> 109 bytes .../com_ninjarsssyndicator/assets/index.html | 1 + .../assets/js/picker.js | 138 +++++++ .../com_ninjarsssyndicator/assets/picker.html | 41 +++ .../com_ninjarsssyndicator.xml | 46 +++ .../controllers/buttonmaker.php | 26 ++ .../controllers/config.php | 27 ++ .../controllers/defaultcontroller.php | 75 ++++ .../controllers/feed.php | 116 ++++++ .../controllers/index.html | 1 + .../com_ninjarsssyndicator/index.html | 1 + .../install/install.php | 46 +++ .../install/install.sql | 41 +++ .../install/uninstall.php | 7 + .../models/buttonmaker.php | 31 ++ .../com_ninjarsssyndicator/models/config.php | 83 +++++ .../com_ninjarsssyndicator/models/feed.php | 339 ++++++++++++++++++ .../com_ninjarsssyndicator/models/index.html | 1 + .../com_ninjarsssyndicator/views/about.php | 40 +++ .../views/buttonmaker/index.html | 1 + .../views/buttonmaker/tmpl/button.php | 210 +++++++++++ .../views/buttonmaker/tmpl/form.php | 173 +++++++++ .../views/buttonmaker/tmpl/index.html | 1 + .../views/buttonmaker/tmpl/letters.png | Bin 0 -> 1292 bytes .../views/buttonmaker/view.html.php | 17 + .../views/config/index.html | 1 + .../views/config/tmpl/config.php | 50 +++ .../views/config/tmpl/index.html | 1 + .../views/config/view.html.php | 70 ++++ .../views/feed/index.html | 1 + .../views/feed/tmpl/feed.php | 117 ++++++ .../views/feed/tmpl/index.html | 1 + .../views/feed/view.html.php | 151 ++++++++ .../views/feeds/index.html | 1 + .../views/feeds/tmpl/feeds.php | 60 ++++ .../views/feeds/tmpl/index.html | 1 + .../views/feeds/view.html.php | 30 ++ .../com_ninjarsssyndicator/views/index.html | 1 + 43 files changed, 1978 insertions(+) create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/admin.ninjarsssyndicator.php create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/images/index.html create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/images/nficon.png create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/images/ninja-rss-syndicator.jpg create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/images/ninja-rss.jpg create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/images/sel.gif create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/index.html create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/js/picker.js create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/picker.html create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/com_ninjarsssyndicator.xml create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/controllers/buttonmaker.php create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/controllers/config.php create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/controllers/defaultcontroller.php create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/controllers/feed.php create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/controllers/index.html create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/index.html create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/install/install.php create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/install/install.sql create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/install/uninstall.php create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/models/buttonmaker.php create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/models/config.php create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/models/feed.php create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/models/index.html create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/about.php create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/buttonmaker/index.html create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/buttonmaker/tmpl/button.php create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/buttonmaker/tmpl/form.php create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/buttonmaker/tmpl/index.html create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/buttonmaker/tmpl/letters.png create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/buttonmaker/view.html.php create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/config/index.html create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/config/tmpl/config.php create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/config/tmpl/index.html create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/config/view.html.php create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feed/index.html create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feed/tmpl/feed.php create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feed/tmpl/index.html create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feed/view.html.php create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feeds/index.html create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feeds/tmpl/feeds.php create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feeds/tmpl/index.html create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feeds/view.html.php create mode 100644 oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/index.html diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/admin.ninjarsssyndicator.php b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/admin.ninjarsssyndicator.php new file mode 100644 index 00000000..3e117e33 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/admin.ninjarsssyndicator.php @@ -0,0 +1,30 @@ +authorize( 'com_ninjarsssyndicator', 'manage' )) { + $mainframe->redirect( 'index.php', JText::_('ALERTNOTAUTH') ); +} +*/ +// Require the base controller +require_once (JPATH_COMPONENT.DS.'controllers'.DS.'defaultcontroller.php'); + +// Require specific controller if requested +if($controller = JRequest::getVar('controller')) { + require_once (JPATH_COMPONENT.DS.'controllers'.DS.$controller.'.php'); +} +//die('shit'); +// Create the controller +$classname = 'NinjaRssSyndicatorController'.$controller; +$controller = new $classname( ); + +// Perform the Request task +$controller->execute( JRequest::getVar('task')); + +// Redirect if set by the controller +$controller->redirect(); + +?> diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/images/index.html b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/images/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/images/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/images/nficon.png b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/images/nficon.png new file mode 100644 index 0000000000000000000000000000000000000000..88dac3d5af08a33dd584719a66ae4a2b588e2055 GIT binary patch literal 1853 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
    q0_ODKeLd0JxnBdUJM;QevyO(Ug15B3S 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 literal 0 HcmV?d00001 diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/images/ninja-rss.jpg b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/images/ninja-rss.jpg new file mode 100644 index 0000000000000000000000000000000000000000..53be9ae9c7d2387314db3ca88e1a0178fcf288c0 GIT binary patch literal 6740 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 Quk+6J#QwLNF7vSXABnuM(f|Me literal 0 HcmV?d00001 diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/images/sel.gif b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/images/sel.gif new file mode 100644 index 0000000000000000000000000000000000000000..542801d1938927a6e98bb356517595ad5114192b GIT binary patch literal 109 zcmZ?wbhEHb_>+Z^fq{)d2P6to%fM`u zvFgf}2@{>XyVJsQ7tV7zVB4eGa3wryDr-ab>}B1T`vkpsvi@zFD^t+?aEXU2d(cD% G25SHT1}8}X literal 0 HcmV?d00001 diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/index.html b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/js/picker.js b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/js/picker.js new file mode 100644 index 00000000..1d1f5f70 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/js/picker.js @@ -0,0 +1,138 @@ +// Title: Tigra Color Picker +// URL: http://www.softcomplex.com/products/tigra_color_picker/ +// Version: 1.1 +// Date: 06/26/2003 (mm/dd/yyyy) +// Note: Permission given to use this script in ANY kind of applications if +// header lines are left unchanged. +// Note: Script consists of two files: picker.js and picker.html +//Oct 18 2008: changed line 18: mosUrl+'/picker.html' ==> mosUrl+'assets/picker.html' + +var TCP = new TColorPicker(); + +function TCPopup(field, palette) { + this.field = field; + this.initPalette = !palette || palette > 2 ? 0 : palette; + var w = 194, h = 206, + move = screen ? + ',left=' + ((screen.width - w) >> 1) + ',top=' + ((screen.height - h) >> 1) : '', + o_colWindow = window.open(mosUrl+'assets/picker.html', null, "help=no,status=no,scrollbars=no,resizable=no" + move + ",width=" + w + ",height=" + h + ",dependent=yes", true); + o_colWindow.opener = window; + o_colWindow.focus(); +} + +function TCBuildCell (R, G, B, w, h) { + return ''; +} + +function TCSelect(c) { + this.field.value = '#' + c.toUpperCase(); + this.win.close(); +} + +function TCPaint(c, b_noPref) { + c = (b_noPref ? '' : '#') + c.toUpperCase(); + if (this.o_samp) + this.o_samp.innerHTML = '' + c +' ' + c + '' + if(this.doc.layers) + this.sample.bgColor = c; + else { + if (this.sample.backgroundColor != null) this.sample.backgroundColor = c; + else if (this.sample.background != null) this.sample.background = c; + } +} + +function TCGenerateSafe() { + var s = ''; + for (j = 0; j < 12; j ++) { + s += ""; + for (k = 0; k < 3; k ++) + for (i = 0; i <= 5; i ++) + s += this.bldCell(k * 51 + (j % 2) * 51 * 3, Math.floor(j / 2) * 51, i * 51, 8, 10); + s += ""; + } + return s; +} + +function TCGenerateWind() { + var s = ''; + for (j = 0; j < 12; j ++) { + s += ""; + for (k = 0; k < 3; k ++) + for (i = 0; i <= 5; i++) + s += this.bldCell(i * 51, k * 51 + (j % 2) * 51 * 3, Math.floor(j / 2) * 51, 8, 10); + s += ""; + } + return s +} + +function TCGenerateGray() { + var s = ''; + for (j = 0; j <= 15; j ++) { + s += ""; + for (k = 0; k <= 15; k ++) { + g = Math.floor((k + j * 16) % 256); + s += this.bldCell(g, g, g, 9, 7); + } + s += ''; + } + return s +} + +function TCDec2Hex(v) { + v = v.toString(16); + for(; v.length < 6; v = '0' + v); + return v; +} + +function TCChgMode(v) { + for (var k in this.divs) this.hide(k); + this.show(v); +} + +function TColorPicker(field) { + this.build0 = TCGenerateSafe; + this.build1 = TCGenerateWind; + this.build2 = TCGenerateGray; + this.show = document.layers ? + function (div) { this.divs[div].visibility = 'show' } : + function (div) { this.divs[div].visibility = 'visible' }; + this.hide = document.layers ? + function (div) { this.divs[div].visibility = 'hide' } : + function (div) { this.divs[div].visibility = 'hidden' }; + // event handlers + this.C = TCChgMode; + this.S = TCSelect; + this.P = TCPaint; + this.popup = TCPopup; + this.draw = TCDraw; + this.dec2hex = TCDec2Hex; + this.bldCell = TCBuildCell; + this.divs = []; +} + +function TCDraw(o_win, o_doc) { + this.win = o_win; + this.doc = o_doc; + var + s_tag_openT = o_doc.layers ? + 'layer visibility=hidden top=54 left=5 width=182' : + 'div style=visibility:hidden;position:absolute;left:6px;top:54px;width:182px;height:0', + s_tag_openS = o_doc.layers ? 'layer top=32 left=6' : 'div', + s_tag_close = o_doc.layers ? 'layer' : 'div' + + this.doc.write('<' + s_tag_openS + ' id=sam name=sam>
    sample sample
    '); + this.sample = o_doc.layers ? o_doc.layers['sam'] : + o_doc.getElementById ? o_doc.getElementById('sam').style : o_doc.all['sam'].style + + for (var k = 0; k < 3; k ++) { + this.doc.write('<' + s_tag_openT + ' id="p' + k + '" name="p' + k + '">' + this['build' + k]() + '
    '); + this.divs[k] = o_doc.layers + ? o_doc.layers['p' + k] : o_doc.all + ? o_doc.all['p' + k].style : o_doc.getElementById('p' + k).style + } + if (!o_doc.layers && o_doc.body.innerHTML) + this.o_samp = o_doc.all + ? o_doc.all.samp : o_doc.getElementById('samp'); + this.C(this.initPalette); + if (this.field.value) this.P(this.field.value, true) +} diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/picker.html b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/picker.html new file mode 100644 index 00000000..0a64874b --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/assets/picker.html @@ -0,0 +1,41 @@ + + + + + Tigra Color Picker + + + +

    + + + + +
    + +
    + +
    +
    + + diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/com_ninjarsssyndicator.xml b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/com_ninjarsssyndicator.xml new file mode 100644 index 00000000..5d4d8c4d --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/com_ninjarsssyndicator.xml @@ -0,0 +1,46 @@ + + + Ninja RSS Syndicator + 2009/15/12 + Daniel Chapman + daniel@ninjaforge.com + http://ninjaforge.com + NinjaForge.com + General Public License as published by the Free Software Foundation. ]]> + 1.0.7 + + + + install/install.sql + + + + index.html + ninjarsssyndicator.php + assets + controllers + feed + models + views + + + Ninja RSS Syndicator + + Dashboard + Feeds + Button Maker + Default Settings + + + index.html + admin.ninjarsssyndicator.php + controllers + models + install + assets + views + + + install/install.php + install/uninstall.php + diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/controllers/buttonmaker.php b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/controllers/buttonmaker.php new file mode 100644 index 00000000..971b3207 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/controllers/buttonmaker.php @@ -0,0 +1,26 @@ +_link = 'index.php?option=com_ninjarsssyndicator&task=buttonmaker'; + } + + function save() + { + $model = $this->getModel('buttonmaker'); + $msg = $model->save($post); + $is_ajaxed = isset($_SERVER["HTTP_X_REQUESTED_WITH"]) ? ($_SERVER["HTTP_X_REQUESTED_WITH"] == "XMLHttpRequest") : false; + if($is_ajaxed) + exit($msg); + $this->setRedirect( $this->_link, $msg ); + } +} +?> diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/controllers/config.php b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/controllers/config.php new file mode 100644 index 00000000..52a82d49 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/controllers/config.php @@ -0,0 +1,27 @@ +getModel('config'); + if ($model->saveConfig($post)) { + $msg = JText::_( 'Settings Saved!' ); + } else { + $msg = JText::_( 'Error Saving Settings' ); + } + + // Check the table in so it can be edited.... we are done with it anyway + $link = 'index.php?option=com_ninjarsssyndicator&task=config'; + $this->setRedirect($link, $msg); + } +} +?> diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/controllers/defaultcontroller.php b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/controllers/defaultcontroller.php new file mode 100644 index 00000000..0ba0252b --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/controllers/defaultcontroller.php @@ -0,0 +1,75 @@ +registerTask('info', 'info'); + $this->registerTask('buttonmaker', 'buttonmaker'); + $this->registerTask('genbtn', 'gen_button'); + $this->registerTask('config', 'config'); + $this->registerTask('feeds', 'feeds'); + $this->registerDefaultTask('feeds'); + } + + function display() + { + parent::display(); + } + + function info() + { + require_once(JPATH_COMPONENT . DS . 'views' . DS . 'about.php'); + new NinjaRssSyndicatorViewAbout(); + } + + function buttonmaker() + { + + JRequest::setVar('view','buttonmaker'); + JRequest::setVar('layout','form'); + + $this->display(); + } + + function config() + { + JRequest::setVar('view','config'); + JRequest::setVar('layout','config'); + + $this->display(); + } + + function feeds() + { + $document = &JFactory::getDocument(); + $viewType = $document->getType(); + $view = &$this->getView('feeds',$viewType,'NinjaRssSyndicatorView'); + $model = &$this->getModel('feed'); + if(!JError::isError($model)) + { + $view->setModel($model,true); + } + $view->setLayout('feeds'); + $view->display(); + + } + + function gen_button() + { + JRequest::setVar( 'view', 'buttonmaker' ); + JRequest::setVar( 'layout', 'button' ); + + parent::display(); + } + + + + +} +?> diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/controllers/feed.php b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/controllers/feed.php new file mode 100644 index 00000000..56659a6c --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/controllers/feed.php @@ -0,0 +1,116 @@ +_link = 'index.php?option=com_ninjarsssyndicator&task=feeds'; + $this->registerTask( 'add' , 'edit' ); + $this->registerTask( 'apply' , 'save' ); + } + + function cancel() + { + //$msg = JText::_( 'Operation Cancelled' ); + $this->setRedirect( $this->_link ); + } + + function edit() + { + + JRequest::setVar( 'view', 'feed' ); + JRequest::setVar( 'layout', 'feed' ); + JRequest::setVar('hidemainmenu', 1); + + parent::display(); + } + + function save() + { + $model = $this->getModel('feed'); + + if ($model->save($post)) { + $msg = JText::_( 'Feed Saved!' ); + } else { + $msg = JText::_( 'Error Saving feed' ); + } + if($this->_task == 'apply') + { + $id = JRequest::getVar( 'id', '', 'post', 'string' ); + //die(JRequest::getVar('id' )); + $this->_link = "index.php?option=com_ninjarsssyndicator&task=edit&cid[]=$id&controller=feed"; + } + $this->setRedirect( $this->_link, $msg ); + } + + function publish() + { + + // Check for request forgeries + JRequest::checkToken() or jexit( 'Invalid Token' ); + + $cid = JRequest::getVar( 'cid', array(), 'post', 'array' ); + JArrayHelper::toInteger($cid); + + if (count( $cid ) < 1) { + JError::raiseError(500, JText::_( 'Select an item to publish' ) ); + } + + $model = $this->getModel('feed'); + if(!$model->publish($cid, 1)) { + echo "\n"; + } + + $this->setRedirect($this->_link); + } + + function unpublish() + { + + // Check for request forgeries + JRequest::checkToken() or jexit( 'Invalid Token' ); + + $cid = JRequest::getVar( 'cid', array(), 'post', 'array' ); + JArrayHelper::toInteger($cid); + + if (count( $cid ) < 1) { + JError::raiseError(500, JText::_( 'Select an item to unpublish' ) ); + } + + $model = $this->getModel('feed'); + if(!$model->publish($cid, 0)) { + echo "\n"; + } + + $this->setRedirect($this->_link); + } + + function remove() + { + // Check for request forgeries + JRequest::checkToken() or jexit( 'Invalid Token' ); + + $cid = JRequest::getVar( 'cid', array(), 'post', 'array' ); + JArrayHelper::toInteger($cid); + + if (count( $cid ) < 1) { + JError::raiseError(500, JText::_( 'Select an item to delete' ) ); + } + + $model = $this->getModel('feed'); + if(!$model->delete($cid)) { + echo "\n"; + } + + $this->setRedirect($this->_link); + } + + + +} +?> diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/controllers/index.html b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/controllers/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/controllers/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/index.html b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/install/install.php b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/install/install.php new file mode 100644 index 00000000..a4fa2599 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/install/install.php @@ -0,0 +1,46 @@ +setQuery("ALTER IGNORE TABLE `#__ninjarsssyndicator_feeds` DROP COLUMN `feed_catsInTitle`;"); +$database->query(); +$database->setQuery("ALTER IGNORE TABLE `#__ninjarsssyndicator_feeds` CHANGE COLUMN `msg_sectcat` `msg_exitems` varchar(250) default NULL;"); +$database->query(); + + + //Do updates of table structure if we need to + //This is mainly for people doing an upgrade + $database->setQuery("SHOW FULL COLUMNS FROM #__ninjarsssyndicator_feeds where field = 'msg_contentPlugins'"); + $results = $database->loadObjectList(); + + if (!count($results)) + { + $database->setQuery(" ALTER TABLE `#__ninjarsssyndicator_feeds` + ADD COLUMN `msg_contentPlugins` tinyint(1) default NULL;"); + $database->query(); + }//if (!count($results)) + + $database->setQuery("SHOW FULL COLUMNS FROM #__ninjarsssyndicator_feeds where field = 'msg_includeCats'"); + $results = $database->loadObjectList(); + + if (!count($results)) + { + $database->setQuery(" ALTER TABLE `#__ninjarsssyndicator_feeds` + ADD COLUMN `msg_includeCats` tinyint(1) default NULL;"); + $database->query(); + }//if (!count($results)) + +?> +Ninja RSS Syndicator
    +Ninja RSS Syndicator has been succesfully installed. + +

    Ninja RSS Syndicator was originally called BCA RSS Syndicator and developed by Body Health Debate to promote Breast Cancer Awareness in the Joomla community.

    + + +Ninja RSS Syndicator has been succesfully uninstalled. +

    NinjaForge

    \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/models/buttonmaker.php b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/models/buttonmaker.php new file mode 100644 index 00000000..aa5a3038 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/models/buttonmaker.php @@ -0,0 +1,31 @@ +'.JURI::root().'images/stories/'.$imgName.''; + else + return "There's an error while save image.Please try again!"; + } +} diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/models/config.php b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/models/config.php new file mode 100644 index 00000000..540fafa3 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/models/config.php @@ -0,0 +1,83 @@ +_data )) { + $query = $this->_buildQuery(); + $this->_db->setQuery( $query ); + $this->_data = $this->_db->loadObject(); + } + if (!$this->_data) { + $this->_data = ''; + } + return $this->_data; + } + + function saveConfig(){ + $id = JRequest::getVar('id', '1', 'post', 'int'); + $msg = JRequest::getVar('msg', 'Get the latest news direct to your desktop', 'post', 'string'); + $msg = $this->_db->Quote($this->_db->getEscaped($msg), false); + $defaultType = JRequest::getVar('defaultType', '1.0', 'post', 'string'); + $count = JRequest::getVar('count', '10', 'post', 'string'); + $orderby = JRequest::getVar('orderby', 'rdate', 'post', 'string'); + $numWords = JRequest::getVar('numWords', '25', 'post', 'int'); + + $cache = JRequest::getVar('cache', '3600', 'post', 'int'); + $imgUrl = JRequest::getVar('imgUrl', '', 'post', 'string'); + $imgUrl = $this->_db->Quote($this->_db->getEscaped($imgUrl), false); + $renderAuthorFormat = JRequest::getVar('renderAuthorFormat', '1', 'post', 'string'); + $renderHTML = JRequest::getVar('renderHTML', '0', 'post', 'int'); + $FPItemsOnly = JRequest::getVar('FPItemsOnly', '1', 'post', 'int'); + $description = JRequest::getVar('description', '', 'post', 'string'); + $description = $this->_db->Quote($this->_db->getEscaped($description), false); + + $query = "UPDATE #__ninjarsssyndicator SET msg = $msg, + defaultType='$defaultType', + count = '$count', + orderby = '$orderby', + numWords = $numWords, + cache = $cache, + imgUrl = $imgUrl, + renderAuthorFormat = '$renderAuthorFormat', + renderHTML = $renderHTML, + FPItemsOnly = $FPItemsOnly, + description = $description + WHERE id = $id"; + + + $this->_db->setQuery($query); + $this->_data = $this->_db->query(); + + if($this->_data) + return true; + else + return false; + } + + +} diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/models/feed.php b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/models/feed.php new file mode 100644 index 00000000..e49527b3 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/models/feed.php @@ -0,0 +1,339 @@ +getUserStateFromRequest( 'global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int' ); + $limitstart = $mainframe->getUserStateFromRequest( $option.'.limitstart', 'limitstart', 0, 'int' ); + + // In case limit has been changed, adjust limitstart accordingly + $limitstart = ($limit != 0 ? (floor($limitstart / $limit) * $limit) : 0); + + $this->setState('limit', $limit); + $this->setState('limitstart', $limitstart); + + //edit feed + $array = JRequest::getVar('cid', 0, '', 'array'); + $this->setId((int)$array[0]); + } + + function setId($id) + { + // Set id and wipe data + $this->_id = $id; + $this->_sdata = null; + } + /** + * Method to get the total number of feeds items + * + * @access public + * @return integer + */ + function getTotal() + { + // Lets load the content if it doesn't already exist + if (empty($this->_total)) + { + $query = $this->_buildQuery(); + $this->_total = $this->_getListCount($query); + } + return $this->_total; + } + + /** + * Method to get a pagination object for the feeds + * + * @access public + * @return integer + */ + function getPagination() + { + // Lets load the content if it doesn't already exist + if (empty($this->_pagination)) + { + jimport('joomla.html.pagination'); + $this->_pagination = new JPagination( $this->getTotal(), $this->getState('limitstart'), $this->getState('limit') ); + + } + + return $this->_pagination; + } + + + + function _buildQuery() + { + $query = "SELECT * FROM `#__ninjarsssyndicator_feeds`"; + return $query; + } + + function getData() + { + // Load the data + if (empty( $this->_data )) { + $query = $this->_buildQuery(); + $this->_data = $this->_getList($query, $this->getState('limitstart'), $this->getState('limit'));; + } + if (!$this->_data) { + $this->_data = null; + } + + return $this->_data; + } + + +//Feed + + /** + * Method to remove a feed + * + * @access public + * @return boolean True on success + * @since 1.5 + * lvh + */ + function delete($cid = array()) + { + $result = false; + + if (count( $cid )) + { + JArrayHelper::toInteger($cid); + $cids = implode( ',', $cid ); + $query = 'DELETE FROM `#__ninjarsssyndicator_feeds`' + . ' WHERE id IN ( '.$cids.' )'; + $this->_db->setQuery( $query ); + if(!$this->_db->query()) { + $this->setError($this->_db->getErrorMsg()); + return false; + } + } + + return true; + } + + /** + * Method to (un)publish a feed + * + * @access public + * @return boolean True on success + * @since 1.5 + * lvh + */ + function publish($cid = array(), $publish = 1) + { + $user =& JFactory::getUser(); + + if (count( $cid )) + { + JArrayHelper::toInteger($cid); + $cids = implode( ',', $cid ); + + $query = "UPDATE `#__ninjarsssyndicator_feeds` SET published='$publish'" + . "\nWHERE id IN ($cids)"; + $this->_db->setQuery( $query ); + if (!$this->_db->query()) { + $this->setError($this->_db->getErrorMsg()); + return false; + } + } + + return true; + } + + function getSData() + { + // Load the data + if (empty( $this->_sdata )) { + $query = "SELECT * FROM `#__ninjarsssyndicator_feeds` WHERE id = $this->_id"; + $this->_db->setQuery( $query ); + $this->_sdata = $this->_db->loadObject(); + } + if (!$this->_sdata) { + $this->_sdata = new stdClass(); + $this->_sdata->id = 0; + } + return $this->_sdata; + } + + function getSections() + { + if (empty( $this->_sections )) + { + $query = "SELECT id, title" + . "\n FROM #__sections" + . "\n WHERE published = 1" + . "\n AND scope = 'content'" + . "\n ORDER BY ordering" + ; + $this->_sections = $this->_getList( $query ); + } + return $this->_sections; + } + + function getExCategories() + { + if (empty( $this->_exCategories )) + { + $query = "SELECT c.id, CONCAT( s.title, ' | ', c.title ) AS title" + . "\n FROM #__categories AS c" + . "\n INNER JOIN #__sections AS s ON s.id=c.section" + . "\n WHERE c.published = 1" + . "\n AND s.published = 1" + . "\n AND s.scope = 'content'" + . "\n ORDER BY s.ordering, c.ordering" + ; + $this->_exCategories = $this->_getList( $query ); + } + return $this->_exCategories; + } + + function getSectionCategoryList() + { + if (empty( $this->_seccatlist )) + { + $query = "SELECT id AS value, title AS text FROM #__sections ORDER BY title"; + $secs = $this->_getList( $query ); + foreach($secs as $sec) + { + $subquery = "SELECT id AS value, title FROM #__categories WHERE section = " . $sec->value . " ORDER BY title"; + $cats = $this->_getList( $subquery ); + + foreach($cats as $cat) + { + $this->_seccatlist[] = $cat->title; + + } + } + } + return $this->_seccatlist; + } + + function save() + { + $id = JRequest::getVar('id', '0', 'post', 'int'); + $a_msg_sectlist = JRequest::getVar('msg_sectlist', array(), 'post', 'array'); + $a_msg_excatlist = JRequest::getVar('msg_excatlist', array(), 'post', 'array'); + + $msg_sectlist = implode(',', $a_msg_sectlist); + $msg_excatlist = implode(',', $a_msg_excatlist); + + $feed_name = JRequest::getVar('feed_name', '', 'post', 'string'); + $feed_name = $this->_db->Quote($this->_db->getEscaped($feed_name), false); + + $feed_description = JRequest::getVar('feed_description', '', 'post', 'string'); + $feed_description = $this->_db->Quote($this->_db->getEscaped($feed_description), false); + + $feed_type = JRequest::getVar('feed_type', '', 'post', 'string'); + $feed_cache = JRequest::getVar('feed_cache', '', 'post', 'string'); + + $feed_imgUrl = JRequest::getVar('feed_imgUrl', '', 'post', 'string'); + $feed_imgUrl = $this->_db->Quote($this->_db->getEscaped($feed_imgUrl), false); + + $feed_button = JRequest::getVar('feed_button', '', 'post', 'string'); + $feed_button = $this->_db->Quote($this->_db->getEscaped($feed_button), false); + + $feed_renderAuthorFormat = JRequest::getVar('feed_renderAuthorFormat', '', 'post', 'string'); + $feed_renderHTML = JRequest::getVar('feed_renderHTML', '0', 'post', 'int'); + $feed_renderImages = JRequest::getVar('feed_renderImages', '0', 'post', 'int'); + $msg_count = JRequest::getVar('msg_count', '', 'post', 'string'); + $msg_orderby=JRequest::getVar('msg_orderby', '', 'post', 'string'); + $msg_numWords = JRequest::getVar('msg_numWords', '0', 'post', 'int'); + $msg_FPItemsOnly = JRequest::getVar('msg_FPItemsOnly', '0', 'post', 'int'); + $msg_fulltext = JRequest::getVar('msg_fulltext', '0', 'post', 'int'); + $published = JRequest::getVar('published', '0', 'post', 'int'); + //VH Oct 27 2008 + $msg_exitems = JRequest::getVar('msg_exitems', '', 'post', 'string'); + + $msg_contentPlugins = JRequest::getVar('msg_contentPlugins', '0', 'post', 'int'); + $msg_includeCats = JRequest::getVar('msg_includeCats', '0', 'post', 'int'); + + $isNew = ($id<1); + if($isNew) + $query = "INSERT INTO #__ninjarsssyndicator_feeds (`feed_name`,`feed_description`, `feed_type`, `feed_cache` ,`feed_imgUrl`, + `feed_button`, `feed_renderAuthorFormat`, `feed_renderHTML`, `feed_renderImages` , `msg_count` , `msg_orderby`, + `msg_numWords` , `msg_FPItemsOnly`, `msg_sectlist` , `msg_excatlist` , `msg_includeCats`, `msg_fulltext` , `msg_exitems` , + `msg_contentPlugins`, `published`) + VALUES + ( + $feed_name, + $feed_description, + '$feed_type', + '$feed_cache', + $feed_imgUrl, + $feed_button, + '$feed_renderAuthorFormat', + '$feed_renderHTML', + '$feed_renderImages', + '$msg_count', + '$msg_orderby', + '$msg_numWords', + '$msg_FPItemsOnly', + '$msg_sectlist', + '$msg_excatlist', + '$msg_includeCats', + '$msg_fulltext', + '$msg_exitems', + '$msg_contentPlugins', + '$published' + ) + "; + else + $query = "UPDATE #__ninjarsssyndicator_feeds SET + `feed_name` = $feed_name, + `feed_description` = $feed_description, + `feed_type` = '$feed_type', + `feed_cache` = '$feed_cache', + `feed_imgUrl` = $feed_imgUrl, + `feed_button` = $feed_button, + `feed_renderAuthorFormat` = '$feed_renderAuthorFormat', + `feed_renderHTML` = '$feed_renderHTML', + `feed_renderImages` = '$feed_renderImages', + `msg_count` = '$msg_count', + `msg_orderby` = '$msg_orderby', + `msg_numWords` = '$msg_numWords', + `msg_FPItemsOnly` = '$msg_FPItemsOnly', + `msg_sectlist` = '$msg_sectlist', + `msg_excatlist` = '$msg_excatlist', + `msg_includeCats` = '$msg_includeCats', + `msg_fulltext` = '$msg_fulltext', + `msg_exitems` = '$msg_exitems', + `msg_contentPlugins` = '$msg_contentPlugins', + `published` = '$published' + WHERE id = $id + "; + $this->_db->setQuery($query); + $this->_data = $this->_db->query(); + if($this->_data) + return true; + else + return false; + } + + function getDefaultData() + { + $config =& $this->getInstance('config','ninjarsssyndicatorModel'); + return $config->getData(); + } + +} diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/models/index.html b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/models/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/models/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/about.php b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/about.php new file mode 100644 index 00000000..e9654715 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/about.php @@ -0,0 +1,40 @@ +[ ' . $text.' ]', 'systeminfo.png' ); + $this->about(); + } + + function about() + { + ?> +
    +

    +

    + The Ninja RSS Syndicator component makes your content available in different RSS, OPML and ATOM 0.3 formats. +

    +

    If you need help with configuring this component just ask on the NinjaForge forums.

    +

    Ninja RSS Syndicator was originally called the BCA RSS Syndicator and was developed by Body Health Debate to raise awareness of breast cancer in the Joomla Community.

    +

    License

    +

    Ninja RSS Syndicator is free software; you can redistribute it and/or modify it under the terms of the General Public License as published by the Free Software Foundation.

    +

    Resources

    + +

    Ninja RSS Syndicator is based upon the Joomla 1.0 DS-Syndicate component, and was converted to Joomla 1.5 by XiPat

    +

    Ninja RSS Syndicator makes use of the free FeedCreator class by Kai Blankenhorn and the excellent XMLRPC Library from Incutio. The Button Maker code was a creation of Bill Zeller with an user interface from here. The implementation of the MetaWeblog and blogger APIs were implemented by Gayle Davies with help from code from NucleusCMS. My changes were to refactor the code.

    + +

    Copyright 2009, NinjaForge and Body Health Debate.

    +
    +
    + diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/buttonmaker/index.html b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/buttonmaker/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/buttonmaker/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/buttonmaker/tmpl/button.php b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/buttonmaker/tmpl/button.php new file mode 100644 index 00000000..e6534128 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/buttonmaker/tmpl/button.php @@ -0,0 +1,210 @@ +0, "y"=>0, "w"=>6); +$images[66] = array("x"=>6, "y"=>0, "w"=>6); +$images[67] = array("x"=>12, "y"=>0, "w"=>6); +$images[68] = array("x"=>18, "y"=>0, "w"=>6); +$images[69] = array("x"=>24, "y"=>0, "w"=>5); +$images[70] = array("x"=>29, "y"=>0, "w"=>5); +$images[71] = array("x"=>34, "y"=>0, "w"=>6); +$images[72] = array("x"=>40, "y"=>0, "w"=>6); +$images[73] = array("x"=>46, "y"=>0, "w"=>3); +$images[74] = array("x"=>49, "y"=>0, "w"=>6); +$images[75] = array("x"=>55, "y"=>0, "w"=>6); +$images[76] = array("x"=>61, "y"=>0, "w"=>5); +$images[77] = array("x"=>66, "y"=>0, "w"=>7); +$images[78] = array("x"=>73, "y"=>0, "w"=>7); +$images[79] = array("x"=>80, "y"=>0, "w"=>6); +$images[80] = array("x"=>86, "y"=>0, "w"=>6); +$images[81] = array("x"=>92, "y"=>0, "w"=>6); +$images[82] = array("x"=>98, "y"=>0, "w"=>6); +$images[83] = array("x"=>104, "y"=>0, "w"=>6); +$images[84] = array("x"=>110, "y"=>0, "w"=>5); +$images[85] = array("x"=>115, "y"=>0, "w"=>6); +$images[86] = array("x"=>121, "y"=>0, "w"=>7); +$images[87] = array("x"=>128, "y"=>0, "w"=>7); +$images[88] = array("x"=>135, "y"=>0, "w"=>7); +$images[89] = array("x"=>142, "y"=>0, "w"=>7); +$images[90] = array("x"=>149, "y"=>0, "w"=>5); +$images[32] = array("x"=>154, "y"=>0, "w"=>4); + +$images[49] = array("x"=>0, "y"=>10, "w"=>5); +$images[50] = array("x"=>5, "y"=>10, "w"=>6); +$images[51] = array("x"=>11, "y"=>10, "w"=>6); +$images[52] = array("x"=>17, "y"=>10, "w"=>6); +$images[53] = array("x"=>23, "y"=>10, "w"=>6); +$images[54] = array("x"=>29, "y"=>10, "w"=>6); +$images[55] = array("x"=>35, "y"=>10, "w"=>6); +$images[56] = array("x"=>41, "y"=>10, "w"=>6); +$images[57] = array("x"=>47, "y"=>10, "w"=>6); +$images[48] = array("x"=>53, "y"=>10, "w"=>6); + +$images[33] = array("x"=>59, "y"=>10, "w"=>3);// ! +$images[64] = array("x"=>62, "y"=>10, "w"=>7);// @ +$images[35] = array("x"=>69, "y"=>10, "w"=>7);// # +$images[36] = array("x"=>76, "y"=>10, "w"=>6);// $ +$images[37] = array("x"=>82, "y"=>10, "w"=>7);// % +$images[94] = array("x"=>89, "y"=>10, "w"=>5);// ^ +$images[38] = array("x"=>94, "y"=>10, "w"=>6);// & +$images[42] = array("x"=>100, "y"=>10, "w"=>7);// * +$images[40] = array("x"=>107, "y"=>10, "w"=>4);// ( +$images[41] = array("x"=>111, "y"=>10, "w"=>4);// ) +$images[95] = array("x"=>115, "y"=>10, "w"=>6);// _ +$images[43] = array("x"=>121, "y"=>10, "w"=>7);// + +$images[96] = array("x"=>128, "y"=>10, "w"=>4);// ` +$images[126] = array("x"=>132, "y"=>10, "w"=>6);// ~ +$images[91] = array("x"=>138, "y"=>10, "w"=>4);// [ +$images[93] = array("x"=>142, "y"=>10, "w"=>4);// ] +$images[92] = array("x"=>146, "y"=>10, "w"=>5);// \ +$images[123] = array("x"=>151, "y"=>10, "w"=>5);// { +$images[125] = array("x"=>156, "y"=>10, "w"=>5);// } +$images[124] = array("x"=>161, "y"=>10, "w"=>3);// | +$images[59] = array("x"=>164, "y"=>10, "w"=>4);// ; +$images[58] = array("x"=>168, "y"=>10, "w"=>3);// : +$images[39] = array("x"=>171, "y"=>10, "w"=>3);// ' +$images[34] = array("x"=>174, "y"=>10, "w"=>5);// " +$images[44] = array("x"=>179, "y"=>10, "w"=>4);// , +$images[46] = array("x"=>183, "y"=>10, "w"=>3);// . +$images[47] = array("x"=>186, "y"=>10, "w"=>5);// / +$images[60] = array("x"=>191, "y"=>10, "w"=>5);// < +$images[62] = array("x"=>196, "y"=>10, "w"=>5);// > +$images[63] = array("x"=>201, "y"=>10, "w"=>6);// ? +$images[61] = array("x"=>207, "y"=>10, "w"=>5);// = + + +$letters = imagecreatefrompng($lettersPath); +$rgb = getRGB($leftTextColor); + +$index = imagecolorexact($letters, 0, 0, 0); +imagecolorset ($letters, $index, $rgb[0], $rgb[1], $rgb[2]); + +$leftText = stripslashes(strtoupper($leftText)); + +$leftPos = $leftTextPosition; +for($i=0;$i'.JURI::root().'components/com_ninjarsssyndicator/assets/images/buttons/'.$img_name.''); + } + else + { + exit("Error saving image"); + } +} +else +{ + header ("Content-type: image/png"); + imagepng ($im); + exit(); +} + +function _isWritable($path) { + if ($path{strlen($path)-1}=='/') + return _isWritable($path.uniqid(mt_rand()).'.tmp'); + + if (file_exists($path)) { + if (!($f = @fopen($path, 'r+'))) + return false; + fclose($f); + return true; + } + + if (!($f = @fopen($path, 'w'))) + return false; + fclose($f); + unlink($path); + return true; + } + +?> \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/buttonmaker/tmpl/form.php b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/buttonmaker/tmpl/form.php new file mode 100644 index 00000000..7ad697fb --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/buttonmaker/tmpl/form.php @@ -0,0 +1,173 @@ + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Preview image:

    Borders
    + Color Picker
    + Color Picker
    + pixels from the left
    Left Box
    + Color Picker
    + Color Picker
    + pixels from the left
    Right Box
    + Color Picker
    + Color Picker
    + pixels from the bar

    + + + +

    +
    + + + + + + +
    + + \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/buttonmaker/tmpl/index.html b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/buttonmaker/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/buttonmaker/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/buttonmaker/tmpl/letters.png b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/buttonmaker/tmpl/letters.png new file mode 100644 index 0000000000000000000000000000000000000000..b0734ec0a50416e35cb2d8344f91d30adc26d0ee GIT binary patch literal 1292 zcmeAS@N?(olHy`uVBq!ia0vp^*ML}vgBeH)xLnu=q;yJLBTAf$QWHxu^Yau!GILWI ze1Qx@O9kJ=N(CbW17igPV=E(5D?>8{T?11C1EW}RMW8H=O_RFloLQ?V{wi*in zg*Xd5B8wRqxITa|qthCb89+gnbVpxD28NCO+*hPG!13hY|K;CT^jkYTel=~4r|07p z+9wLRW-+Fne`vbtpIqeH{)v5`!b(^0FIV0n^-o4ky6NL#=a$xQ_HQ~WUh(8w@~_^d z)xA~qTf$YHDm{&zH^q6RMdTy9{ls{McWr%e&wcB$ux}0j@)bUKv9@xR+jyX2=`@oRlbPrbDHB-*4U zu_LLNaml(n%uP1FSSt(b(U1;Jr=Ew%?tq;7`>ulOmwo7DM z_R|SZGHzeGyd9Gm)bvBHvK*D?^({$ zYNJ$bN6|Uk)?9Awcm6ECbL!@+@d~HUoSP=(E$(g=EhnUIw&X^R(+A6gx30LCE9;!O cQ[ ' . $text.' ]', 'mediamanager.png' ); + + parent::display($tpl); + } +} +?> \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/config/index.html b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/config/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/config/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/config/tmpl/config.php b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/config/tmpl/config.php new file mode 100644 index 00000000..59142f39 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/config/tmpl/config.php @@ -0,0 +1,50 @@ + + + function loadImg(elem) { + document.getElementById("feedImg").src = elem.value; + } + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Text to display
    RSS Description
    Provide feed as RSS type:defaultType; ?>
    Number of messages to show in feed:
    Orderingorderby; ?>
    In summaries, select the number of words to display in the feednumWords; ?>
    Include Author's email and name?renderAuthorFormat; ?>
    Render HTML?renderHTML;?>
    Frontpage Items only?FPItemsOnly;?>
    Number of seconds to cache
    Url of feed image [Tab] to preview or leave blank to leave out image details from feed
     Image Preview:
    + + + + +
    \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/config/tmpl/index.html b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/config/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/config/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/config/view.html.php b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/config/view.html.php new file mode 100644 index 00000000..a293ebf3 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/config/view.html.php @@ -0,0 +1,70 @@ +get('Data'); + $text = 'Default settings'; + JToolBarHelper::title( JText::_( 'Ninja RSS Syndicator').': [ ' . $text.' ]', 'config.png' ); + + $lists = array(); + + $rssType[] = JHTML::_('select.option', '2.0','RSS 2.0'); + $rssType[] = JHTML::_('select.option', '1.0','RSS 1.0'); + $rssType[] = JHTML::_('select.option', '0.91','RSS 0.91'); + $rssType[] = JHTML::_('select.option', 'ATOM','ATOM'); + $rssType[] = JHTML::_('select.option', 'OPML','OPML'); + $rssType[] = JHTML::_('select.option', 'MBOX','MBOX'); + $rssType[] = JHTML::_('select.option', 'HTML','HTML'); + $rssType[] = JHTML::_('select.option', 'JS','JS'); + $lists['rssTypeList'] = JHTML::_('select.genericlist', $rssType, 'defaultType', 'class="inputbox"', 'value', 'text', $configs->defaultType ? $configs->defaultType : '2.0', 'defaultType'); + + $orderings[] = JHTML::_('select.option', 'date','Created Date Ascending'); + $orderings[] = JHTML::_('select.option', 'rdate','Created Date Descending'); + $orderings[] = JHTML::_('select.option', 'mdate','Modified Date Ascending'); + $orderings[] = JHTML::_('select.option', 'mrdate','Modified Date Descending'); + $orderings[] = JHTML::_('select.option', 'catsect','Joomla Section, Category ordering'); + $orderings[] = JHTML::_('select.option', 'artord','Joomla Article ordering'); + $lists['orderingList'] = JHTML::_('select.genericlist', $orderings, 'orderby', 'class="inputbox"', 'value', 'text', $configs->orderby, 'orderby'); + + $numWords[] = JHTML::_('select.option','0','All'); + for ($i=25;$i<=250;$i+=25) { + $numWords[] = JHTML::_('select.option',$i,$i); + } + $lists['numWordsList'] = JHTML::_('select.genericList', $numWords, 'numWords', 'class="inputbox"','value', 'text', $configs->numWords, 'numWords'); + + $authorformats[] = JHTML::_( 'select.option', '1','Yes'); + $authorformats[] = JHTML::_( 'select.option', '0','No'); + $lists['renderAuthorList'] = JHTML::_('select.genericList', $authorformats, 'renderAuthorFormat', 'class="inputbox"','value', 'text',$configs->renderAuthorFormat ); + + $renderHTML[] = JHTML::_( 'select.option', '1','Yes'); + $renderHTML[] = JHTML::_( 'select.option', '0','No'); + $lists['renderHTMLList'] =JHTML::_( 'select.genericList',$renderHTML, 'renderHTML', 'class="inputbox"','value', 'text',$configs->renderHTML ); + + $FPItemsOnly[] = JHTML::_( 'select.option', '0','All items'); + $FPItemsOnly[] = JHTML::_( 'select.option', '1','Front page items only'); + $FPItemsOnly[] = JHTML::_( 'select.option', '2','Non-frontpage items only'); + $lists['FPItemsOnlyList'] =JHTML::_( 'select.genericList',$FPItemsOnly, 'FPItemsOnly', 'class="inputbox"','value', 'text',$configs->FPItemsOnly ); + + $this->assignRef('id', $configs->id); + $this->assignRef('msg', $configs->msg); + $this->assignRef('defaultType', $lists['rssTypeList']); + $this->assignRef('count', $configs->count); + $this->assignRef('orderby', $lists['orderingList']); + $this->assignRef('numWords', $lists['numWordsList']); + $this->assignRef('renderAuthorFormat', $lists['renderAuthorList']); + $this->assignRef('renderHTML', $lists['renderHTMLList']); + $this->assignRef('FPItemsOnly', $lists['FPItemsOnlyList']); + $this->assignRef('cache', $configs->cache); + $this->assignRef('imgUrl', $configs->imgUrl); + $this->assignRef('description', $configs->description); + parent::display($tpl); + } +} +?> \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feed/index.html b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feed/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feed/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feed/tmpl/feed.php b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feed/tmpl/feed.php new file mode 100644 index 00000000..f11a023e --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feed/tmpl/feed.php @@ -0,0 +1,117 @@ + + + +
    + + + + + + + + + + + + + + + + + + > MAD 2007/10/10 */ ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + > AGE 2007/09/25 */ ?> + + + + + + + + + + + + + + + + + + +
    Feed name:
    RSS Descriptioneditor->display( 'feed_description', $this->description, 500, 200, 70, 20, 1 ) ; ?>
    Provide feed as RSS type:lists['rssTypeList']; ?>
    Number of messages to show in feed:
    Order bylists['orderingList']; ?>
    Select the number of words to display in the feedlists['numWordsList']; ?>
    Fulltextlists['fulltextlist'];?>
    Include Author's email and name?lists['renderAuthorList']; ?>
    Render HTML?lists['renderHTMLList'];?>
    Render Images?lists['renderImagesList'];?>
    Frontpage Items only?lists['FPItemsOnlyList'];?>
    Number of seconds to cache
    Published?lists['renderPublishedList'];?>
    Section(s)lists['sectionlist'];?>
    Include or Exclude Categories?lists['includeCats'];?>
    Selected Categorieslists['excludedcatlist'];?>
    Excluded article(s) + +
    Enter article id(s) you want to exclude. +
    Seperate id with a ",".
    Example: 1, 2, 3, 4, 5, 6 +
    Feed image
    +
    +  [Tab] to preview or leave blank to leave out image details from feed +
    Image Preview:
    Feed buttonlists['feedButtons']);?>  + BtnImgUrl); ?>" /> +
    + + + + + +
    + \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feed/tmpl/index.html b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feed/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feed/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feed/view.html.php b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feed/view.html.php new file mode 100644 index 00000000..126af548 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feed/view.html.php @@ -0,0 +1,151 @@ +get('SData'); + $sections =& $this->get('Sections'); + $exCategories =& $this->get('ExCategories'); + $isNew = ($feed->id<1); + $text = $isNew ? 'New feed':'Change feed: '. $feed->feed_name; + + JToolBarHelper::title( JText::_( 'Ninja RSS Syndicator').': [ ' . $text.' ]', 'addedit.png' ); + JToolBarHelper::apply(); + JToolBarHelper::save(); + + $lists = array(); + + if ($isNew) { + JToolBarHelper::cancel(); + $default =& $this->get('DefaultData'); + } else { + // for existing items the button is renamed `close` + JToolBarHelper::cancel( 'cancel', 'close' ); + } + + + //rss type list + + $rssType[] = JHTML::_('select.option', '2.0','RSS 2.0'); + $rssType[] = JHTML::_('select.option', '1.0','RSS 1.0'); + $rssType[] = JHTML::_('select.option', '0.91','RSS 0.91'); + $rssType[] = JHTML::_('select.option', 'ATOM','ATOM'); + $rssType[] = JHTML::_('select.option', 'OPML','OPML'); + $rssType[] = JHTML::_('select.option', 'MBOX','MBOX'); + $rssType[] = JHTML::_('select.option', 'HTML','HTML'); + $rssType[] = JHTML::_('select.option', 'JS','JS'); + $lists['rssTypeList'] = JHTML::_('select.genericlist', $rssType, 'feed_type', 'class="inputbox"', 'value', 'text', $isNew ? $default->defaultType : $feed->feed_type, 'feed_type'); + + $fulltext[] = JHTML::_('select.option', "0","Intro text only"); + $fulltext[] = JHTML::_('select.option', "1","Intro text + Read more link"); + $fulltext[] = JHTML::_('select.option', "2","Intro text + Full text"); + $fulltext[] = JHTML::_('select.option', "3","Full text only"); + $lists['fulltextlist'] = JHTML::_('select.genericlist', $fulltext, 'msg_fulltext', 'class="inputbox"', 'value', 'text', $isNew ? '1': $feed->msg_fulltext ); + + $orderings[] = JHTML::_('select.option', 'date','Created Date Ascending'); + $orderings[] = JHTML::_('select.option', 'rdate','Created Date Descending'); + $orderings[] = JHTML::_('select.option', 'mdate','Modified Date Ascending'); + $orderings[] = JHTML::_('select.option', 'mrdate','Modified Date Descending'); + $orderings[] = JHTML::_('select.option', 'catsect','Joomla Section, Category ordering'); + $orderings[] = JHTML::_('select.option', 'artord','Joomla Article ordering'); + $lists['orderingList'] = JHTML::_('select.genericlist', $orderings, 'msg_orderby', 'class="inputbox"', 'value', 'text', $isNew ? $default->orderby : $feed->msg_orderby, 'msg_orderby'); + + $numWords[] = JHTML::_('select.option','0','All'); + for ($i=25;$i<=250;$i+=25) { + $numWords[] = JHTML::_('select.option',$i,$i); + } + $lists['numWordsList'] = JHTML::_('select.genericList', $numWords, 'msg_numWords', 'class="inputbox"','value', 'text', $isNew ? $default->numWords : $feed->msg_numWords, 'msg_numWords' ); + + $FPItemsOnly[] = JHTML::_( 'select.option', '0','All items'); + $FPItemsOnly[] = JHTML::_( 'select.option', '1','Front page items only'); + $FPItemsOnly[] = JHTML::_( 'select.option', '2','Non-frontpage items only'); + $lists['FPItemsOnlyList'] =JHTML::_( 'select.genericList',$FPItemsOnly, 'msg_FPItemsOnly', 'class="inputbox"','value', 'text',$isNew ? $default->FPItemsOnly : $feed->msg_FPItemsOnly, 'msg_FPItemsOnly' ); + + $yesNoList[] = JHTML::_( 'select.option', "1","Yes"); + $yesNoList[] = JHTML::_( 'select.option', "0","No"); + $lists['renderImagesList'] = JHTML::_( 'select.genericList', $yesNoList, 'feed_renderImages', 'class="inputbox"','value', 'text',$isNew ? '1' : $feed->feed_renderImages ); + $lists['renderPublishedList'] = JHTML::_( 'select.genericList', $yesNoList, 'published', 'class="inputbox"','value', 'text',$isNew ? NULL : $feed->published); + $lists['renderHTMLList'] =JHTML::_( 'select.genericList',$yesNoList, 'feed_renderHTML', 'class="inputbox"','value', 'text', $isNew ? $default->renderHTML : $feed->feed_renderHTML , 'feed_renderHTML'); + $lists['renderAuthorList'] = JHTML::_('select.genericList', $yesNoList, 'feed_renderAuthorFormat', 'class="inputbox"','value', 'text', $isNew ? $default->renderAuthorFormat : $feed->feed_renderAuthorFormat, 'feed_renderAuthorFormat' ); + + + $includeCats[] = JHTML::_( 'select.option', "0","Exclude Selected Categories"); + $includeCats[] = JHTML::_( 'select.option', "1","Include Selected Categories"); + $lists['includeCats'] = JHTML::_( 'select.genericList', $includeCats, 'msg_includeCats', 'class="inputbox"','value', 'text',$isNew ? NULL : $feed->msg_includeCats); + + + + //Section list + $sectOptions[] = JHTML::_('select.option', "","All sections"); + $sectOptions[] = JHTML::_('select.option', "0","Uncategorised"); + foreach($sections as $section) + { + $sectOptions[] = JHTML::_('select.option', $section->id,$section->title); + } + + if($isNew) + $sectSelected = ''; + else + $sectSelected = explode(',',$feed->msg_sectlist); + + $lists['sectionlist'] = JHTML::_( 'select.genericList',$sectOptions, 'msg_sectlist' . '[]', ' class="inputbox" multiple="true"', 'value', 'text', $sectSelected ); + //Excluded categories + if($isNew) + $exCatSelected = ''; + else + $exCatSelected = explode(',',$feed->msg_excatlist); + + $exCatOptions[] = JHTML::_('select.option', "",'No Selection'); + $exCatOptions[] = JHTML::_('select.option', "0","Uncategorised"); + foreach($exCategories as $exCategory) + { + $exCatOptions[] = JHTML::_('select.option', $exCategory->id,$exCategory->title); + } + + $lists['excludedcatlist'] = JHTML::_( 'select.genericList', $exCatOptions, 'msg_excatlist' . '[]', 'class="inputbox" multiple="true"', 'value', 'text', $exCatSelected ); + + //Feedbutton images uit de directory laden + $button_path = JPATH_ROOT .DS. "components".DS."com_ninjarsssyndicator".DS."assets".DS."images".DS."buttons"; + $dir = @opendir($button_path); + $button_images = array(); + $button_col_count = 0; + + while( $file = @readdir($dir) ) + { + if( $file != '.' && $file != '..' && is_file($button_path . '/' . $file) && !is_link($button_path . '/' . $file) ) + { + if( preg_match('/(\.gif$|\.png$|\.jpg|\.jpeg)$/is', $file) ) + { + $button_images[$button_col_count] = $file; + $button_name[$button_col_count] = ucfirst(str_replace("_", " ", preg_replace('/^(.*)\..*$/', '\1', $file))); + $buttons[] = JHTML::_( 'select.option', $button_images[$button_col_count], $button_name[$button_col_count]); + $button_col_count++; + } + } + } + @closedir($dir); + $lists['feedButtons'] = JHTML::_( 'select.genericList', $buttons, 'feed_button', 'onchange="loadButton(this)" class="inputbox" ','value', 'text',$isNew ? 'rss20.gif' : $feed->feed_button); + + //Editor + $editor =& JFactory::getEditor(); + + $this->assignRef('id', $feed->id); + $this->assignRef('name', $feed->feed_name); + $this->assignRef('count', $feed->msg_count = $isNew? $default->count:$feed->msg_count); + $this->assignRef('cache', $feed->feed_cache = $isNew? $default->cache:$feed->feed_cache); + $this->assignRef('imgUrl', $feed->feed_imgUrl); + $isNew? $feed->feed_button='rss20.gif':$feed->feed_button; + $this->assignRef('BtnImgUrl', $feed->feed_button); + $this->assignRef('exitems', $feed->msg_exitems); + $this->assignRef('description', $feed->feed_description = $isNew ? $default->description : $feed->feed_description); + $this->assignRef('editor', $editor); + $this->assignRef('lists', $lists); + parent::display($tpl); + } +} +?> \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feeds/index.html b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feeds/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feeds/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feeds/tmpl/feeds.php b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feeds/tmpl/feeds.php new file mode 100644 index 00000000..1b4a8200 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feeds/tmpl/feeds.php @@ -0,0 +1,60 @@ + +
    +
    + + + + + + + + + + + + + + + + + + items ); $i < $n; $i++) { + $row = &$this->items[$i]; + + $checked = JHTML::_('grid.id', $i, $row->id ); + $published = JHTML::_('grid.published', $row, $i ); + + $feedurl = JURI::root() . JRoute::_( "index.php?option=com_ninjarsssyndicator&feed_id=".$row->id."&format=raw"); + ?> + "> + + + + + + + + + + +
    #
    + pagination->getListFooter(); ?> +
    pagination->getRowOffset( $i ); ?> + + + + + + escape($row->feed_name); ?> + + feed_button);} ?>">feed_type; ?>
    +
    + + + + + +
    \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feeds/tmpl/index.html b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feeds/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feeds/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feeds/view.html.php b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feeds/view.html.php new file mode 100644 index 00000000..ca73f95a --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/feeds/view.html.php @@ -0,0 +1,30 @@ +[ ' . $text.' ]', 'addedit.png' ); + + JToolBarHelper::publishList(); + JToolBarHelper::unpublishList(); + JToolBarHelper::deleteList(); + JToolBarHelper::editListX(); + JToolBarHelper::addNewX(); + + $items = & $this->get( 'Data'); + $total = & $this->get( 'Total'); + $pagination = & $this->get( 'Pagination' ); + + $this->assignRef('items', $items); + $this->assignRef('pagination', $pagination); + + parent::display($tpl); + } +} +?> \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/index.html b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_ninjarsssyndicator/views/index.html @@ -0,0 +1 @@ + \ No newline at end of file