* Copyright 2001 Olivier Cahagne * Copyright 2004 Arnaud Boudou * Copyright 2008-2011 Tim Gerundt * * This file is part of NOCC. NOCC is free software under the terms of the * GNU General Public License. You should have received a copy of the license * along with NOCC. If not, see . * * @package NOCC * @license http://www.gnu.org/licenses/ GNU General Public License * @version SVN: $Id: rss.php 2967 2021-12-10 14:24:34Z oheil $ */ require_once './classes/nocc_session.php'; require_once './classes/user_prefs.php'; $from_rss = true; $_REQUEST['sname']="RSS"; NOCC_Session::start(); $_SESSION['nocc_user'] = base64_decode($_REQUEST['nocc_user']); $_SESSION['nocc_passwd'] = base64_decode($_REQUEST['nocc_passwd']); $_SESSION['nocc_login'] = base64_decode($_REQUEST['nocc_login']); $_SESSION['nocc_lang'] = base64_decode($_REQUEST['nocc_lang']); $_SESSION['nocc_smtp_server'] = base64_decode($_REQUEST['nocc_smtp_server']); $_SESSION['nocc_smtp_port'] = base64_decode($_REQUEST['nocc_smtp_port']); $_SESSION['nocc_theme'] = base64_decode($_REQUEST['nocc_theme']); $_SESSION['nocc_domain'] = base64_decode($_REQUEST['nocc_domain']); $_SESSION['nocc_domainnum'] = base64_decode($_REQUEST['nocc_domainnum']); $_SESSION['imap_namespace'] = base64_decode($_REQUEST['imap_namespace']); $_SESSION['nocc_servr'] = base64_decode($_REQUEST['nocc_servr']); $_SESSION['nocc_folder'] = base64_decode($_REQUEST['nocc_folder']); $_SESSION['smtp_auth'] = base64_decode($_REQUEST['smtp_auth']); $_SESSION['ucb_pop_server'] = base64_decode($_REQUEST['ucb_pop_server']); $_SESSION['quota_enable'] = base64_decode($_REQUEST['quota_enable']); $_SESSION['quota_type'] = base64_decode($_REQUEST['quota_type']); $_SESSION['is_horde'] = base64_decode($_REQUEST['is_horde']); // // RSS-QUESTION // //$_SESSION['rss'] = true; if (!NOCC_Session::existsUserPrefs()) { //TODO: Move to NOCC_Session::loadUserPrefs()? $user_key = NOCC_Session::getUserKey(); NOCC_Session::setUserPrefs(NOCCUserPrefs::read($user_key, $ev)); if (NoccException::isException($ev)) { echo "

User prefs error ($user_key): ".$ev->getMessage()."

"; exit(1); } } require_once './common.php'; require_once './classes/class_local.php'; require_once './classes/nocc_rssfeed.php'; if( ! isRssAllowed() ) { exit; } try { $pop = new nocc_imap(); } catch (Exception $ex) { //TODO: Show error without NoccException! $ev = new NoccException($ex->getMessage()); require './html/error.php'; exit; } $tab_mail = array(); if ($pop->num_msg() > 0) { //TODO: Remove later try/catch block! try { $tab_mail = inbox($pop, 0); } catch (Exception $ex) { $ev = new NoccException($ex->getMessage()); } } $tab_mail_bak = $tab_mail; if (NoccException::isException($ev)) { require './html/error.php'; exit; } $rssfeed = new NOCC_RssFeed(); $rssfeed->setTitle('NOCC Webmail - ' . $_SESSION['nocc_folder'].' '.$_SESSION['nocc_login']); $rssfeed->setDescription('Your mailbox'); $rssfeed->setLink($conf->base_url); while ($tmp = array_shift($tab_mail)) { //for all mails... try { $content = aff_mail($pop, $tmp['number'], false); $mail_summery = ''; if ($tmp['attach'] == true) { //if has attachments... $mail_summery .= ''; } $mail_summery .= $html_size . ': ' . $tmp['size'] . ' ' . $html_kb . '

'; $rssDescription = $mail_summery . substr(strip_tags($content['body'], '
'), 0, 200) . '…'; $rssContent = $mail_summery . $content['body']; $rssfeeditem = new NOCC_RssFeed_Item(); $rssfeeditem->setTitle(htmlspecialchars($tmp['subject'],ENT_COMPAT | ENT_SUBSTITUTE)); $rssfeeditem->setDescription($rssDescription); $rssfeeditem->setTimestamp($content['timestamp']); $rssfeeditem->setContent($rssContent); $rssfeeditem->setLink($conf->base_url . 'action.php?'.NOCC_Session::getUrlGetSession().'&action=aff_mail&mail=' . $tmp['number'] . '&verbose=0&rss=true'); $rssfeeditem->setCreator(htmlspecialchars($tmp['from'],ENT_COMPAT | ENT_SUBSTITUTE)); $rssfeed->addItem($rssfeeditem); } catch (Exception $ex) { //Do nothing! } } $rssfeed->sendToBrowser();