2 // vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
3 // +----------------------------------------------------------------------+
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 // +----------------------------------------------------------------------+
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';
35 // +X2C Class 274 :Samurai
43 * Identificador del sistema.
45 * @var int $id_sistema
62 * Constructor. Recibe como parametro el identificador del sistema.
64 * @param Samurai_DB &$db Objeto conexion
65 * @param int $idSistema Indetificador del sistema
70 function Samurai(&$db, $idSistema = null) // ~X2C
72 $this->_id_sistema = $idSistema;
79 * Devuleve un array con los identificadores de todos los sistemas.
84 function _getIdSistemas() // ~X2C
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']);
100 * Arma el array de sistemas
102 * @return array(Sistema)
105 function _armarArraySistemas() // ~X2C
108 foreach ($this->_getIdSistemas() as $id) {
109 $tmp = new Sistema($this->_db,$id);
110 array_push($rta, $tmp);
116 // +X2C Operation 286
118 * Devuelve el array de sistemas
120 * @return array(Sistema)
123 function getSistemas() // ~X2C
125 return $this->_armarArraySistemas();
134 // +X2C Operation 320
136 * Devuelve un array asociativo en donde la clave es el identificador y el valor es el nombre del sistema
141 function getSelectSistemas() // ~X2C
144 foreach ($this->_armarArraySistemas() as $sistema) {
145 $rta[$sistema->getId()] = $sistema->getNombre();
151 // +X2C Operation 327
153 * @return array(Perfil)
156 function getPerfiles() // ~X2C
158 return $this->_armarArrayPerfiles();
162 // +X2C Operation 328
164 * @return array(Perfil)
167 function _armarArrayPerfiles() // ~X2C
170 foreach ($this->_getIdPerfiles() as $id) {
171 $tmp = new Perfil($this->_db,$id);
172 array_push($rta, $tmp);
178 // +X2C Operation 329
180 * Devuleve un array con los identificadores de todos los perfiles.
185 function _getIdPerfiles() // ~X2C
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']);
200 } // -X2C Class :Samurai