| | |
| | | // check session filetime |
| | | if (!empty($CONFIG['session_lifetime']) && isset($SESS_CHANGED) && $SESS_CHANGED + $CONFIG['session_lifetime']*60 < time()) |
| | | $valid = false; |
| | | |
| | | |
| | | return $valid; |
| | | } |
| | | |
| | |
| | | */ |
| | | function rcmail_shutdown() |
| | | { |
| | | global $IMAP; |
| | | global $IMAP, $CONTACTS; |
| | | |
| | | if (is_object($IMAP)) |
| | | { |
| | | $IMAP->close(); |
| | | $IMAP->write_cache(); |
| | | } |
| | | |
| | | if (is_object($CONTACTS)) |
| | | $CONTACTS->close(); |
| | | |
| | | // before closing the database connection, write session data |
| | | session_write_close(); |
| | |
| | | |
| | | // add some basic label to client |
| | | if (!$OUTPUT->ajax_call) |
| | | rcube_add_label('loading'); |
| | | rcube_add_label('loading', 'movingmessage'); |
| | | } |
| | | |
| | | |
| | |
| | | static $s_mbstring_loaded = NULL; |
| | | |
| | | // settings for mbstring module (by Tadashi Jokagi) |
| | | if (is_null($s_mbstring_loaded)) |
| | | $MBSTRING = $s_mbstring_loaded = extension_loaded("mbstring"); |
| | | if (is_null($s_mbstring_loaded)) |
| | | $MBSTRING = $s_mbstring_loaded = extension_loaded("mbstring"); |
| | | else |
| | | $MBSTRING = $s_mbstring_loaded = FALSE; |
| | | |
| | | |
| | | if ($MBSTRING) |
| | | mb_internal_encoding(RCMAIL_CHARSET); |
| | | |
| | |
| | | Inspired by Marco <P0L0_notspam_binware.org> |
| | | */ |
| | | // Check if we need to add domain |
| | | if (!empty($CONFIG['username_domain']) && !strstr($user, '@')) |
| | | if (!empty($CONFIG['username_domain']) && !strpos($user, '@')) |
| | | { |
| | | if (is_array($CONFIG['username_domain']) && isset($CONFIG['username_domain'][$host])) |
| | | $user .= '@'.$CONFIG['username_domain'][$host]; |
| | |
| | | $user .= '@'.$CONFIG['username_domain']; |
| | | } |
| | | |
| | | // lowercase username if it's an e-mail address (#1484473) |
| | | if (strpos($user, '@')) |
| | | $user = strtolower($user); |
| | | |
| | | // query if user already registered |
| | | $sql_result = $DB->query("SELECT user_id, username, language, preferences |
| | |
| | | } |
| | | |
| | | // try to resolve email address from virtuser table |
| | | if (!empty($CONFIG['virtuser_file']) && strstr($user, '@')) |
| | | if (!empty($CONFIG['virtuser_file']) && strpos($user, '@')) |
| | | $user = rcmail_email2user($user); |
| | | |
| | | |
| | |
| | | $user_email = ''; |
| | | |
| | | // try to resolve user in virtusertable |
| | | if (!empty($CONFIG['virtuser_file']) && strstr($user, '@')==FALSE) |
| | | if (!empty($CONFIG['virtuser_file']) && !strpos($user, '@')) |
| | | $user_email = rcmail_user2email($user); |
| | | |
| | | $DB->query("INSERT INTO ".get_table_name('users')." |
| | |
| | | $mail_domain = rcmail_mail_domain($host); |
| | | |
| | | if ($user_email=='') |
| | | $user_email = strstr($user, '@') ? $user : sprintf('%s@%s', $user, $mail_domain); |
| | | $user_email = strpos($user, '@') ? $user : sprintf('%s@%s', $user, $mail_domain); |
| | | |
| | | $user_name = $user!=$user_email ? $user : ''; |
| | | |
| | |
| | | if ($from==$to || $str=='' || empty($from)) |
| | | return $str; |
| | | |
| | | // convert charset using iconv module |
| | | if (function_exists('iconv') && $from != 'UTF-7' && $to != 'UTF-7') |
| | | return iconv($from, $to . "//IGNORE", $str); |
| | | |
| | | // convert charset using mbstring module |
| | | if ($MBSTRING) |
| | | { |
| | | $to = $to=="UTF-7" ? "UTF7-IMAP" : $to; |
| | | $to = $to=="UTF-7" ? "UTF7-IMAP" : $to; |
| | | $from = $from=="UTF-7" ? "UTF7-IMAP": $from; |
| | | |
| | | |
| | | // return if convert succeeded |
| | | if (($out = mb_convert_encoding($str, $to, $from)) != '') |
| | | return $out; |
| | | } |
| | | |
| | | // convert charset using iconv module |
| | | if (function_exists('iconv') && $from!='UTF-7' && $to!='UTF-7') |
| | | return iconv($from, $to, $str); |
| | | |
| | | $conv = new utf8(); |
| | | |