//OBTENGO EL TIPO DE PERFIL
$tmp = $sql['verificar_asociacion'];
$dbh = $this->_db->prepare($tmp);
//OBTENGO EL TIPO DE PERFIL
$tmp = $sql['verificar_asociacion'];
$dbh = $this->_db->prepare($tmp);
$res = $this->_db->execute($dbh,$tmp);
$re = $res->fetchrow(DB_FETCHMODE_ASSOC);
$this->setTipo($re['tipo_perfil']);
$res = $this->_db->execute($dbh,$tmp);
$re = $res->fetchrow(DB_FETCHMODE_ASSOC);
$this->setTipo($re['tipo_perfil']);
//OBTENGO LOS PERMISOS QUE TIENE ASIGNADO EL PERFIL DESDE PERM_PERFIL_SIST
$tmp = $sql['obtener_permisos'];
$dbh = $this->_db->prepare($tmp);
//OBTENGO LOS PERMISOS QUE TIENE ASIGNADO EL PERFIL DESDE PERM_PERFIL_SIST
$tmp = $sql['obtener_permisos'];
$dbh = $this->_db->prepare($tmp);
$res = $this->_db->execute($dbh,$tmp);
$rta = array ();
while ($re = $res->fetchrow(DB_FETCHMODE_ASSOC)) {
$res = $this->_db->execute($dbh,$tmp);
$rta = array ();
while ($re = $res->fetchrow(DB_FETCHMODE_ASSOC)) {
'tipo_perfil' => $this->getTipo(),
'responsable' => $this->getResponsable(),
);
'tipo_perfil' => $this->getTipo(),
'responsable' => $this->getResponsable(),
);
//Verifico en perfil_sist_usuario
$tmp = $sql['verif_perfil_sist_usuario'];
$dbh = $this->_db->prepare($tmp);
//Verifico en perfil_sist_usuario
$tmp = $sql['verif_perfil_sist_usuario'];
$dbh = $this->_db->prepare($tmp);
$res = $this->_db->execute($dbh, $datos);
if (($re = $res->fetchRow(DB_FETCHMODE_ASSOC)) && !$re['cuenta'] == 0) {
return new PEAR_Error("Hay usuarios asociados al perfil seleccionado");
$res = $this->_db->execute($dbh, $datos);
if (($re = $res->fetchRow(DB_FETCHMODE_ASSOC)) && !$re['cuenta'] == 0) {
return new PEAR_Error("Hay usuarios asociados al perfil seleccionado");
$res = $this->_db->execute($dbh, $datos);
if (PEAR::isError($res)) {
return $res;
$res = $this->_db->execute($dbh, $datos);
if (PEAR::isError($res)) {
return $res;
'tipo_perfil' => $this->getTipo(),
'responsable' => $this->getResponsable(),
);
'tipo_perfil' => $this->getTipo(),
'responsable' => $this->getResponsable(),
);
- $res = $this->_db->autoExecute('perfil_sist', $datos, DB_AUTOQUERY_UPDATE, 'id_perfil ='.$this->getId().' AND id_sistema='.$_SESSION['samurai']['id_sistema']);
+ $res = $this->_db->autoExecute('perfil_sist', $datos,
+ DB_AUTOQUERY_UPDATE, 'id_perfil ='.$this->getId().' AND
+ id_sistema='.$this->_idSistema);
* @param SAMURAI_DB &$db Base de datos
* @param string $filtro Filtro por nombre del perfil
* @param int $id_sistema Identificador del sistema
* @param SAMURAI_DB &$db Base de datos
* @param string $filtro Filtro por nombre del perfil
* @param int $id_sistema Identificador del sistema
$re = $this->_db->autoPrepare('perm_perfil_sist', $datos, DB_AUTOQUERY_INSERT);
foreach ($this->getPermisos() as $permiso) {
list($id, $obs) = split ('##',$permiso);
$re = $this->_db->autoPrepare('perm_perfil_sist', $datos, DB_AUTOQUERY_INSERT);
foreach ($this->getPermisos() as $permiso) {
list($id, $obs) = split ('##',$permiso);
- $datos = array ($id, $this->getId(), $_SESSION['samurai']['id_sistema'], $obs, $this->getResponsable());
+ $datos = array ($id, $this->getId(), $this->_idSistema, $obs, $this->getResponsable());
$res = $this->_db->execute($re, $datos);
if (PEAR::isError($res)) {
return $res;
$res = $this->_db->execute($re, $datos);
if (PEAR::isError($res)) {
return $res;
$sql = parse_ini_file(dirname(__FILE__) . '/Perfil/consultas.ini', true);
$tmp = $sql['borrar_permisos'];
$dbh = $this->_db->prepare($tmp);
$sql = parse_ini_file(dirname(__FILE__) . '/Perfil/consultas.ini', true);
$tmp = $sql['borrar_permisos'];
$dbh = $this->_db->prepare($tmp);
$sql = parse_ini_file(dirname(__FILE__) . '/Perfil/consultas.ini', true);
$tmp = $sql['verif_perm_perfil_sist'];
$dbh = $this->_db->prepare($tmp);
$sql = parse_ini_file(dirname(__FILE__) . '/Perfil/consultas.ini', true);
$tmp = $sql['verif_perm_perfil_sist'];
$dbh = $this->_db->prepare($tmp);
$res = $this->_db->execute($dbh,$tmp);
$perm = array();
while ($re = $res->fetchRow(DB_FETCHMODE_ASSOC)) {
$res = $this->_db->execute($dbh,$tmp);
$perm = array();
while ($re = $res->fetchRow(DB_FETCHMODE_ASSOC)) {
$rta1 = array_diff($p, $this->getPermisos());
$rta2 = array_diff($this->getPermisos(), $p);
if (!$rta1 && !$rta2) {
$rta1 = array_diff($p, $this->getPermisos());
$rta2 = array_diff($this->getPermisos(), $p);
if (!$rta1 && !$rta2) {
- $perf = new SAMURAI_Perfil($this->_db, $key);
- return new PEAR_Error("El perfil \"".$perf->getDescripcion()."\" contiene los mismos permisos.");
+ $perf = new SAMURAI_Perfil($this->_db, $key, $this->_idSistema);
+ if ($perf->getDescripcion() != $this->getDescripcion()) {
+ return new PEAR_Error("El perfil \"".$perf->getDescripcion()."\" contiene los mismos permisos.");
+ }