// -X2C
-
// +X2C Operation 316
/**
* Modifica la base de datos segun accion
}
//
//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);
//
* 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;
+ }
+ $dbh = $db->prepare($consulta);
$res = $db->execute($dbh, $tmp);
while ($re = $res->fetchrow(DB_FETCHMODE_ASSOC)) {
array_push($rta,$re['id_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;
* 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);
}
}
// -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
?>