diff options
Diffstat (limited to 'admin/WebConsole/gestores/gestor_grupos.php')
-rw-r--r-- | admin/WebConsole/gestores/gestor_grupos.php | 273 |
1 files changed, 273 insertions, 0 deletions
diff --git a/admin/WebConsole/gestores/gestor_grupos.php b/admin/WebConsole/gestores/gestor_grupos.php new file mode 100644 index 00000000..b20ed22e --- /dev/null +++ b/admin/WebConsole/gestores/gestor_grupos.php @@ -0,0 +1,273 @@ +<? +// ************************************************************************************************************************************************* +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Año 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: gestor_grupos.php +// Descripción : +// Gestiona el mantenimiento de la tabla de grupos +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/constantes.php"); +include_once("./relaciones/aulas_eliminacion.php"); +include_once("./relaciones/ordenadores_eliminacion.php"); +include_once("./relaciones/gruposordenadores_eliminacion.php"); +include_once("./relaciones/procedimientos_eliminacion.php"); +include_once("./relaciones/tareas_eliminacion.php"); +include_once("./relaciones/trabajos_eliminacion.php"); +include_once("./relaciones/imagenes_eliminacion.php"); +include_once("./relaciones/hardwares_eliminacion.php"); +include_once("./relaciones/perfileshard_eliminacion.php"); +include_once("./relaciones/softwares_eliminacion.php"); +include_once("./relaciones/perfilessoft_eliminacion.php"); +include_once("./relaciones/incrementales_eliminacion.php"); +include_once("./relaciones/repositorios_eliminacion.php"); +include_once("./relaciones/menus_eliminacion.php"); +include_once("./relaciones/reservas_eliminacion.php"); +include_once("./relaciones/entidades_eliminacion.php"); +include_once("./relaciones/centros_eliminacion.php"); +include_once("../includes/opciones.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros + +$nombregrupo=""; +$grupoid=0; +$idgrupo=0; +$tipo=0; +$literaltipo=""; +$iduniversidad=0; +$comentarios=""; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros +if (isset($_POST["nombregrupo"])) $nombregrupo=$_POST["nombregrupo"]; +if (isset($_POST["grupoid"])) $grupoid=$_POST["grupoid"]; +if (isset($_POST["idgrupo"])) $idgrupo=$_POST["idgrupo"]; +if (isset($_POST["tipo"])) $tipo=$_POST["tipo"]; +if (isset($_POST["literaltipo"])) $literaltipo=$_POST["literaltipo"]; +if (isset($_POST["iduniversidad"])) $iduniversidad=$_POST["iduniversidad"]; +if (isset($_POST["comentarios"])) $comentarios=$_POST["comentarios"]; + +$tablanodo=""; // Arbol para nodos insertados + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} +// ************************************************************************************************************************************************* +?> +<HTML> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<BODY> + <SCRIPT language="javascript" src="../jscripts/propiedades_grupos.js"></SCRIPT> +<? + $literal=""; + switch($opcion){ + case $op_alta : + $literal="resultado_insertar_grupos"; + break; + case $op_modificacion: + $literal="resultado_modificar_grupos"; + break; + case $op_eliminacion : + $literal="resultado_eliminar_grupos"; + break; + default: + break; + } +echo '<p><span id="arbol_nodo">'.$tablanodo.'</span></p>'; +if ($resul){ + echo '<SCRIPT language="javascript">'.chr(13); + echo 'var o=document.getElementById("arbol_nodo");'.chr(13); + if ($opcion==$op_alta ) + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idgrupo.",o.innerHTML);"; + else + echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$nombregrupo."');"; + echo '</SCRIPT>'; +} +else{ + echo '<SCRIPT language="javascript">'; + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idgrupo.")"; + echo '</SCRIPT>'; +} +?> +</BODY> +</HTML> +<? +/************************************************************************************************************************************************** + Inserta, modifica o elimina datos en la tabla grupos +________________________________________________________________________________________________________*/ +function Gestiona(){ + global $cmd; + global $opcion; + global $idcentro; + global $nombregrupo; + global $grupoid; + global $idgrupo; + global $tipo; + global $literaltipo; + global $iduniversidad; + global $comentarios; + global $op_alta; + global $op_modificacion; + global $op_eliminacion; + global $tablanodo; + + if($iduniversidad) $idcentro=0; // Administración + + $cmd->CreaParametro("@nombregrupo",$nombregrupo,0); + $cmd->CreaParametro("@grupoid",$grupoid,1); + $cmd->CreaParametro("@idcentro",$idcentro,1); + $cmd->CreaParametro("@idgrupo",$idgrupo,1); + $cmd->CreaParametro("@tipo",$tipo,1); + $cmd->CreaParametro("@iduniversidad",$iduniversidad,1); + $cmd->CreaParametro("@comentarios",$comentarios,0); + + switch($opcion){ + case $op_alta : + $cmd->texto="INSERT INTO grupos(nombregrupo,idcentro,grupoid,tipo,iduniversidad,comentarios) VALUES (@nombregrupo,@idcentro,@grupoid,@tipo,@iduniversidad,@comentarios)"; + $resul=$cmd->Ejecutar(); + + if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta + $idgrupo=$cmd->Autonumerico(); + $arbolXML=SubarbolXML_grupos($idgrupo,$nombregrupo,$literaltipo); + $baseurlimg="../images/signos"; + $clasedefault="texto_arbol"; // Hoja de estilo (Clase por defecto) del árbol + $arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault); + $tablanodo=$arbol->CreaNodo(0); + } + break; + case $op_modificacion: + $cmd->texto="UPDATE grupos SET nombregrupo=@nombregrupo,comentarios=@comentarios WHERE idgrupo=@idgrupo"; + $resul=$cmd->Ejecutar(); + break; + case $op_eliminacion : + $resul=EliminaGrupos($cmd,$idgrupo,"idgrupo",$literaltipo);// Eliminación en cascada + break; + default: + break; + } + return($resul); +} +/*________________________________________________________________________________________________________ + Crea un arbol XML para el nuevo nodo insertado +________________________________________________________________________________________________________*/ +function SubarbolXML_grupos($idgrupo,$nombregrupo,$literaltipo){ + + $cadenaXML='<GRUPOS'; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$literaltipo."'" .')"'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$nombregrupo.'"'; + $cadenaXML.=' nodoid='.$literaltipo.'-'.$idgrupo; + $cadenaXML.='>'; + $cadenaXML.='</GRUPOS>'; + return($cadenaXML); +} +/*________________________________________________________________________________________________________ + Elimina en cascada grupos + Parametros: + - cmd: Un comando ya operativo (con conexión abierta) + - idgrupo: El identificador del grupo + - literaltipo: El literal del grupo + - literaltipo: El literal del grupo + - swid: Indica 0= El identificador es tipo alfanumérico 1= EI identificador es tipo numérico ( valor por defecto) +________________________________________________________________________________________________________*/ +function EliminaGrupos($cmd,$identificador,$nombreid,$literaltipo,$swid=1){ + if (empty($identificador)) return(true); + + global $LITAMBITO_GRUPOSAULAS ; + global $LITAMBITO_GRUPOSIMAGENES ; + global $LITAMBITO_GRUPOSPROCEDIMIENTOS ; + global $LITAMBITO_GRUPOSTAREAS ; + global $LITAMBITO_GRUPOSTRABAJOS ; + global $LITAMBITO_GRUPOSCOMPONENTESHARD ; + global $LITAMBITO_GRUPOSCOMPONENTESSOFT ; + global $LITAMBITO_GRUPOSPERFILESHARD ; + global $LITAMBITO_GRUPOSPERFILESSOFT ; + global $LITAMBITO_GRUPOSSOFTINCREMENTAL ; + global $LITAMBITO_GRUPOSMENUS ; + global $LITAMBITO_GRUPOSREPOSITORIOS ; + global $LITAMBITO_GRUPOSRESERVAS ; + global $LITAMBITO_GRUPOSENTIDADES ; + + if($swid==0) + $cmd->texto="SELECT idgrupo FROM grupos WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='SELECT idgrupo FROM grupos WHERE '.$nombreid.'='.$identificador; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + if ($rs->numeroderegistros==0) return(true); + $rs->Primero(); + while (!$rs->EOF){ + $resul=EliminaGrupos($cmd,$rs->campos["idgrupo"],"grupoid",$literaltipo); + if ($resul){ + switch($literaltipo){ + case $LITAMBITO_GRUPOSAULAS : + $resul=EliminaAulas($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSPROCEDIMIENTOS : + $resul=EliminaProcedimientos($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSTAREAS : + $resul=EliminaTareas($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSTRABAJOS : + $resul=EliminaTrabajos($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSIMAGENES : + $resul=EliminaImagenes($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSCOMPONENTESHARD : + $resul=EliminaHardwares($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSCOMPONENTESSOFT : + $resul=EliminaSoftwares($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSPERFILESHARD : + $resul=EliminaPerfileshard($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSPERFILESSOFT : + $resul=EliminaPerfilessoft($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSSOFTINCREMENTAL : + $resul=EliminaSoftincremental($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSREPOSITORIOS : + $resul=Eliminarepositorios($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSMENUS : + $resul=EliminaMenus($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSRESERVAS : + $resul=EliminaReservas($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSENTIDADES : + $resul=EliminaEntidad($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + default: + $resul=false; + } + } + if (!$resul){ + $rs->Cerrar(); + return(false); + } + $rs->Siguiente(); + } + if($swid==0) + $cmd->texto="DELETE FROM grupos WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='DELETE FROM grupos WHERE '.$nombreid.'='.$identificador; + $resul=$cmd->Ejecutar(); + return($resul); +} +?> |