| 
      1
     | 
    
      <?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: rss.php 2 2017-07-02 15:14:29Z Manuela $
 
     | 
  
  
    | 
      14
     | 
    
       * @filesource      $HeadURL: svn://isteam.dynxs.de/wb/2.10.x/trunk/modules/news/rss.php $
 
     | 
  
  
    | 
      15
     | 
    
       * @lastmodified    $Date: 2017-07-02 17:14:29 +0200 (Sun, 02 Jul 2017) $
 
     | 
  
  
    | 
      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>
 
     |