loadConfig(); require_once './inc/errorhandler.php'; extract(Telaen::pullFromArray($_GET, ['f_email', 'f_user', 'lng', 'tem', 'six'], 's')); require_once './inc/user_tl.php'; require_once $TLN->config['SMARTY_DIR'].'Smarty.class.php'; $smarty = new Smarty(); $smarty_compile_dir = $TLN->config['temporary_directory'].'/smarty_ct/'; $smarty->setCompileDir($smarty_compile_dir); $smarty->setConfigDir('./inc/langs'); $smarty->setTemplateDir('./inc/themes'); $smarty->use_sub_dirs = true; if (!is_dir($smarty_compile_dir)) { mkdir($smarty_compile_dir, (isset($TLN->config['dirperm']) ? $TLN->config['dirperm'] : "0755")); } $smarty->assign('smLabel', $lang); // Assign also the webmail title to smarty, check for empty title before if (!isset($TLN->config['webmail_title'])) { $TLN->config['webmail_title'] = 'Telaen Webmail'; } $smarty->assign('webmailTitle', $TLN->config['webmail_title']); // the header and footer paths because inc.php is not loaded in index $smarty->assign('headerTemplate', $header_template); $smarty->assign('footerTemplate', $footer_template); // Detect errors if (isset($_GET['err'])) { $smarty->assign('errorCode', $_GET['err']); $smarty->assign('error', 'true'); } else { $smarty->assign('error', 'false'); } $jssource = " "; //$smarty->debugging = true; $mail_server_type = strtoupper($TLN->config['mail_server_type']); $smarty->assign('smServerType', $mail_server_type); switch ($mail_server_type) { case 'ONE-FOR-ALL': case 'DETECT': break; case 'ONE-FOR-EACH': $aval_servers = count($TLN->config['mail_servers']); $smarty->assign('smAvailableServers', $aval_servers); if (!$aval_servers) { die("You must set at least one server in \$mail_servers, please review your configv2.php"); } if ($aval_servers == 1) { $strServers = '@'.$TLN->config['mail_servers'][0]['domain']." "; } else { $strServers = "\r"; } $smarty->assign('smServer', $strServers); break; default: die("Bad mail_server_type: {$mail_server_type}"); } $smarty->assign('smEmail', $f_email); $smarty->assign('smUser', $f_user); $smarty->assign('smPass', $f_pass); $smarty->assign('smJS', $jssource); if (count($TLN->config['languages']) == 0) { die('You must provide at least one language'); } if (count($TLN->config['themes']) == 0) { die('You must provide at least one theme'); } $smarty->assign('smAllowSelectLanguage', $TLN->config['allow_user_change_language']); printf($textout); if ($TLN->config['allow_user_change_language']) { $langsel = "\r"; $smarty->assign("smLanguages", $langsel); } $smarty->assign('smAllowSelectTheme', $TLN->config['allow_user_change_theme']); if ($TLN->config['allow_user_change_theme']) { $themsel = "\r"; $smarty->assign('smThemes', $themsel); } $smarty->display("$themez/login.tpl");