* @author $Author$
*/
-// Comienzo Clase {{{
class SA_Perm extends PEAR {
/**
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
+ $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))){
return $result;
}
- /**
+ /**
* Verifica los permisos de un usuario
*
* Compara los permisos que tiene un usuario en relacion a los
{
$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
+ if (!count($args)) { //Siempre se debe pasar al menos un permiso a buscar
$result = false;
}
else {
return $result;
}
- /**
+ /**
+ * Verifica los permisos de un usuario
+ *
+ * Compara los permisos que tiene un usuario en relacion a los
+ * pasados como parametro. Devuelve un array con aquellos permisos que
+ * el usuario tiene. Funciona similar a tieneO solo que devuelve un array.
+ * Es de parametros variables, y siempre necesita al menos UN parametro
+ *
+ * @param array $permisos Permisos que se buscan
+ *
+ * @return array Permisos que tiene el usuario pasados por parametro, o 'ERROR' en caso contrario
+ *
+ * @access public
+ */
+ function tieneODevol ()
+ {
+ $args = func_get_args(); //Obtengo los permisos que me pasaron como argumento
+ $result = array();
+
+ if (!count($args)) {
+ $result['0'] = 'ERROR'; //Siempre se debe pasar al menos un permiso a buscar
+ }
+ else {
+ $result = array_intersect($args, $this->permisos);
+ }
+ return $result;
+ }
+
+ /**
* Verifica los permisos de un usuario
*
* Compara un permiso pasado por parametro con los que tiene el usuario
$datos = include 'Perm/db_Conf.php';
$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)) {
+ if (DB::isError($db)) { //En caso de error en la conexion que la muestre
die($db->getMessage());
}
return $db;
}
}
-// }}} Fin Clase
?>