source: trunk/login.php @ 8198

Revision 8198, 6.0 KB checked in by angelo, 11 years ago (diff)

Ticket #3477 - Warning gerado ao tentar recuperar cookie durante o login

  • Property svn:eol-style set to native
  • Property svn:executable set to *
RevLine 
[2]1<?php
2        /**************************************************************************\
3        * eGroupWare login                                                         *
4        * http://www.egroupware.org                                                *
5        * Originaly written by Dan Kuykendall <seek3r@phpgroupware.org>            *
6        *                      Joseph Engo    <jengo@phpgroupware.org>             *
[25]7        * Updated by Nilton Emilio Buhrer Neto <niltonneto@celepar.pr.gov.br>      *
[2]8        *  This program is free software; you can redistribute it and/or modify it *
9        *  under the terms of the GNU General Public License as published by the   *
10        *  Free Software Foundation; either version 2 of the License, or (at your  *
11        *  option) any later version.                                              *
12        \**************************************************************************/
[3621]13       
[2]14        $phpgw_info = array();
15        $submit = False;                        // set to some initial value
16
17        $GLOBALS['phpgw_info']['flags'] = array(
18                'disable_Template_class' => True,
19                'login'                  => True,
20                'currentapp'             => 'login',
21                'noheader'               => True
22        );
23
24        if(file_exists('./header.inc.php'))
25        {
26                include('./header.inc.php');
[219]27                // Force location to home, while logged in.
[222]28                $GLOBALS['sessionid'] = @$_GET['sessionid'] ? $_GET['sessionid'] : @$_COOKIE['sessionid'];
[5042]29               
[222]30                if(isset($GLOBALS['sessionid']) && $_GET['cd'] != 10)
[5042]31                {
32                        if( $_GET['cd'] != '66' )
33                        {
34                                $GLOBALS['phpgw']->redirect_link('/home.php');
35                        }
[6714]36
[5042]37                }
38               
[2]39                if ($GLOBALS['phpgw_info']['server']['use_https'] > 0)
40                {
41                        if ($_SERVER['HTTPS'] != 'on')
42                        {
[5042]43                        Header('Location: https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
[2]44                                exit;
45                        }
46                }
47                       
[5926]48                $GLOBALS['phpgw']->session = CreateObject('phpgwapi.sessions');
49               
[2]50        }
51        else
52        {
53                Header('Location: setup/index.php');
54                exit;
55        }
[5926]56               
57        if($_POST)
58        {
59            $accountInfo = $GLOBALS['phpgw']->accounts->read_repository();
[8198]60            isset($_COOKIE[ 'sessionid' ]) ? session_id($_COOKIE[ 'sessionid' ]) : session_id();
[5926]61            session_start();
62            //Carregando na sessão configurações do usuario usado na nova API. 
63            $_SESSION['wallet']['user']['uid']            =  $accountInfo['account_lid'];
64            $_SESSION['wallet']['user']['uidNumber']      =  $accountInfo['account_id'];
65            $_SESSION['wallet']['user']['password']       =  $_POST['passwd'];
66            $_SESSION['wallet']['user']['cn']             =  $accountInfo['firstname'].' '.$accountInfo['lastname'];
67            $_SESSION['wallet']['user']['mail']           =  $accountInfo['email'];
68
69            $_SESSION['wallet']['Sieve']['user']          =  $accountInfo['account_lid'];
70            $_SESSION['wallet']['Sieve']['password']      =  $_POST['passwd'];
71
72            $_SESSION['wallet']['Cyrus']['user']          =  $accountInfo['account_lid'];
73            $_SESSION['wallet']['Cyrus']['password']      =  $_POST['passwd'];
74
75        }
[5042]76       
77        //detect if the user has a compatible browser, if don't have send him to expresso mini
[5047]78        $ifMobile = false;
[5042]79        $browser = CreateObject('phpgwapi.browser');
80        switch ( $browser->get_platform() )
81        {
82                case browser::PLATFORM_IPHONE:
83                case browser::PLATFORM_IPOD:
84                case browser::PLATFORM_IPAD:
85                case browser::PLATFORM_BLACKBERRY:
86                case browser::PLATFORM_NOKIA:
87                case browser::PLATFORM_ANDROID:
[6714]88                case browser::PLATFORM_WINMOBILE:
[5042]89                        $ifMobile = true;                                               
90                        break;
91        }
[2]92
[5042]93        if( $ifMobile && $_GET['dont_redirect_if_moble'] != 1 )
[2]94        {
[5042]95                $GLOBALS['phpgw_info']['user']['preferences']['common']['lang'] = preg_replace("/\,.*/","",$GLOBALS['_SERVER']['HTTP_ACCEPT_LANGUAGE']);
[6714]96                $GLOBALS['phpgw']->redirect_link('/mobile/login.php');
[2]97        }
[1085]98        else
[2]99        {
[5042]100                $GLOBALS['phpgw_info']['server']['template_dir'] = PHPGW_SERVER_ROOT . '/phpgwapi/templates/' . $GLOBALS['phpgw_info']['login_template_set'];
101                $tmpl = CreateObject('phpgwapi.Template', $GLOBALS['phpgw_info']['server']['template_dir']);
102       
103                // read the images from the login-template-set, not the (maybe not even set) users template-set
104                $GLOBALS['phpgw_info']['user']['preferences']['common']['template_set'] = $GLOBALS['phpgw_info']['login_template_set'];
105       
106                // This is used for system downtime, to prevent new logins.
107                if($GLOBALS['phpgw_info']['server']['deny_all_logins'])
108                {
109                        $deny_msg=lang('Oops! You caught us in the middle of system maintainance.<br/>
110                        Please, check back with us shortly.');
111       
112                        $tmpl->set_file(array('login_form' => 'login_denylogin.tpl'));
113       
114                        $tmpl->set_var('template_set','default');
115                        $tmpl->set_var('deny_msg',$deny_msg);
116                        $tmpl->pfp('loginout','login_form');
117                        exit;
118                }
119                $tmpl->set_file(array('login_form' => 'login.tpl'));
120       
121                $tmpl->set_var('template',$GLOBALS['phpgw_info']['login_template_set']);
122                $tmpl->set_var('lang',$_GET['lang']?$_GET['lang']:preg_replace("/\,.*/","",$GLOBALS['_SERVER']['HTTP_ACCEPT_LANGUAGE']));
123       
124                if (count($GLOBALS['phpgw_info']['server']['login_logo_file']) > 0)
125                        $tmpl->set_var('logo_config',$GLOBALS['phpgw_info']['server']['login_logo_file']);
126                else
127                        $tmpl->set_var('logo_config','<a title="Governo do Paran&aacute" href="http://www.pr.gov.br" target="_blank"><img src="phpgwapi/templates/'.$GLOBALS['phpgw_info']['login_template_set'].'/images/logo_governo.gif" border="0"></a></td>
128                        <td><div align="center"><font color="#9a9a9a" face="Verdana, Arial, Helvetica, sans-serif" size="1">
129        <a title="Celepar Inform&aacute;tica do Paran&aacute;" target="_blank" href="http://www.celepar.pr.gov.br/">
130        <img src="phpgwapi/templates/'.$GLOBALS['phpgw_info']['login_template_set'].'/images/logo_celepar.gif" border="0"></a>');
131                // !! NOTE !!
132                // Do NOT and I repeat, do NOT touch ANYTHING to do with lang in this file.
133                // If there is a problem, tell me and I will fix it. (jengo)
134       
135                // whoooo scaring
136       
137                // ServerID => Identify the Apache Frontend.
138                if($GLOBALS['phpgw_info']['server']['usecookies'] == True && $GLOBALS['phpgw_info']['server']['use_frontend_id'])
139                {
140                        $GLOBALS['phpgw']->session->phpgw_setcookie('serverID', $GLOBALS['phpgw_info']['server']['use_frontend_id']);
141                }
142                if($GLOBALS['phpgw_info']['server']['captcha']==1)
143                {
144                        session_start();
145                }
[5926]146                                               
[5042]147                include(personalize_include_path('phpgwapi','login'));
[5926]148        }   
[5764]149           
[5091]150?>
Note: See TracBrowser for help on using the repository browser.