Viewing file: index.php (10.52 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/*
############################################################################
# DWmail
# - version 4.0.2
# - 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.1 ('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");
require ("./lang/" . strip_tags(str_replace("..", "", trim($DefaultLang))) . "/global.inc.php");
require ("./lang/" . strip_tags(str_replace("..", "", trim($DefaultLang))) . "/login.inc.php");
@setlocale(LC_TIME, $AvailLangs[$DefaultLang]['locale']);
$MainSettings = new GlobalInit();
$TransIDEnabled = $MainSettings->INIGet('session.use_trans_sid');
if ($VerifyImage == 2) {
session_cache_limiter($DefaultSessionCache);
session_start();
require ("./includes/image.inc.php");
$gdimg = new GDImage();
$gdimg->imgSupport();
$gdimg->ftSupport();
if ($gdimg->_imgsupport == true && $gdimg->_ftsupport == true) {
$outputverifybox = "<input type=\"text\" name=\"vi\" size=\"7\" />";
$outputverify = "<img src=\"renderimage.php?m=2&type=login&" . strip_tags(SID) . "\" width=\"200\" height=\"50\" alt=\"\" />";
$formsession = $MainSettings->SessAppend_form($TransIDEnabled);
}
else {
$VerifyImage = 1;
}
}
if ($VerifyImage == 1) {
session_cache_limiter($DefaultSessionCache);
session_start();
srand((double)microtime()*1000000);
$string = md5(rand(0,9999));
$new_string = substr($string, 17, 5);
$_SESSION['verify'] = $new_string;
require ("./includes/image.inc.php");
$gdimg = new GDImage();
$gdimg->imgSupport();
if ($gdimg->_imgsupport == true) {
$outputverifybox = "<input type=\"text\" name=\"vi\" size=\"7\" />";
$outputverify = "<img src=\"renderimage.php?m=1&type=login&" . strip_tags(SID) . "\" width=\"75\" height=\"15\" alt=\"\" />";
$formsession = $MainSettings->SessAppend_form($TransIDEnabled);
}
else {
$VerifyImage = 0;
}
unset ($string);
unset ($new_string);
}
if ($UseDatabase == 1 && $StatsLogging == 1) {
switch ($DatabaseType) {
case 'mysqli':
$DBLib = 'mysqli';
break;
case 'postgresql':
$DBLib = 'postgresql';
break;
default:
$DBLib = 'mysql';
break;
}
require_once ("./includes/db_" . $DBLib . ".inc.php");
$MySQLConnection = new DB_Connection($MySQLServer, $MySQLUsername, $MySQLPassword, $MySQLDBName);
$MySQLMakeConnection = $MySQLConnection->DB_MakeConnection();
$loginstoday = $MySQLConnection->DB_LoginPeriod(0);
$loginsmonth = $MySQLConnection->DB_LoginPeriod(30);
$emailstoday = $MySQLConnection->DB_LoginStats(0);
$emailsmonth = $MySQLConnection->DB_LoginStats(30);
}
if (isset($_GET['tid'])) {
if (is_dir('./templates/' . strip_tags(str_replace('..', '', $_GET['tid'])))) {
$DefaultTemplate = strip_tags(str_replace('..', '', $_GET['tid']));
}
}
if (isset($_GET['lid'])) {
if (is_dir('./lang/' . strip_tags(str_replace('..', '', $_GET['lid'])))) {
$DefaultLang = strip_tags(str_replace('..', '', $_GET['lid']));
}
}
$advancedlogin = $_GET['advancedlogin'];
$DefaultTemplate = strip_tags(trim($DefaultTemplate));
$getFile = new fileProperties($DefaultTemplate);
$PageHeader = $getFile->fileRead('login-header');
$PageFooter = $getFile->fileRead('login-footer');
$PageCopyright = $getFile->fileRead('copyright');
$PageMenu = $getFile->fileRead('blankmenu');
$DefaultCharSet = $AvailLangs[$DefaultLang]['charset'];
$CodeSearch = array (
"[mainmenu]",
"[copyright]",
"[folders]",
"[header_refresh]",
"[charset]",
"[lang]",
"[langdir]",
"[pagetitle]",
);
$CodeReplace = array (
$PageMenu,
$PageCopyright,
"",
"",
$DefaultCharSet,
$DefaultLang,
$AvailLangs[$DefaultLang]['dir'],
" - " . $lang['SLogin']['LoginTitle']
);
$PageHeader = str_replace ($CodeSearch, $CodeReplace, $PageHeader);
$PageFooter = str_replace ($CodeSearch, $CodeReplace, $PageFooter);
$PageHeader = LangReplace('Generic', $PageHeader, $lang);
$PageHeader = LangReplace('SFolderPane', $PageHeader, $lang);
$PageFooter = LangReplace('Generic', $PageFooter, $lang);
$PageFooter = LangReplace('SFolderPane', $PageFooter, $lang);
if ($advancedlogin == 1) {
$LoginForm = $getFile->fileRead('advancedlogin');
}
else {
$LoginForm = $getFile->fileRead('standardlogin');
}
header ("Content-Type: text/html; charset=" . $DefaultCharSet);
echo $PageHeader;
if ($DefaultType == "pop3") {
$whichservertype = "<input type=\"radio\" name=\"t\" value=\"imap\" id=\"imap\" /> <label for=\"imap\"><acronym title=\"Internet Message Access Protocol 4\">IMAP4</acronym></label> <input type=\"radio\" name=\"t\" value=\"pop3\" checked=\"checked\" id=\"pop3\" /> <label for=\"pop3\"><acronym title=\"Post Office Protocol 3\">POP3</acronym></label>";
}
else {
$whichservertype = "<input type=\"radio\" name=\"t\" value=\"imap\" checked=\"checked\" id=\"imap\" /> <label for=\"imap\"><acronym title=\"Internet Message Access Protocol 4\">IMAP4</acronym></label> <input type=\"radio\" name=\"t\" value=\"pop3\" id=\"pop3\" /> <label for=\"pop3\"><acronym title=\"Post Office Protocol 3\">POP3</acronym></label>";
}
if ($AllowSSLConnections == 1) {
$whichservertype .= "<input type=\"radio\" name=\"t\" value=\"imapssl\" id=\"imapssl\" /> <label for=\"imapssl\"><acronym title=\"Internet Message Access Protocol 4 over Secure Sockets Layer\">IMAP4 (SSL)</acronym></label> <input type=\"radio\" name=\"t\" value=\"pop3ssl\" id=\"pop3ssl\" /> <label for=\"pop3ssl\"><acronym title=\"Post Office Protocol 3 over Secure Sockets Layer\">POP3 (SSL)</acronym></label>";
}
if (is_array($AvailLangs)) {
$LangList = "<select name=\"l\">\n";
while(list($key, $value) = each($AvailLangs)) {
$LangList .= "<option value=\"" . $key . "\" style=\"background-image:url(lang/$key/flag.gif); background-repeat:no-repeat; background-position:center right;\"";
if ($key == $DefaultLang) {
$LangList .= " selected=\"selected\"";
}
$LangList .= ">" . $AvailLangs[$key]['desc'] . " - " . $AvailLangs[$key]['charset'] . "</option>\n";
}
$LangList .= "</select>\n";
}
else {
$LangList = "";
}
if (is_array($SelectTemplates)) {
$TemplList = "<select name=\"tpl\">\n";
while(list($key, $value) = each($SelectTemplates)) {
$TemplList .= "<option value=\"" . $value[1] . "\"";
if ($value[1] == $DefaultTemplate) {
$TemplList .= " selected=\"selected\"";
}
$TemplList .= ">" . $value[0] . "</option>\n";
}
$TemplList .= "</select>\n";
}
else {
$TemplList = "";
}
if (is_array($AllowedDomains)) {
$DomainList = "<select name=\"d\">\n";
for ($i=0; $i<count($AllowedDomains); $i++) {
$DomainList .= "<option value=\"" . $AllowedDomains[$i] . "\"";
if ($AllowedDomains[$i] == $DefaultDomain) {
$DomainList .= " selected=\"selected\"";
}
$DomainList .= ">" . $AllowedDomains[$i] . "</option>\n";
}
$DomainList .= "</select>\n";
}
else {
$DomainList = "";
}
$redir = '';
if ($_GET['redir'] <> '') {
$redir = urlencode(strip_tags(stripslashes(trim(urldecode($_GET['redir'])))));
}
$CodeSearch = array (
"[fullemail]",
"[username]",
"[password]",
"[mailserver]",
"[servertype]",
"[portnumber]",
"[hiddenfields]",
"[formaction]",
"[domainlist]",
"[language]",
"[template]",
"[redirect]",
"[imageverify]",
"[imageverifybox]",
"[CurrentLanguage]",
"[session_form]",
"[session_append]"
);
$CodeReplace = array (
"<input type=\"text\" name=\"e\" size=\"35\" />",
"<input type=\"text\" name=\"u\" size=\"35\" />",
"<input type=\"password\" name=\"p\" size=\"35\" />",
"<input type=\"text\" name=\"s\" size=\"35\" />",
$whichservertype,
"<input type=\"text\" name=\"port\" size=\"35\" />",
"<input type=\"hidden\" name=\"a\" value=\"1\" />",
"dologin.php",
$DomainList,
$LangList,
$TemplList,
$redir,
$outputverify,
$outputverifybox,
$DefaultLang,
$formsession,
$MainSettings->SessAppend_noecho($TransIDEnabled, 0)
);
$LoginForm = str_replace ($CodeSearch, $CodeReplace, $LoginForm);
$LoginForm = LangReplace('SLogin', $LoginForm, $lang);
if (isset($loginstoday) && isset($loginsmonth)) {
$LoginForm = str_replace("[ifstatslogging]", "", $LoginForm);
$LoginForm = str_replace("[/ifstatslogging]", "", $LoginForm);
$LoginForm = str_replace("[loginstoday]", $loginstoday, $LoginForm);
$LoginForm = str_replace("[loginsmonth]", $loginsmonth, $LoginForm);
$LoginForm = str_replace("[emailstoday]", $emailstoday, $LoginForm);
$LoginForm = str_replace("[emailsmonth]", $emailsmonth, $LoginForm);
}
else {
$LoginForm = preg_replace("/(\[)(ifstatslogging)(])(\r\n)*(.*)(\[\/ifstatslogging\])/siU", "", $LoginForm);
}
if ($VerifyImage >= 1) {
$LoginForm = str_replace("[ifverifyimage]", "", $LoginForm);
$LoginForm = str_replace("[/ifverifyimage]", "", $LoginForm);
}
else {
$LoginForm = preg_replace("/(\[)(ifverifyimage)(])(\r\n)*(.*)(\[\/ifverifyimage\])/siU", "", $LoginForm);
}
if (@file_exists("/usr/bin/flite") && function_exists("shell_exec") && is_writable("./tmp") && $VerifyImage == 2){
$LoginForm = str_replace("[ifverifyaudio]", "", $LoginForm);
$LoginForm = str_replace("[/ifverifyaudio]", "", $LoginForm);
}
else {
$LoginForm = preg_replace("/(\[)(ifverifyaudio)(])(\r\n)*(.*)(\[\/ifverifyaudio\])/siU", "", $LoginForm);
}
if ($FullLogin == 1) {
$LoginForm = str_replace("[iffulllogin]", "", $LoginForm);
$LoginForm = str_replace("[/iffulllogin]", "", $LoginForm);
$LoginForm = preg_replace("/(\[)(ifshortlogin)(])(\r\n)*(.*)(\[\/ifshortlogin\])/siU", "", $LoginForm);
}
else {
$LoginForm = str_replace("[ifshortlogin]", "", $LoginForm);
$LoginForm = str_replace("[/ifshortlogin]", "", $LoginForm);
$LoginForm = preg_replace("/(\[)(iffulllogin)(])(\r\n)*(.*)(\[\/iffulllogin\])/siU", "", $LoginForm);
}
echo $LoginForm;
echo $PageFooter;
?>
|