source: trunk/prototype/rest/core/LoginResource.php @ 7342

Revision 7342, 1.6 KB checked in by alexandrecorreia, 8 years ago (diff)

Ticket #3093 - Integrando API Rest(CELEPAR) com o ramo Trunk.

Line 
1<?php
2
3class LoginResource extends ExpressoAdapter {
4
5        private function getUserProfile(){
6                if($this->getExpressoVersion() != "2.2") {
7                        $_SESSION['wallet']['user']['uidNumber'] = $GLOBALS['phpgw_info']['user']['account_id'];
8                }
9       
10                return array(
11                                'contactID'                     => $GLOBALS['phpgw_info']['user']['account_dn'],
12                                'contactMails'          => array($GLOBALS['phpgw_info']['user']['email']),
13                                'contactPhones'         => array($GLOBALS['phpgw_info']['user']['telephonenumber']),
14                                'contactFullName'       => $GLOBALS['phpgw_info']['user']['fullname'],
15                                'contactApps'           => $this->getUserApps()
16                );
17        }
18       
19        private function getUserApps(){
20                // Load Granted Apps for Web Service
21                $config = parse_ini_file( __DIR__ . '/../../config/user.ini',true);
22                $apps   = $config['Applications.mapping'];
23       
24                // Load Granted Apps for User
25                $contactApps = array();
26                $acl    = CreateObject('phpgwapi.acl');
27                $user_id = $GLOBALS['phpgw_info']['user']['account_id']['acl'];
28                foreach($acl->get_user_applications($user_id) as $app => $value){
29                        $enabledApp = array_search($app, $apps);
30                        if($enabledApp !== FALSE)
31                                $contactApps[] = $enabledApp;
32                }
33       
34                return $contactApps;
35        }
36       
37        public function post($request){
38                // to Receive POST Params (use $this->params)
39                parent::post($request);
40                if($sessionid = $GLOBALS['phpgw']->session->create($this->getParam('user'), $this->getParam('password')))
41                {
42                        $result = array(
43                                'auth'                  => $sessionid.":".$GLOBALS['phpgw']->session->kp3,
44                                'profile'               => array($this->getUserProfile())
45                        );
46                        $this->setResult($result);
47                }
48                else
49                {
50                        Errors::runException($GLOBALS['phpgw']->session->cd_reason);
51                }
52                return $this->getResponse();
53        }       
54
55}
Note: See TracBrowser for help on using the repository browser.