From cead5c727147faac362e742aa7bcecf07f68cd99 Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Thu, 18 May 2006 17:24:42 -0400 Subject: [PATCH] Updated CHANGELOG --- program/include/main.inc | 103 ++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 81 insertions(+), 22 deletions(-) diff --git a/program/include/main.inc b/program/include/main.inc index 0d1b27e..4186128 100644 --- a/program/include/main.inc +++ b/program/include/main.inc @@ -76,17 +76,15 @@ $DB->sqlite_initials = $INSTALL_PATH.'SQL/sqlite.initial.sql'; $DB->db_connect('w'); - // we can use the database for storing session data // session queries do not work with MDB2 if ($CONFIG['db_backend']!='mdb2' && !$DB->is_error()) include_once('include/session.inc'); - // init session session_start(); $sess_id = session_id(); - + // create session and set session vars if (!$_SESSION['client_id']) { @@ -113,7 +111,6 @@ // set current task to session $_SESSION['task'] = $task; - // create IMAP object if ($task=='mail') @@ -189,12 +186,11 @@ global $CONFIG, $IMAP; // set root dir from config - if (strlen($CONFIG['imap_root'])) + if (!empty($CONFIG['imap_root'])) $IMAP->set_rootdir($CONFIG['imap_root']); - if (strlen($_SESSION['mbox'])) + if (!empty($_SESSION['mbox'])) $IMAP->set_mailbox($_SESSION['mbox']); - if (isset($_SESSION['page'])) $IMAP->set_page($_SESSION['page']); } @@ -219,10 +215,19 @@ // destroy session data and remove cookie function rcmail_kill_session() { -/* $sess_name = session_name(); - if (isset($_COOKIE[$sess_name])) - setcookie($sess_name, '', time()-42000, '/'); -*/ + // save user preferences + $a_user_prefs = $_SESSION['user_prefs']; + if (!is_array($a_user_prefs)) + $a_user_prefs = array(); + + if ((isset($_SESSION['sort_col']) && $_SESSION['sort_col']!=$a_user_prefs['message_sort_col']) || + (isset($_SESSION['sort_order']) && $_SESSION['sort_order']!=$a_user_prefs['message_sort_order'])) + { + $a_user_prefs['message_sort_col'] = $_SESSION['sort_col']; + $a_user_prefs['message_sort_order'] = $_SESSION['sort_order']; + rcmail_save_user_prefs($a_user_prefs); + } + $_SESSION = array(); session_destroy(); } @@ -308,12 +313,19 @@ $javascript = "var $JS_OBJECT_NAME = new rcube_webmail();\n"; $javascript .= "$JS_OBJECT_NAME.set_env('comm_path', '$COMM_PATH');\n"; + if (isset($CONFIG['javascript_config'] )){ + foreach ($CONFIG['javascript_config'] as $js_config_var){ + $javascript .= "$JS_OBJECT_NAME.set_env('$js_config_var', '" . $CONFIG[$js_config_var] . "');\n"; + } + } + if (!empty($GLOBALS['_framed'])) $javascript .= "$JS_OBJECT_NAME.set_env('framed', true);\n"; $OUTPUT->add_script($javascript); - $OUTPUT->include_script('program/js/common.js'); - $OUTPUT->include_script('program/js/app.js'); + $OUTPUT->include_script('common.js'); + $OUTPUT->include_script('app.js'); + $OUTPUT->scripts_path = 'program/js/'; // set locale setting rcmail_set_locale($sess_user_lang); @@ -386,6 +398,20 @@ } else $imap_port = $CONFIG['default_port']; + + + /* Modify username with domain if required + Inspired by Marco <P0L0_notspam_binware.org> + */ + // Check if we need to add domain + if ($CONFIG['username_domain'] && !strstr($user, '@')) + { + if (is_array($CONFIG['username_domain']) && isset($CONFIG['username_domain'][$host])) + $user .= '@'.$CONFIG['username_domain'][$host]; + else if (!empty($CONFIG['username_domain'])) + $user .= '@'.$CONFIG['username_domain']; + } + // query if user already registered $sql_result = $DB->query("SELECT user_id, username, language, preferences @@ -603,6 +629,29 @@ } +function rcmail_save_user_prefs($a_user_prefs) + { + global $DB, $CONFIG, $sess_user_lang; + + $DB->query("UPDATE ".get_table_name('users')." + SET preferences=?, + language=? + WHERE user_id=?", + serialize($a_user_prefs), + $sess_user_lang, + $_SESSION['user_id']); + + if ($DB->affected_rows()) + { + $_SESSION['user_prefs'] = $a_user_prefs; + $CONFIG = array_merge($CONFIG, $a_user_prefs); + return TRUE; + } + + return FALSE; + } + + // overwrite action variable function rcmail_overwrite_action($action) { @@ -671,7 +720,7 @@ { $s_header_sent = TRUE; send_nocacheing_headers(); - header('Content-Type: application/x-javascript'); + header('Content-Type: application/x-javascript; charset='.$CHARSET); print '/** remote response ['.date('d/M/Y h:i:s O')."] **/\n"; } @@ -928,10 +977,10 @@ $value = $_POST[$fname]; else if ($source==RCUBE_INPUT_GPC) { - if (isset($_GET[$fname])) - $value = $_GET[$fname]; - else if (isset($_POST[$fname])) + if (isset($_POST[$fname])) $value = $_POST[$fname]; + else if (isset($_GET[$fname])) + $value = $_GET[$fname]; else if (isset($_COOKIE[$fname])) $value = $_COOKIE[$fname]; } @@ -945,7 +994,10 @@ $value = strip_tags($value); // convert to internal charset - return rcube_charset_convert($value, $OUTPUT->get_charset(), $charset); + if (is_object($OUTPUT)) + return rcube_charset_convert($value, $OUTPUT->get_charset(), $charset); + else + return $value; } @@ -1100,6 +1152,7 @@ 'priorityselector' => 'rcmail_priority_selector', 'charsetselector' => 'rcmail_charset_selector', 'searchform' => 'rcmail_search_form', + 'receiptcheckbox' => 'rcmail_receipt_checkbox', // ADDRESS BOOK 'addresslist' => 'rcmail_contacts_list', @@ -1130,19 +1183,25 @@ $name = !empty($CONFIG['product_name']) ? $CONFIG['product_name'] : 'RoundCube Webmail'; return rep_specialchars_output($name, 'html', 'all'); } + else if ($object=='version') + { + return (string)RCMAIL_VERSION; + } else if ($object=='pagetitle') { $task = $GLOBALS['_task']; $title = !empty($CONFIG['product_name']) ? $CONFIG['product_name'].' :: ' : ''; - if ($task=='mail' && isset($GLOBALS['MESSAGE']['subject'])) + if ($task=='login') + $title = rcube_label(array('name' => 'welcome', 'vars' => array('product' => $CONFIG['product_name']))); + else if ($task=='mail' && isset($GLOBALS['MESSAGE']['subject'])) $title .= $GLOBALS['MESSAGE']['subject']; else if (isset($GLOBALS['PAGE_TITLE'])) $title .= $GLOBALS['PAGE_TITLE']; else if ($task=='mail' && ($mbox_name = $IMAP->get_mailbox_name())) $title .= rcube_charset_convert($mbox_name, 'UTF-7', 'UTF-8'); else - $title .= $task; + $title .= ucfirst($task); return rep_specialchars_output($title, 'html', 'all'); } @@ -1170,7 +1229,7 @@ if ($attrib['type']) $attrib['type'] = strtolower($attrib['type']); else - $attrib['type'] = ($attrib['image'] || $attrib['imagepas'] || $arg['imagect']) ? 'image' : 'link'; + $attrib['type'] = ($attrib['image'] || $attrib['imagepas'] || $arg['imageact']) ? 'image' : 'link'; $command = $attrib['command']; @@ -1180,7 +1239,7 @@ $attrib = $sa_buttons[$attrib['name']]; // add button to button stack - else if($attrib['image'] || $arg['imagect'] || $attrib['imagepas'] || $attrib['class']) + else if($attrib['image'] || $arg['imageact'] || $attrib['imagepas'] || $attrib['class']) { if(!$attrib['name']) $attrib['name'] = $command; -- Gitblit v1.9.1