// +----------------------------------------------------------------------+ // // $Id$ // $Author$ // $URL$ // $Date$ // $Rev$ // #require_once 'PEAR.php'; require_once 'Sistema.php'; require_once 'Usuario.php'; require_once 'Permiso.php'; require_once 'Perfil.php'; // +X2C Class 274 :Samurai /** * Objeto general. * * @access public */ class Samurai { /** * Identificador del sistema. * * @var int $id_sistema * @access private */ var $_id_sistema; /** * Objeto Conexion * * @var Samurai_DB $db * @access private */ var $_db; // ~X2C // +X2C Operation 280 /** * Constructor. Recibe como parametro el identificador del sistema. * * @param Samurai_DB &$db Objeto conexion * @param int $idSistema Indetificador del sistema * * @return void * @access public */ function Samurai(&$db, $idSistema = null) // ~X2C { $this->_id_sistema = $idSistema; $this->_db = &$db; } // -X2C // +X2C Operation 283 /** * Devuleve un array con los identificadores de todos los sistemas. * * @return array(int) * @access private */ function _getIdSistemas() // ~X2C { $rta = array(); $sql = include 'Samurai/consultas.php'; $dbh = $this->_db->prepare($sql['obtener_id_sistemas']); $res = $this->_db->execute($dbh); while ($re = $res->fetchrow(DB_FETCHMODE_ASSOC)) { array_push($rta,$re['id_sistema']); } $res->free(); return $rta; } // -X2C // +X2C Operation 285 /** * Arma el array de sistemas * * @return array(Sistema) * @access private */ function _armarArraySistemas() // ~X2C { $rta = array (); foreach ($this->_getIdSistemas() as $id) { $tmp = new Sistema($this->_db,$id); array_push($rta, $tmp); } return $rta; } // -X2C // +X2C Operation 286 /** * Devuelve el array de sistemas * * @return array(Sistema) * @access public */ function getSistemas() // ~X2C { return $this->_armarArraySistemas(); } // -X2C // +X2C Operation 320 /** * Devuelve un array asociativo en donde la clave es el identificador y el valor es el nombre del sistema * * @return array() * @access public */ function getSelectSistemas() // ~X2C { $rta = array (); foreach ($this->_armarArraySistemas() as $sistema) { $rta[$sistema->getId()] = $sistema->getNombre(); } return $rta; } // -X2C // +X2C Operation 327 /** * @return array(Perfil) * @access public */ function getPerfiles() // ~X2C { return $this->_armarArrayPerfiles(); } // -X2C // +X2C Operation 328 /** * @return array(Perfil) * @access private */ function _armarArrayPerfiles() // ~X2C { $rta = array (); foreach ($this->_getIdPerfiles() as $id) { $tmp = new Perfil($this->_db,$id); array_push($rta, $tmp); } return $rta; } // -X2C // +X2C Operation 329 /** * Devuleve un array con los identificadores de todos los perfiles. * * @return array(int) * @access private */ function _getIdPerfiles() // ~X2C { $rta = array(); $sql = include 'Samurai/consultas.php'; $dbh = $this->_db->prepare($sql['obtener_id_perfiles']); $tmp[] = $_SESSION['samurai']['id_sistema']; $res = $this->_db->execute($dbh, $tmp); while ($re = $res->fetchrow(DB_FETCHMODE_ASSOC)) { array_push($rta,$re['id_perfil']); } $res->free(); return $rta; } // -X2C } // -X2C Class :Samurai ?>