summaryrefslogtreecommitdiffstats
path: root/usr/local/www/widgets/widgets/rss.widget.php
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2015-08-25 08:08:24 -0300
committerRenato Botelho <renato@netgate.com>2015-08-25 14:49:54 -0300
commit46bc6e545a17e77202aaf01ec0cd8d5a46567525 (patch)
tree32d18dda436ec739c67c489ceb771e8629cd926f /usr/local/www/widgets/widgets/rss.widget.php
parent4d9801c2dbd2b3e54a39578ee62b93af66607227 (diff)
downloadpfsense-46bc6e545a17e77202aaf01ec0cd8d5a46567525.zip
pfsense-46bc6e545a17e77202aaf01ec0cd8d5a46567525.tar.gz
Move main pfSense content to src/
Diffstat (limited to 'usr/local/www/widgets/widgets/rss.widget.php')
-rw-r--r--usr/local/www/widgets/widgets/rss.widget.php198
1 files changed, 0 insertions, 198 deletions
diff --git a/usr/local/www/widgets/widgets/rss.widget.php b/usr/local/www/widgets/widgets/rss.widget.php
deleted file mode 100644
index 0850039..0000000
--- a/usr/local/www/widgets/widgets/rss.widget.php
+++ /dev/null
@@ -1,198 +0,0 @@
-<?php
-/*
- rss.widget.php
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
-
- Copyright 2009 Scott Ullrich
- Part of pfSense widgets (https://www.pfsense.org)
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
-*/
-
-$nocsrf = true;
-
-require_once("guiconfig.inc");
-require_once("pfsense-utils.inc");
-require_once("functions.inc");
-
-if ($_POST['rssfeed']) {
- $config['widgets']['rssfeed'] = str_replace("\n", ",", htmlspecialchars($_POST['rssfeed'], ENT_QUOTES | ENT_HTML401));
- $config['widgets']['rssmaxitems'] = str_replace("\n", ",", htmlspecialchars($_POST['rssmaxitems'], ENT_QUOTES | ENT_HTML401));
- $config['widgets']['rsswidgetheight'] = htmlspecialchars($_POST['rsswidgetheight'], ENT_QUOTES | ENT_HTML401);
- $config['widgets']['rsswidgettextlength'] = htmlspecialchars($_POST['rsswidgettextlength'], ENT_QUOTES | ENT_HTML401);
- write_config("Saved RSS Widget feed via Dashboard");
- header("Location: /");
-}
-
-// Use saved feed and max items
-if ($config['widgets']['rssfeed']) {
- $rss_feed_s = explode(",", $config['widgets']['rssfeed']);
-}
-
-if ($config['widgets']['rssmaxitems']) {
- $max_items = $config['widgets']['rssmaxitems'];
-}
-
-if (is_numeric($config['widgets']['rsswidgetheight'])) {
- $rsswidgetheight = $config['widgets']['rsswidgetheight'];
-}
-
-if (is_numeric($config['widgets']['rsswidgettextlength'])) {
- $rsswidgettextlength = $config['widgets']['rsswidgettextlength'];
-}
-
-// Set a default feed if none exists
-if (!$rss_feed_s) {
- $rss_feed_s = "https://blog.pfsense.org";
- $config['widgets']['rssfeed'] = "https://blog.pfsense.org";
-}
-
-if (!$max_items) {
- $max_items = 10;
-}
-
-if (!$rsswidgetheight) {
- $rsswidgetheight = 300;
-}
-
-if (!$rsswidgettextlength) {
- $rsswidgettextlength = 140; // oh twitter, how do we love thee?
-}
-
-if ($config['widgets']['rssfeed']) {
- $textarea_txt = str_replace(",", "\n", $config['widgets']['rssfeed']);
-} else {
- $textarea_txt = "";
-}
-
-?>
-
-<input type="hidden" id="rss-config" name="rss-config" value="" />
-
-<div id="rss-settings" class="widgetconfigdiv" style="display:none;">
- <form action="/widgets/widgets/rss.widget.php" method="post" name="rss_widget_iform">
- <textarea name="rssfeed" class="formfld unknown textarea_widget" id="rssfeed" cols="40" rows="3"><?=$textarea_txt;?></textarea>
- <br />
- <table summary="rss widget">
- <tr>
- <td align="right">
- Display number of items:
- </td>
- <td>
- <select name='rssmaxitems' id='rssmaxitems'>
- <option value='<?= $max_items ?>'><?= $max_items ?></option>
- <?php
- for ($x=100; $x<5100; $x=$x+100) {
- echo "<option value='{$x}'>{$x}</option>\n";
- }
- ?>
- </select>
- </td>
- </tr>
- <tr>
- <td align="right">
- Widget height:
- </td>
- <td>
- <select name='rsswidgetheight' id='rsswidgetheight'>
- <option value='<?= $rsswidgetheight ?>'><?= $rsswidgetheight ?>px</option>
- <?php
- for ($x=100; $x<5100; $x=$x+100) {
- echo "<option value='{$x}'>{$x}px</option>\n";
- }
- ?>
- </select>
- </td>
- </tr>
- <tr>
- <td align="right">
- Show how many characters from story:
- </td>
- <td>
- <select name='rsswidgettextlength' id='rsswidgettextlength'>
- <option value='<?= $rsswidgettextlength ?>'><?= $rsswidgettextlength ?></option>
- <?php
- for ($x=10; $x<5100; $x=$x+10) {
- echo "<option value='{$x}'>{$x}</option>\n";
- }
- ?>
- </select>
- </td>
- </tr>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
- <input id="rss_widget_submit" name="rss_widget_submit" type="submit" class="formbtn" value="Save" />
- </td>
- </tr>
- </table>
- </form>
-</div>
-
-<div id="rss-widgets" style="padding: 5px; height: <?=$rsswidgetheight?>px; overflow:scroll;">
-<?php
- if (!is_dir("/tmp/simplepie")) {
- mkdir("/tmp/simplepie");
- mkdir("/tmp/simplepie/cache");
- }
- exec("chmod a+rw /tmp/simplepie/.");
- exec("chmod a+rw /tmp/simplepie/cache/.");
- require_once("simplepie/simplepie.inc");
- function textLimit($string, $length, $replacer = '...') {
- if (strlen($string) > $length) {
- return (preg_match('/^(.*)\W.*$/', substr($string, 0, $length+1), $matches) ? $matches[1] : substr($string, 0, $length)) . $replacer;
- }
- return $string;
- }
- $feed = new SimplePie();
- $feed->set_cache_location("/tmp/simplepie/");
- $feed->set_feed_url($rss_feed_s);
- $feed->init();
- $feed->handle_content_type();
- $counter = 1;
- foreach ($feed->get_items() as $item) {
- $feed = $item->get_feed();
- $feed->strip_htmltags();
- echo "<a target='blank' href='" . $item->get_permalink() . "'>" . $item->get_title() . "</a><br />";
- $content = $item->get_content();
- $content = strip_tags($content);
- echo textLimit($content, $rsswidgettextlength) . "<br />";
- echo "Source: <a target='_blank' href='" . $item->get_permalink() . "'><img src='" . $feed->get_favicon() . "' alt='" . $feed->get_title() . "' title='" . $feed->get_title() . "' border='0' width='16' height='16' /></a><br />";
- $counter++;
- if ($counter > $max_items) {
- break;
- }
- echo "<hr/>";
- }
-?>
-</div>
-
-<!-- needed to display the widget settings menu -->
-<script type="text/javascript">
-//<![CDATA[
- selectIntLink = "rss-configure";
- textlink = document.getElementById(selectIntLink);
- textlink.style.display = "inline";
-//]]>
-</script>
OpenPOWER on IntegriCloud