* Leandro Lucarella <llucar@mecon.gov.ar>
* Las funciones de acceso publico se llaman igual que en HE_Perm
* Archivos Requeridos
- * samurai_lib_sql.inc -> Consultas SQL utilizadas por el objeto
- * samurai_lib_db_conf.inc -> Datos de la conexion con la base de datos
+ * Perm/sql_Conf.php -> Consultas SQL utilizadas por el objeto
+ * Perm/db_Conf.php -> Datos de la conexion con la base de datos
*
- * @package SA_Perm
+ * @package Samurai
* @version $Rev$
* @author $Author$
*/
/**
* Login del usuario
*
- * @var string login
+ * @var string
*/
var $login;
/**
* Permisos del usuario en el sistema.
*
- * @var array permisos
+ * @var array
*/
var $permisos;
/**
* Conexion a la Base de Datos .
*
- * @var $DB
+ * @var object DB
*/
var $DB;
/**
* Identificacion del sistema
*
- * @var $sistema
+ * @var int
*/
var $sistema;
* @access public
*/
function SA_Perm($sistema, $login)
- {
- if (isset($sistema) && isset($login)) {
- $this->sistema = $sistema;
+ {
+ $this->PEAR();
+ $this->sistema = $sistema;
$this->login = $login;
$this->DB = $this->_conectarDB();
$this->permisos = $this->_obtenerPermisos();
- }
}
/**
* permisos, en caso contrario devuelve false. Es de parametros
* variables, y siempre necesita al menos UN parametro
*
- * @param array permisos buscados
+ * @param array $permisos Permisos que se buscan
*
* @return bool
*
function tiene()
{
$args = func_get_args(); //Obtengo los permisos que me pasaron como argumento
- $result = true; //Asumo que no va a fallar
- if (!count($args)) {
- $result = false; //Siempre se debe pasar al menos un permiso a buscar
- }
- else {
+ $result = true; //Asumo que no va a fallar
+ if (!count($args)) {
+ $result = false; //Siempre se debe pasar al menos un permiso a buscar
+ }
+ else {
if (count(array_diff($args, $this->permisos))){
- $result = false;
- }
- }
-
- return $result;
+ $result = false;
+ }
+ }
+ return $result;
}
/**
* permisos, en caso contrario devuelve false. Es de parametros
* variables, y siempre necesita al menos UN parametro
*
- * @param array permisos buscados
+ * @param array $permisos Permisos que se buscan
*
* @return bool
*
function tieneO()
{
$args = func_get_args(); //Obtengo los permisos que me pasaron como argumento
- $result = true; //Asumo que no va a fallar
- if (!count($args)) { //Siempre se debe pasar al menos un permiso a buscar
- $result = false;
- }
- else {
- if (count(array_diff($args, $this->permisos)) >= count($args)) {
- $result = false;
- }
- }
- return $result;
+ $result = true; //Asumo que no va a fallar
+ if (!count($args)) { //Siempre se debe pasar al menos un permiso a buscar
+ $result = false;
+ }
+ else {
+ if (count(array_diff($args, $this->permisos)) >= count($args)) {
+ $result = false;
+ }
+ }
+ return $result;
}
/**
/**
* Obtiene los permisos de un usuario de la base
*
- * @return array con los permisos del usuario
+ * @return array permisos del usuario
*
* @access private
*/
function _obtenerPermisos()
{
- $consultas = include 'include/samurai_lib_sql.inc';
- $sql = $consultas['obtener_p_p_completo'];
- $sql_array = array ('0' => $this->sistema, '1' => $this->login);
- $result = $this->DB->getCol($sql,0, $sql_array);
+ $consultas = include 'Perm/sql_Conf.php';
+ $sql = $consultas['obtener_p_p_completo'];
+ $sql_array = array ('0' => $this->sistema, '1' => $this->login);
+ $result = $this->DB->getCol($sql,0, $sql_array);
if (DB::isError($this->permisos)) { //En caso de error en la consulta, que lo muestre
- die ($this->permisos->getMessage());
- }
- return $result;
+ die ($this->permisos->getMessage());
+ }
+ return $result;
}
/**
- * Conecta el objeto a la base de datos, segun lo especificado
- * en samurai_lib_db_conf.inc.
+ * Conecta el objeto a la base de datos
*
* @return db conexion con la base
*
function _conectarDB()
{
$datos = include 'include/samurai_lib_db_conf.inc';
- $dsn = $datos['db_type']."://".$datos['db_user'].":".$datos['db_pass']."@".$datos['db_host']."/".$datos['db_name'];
- $db = DB::connect($dsn, true); //Quiero que la conexion sea persistente
- if (DB::isError($db)) {
- die($db->getMessage());
- }
- return $db;
+ $dsn = $datos['db_type']."://".$datos['db_user'].":".$datos['db_pass']."@".$datos['db_host']."/".$datos['db_name'];
+ $db = DB::connect($dsn, true); //Quiero que la conexion sea persistente
+ if (DB::isError($db)) {
+ die($db->getMessage());
+ }
+ return $db;
}
}