| 1 | 2 | Manuela | <?php
 | 
      
        | 2 |  |  | /**
 | 
      
        | 3 |  |  |  *
 | 
      
        | 4 |  |  |  * @category        modules
 | 
      
        | 5 |  |  |  * @package         news
 | 
      
        | 6 |  |  |  * @author          WebsiteBaker Project
 | 
      
        | 7 |  |  |  * @copyright       Ryan Djurovich
 | 
      
        | 8 |  |  |  * @copyright       Website Baker Org. e.V.
 | 
      
        | 9 |  |  |  * @link            http://websitebaker.org/
 | 
      
        | 10 |  |  |  * @license         http://www.gnu.org/licenses/gpl.html
 | 
      
        | 11 |  |  |  * @platform        WebsiteBaker 2.8.3
 | 
      
        | 12 |  |  |  * @requirements    PHP 5.3.6 and higher
 | 
      
        | 13 |  |  |  * @version         $Id$
 | 
      
        | 14 |  |  |  * @filesource      $HeadURL$
 | 
      
        | 15 |  |  |  * @lastmodified    $Date$
 | 
      
        | 16 |  |  |  *
 | 
      
        | 17 |  |  |  */
 | 
      
        | 18 |  |  | 
 | 
      
        | 19 |  |  | // Check that GET values have been supplied
 | 
      
        | 20 |  |  | if(isset($_GET['page_id']) && is_numeric($_GET['page_id'])) {
 | 
      
        | 21 |  |  |     $page_id = intval($_GET['page_id']);
 | 
      
        | 22 |  |  | } else {
 | 
      
        | 23 |  |  |     // something is gone wrong, send error header
 | 
      
        | 24 |  |  |     header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
 | 
      
        | 25 |  |  |     header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Datum in der Vergangenheit
 | 
      
        | 26 |  |  |     if (preg_match('/fcgi/i', php_sapi_name())) {
 | 
      
        | 27 |  |  |         header("Status: 204 No Content"); // RFC7231, Section 6.3.5
 | 
      
        | 28 |  |  |     } else {
 | 
      
        | 29 |  |  |         header("HTTP/1.0 204  No Content");
 | 
      
        | 30 |  |  |     }
 | 
      
        | 31 |  |  |     flush();
 | 
      
        | 32 |  |  |     exit;
 | 
      
        | 33 |  |  | }
 | 
      
        | 34 |  |  | 
 | 
      
        | 35 |  |  | if(isset($_GET['group_id']) && is_numeric($_GET['group_id'])) {
 | 
      
        | 36 |  |  |     $group_id = $_GET['group_id'];
 | 
      
        | 37 |  |  |     define('GROUP_ID', $group_id);
 | 
      
        | 38 |  |  | }
 | 
      
        | 39 |  |  | 
 | 
      
        | 40 |  |  | // Include WB files
 | 
      
        | 41 |  |  | if ( !defined( 'WB_PATH' ) ){ require( dirname(dirname((__DIR__))).'/config.php' ); }
 | 
      
        | 42 |  |  | if ( !class_exists('frontend')) { require(WB_PATH.'/framework/class.frontend.php');  }
 | 
      
        | 43 |  |  | // Create new frontend object
 | 
      
        | 44 |  |  | if (!isset($wb) || !($wb instanceof frontend)) { $wb = new frontend(); }
 | 
      
        | 45 |  |  | $wb->page_id = $page_id;
 | 
      
        | 46 |  |  | $wb->get_page_details();
 | 
      
        | 47 |  |  | $wb->get_website_settings();
 | 
      
        | 48 |  |  | 
 | 
      
        | 49 |  |  | //checkout if a charset is defined otherwise use UTF-8
 | 
      
        | 50 |  |  | if(defined('DEFAULT_CHARSET')) {
 | 
      
        | 51 |  |  |     $charset=DEFAULT_CHARSET;
 | 
      
        | 52 |  |  | } else {
 | 
      
        | 53 |  |  |     $charset='utf-8';
 | 
      
        | 54 |  |  | }
 | 
      
        | 55 |  |  | 
 | 
      
        | 56 |  |  | // Sending XML header
 | 
      
        | 57 |  |  | header("Content-type: text/xml; charset=$charset" );
 | 
      
        | 58 |  |  | 
 | 
      
        | 59 |  |  | // Header info
 | 
      
        | 60 |  |  | // Required by CSS 2.0
 | 
      
        | 61 |  |  | echo '<?xml version="1.0" encoding="'.$charset.'"?>';
 | 
      
        | 62 |  |  | ?>
 | 
      
        | 63 |  |  | <rss version="2.0">
 | 
      
        | 64 |  |  |     <channel>
 | 
      
        | 65 |  |  |         <title><![CDATA[<?php echo PAGE_TITLE; ?>]]></title>
 | 
      
        | 66 |  |  |         <link>http://<?php echo $_SERVER['SERVER_NAME']; ?></link>
 | 
      
        | 67 |  |  |         <description><![CDATA[<?php echo PAGE_DESCRIPTION; ?>]]></description>
 | 
      
        | 68 |  |  | <?php
 | 
      
        | 69 |  |  | // Optional header info
 | 
      
        | 70 |  |  | ?>
 | 
      
        | 71 |  |  |         <language><?php echo strtolower(DEFAULT_LANGUAGE); ?></language>
 | 
      
        | 72 |  |  |         <copyright><?php $thedate = date('Y'); $websitetitle = WEBSITE_TITLE; echo "Copyright {$thedate}, {$websitetitle}"; ?></copyright>
 | 
      
        | 73 |  |  |         <managingEditor><?php echo SERVER_EMAIL; ?></managingEditor>
 | 
      
        | 74 |  |  |         <webMaster><?php echo SERVER_EMAIL; ?></webMaster>
 | 
      
        | 75 |  |  |         <category><?php echo WEBSITE_TITLE; ?></category>
 | 
      
        | 76 |  |  |         <generator>WebsiteBaker Content Management System</generator>
 | 
      
        | 77 |  |  | <?php
 | 
      
        | 78 |  |  | // Get news items from database
 | 
      
        | 79 |  |  | $time = time();
 | 
      
        | 80 |  |  | //Query
 | 
      
        | 81 |  |  |     $sql='SELECT * FROM `'.TABLE_PREFIX.'mod_news_posts` '
 | 
      
        | 82 |  |  |         .'WHERE `page_id`='.(int)$page_id.' '
 | 
      
        | 83 |  |  |         .       (isset($group_id) ? 'AND `group_id`='.(int)$group_id.' ' : '')
 | 
      
        | 84 |  |  |         .       'AND `active`=1 '
 | 
      
        | 85 |  |  |         .       'AND (`published_when`  = 0 OR `published_when` <= '.$time.') '
 | 
      
        | 86 |  |  |         .       'AND (`published_until` = 0 OR `published_until` >= '.$time.') '
 | 
      
        | 87 |  |  |         .'ORDER BY posted_when DESC';
 | 
      
        | 88 |  |  | 
 | 
      
        | 89 |  |  | $result = $database->query($sql);
 | 
      
        | 90 |  |  | 
 | 
      
        | 91 |  |  | //Generating the news items
 | 
      
        | 92 |  |  | while($item = $result->fetchRow( MYSQLI_ASSOC )){
 | 
      
        | 93 |  |  |     $description = stripslashes($item["content_short"]);
 | 
      
        | 94 |  |  |     $description = OutputFilterApi('WbLink|ReplaceSysvar', $description);
 | 
      
        | 95 |  |  | ?>
 | 
      
        | 96 |  |  |     <item>
 | 
      
        | 97 |  |  |         <title><![CDATA[<?php echo stripslashes($item["title"]); ?>]]></title>
 | 
      
        | 98 |  |  |         <description><![CDATA[<?php echo $description; ?>]]></description>
 | 
      
        | 99 |  |  |         <link><?php echo WB_URL.PAGES_DIRECTORY.$item["link"].PAGE_EXTENSION; ?></link>
 | 
      
        | 100 |  |  |         <pubDate><?PHP echo date('r', $item["published_when"]); ?></pubDate>
 | 
      
        | 101 |  |  |         <guid><?php echo WB_URL.PAGES_DIRECTORY.$item["link"].PAGE_EXTENSION; ?></guid>
 | 
      
        | 102 |  |  |     </item>
 | 
      
        | 103 |  |  | <?php } ?>
 | 
      
        | 104 |  |  |     </channel>
 | 
      
        | 105 |  |  | </rss>
 |