]> git.llucax.com Git - mecon/samurai.git/blob - sistema/local_lib/Samurai.php
Perfiles casi empezado. Cambio de la estructura de directorios (OTRA VEZ)
[mecon/samurai.git] / sistema / local_lib / Samurai.php
1 <?php
2 // vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
3 // +----------------------------------------------------------------------+
4 // | PHP Version 4                                                        |
5 // +----------------------------------------------------------------------+
6 // | Copyright (c) 1997-2003 The PHP Group                                |
7 // +----------------------------------------------------------------------+
8 // | This source file is subject to version 2.02 of the PHP license,      |
9 // | that is bundled with this package in the file LICENSE, and is        |
10 // | available at through the world-wide-web at                           |
11 // | http://www.php.net/license/2_02.txt.                                 |
12 // | If you did not receive a copy of the PHP license and are unable to   |
13 // | obtain it through the world-wide-web, please send a note to          |
14 // | license@php.net so we can mail you a copy immediately.               |
15 // +----------------------------------------------------------------------+
16 // | Created: Tue May 27 17:05:58 2003
17 // | Author:  Martin Marrese - Myrna Degano <mmarre@mecon.gov.ar - mdegan@mecon.gov.ar>
18 // +----------------------------------------------------------------------+
19 //
20 // $Id$
21 // $Author$
22 // $URL$
23 // $Date$
24 // $Rev$
25 //
26
27 #require_once 'PEAR.php';
28 require_once 'Sistema.php';
29 require_once 'Usuario.php';
30 require_once 'Permiso.php';
31 require_once 'Perfil.php';
32
33
34
35 // +X2C Class 274 :Samurai
36 /**
37  * Objeto general.
38  *
39  * @access public
40  */
41 class Samurai {
42     /**
43      * Identificador del sistema.
44      *
45      * @var    int $id_sistema
46      * @access private
47      */
48     var $_id_sistema;
49
50     /**
51      * Objeto Conexion
52      *
53      * @var    Samurai_DB $db
54      * @access private
55      */
56     var $_db;
57
58     // ~X2C
59
60     // +X2C Operation 280
61     /**
62      * Constructor. Recibe como parametro el identificador del sistema.
63      *
64      * @param  Samurai_DB &$db Objeto conexion
65      * @param  int $idSistema Indetificador del sistema
66      *
67      * @return void
68      * @access public
69      */
70     function Samurai(&$db, $idSistema = null) // ~X2C
71     {
72         $this->_id_sistema = $idSistema;
73         $this->_db = &$db;
74     }
75     // -X2C
76
77     // +X2C Operation 283
78     /**
79      * Devuleve un array con los identificadores de todos los sistemas.
80      *
81      * @return array(int)
82      * @access private
83      */
84     function _getIdSistemas() // ~X2C
85     {
86         $rta = array();
87         $sql = include 'Samurai/consultas.php';
88         $dbh = $this->_db->prepare($sql['obtener_id_sistemas']);
89         $res = $this->_db->execute($dbh);
90         while ($re = $res->fetchrow(DB_FETCHMODE_ASSOC)) {
91             array_push($rta,$re['id_sistema']);
92         }        
93         $res->free();
94         return $rta;
95     }
96     // -X2C
97
98     // +X2C Operation 285
99     /**
100      * Arma el array de sistemas
101      *
102      * @return array(Sistema)
103      * @access private
104      */
105     function _armarArraySistemas() // ~X2C
106     {
107         $rta = array ();
108         foreach ($this->_getIdSistemas() as $id) {
109             $tmp = new Sistema($this->_db,$id);
110             array_push($rta, $tmp);
111         }
112         return $rta;
113     }
114     // -X2C
115
116     // +X2C Operation 286
117     /**
118      * Devuelve el array de sistemas
119      *
120      * @return array(Sistema)
121      * @access public
122      */
123     function getSistemas() // ~X2C
124     {
125         return $this->_armarArraySistemas();
126     }
127     // -X2C
128
129
130
131
132
133
134     // +X2C Operation 320
135     /**
136      * Devuelve un array asociativo en donde la clave es el identificador y el valor es el nombre del sistema
137      *
138      * @return array()
139      * @access public
140      */
141     function getSelectSistemas() // ~X2C
142     {
143         $rta = array ();
144         foreach ($this->_armarArraySistemas() as $sistema) {
145             $rta[$sistema->getId()] = $sistema->getNombre();
146         }
147         return $rta;
148     }
149     // -X2C
150
151     // +X2C Operation 327
152     /**
153      * @return array(Perfil)
154      * @access public
155      */
156     function getPerfiles() // ~X2C
157     {
158         return $this->_armarArrayPerfiles();
159     }
160     // -X2C
161
162     // +X2C Operation 328
163     /**
164      * @return array(Perfil)
165      * @access private
166      */
167     function _armarArrayPerfiles() // ~X2C
168     {
169         $rta = array ();
170         foreach ($this->_getIdPerfiles() as $id) {
171             $tmp = new Perfil($this->_db,$id);
172             array_push($rta, $tmp);
173         }
174         return $rta;
175     }
176     // -X2C
177
178     // +X2C Operation 329
179     /**
180      * Devuleve un array con los identificadores de todos los perfiles.
181      *
182      * @return array(int)
183      * @access private
184      */
185     function _getIdPerfiles() // ~X2C
186     {
187         $rta = array();
188         $sql = include 'Samurai/consultas.php';
189         $dbh = $this->_db->prepare($sql['obtener_id_perfiles']);
190         $tmp[] = $_SESSION['samurai']['id_sistema'];
191         $res = $this->_db->execute($dbh, $tmp);
192         while ($re = $res->fetchrow(DB_FETCHMODE_ASSOC)) {
193             array_push($rta,$re['id_perfil']);
194         }        
195         $res->free();
196         return $rta;
197     }
198     // -X2C
199
200 } // -X2C Class :Samurai
201
202 ?>