X-Git-Url: https://git.llucax.com/mecon/samurai.git/blobdiff_plain/d0ae155a8be2168110755cce58865068b34bfe91..701e5406c83c349adbc557c92cdd6d46c51a1308:/lib/SAMURAI/Permiso.php?ds=sidebyside diff --git a/lib/SAMURAI/Permiso.php b/lib/SAMURAI/Permiso.php index 4bcf5e4..ba385a0 100644 --- a/lib/SAMURAI/Permiso.php +++ b/lib/SAMURAI/Permiso.php @@ -190,7 +190,6 @@ class SAMURAI_Permiso { // -X2C - // +X2C Operation 316 /** * Modifica la base de datos segun accion @@ -263,7 +262,7 @@ class SAMURAI_Permiso { } // //Borro el permiso de la base - $tmp = $sql['borrar_permiso'].$sql['obtener_datos_permiso2']; + $tmp = $sql['borrar_permiso']; $dbh = $this->_db->prepare($tmp); return $this->_db->execute($dbh, $datos); // @@ -294,18 +293,25 @@ class SAMURAI_Permiso { * Devuleve un array con los identificadores de todos los permisos. * * @param SAMURAI_DB &$db Base de Datos + * @param int $id_sistema Identificador del sistema * * @return array(int) * @access protected * @static */ - function _getIdPermisos(&$db) // ~X2C + function _getIdPermisos(&$db, $id_sistema = null) // ~X2C { //OBTENGO LOS ID DE LA BASE $rta = array(); + $tmp = array(); $sql = parse_ini_file(dirname(__FILE__) . '/Permiso/consultas.ini', true); - $dbh = $db->prepare($sql['obtener_datos_permiso']); - $tmp[] = $_SESSION['samurai']['id_sistema']; + $consulta = $sql['obtener_datos_permiso']; + if ($id_sistema) { + $consulta.= $sql['obtener_datos_permiso3']; + $tmp[] = $id_sistema; + } + $consulta.= $sql['obtener_datos_permiso5']; + $dbh = $db->prepare($consulta); $res = $db->execute($dbh, $tmp); while ($re = $res->fetchrow(DB_FETCHMODE_ASSOC)) { array_push($rta,$re['id_permiso']); @@ -320,16 +326,17 @@ class SAMURAI_Permiso { * Devuelve un array asociativo en donde la clave es el identificador y el valor es la descripcion del permiso * * @param SAMURAI_DB &$db Base de Datos + * @param int $id_sistema Identificador del sistema * * @return array() * @access public * @static */ - function getArrayPermisos(&$db) // ~X2C + function getArrayPermisos(&$db, $id_sistema = null) // ~X2C { //FORECHEO LO QUE ME DEVUELVA GET PERMISOS $rta = array (); - foreach (SAMURAI_Permiso::getPermisos($db) as $permiso) { + foreach (SAMURAI_Permiso::getPermisos($db, $id_sistema) as $permiso) { $rta[$permiso->getId()] = $permiso->getDescripcion(); } return $rta; @@ -341,15 +348,16 @@ class SAMURAI_Permiso { * Devuelve el array de permisos * * @param SAMURAI_DB &$db Base de Datos + * @param int $id_sistema Identificador del sistema * * @return array(Permiso) * @access public * @static */ - function getPermisos(&$db) // ~X2C + function getPermisos(&$db, $id_sistema = null) // ~X2C { $rta = array (); - foreach (SAMURAI_Permiso::_getIdPermisos($db) as $id) { + foreach (SAMURAI_Permiso::_getIdPermisos($db, $id_sistema) as $id) { $tmp = new SAMURAI_Permiso($db,$id); array_push($rta, $tmp); } @@ -357,6 +365,30 @@ class SAMURAI_Permiso { } // -X2C + // +X2C Operation 364 + /** + * Devuelve true si esta asociado a algun sistema, caso contrario devuelve false + * + * @return bool + * @access public + */ + function asociadoASistema() // ~X2C + { + $rta = array(); + $tmp = array(); + $sql = parse_ini_file(dirname(__FILE__) . '/Permiso/consultas.ini', true); + $tmp = $sql['verificar_asociaciones1'].$sql['obtener_datos_permiso2']; + $dbh = $this->_db->prepare($tmp); + $res = $this->_db->execute($dbh, array ($this->getId())); + if (($re = $res->fetchRow(DB_FETCHMODE_ASSOC)) && !$re['cuenta'] == 0) { + return true; + } + else { + return false; + } + } + // -X2C + } // -X2C Class :SAMURAI_Permiso -?> +?> \ No newline at end of file