| | |
| | | <?php |
| | | /* |
| | | +-----------------------------------------------------------------------+ |
| | | | RoundCube Webmail IMAP Client | |
| | | | Version 0.1-20080430 | |
| | | | | |
| | | | Copyright (C) 2005-2008, RoundCube Dev. - Switzerland | |
| | | | Licensed under the GNU GPL | |
| | | | | |
| | | | Redistribution and use in source and binary forms, with or without | |
| | | | modification, are permitted provided that the following conditions | |
| | | | are met: | |
| | | | | |
| | | | o Redistributions of source code must retain the above copyright | |
| | | | notice, this list of conditions and the following disclaimer. | |
| | | | o Redistributions in binary form must reproduce the above copyright | |
| | | | notice, this list of conditions and the following disclaimer in the | |
| | | | documentation and/or other materials provided with the distribution.| |
| | | | o The names of the authors may not be used to endorse or promote | |
| | | | products derived from this software without specific prior written | |
| | | | permission. | |
| | | | | |
| | | | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
| | | | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
| | | | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |
| | | | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | |
| | | | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
| | | | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
| | | | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
| | | | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
| | | | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
| | | | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
| | | | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
| | | | | |
| | | +-----------------------------------------------------------------------+ |
| | | | Author: Thomas Bruederli <roundcube@gmail.com> | |
| | | +-----------------------------------------------------------------------+ |
| | | +-------------------------------------------------------------------------+ |
| | | | RoundCube Webmail IMAP Client | |
| | | | Version 0.1-20080506 | |
| | | | | |
| | | | Copyright (C) 2005-2008, RoundCube Dev. - Switzerland | |
| | | | | |
| | | | This program is free software; you can redistribute it and/or modify | |
| | | | it under the terms of the GNU General Public License version 2 | |
| | | | as published by the Free Software Foundation. | |
| | | | | |
| | | | This program is distributed in the hope that it will be useful, | |
| | | | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| | | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| | | | GNU General Public License for more details. | |
| | | | | |
| | | | You should have received a copy of the GNU General Public License along | |
| | | | with this program; if not, write to the Free Software Foundation, Inc., | |
| | | | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
| | | | | |
| | | +-------------------------------------------------------------------------+ |
| | | | Author: Thomas Bruederli <roundcube@gmail.com> | |
| | | +-------------------------------------------------------------------------+ |
| | | |
| | | $Id$ |
| | | |
| | |
| | | |
| | | // try to log in |
| | | if ($RCMAIL->action=='login' && $RCMAIL->task=='mail') { |
| | | $host = rcmail_autoselect_host(); |
| | | $host = $RCMAIL->autoselect_host(); |
| | | |
| | | // check if client supports cookies |
| | | if (empty($_COOKIE)) { |
| | |
| | | sess_regenerate_id(); |
| | | |
| | | // send auth cookie if necessary |
| | | rcmail_authenticate_session(); |
| | | $RCMAIL->authenticate_session(); |
| | | |
| | | // send redirect |
| | | header("Location: {$RCMAIL->comm_path}"); |
| | |
| | | } |
| | | else { |
| | | $OUTPUT->show_message($IMAP->error_code == -1 ? 'imaperror' : 'loginfailed', 'warning'); |
| | | rcmail_kill_session(); |
| | | $RCMAIL->kill_session(); |
| | | } |
| | | } |
| | | |
| | | // end session |
| | | else if (($RCMAIL->task=='logout' || $RCMAIL->action=='logout') && isset($_SESSION['user_id'])) { |
| | | $OUTPUT->show_message('loggedout'); |
| | | rcmail_logout_actions(); |
| | | rcmail_kill_session(); |
| | | $RCMAIL->logout_actions(); |
| | | $RCMAIL->kill_session(); |
| | | } |
| | | |
| | | // check session and auth cookie |
| | | else if ($RCMAIL->action != 'login' && $_SESSION['user_id'] && $RCMAIL->action != 'send') { |
| | | if (!rcmail_authenticate_session()) { |
| | | if (!$RCMAIL->authenticate_session()) { |
| | | $OUTPUT->show_message('sessionerror', 'error'); |
| | | rcmail_kill_session(); |
| | | $RCMAIL->kill_session(); |
| | | } |
| | | } |
| | | |
| | | |
| | | // log in to imap server |
| | | if (!empty($RCMAIL->user->ID) && $RCMAIL->task == 'mail') { |
| | | $conn = $IMAP->connect($_SESSION['imap_host'], $_SESSION['username'], decrypt_passwd($_SESSION['password']), $_SESSION['imap_port'], $_SESSION['imap_ssl']); |
| | | if (!$conn) { |
| | | $OUTPUT->show_message($IMAP->error_code == -1 ? 'imaperror' : 'sessionerror', 'error'); |
| | | rcmail_kill_session(); |
| | | } |
| | | else { |
| | | $RCMAIL->set_imap_prop(); |
| | | if (!$RCMAIL->imap_connect()) { |
| | | $RCMAIL->kill_session(); |
| | | } |
| | | } |
| | | |
| | |
| | | if ($OUTPUT->ajax_call) |
| | | $OUTPUT->remote_response("setTimeout(\"location.href='\"+this.env.comm_path+\"'\", 2000);"); |
| | | |
| | | $RCMAIL->task = 'login'; |
| | | $RCMAIL->set_task('login'); |
| | | } |
| | | |
| | | |