X-Git-Url: https://git.llucax.com/mecon/samurai.git/blobdiff_plain/c4f0334feae6676cfd92fc128ebe8e551f2c7717..840abcc48a16d1149da9922585135f09a41e789a:/lib/SAMURAI/Perm.php diff --git a/lib/SAMURAI/Perm.php b/lib/SAMURAI/Perm.php index 965665c..ad31b05 100644 --- a/lib/SAMURAI/Perm.php +++ b/lib/SAMURAI/Perm.php @@ -51,6 +51,22 @@ class SAMURAI_Perm { */ var $_sistema; + /** + * Base de datos a usar en las conexiones. + * + * @var DB $db + * @access protected + */ + var $_db; + + /** + * Observaciones de los permisos. + * + * @var array $observaciones + * @access protected + */ + var $_observaciones = array(); + /** * Sets Sistema. * @@ -88,6 +104,7 @@ class SAMURAI_Perm { foreach ($db->getAll($query, DB_FETCHMODE_ASSOC) as $row) { $this->_permisos[$row['sistema']][] = $row['permiso']; } + $this->_db =& $db; } // -X2C @@ -133,9 +150,9 @@ Si no se pasa ningun parametro ($perm->tiene()), devuelve true si tiene un permi * @return array * @access public */ - function getPermisos($sistema = '') // ~X2C + function getPermisos($sistema = null) // ~X2C { - $sistema = $sistema ? $sistema : $this->_sistema; + $sistema = is_null($sistema) ? $this->_sistema : $sistema; return @$this->_permisos[$sistema] ? $this->_permisos[$sistema] : array(); } // -X2C @@ -155,6 +172,34 @@ Si no se pasa ningun parametro ($perm->tiene()), devuelve true si tiene un permi } // -X2C + // +X2C Operation 391 + /** + * Obtiene las observaciones de un permiso para un sistema. + * + * @param int $perm Obtiene las observaciones de un permiso para un sistema. + * @param int $sistema Sistema al cual pertenecen los permisos. + * + * @return array + * @access public + */ + function getObservaciones($perm, $sistema = null) // ~X2C + { + $sistema = is_null($sistema) ? $this->_sistema : $sistema; + if (!@is_array($this->_observaciones[$sistema][$perm])) { + $this->_observaciones[$sistema][$perm] = array(); + $query = ' + SELECT ps.observaciones AS observaciones + FROM samurai.perm_sist AS ps + WHERE ps.id_permiso = '.$this->_db->quote($perm).' + AND ps.id_sistema = '.$this->_db->quote($sistema); + foreach ($this->_db->getAll($query, DB_FETCHMODE_ASSOC) as $row) { + $this->_observaciones[$sistema][$perm][] = $row['observaciones']; + } + } + return $this->_observaciones[$sistema][$perm]; + } + // -X2C + } // -X2C Class :SAMURAI_Perm ?> \ No newline at end of file