Viewing file: frameset.php (11.49 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/*
############################################################################
# DWmail
# - version 4.0
# - Copyright (c) 2003-2006 Dominion Web Design
# - http://www.dominion-web.com/products/dwmail/
############################################################################
#
# The contents of this file are subject to the DWmail License version
# 2.2 ('License'). You may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.dominion-web.com/products/dwmail/license.php
# Software distributed under the License is distributed on an "AS IS" basis,
# without warranty of any kind, either express or implied.
#
# This code is Copyright (c) 2003-2006 Dominion Web Design.
# All rights reserved.
#
# This software may not be redistributed outside the terms of the
# license agreement.
#
############################################################################
*/
require ("./includes/init.inc.php");
require ("./includes/global.inc.php");
require ("./includes/imap.inc.php");
require ("./includes/functions.inc.php");
require ("./includes/config.inc.php");
$MainSettings = new GlobalInit();
$TransIDEnabled = $MainSettings->INIGet('session.use_trans_sid');
session_cache_limiter($DefaultSessionCache);
session_start();
$PageNav = stripslashes(strip_tags(trim($_GET['page'])));
if (!$_SESSION['DefaultLang']) {
$_SESSION['DefaultLang'] = $DefaultLang;
}
require ("./lang/" . strip_tags(str_replace("..", "", trim($_SESSION['DefaultLang']))) . "/global.inc.php");
@setlocale(LC_TIME, $AvailLangs[$_SESSION['DefaultLang']]['locale']);
require ("./includes/options.inc.php");
$_SESSION['tpl'] = strip_tags(trim($_SESSION['tpl']));
$getFile = new fileProperties($_SESSION['tpl']);
$PageFrameSet = $getFile->fileRead('frameset');
if ($PageNav == '') {
$PageHeader = $getFile->fileRead('login-header');
$PageFooter = $getFile->fileRead('login-footer');
$PageCopyright = $getFile->fileRead('copyright');
$PageMenu = $getFile->fileRead('menu');
$PageMenu = str_replace("[session]", $MainSettings->SessAppend_noecho($TransIDEnabled, 1), $PageMenu);
$PageMenu = str_replace("[session_append]", $MainSettings->SessAppend_noecho($TransIDEnabled, 0), $PageMenu);
$PageMenu = str_replace("[emailaddress]", $_SESSION['currentemailaddress'], $PageMenu);
$PageHeader = str_replace("[mainmenu]", $PageMenu, $PageHeader);
$PageHeader = str_replace("[header_refresh]", "", $PageHeader);
$PageHeader = str_replace("[charset]", $_SESSION['DefaultCharSet'], $PageHeader);
$PageHeader = str_replace("[lang]", $_SESSION['DefaultLang'], $PageHeader);
$PageHeader = str_replace("[langdir]", $AvailLangs[$_SESSION['DefaultLang']]['dir'], $PageHeader);
$PageFrameSet = str_replace("[lang]", $_SESSION['DefaultLang'], $PageFrameSet);
$PageFrameSet = str_replace("[langdir]", $AvailLangs[$_SESSION['DefaultLang']]['dir'], $PageFrameSet);
$PageFrameSet = str_replace("[pagetitle]", "", $PageFrameSet);
$PageHeader = str_replace("[pagetitle]", "", $PageHeader);
$PageFooter = str_replace("[mainmenu]", $PageMenu, $PageFooter);
$PageFooter = str_replace("[copyright]", $PageCopyright, $PageFooter);
$PageFolders = str_replace("[session]", $MainSettings->SessAppend_noecho($TransIDEnabled, 1), $PageFolders);
$PageFrameSet = str_replace("[session_append]", $MainSettings->SessAppend_noecho($TransIDEnabled, 0), $PageFrameSet);
if ($AllowExternal == 1 && $UseDatabase == 1) {
$PageHeader = str_replace("[ifexternal]", "", $PageHeader);
$PageHeader = str_replace("[/ifexternal]", "", $PageHeader);
$PageFooter = str_replace("[ifexternal]", "", $PageFooter);
$PageFooter = str_replace("[/ifexternal]", "", $PageFooter);
}
else {
$PageHeader = preg_replace("/(\[)(ifexternal)(])(\r\n)*(.*)(\[\/ifexternal\])/siU", "", $PageHeader);
$PageFooter = preg_replace("/(\[)(ifexternal)(])(\r\n)*(.*)(\[\/ifexternal\])/siU", "", $PageFooter);
}
$genericerror = $getFile->fileRead('generic_message');
$genericerror = str_replace ('[pagetitle]', $lang['SErrors']['Title'], $genericerror);
$error_session = str_replace ('[pagemessage]', $lang['SErrors']['Session'], $genericerror);
CheckValidSession($_SESSION, $PageFooter, $error_session, $PageHeader, $lang);
$IMAPConnection = new WM_IMAPConnection($_SESSION);
$securitycheck = $IMAPConnection->WM_IMAPCheckSecurity();
$error_ipfailuresession = str_replace ('[pagemessage]', $lang['SErrors']['IP'], $genericerror);
CheckSessionSecurity($securitycheck, $PageFooter, $error_ipfailure, $PageHeader, $lang);
$mailbox = $IMAPConnection->WM_IMAPConnect();
checkmailbox_active($mailbox, $IMAPConnection, $PageHeader, $_SESSION['tpl'], $PageFooter, $getFile, $lang, $genericerror);
if ($PreviewPane == 1) {
$PageFrameSet = str_replace("[ifpreviewpane]", "", $PageFrameSet);
$PageFrameSet = str_replace("[/ifpreviewpane]", "", $PageFrameSet);
$PageFrameSet = preg_replace("/(\[)(ifnopreviewpane)(])(\r\n)*(.*)(\[\/ifnopreviewpane\])/siU", "", $PageFrameSet);
}
else {
$PageFrameSet = str_replace("[ifnopreviewpane]", "", $PageFrameSet);
$PageFrameSet = str_replace("[/ifnopreviewpane]", "", $PageFrameSet);
$PageFrameSet = preg_replace("/(\[)(ifpreviewpane)(])(\r\n)*(.*)(\[\/ifpreviewpane\])/siU", "", $PageFrameSet);
}
echo $PageFrameSet;
$IMAPConnection->WM_IMAPClose();
}
if ($PageNav == 'folders') {
$PageHeader = $getFile->fileRead('header');
$PageFooter = $getFile->fileRead('footer');
$PageCopyright = $getFile->fileRead('copyright');
$PageMenu = $getFile->fileRead('menu');
$PageMenu = str_replace("[session]", $MainSettings->SessAppend_noecho($TransIDEnabled, 1), $PageMenu);
$PageMenu = str_replace("[session_append]", $MainSettings->SessAppend_noecho($TransIDEnabled, 0), $PageMenu);
$PageMenu = str_replace("[emailaddress]", $_SESSION['currentemailaddress'], $PageMenu);
$PageHeader = str_replace("[mainmenu]", $PageMenu, $PageHeader);
$PageHeader = str_replace("[header_refresh]", "", $PageHeader);
$PageHeader = str_replace("[charset]", $_SESSION['DefaultCharSet'], $PageHeader);
$PageHeader = str_replace("[lang]", $_SESSION['DefaultLang'], $PageHeader);
$PageHeader = str_replace("[langdir]", $AvailLangs[$_SESSION['DefaultLang']]['dir'], $PageHeader);
$PageFrameSet = str_replace("[lang]", $_SESSION['DefaultLang'], $PageFrameSet);
$PageFrameSet = str_replace("[langdir]", $AvailLangs[$_SESSION['DefaultLang']]['dir'], $PageFrameSet);
$PageFrameSet = str_replace("[pagetitle]", "", $PageFrameSet);
$PageHeader = str_replace("[pagetitle]", "", $PageHeader);
$PageFooter = str_replace("[mainmenu]", $PageMenu, $PageFooter);
$PageFooter = str_replace("[copyright]", $PageCopyright, $PageFooter);
$PageFolders = str_replace("[session]", $MainSettings->SessAppend_noecho($TransIDEnabled, 1), $PageFolders);
$PageFrameSet = str_replace("[session_append]", $MainSettings->SessAppend_noecho($TransIDEnabled, 0), $PageFrameSet);
if ($AllowExternal == 1 && $UseDatabase == 1) {
$PageHeader = str_replace("[ifexternal]", "", $PageHeader);
$PageHeader = str_replace("[/ifexternal]", "", $PageHeader);
$PageFooter = str_replace("[ifexternal]", "", $PageFooter);
$PageFooter = str_replace("[/ifexternal]", "", $PageFooter);
}
else {
$PageHeader = preg_replace("/(\[)(ifexternal)(])(\r\n)*(.*)(\[\/ifexternal\])/siU", "", $PageHeader);
$PageFooter = preg_replace("/(\[)(ifexternal)(])(\r\n)*(.*)(\[\/ifexternal\])/siU", "", $PageFooter);
}
$genericerror = $getFile->fileRead('generic_message');
$genericerror = str_replace ('[pagetitle]', $lang['SErrors']['Title'], $genericerror);
$error_session = str_replace ('[pagemessage]', $lang['SErrors']['Session'], $genericerror);
CheckValidSession($_SESSION, $PageFooter, $error_session, $PageHeader, $lang);
$IMAPConnection = new WM_IMAPConnection($_SESSION);
$securitycheck = $IMAPConnection->WM_IMAPCheckSecurity();
$error_ipfailuresession = str_replace ('[pagemessage]', $lang['SErrors']['IP'], $genericerror);
CheckSessionSecurity($securitycheck, $PageFooter, $error_ipfailure, $PageHeader, $lang);
$mailbox = $IMAPConnection->WM_IMAPConnect();
checkmailbox_active($mailbox, $IMAPConnection, $PageHeader, $_SESSION['tpl'], $PageFooter, $getFile, $lang, $genericerror);
require ('./includes/folderpane.inc.php');
$PageFolderPane = str_replace("[charset]", $_SESSION['DefaultCharSet'], $PageFolderPane);
$PageFolderPane = str_replace("[lang]", $_SESSION['DefaultLang'], $PageFolderPane);
$PageFolderPane = str_replace("[langdir]", $AvailLangs[$_SESSION['DefaultLang']]['dir'], $PageFolderPane);
$PageFolderPane = LangReplace('Generic', $PageFolderPane, $lang);
$PageFolderPane = LangReplace('SFolderPane', $PageFolderPane, $lang);
if ($PreviewPane == 1) {
$PageFolderPane = str_replace("[ifpreviewpane]", "", $PageFolderPane);
$PageFolderPane = str_replace("[/ifpreviewpane]", "", $PageFolderPane);
}
else {
$PageFolderPane = preg_replace("/(\[)(ifpreviewpane)(])(\r\n)*(.*)(\[\/ifpreviewpane\])/siU", "", $PageFolderPane);
}
echo $PageFolderPane;
$IMAPConnection->WM_IMAPClose();
}
else {
// Prevent directory traversal as we are taking file names from the query string
$PageNav = str_replace('.', '', $PageNav);
$PageNav = str_replace('/', '', $PageNav);
$PageTemplate = $getFile->fileRead('frameset-' . $PageNav);
// Common Variables
$PageTemplate = str_replace("[session]", $MainSettings->SessAppend_noecho($TransIDEnabled, 1), $PageTemplate);
$PageTemplate = str_replace("[session_append]", $MainSettings->SessAppend_noecho($TransIDEnabled, 0), $PageTemplate);
$PageTemplate = str_replace("[session_form]", $MainSettings->SessAppend_form($TransIDEnabled), $PageTemplate);
$PageTemplate = str_replace("[session_force]", "?" . strip_tags(SID), $PageTemplate);
$PageTemplate = str_replace("[session_force2]", "&" . strip_tags(SID), $PageTemplate);
$PageTemplate = str_replace("[charset]", $_SESSION['DefaultCharSet'], $PageTemplate);
$PageTemplate = str_replace("[lang]", $_SESSION['DefaultLang'], $PageTemplate);
$PageTemplate = str_replace("[langdir]", $AvailLangs[$_SESSION['DefaultLang']]['dir'], $PageTemplate);
$PageTemplate = str_replace("[emailaddress]", $_SESSION['currentemailaddress'], $PageTemplate);
if ($AllowExternal == 1 && $UseDatabase == 1) {
$PageTemplate = str_replace("[ifexternal]", "", $PageTemplate);
$PageTemplate = str_replace("[/ifexternal]", "", $PageTemplate);
}
else {
$PageTemplate = preg_replace("/(\[)(ifexternal)(])(\r\n)*(.*)(\[\/ifexternal\])/siU", "", $PageTemplate);
}
if ($_SESSION['servertype'] == "imap" || $_SESSION['servertype'] == "imapssl") {
$PageTemplate = str_replace("[ifimap]", "", $PageTemplate);
$PageTemplate = str_replace("[/ifimap]", "", $PageTemplate);
$PageTemplate = preg_replace("/(\[)(ifpop3)(])(\r\n)*(.*)(\[\/ifpop3\])/siU", "", $PageTemplate);
}
else {
$PageTemplate = str_replace("[ifpop3]", "", $PageTemplate);
$PageTemplate = str_replace("[/ifpop3]", "", $PageTemplate);
$PageTemplate = preg_replace("/(\[)(ifimap)(])(\r\n)*(.*)(\[\/ifimap\])/siU", "", $PageTemplate);
}
$PageTemplate = LangReplace('Generic', $PageTemplate, $lang);
$PageTemplate = LangReplace('SFolderPane', $PageTemplate, $lang);
if ($PreviewPane == 1) {
$PageTemplate = str_replace("[ifpreviewpane]", "", $PageTemplate);
$PageTemplate = str_replace("[/ifpreviewpane]", "", $PageTemplate);
}
else {
$PageTemplate = preg_replace("/(\[)(ifpreviewpane)(])(\r\n)*(.*)(\[\/ifpreviewpane\])/siU", "", $PageTemplate);
}
echo $PageTemplate;
}
?>
|