source: sandbox/2.4.1-3/prototype/api/config.php @ 6367

Revision 6367, 2.9 KB checked in by cristiano, 12 years ago (diff)

Ticket #2768 - Criação do modulo REST API

Line 
1<?php
2
3namespace prototype\api;
4
5class Config
6{
7        static $register;
8        static $sessionStarted;
9 
10        static function module($config , $module = false)
11        {
12                //Todo: registrar na nova api o currentapp
13                if(!$module)
14                                $module =  $_SESSION['flags']['currentapp'];
15 
16                if( !isset( $_SESSION['config'][$module] ) || !isset( $_SESSION['config'][$module][$config] ))
17                                $_SESSION['config'][$module] = parse_ini_file( ROOTPATH."/config/$module.ini", true );
18       
19                return isset($_SESSION['config'][$module][$config]) ? $_SESSION['config'][$module][$config] : false;
20     
21        }
22   
23        static function me($config)
24        {
25       
26                return isset($_SESSION['wallet']['user'][$config]) ? $_SESSION['wallet']['user'][$config] : false;
27        }
28   
29        static function service( $service , $config )
30        {
31                if( !isset( $_SESSION['wallet'][$service] ) || !isset( $_SESSION['wallet'][$service][$config] ))
32                                $_SESSION['wallet'][$service] = parse_ini_file( ROOTPATH."/config/$service.srv", true );
33       
34                return (isset($_SESSION['wallet'][$service][$config])) ? $_SESSION['wallet'][$service][$config] : false;
35        }
36   
37        static function get( $concept , $config = false , $module = false )
38        {
39                $load = parse_ini_file( ROOTPATH."/config/$concept.ini", true );
40       
41                if($config === false) return $load;
42       
43                return (isset($load[$config])) ? $load[$config] : false;
44        }
45   
46        static function regSet( $name , $value)
47        {
48                self::$register[$name] = $value;
49        }
50        static function regGet ($name )
51        {
52                return (isset(self::$register[$name]) ? self::$register[$name] : false );
53        }
54
55        static function init( )
56        {
57   
58                if( !defined( 'ROOTPATH' ) )
59                                define( 'ROOTPATH', dirname(__FILE__).'/..' );
60       
61                if ( isset( $_COOKIE[ 'sessionid' ] ) )
62                {
63                                session_id( $_COOKIE[ 'sessionid' ] );
64                                $GLOBALS['phpgw']->session->sessionid = $_COOKIE[ 'sessionid' ];
65                }
66               
67        if( !self::$sessionStarted )
68                                self::$sessionStarted = session_start();
69               
70        }
71   
72        public static function writeIniFile($assoc_arr, $path, $has_sections)
73        {
74                $content = '';
75
76                if (!$handle = fopen($path, 'w'))
77                {
78                        trigger_error("Permission failure when trying to open the file: $path ", E_USER_WARNING);
79                        return FALSE;
80                }       
81
82                self::_writeIniFile($content, $assoc_arr, $has_sections);
83
84                if (!fwrite($handle, $content))
85                {
86                        trigger_error("Permission failure when trying to write in the file: $path ", E_USER_WARNING);
87                }       return FALSE;
88
89                fclose($handle);
90                return TRUE;
91        }
92
93        private static function _writeIniFile(&$content, $assoc_arr, $has_sections)
94        {
95                foreach ($assoc_arr as $key => $val)
96                {
97                        if (is_array($val))
98                        {
99                                if($has_sections)
100                                {
101                                        $content .= "[$key]\n";
102                                        self::_writeIniFile(&$content, $val, false);
103                                }
104                                else                           
105                                        foreach($val as $iKey => $iVal)
106                                        {
107                                                if (is_int($iKey))
108                                                        $content .= $key ."[] = $iVal\n";
109                                                else
110                                                        $content .= $key ."[$iKey] = $iVal\n";
111                                        }
112                        }
113                        else
114                                $content .= "$key = $val\n";
115                }
116        }
117
118}
119
120        Config::init();
121       
122
123?>
Note: See TracBrowser for help on using the repository browser.