// +----------------------------------------------------------------------+ // // $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 292 /** * Devuelve el array de permisos * * @return array(Permiso) * @access public */ function getPermisos()// ~X2C { return $this->_armarArrayPermisos(); } // -X2C // +X2C Operation 293 /** * Arma el array de permisos * * @return void * @access private */ function _armarArrayPermisos()// ~X2C { $rta = array (); foreach ($this->_getIdPermisos() as $id) { $tmp = new Permiso($this->_db,$id); array_push($rta, $tmp); } return $rta; } // -X2C // +X2C Operation 294 /** * Devuleve un array con los identificadores de todos los permisos. * * @return array(int) * @access private */ function _getIdPermisos()// ~X2C { $rta = array(); $sql = include 'Samurai/consultas.php'; $dbh = $this->_db->prepare($sql['obtener_id_permisos']); $res = $this->_db->execute($dbh); while ($re = $res->fetchrow(DB_FETCHMODE_ASSOC)) { array_push($rta,$re['id_permiso']); } $res->free(); return $rta; } // -X2C // +X2C Operation 299 /** * Devuelve un array asociativo en donde la clave es el identificador y el valor es la descripcion del permiso * * @return array() * @access public */ function getSelectPermisos()// ~X2C { $rta = array (); foreach ($this->_armarArrayPermisos() as $permiso) { $rta[$permiso->getId()] = $permiso->getDescripcion(); } return $rta; } // -X2C } // -X2C Class :Samurai ?>