source: admin/WebConsole/gestores/gestor_grupos.php @ 10023eb

918-git-images-111dconfigfileconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacionwebconsole3
Last change on this file since 10023eb was b0dc2e4, checked in by alonso <alonso@…>, 16 years ago

git-svn-id: https://opengnsys.es/svn/trunk@489 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100644
File size: 10.3 KB
Line 
1<?
2// *************************************************************************************************************************************************
3// Aplicación WEB: ogAdmWebCon
4// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
5// Fecha Creación: Año 2003-2004
6// Fecha Última modificación: Marzo-2005
7// Nombre del fichero: gestor_grupos.php
8// Descripción :
9//              Gestiona el mantenimiento de la tabla de grupos
10// *************************************************************************************************************************************************
11include_once("../includes/ctrlacc.php");
12include_once("../clases/AdoPhp.php");
13include_once("../clases/XmlPhp.php");
14include_once("../clases/ArbolVistaXML.php");
15include_once("../includes/CreaComando.php");
16include_once("../includes/constantes.php");
17include_once("./relaciones/aulas_eliminacion.php");
18include_once("./relaciones/ordenadores_eliminacion.php");
19include_once("./relaciones/gruposordenadores_eliminacion.php");
20include_once("./relaciones/procedimientos_eliminacion.php");
21include_once("./relaciones/tareas_eliminacion.php");
22include_once("./relaciones/trabajos_eliminacion.php");
23include_once("./relaciones/imagenes_eliminacion.php");
24include_once("./relaciones/hardwares_eliminacion.php");
25include_once("./relaciones/perfileshard_eliminacion.php");
26include_once("./relaciones/softwares_eliminacion.php");
27include_once("./relaciones/perfilessoft_eliminacion.php");
28include_once("./relaciones/incrementales_eliminacion.php");
29include_once("./relaciones/servidoresrembo_eliminacion.php");
30include_once("./relaciones/servidoresdhcp_eliminacion.php");
31include_once("./relaciones/menus_eliminacion.php");
32include_once("./relaciones/reservas_eliminacion.php");
33include_once("./relaciones/entidades_eliminacion.php");
34include_once("./relaciones/centros_eliminacion.php");
35include_once("../includes/opciones.php");
36//________________________________________________________________________________________________________
37$opcion=0; // Inicializa parametros
38
39$nombregrupo="";
40$grupoid=0;
41$idgrupo=0;
42$tipo=0;
43$literaltipo="";
44$iduniversidad=0;
45$comentarios="";
46
47if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros
48if (isset($_GET["nombregrupo"])) $nombregrupo=$_GET["nombregrupo"];
49if (isset($_GET["grupoid"])) $grupoid=$_GET["grupoid"];
50if (isset($_GET["idgrupo"])) $idgrupo=$_GET["idgrupo"];
51if (isset($_GET["tipo"])) $tipo=$_GET["tipo"];
52if (isset($_GET["literaltipo"])) $literaltipo=$_GET["literaltipo"];
53if (isset($_GET["iduniversidad"])) $iduniversidad=$_GET["iduniversidad"];
54if (isset($_GET["comentarios"])) $comentarios=$_GET["comentarios"];
55
56$tablanodo=""; // Arbol para nodos insertados
57
58$cmd=CreaComando($cadenaconexion); // Crea objeto comando
59$resul=false;
60if ($cmd){
61        $resul=Gestiona();
62        $cmd->Conexion->Cerrar();
63}
64// *************************************************************************************************************************************************
65?>
66<HTML>
67<HEAD>
68<BODY>
69<?
70        $literal="";
71        switch($opcion){
72                case $op_alta :
73                        $literal="resultado_insertar_grupos";
74                        break;
75                case $op_modificacion:
76                        $literal="resultado_modificar_grupos";
77                        break;
78                case $op_eliminacion :
79                        $literal="resultado_eliminar_grupos";
80                        break;
81                default:
82                        break;
83        }
84echo '<p><span id="arbol_nodo">'.$tablanodo.'</span></p>';
85if ($resul){
86        echo '<SCRIPT language="javascript">'.chr(13);
87        echo 'var o=document.getElementById("arbol_nodo");'.chr(13);
88        if ($opcion==$op_alta )
89                echo 'window.parent.'.$literal."(1,'".$cmd->DescripUltimoError()." ',".$idgrupo.",o.innerHTML);";
90        else
91                echo 'window.parent.'.$literal."(1,'".$cmd->DescripUltimoError()." ','".$nombregrupo."');";
92        echo '</SCRIPT>';
93}
94else{
95        echo '<SCRIPT language="javascript">';
96        echo "  window.parent.".$literal."(0,'".$cmd->DescripUltimoError()."',".$idgrupo.")";
97        echo '</SCRIPT>';
98}
99?>
100</BODY>
101</HTML>
102<?
103/**************************************************************************************************************************************************
104        Inserta, modifica o elimina datos en la tabla grupos
105________________________________________________________________________________________________________*/
106function Gestiona(){
107        global  $cmd;
108        global  $opcion;
109        global  $idcentro;
110        global  $nombregrupo;
111        global  $grupoid;
112        global  $idgrupo;
113        global  $tipo;
114        global  $literaltipo;
115        global  $iduniversidad;
116        global  $comentarios;
117        global  $op_alta;
118        global  $op_modificacion;
119        global  $op_eliminacion;
120        global  $tablanodo;
121
122        if($iduniversidad) $idcentro=0; // Administración
123
124        $cmd->CreaParametro("@nombregrupo",$nombregrupo,0);
125        $cmd->CreaParametro("@grupoid",$grupoid,1);
126        $cmd->CreaParametro("@idcentro",$idcentro,1);
127        $cmd->CreaParametro("@idgrupo",$idgrupo,1);
128        $cmd->CreaParametro("@tipo",$tipo,1);
129        $cmd->CreaParametro("@iduniversidad",$iduniversidad,1);
130        $cmd->CreaParametro("@comentarios",$comentarios,0);
131
132        switch($opcion){
133                case $op_alta :
134                        $cmd->texto="INSERT INTO grupos(nombregrupo,idcentro,grupoid,tipo,iduniversidad,comentarios) VALUES (@nombregrupo,@idcentro,@grupoid,@tipo,@iduniversidad,@comentarios)";
135                        $resul=$cmd->Ejecutar();
136                        if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta
137                                $idgrupo=$cmd->Autonumerico();
138                                $arbolXML=SubarbolXML_grupos($idgrupo,$nombregrupo,$literaltipo);
139                                $baseurlimg="../images/signos";
140                                $clasedefault="texto_arbol"; // Hoja de estilo (Clase por defecto) del árbol
141                                $arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault);
142                                $tablanodo=$arbol->CreaNodo(0);
143                        }
144                        break;
145                case $op_modificacion:
146                        $cmd->texto="UPDATE grupos SET nombregrupo=@nombregrupo,comentarios=@comentarios WHERE idgrupo=@idgrupo";
147                        $resul=$cmd->Ejecutar();
148                        break;
149                case $op_eliminacion :
150                        $resul=EliminaGrupos($cmd,$idgrupo,"idgrupo",$literaltipo);// Eliminación en cascada
151                        break;
152                default:
153                        break;
154        }
155        return($resul);
156}
157/*________________________________________________________________________________________________________
158        Crea un arbol XML para el nuevo nodo insertado
159________________________________________________________________________________________________________*/
160function SubarbolXML_grupos($idgrupo,$nombregrupo,$literaltipo){
161
162        $cadenaXML='<GRUPOS';
163        // Atributos
164        $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$literaltipo."'" .')"';
165        $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"';
166        $cadenaXML.=' infonodo="'.$nombregrupo.'"';
167        $cadenaXML.=' nodoid='.$literaltipo.'-'.$idgrupo;
168        $cadenaXML.='>';
169        $cadenaXML.='</GRUPOS>';
170        return($cadenaXML);
171}
172/*________________________________________________________________________________________________________
173        Elimina en cascada grupos
174                Parametros:
175                - cmd: Un comando ya operativo (con conexión abierta) 
176                - idgrupo: El identificador del grupo
177                - literaltipo: El literal del grupo
178                - literaltipo: El literal del grupo
179                - swid: Indica 0= El identificador es tipo alfanumérico 1= EI identificador es tipo numérico ( valor por defecto)
180________________________________________________________________________________________________________*/
181function        EliminaGrupos($cmd,$identificador,$nombreid,$literaltipo,$swid=1){
182        if (empty($identificador)) return(true);
183
184        global $LITAMBITO_GRUPOSAULAS ;
185        global $LITAMBITO_GRUPOSIMAGENES ;
186        global $LITAMBITO_GRUPOSPROCEDIMIENTOS ;
187        global $LITAMBITO_GRUPOSTAREAS ;
188        global $LITAMBITO_GRUPOSTRABAJOS ;
189        global $LITAMBITO_GRUPOSCOMPONENTESHARD  ;
190        global $LITAMBITO_GRUPOSCOMPONENTESSOFT ;
191        global $LITAMBITO_GRUPOSPERFILESHARD ;
192        global $LITAMBITO_GRUPOSPERFILESSOFT ;
193        global $LITAMBITO_GRUPOSSOFTINCREMENTAL ;
194        global $LITAMBITO_GRUPOSMENUS ;
195        global $LITAMBITO_GRUPOSSERVIDORESREMBO ;
196        global $LITAMBITO_GRUPOSSERVIDORESDHCP ;
197        global $LITAMBITO_GRUPOSRESERVAS ;
198        global $LITAMBITO_GRUPOSENTIDADES ;
199
200        if($swid==0)
201                $cmd->texto="SELECT  idgrupo  FROM grupos WHERE ".$nombreid."='".$identificador."'";
202        else
203                $cmd->texto='SELECT  idgrupo  FROM grupos WHERE '.$nombreid.'='.$identificador;
204        $rs=new Recordset;
205        $rs->Comando=&$cmd;
206        if (!$rs->Abrir()) return(false); // Error al abrir recordset
207        if ($rs->numeroderegistros==0) return(true);
208        $rs->Primero();
209        while (!$rs->EOF){
210                $resul=EliminaGrupos($cmd,$rs->campos["idgrupo"],"grupoid",$literaltipo);
211                if ($resul){
212                        switch($literaltipo){
213                                case $LITAMBITO_GRUPOSAULAS :
214                                        $resul=EliminaAulas($cmd,$rs->campos["idgrupo"],"grupoid");
215                                        break;
216                                case $LITAMBITO_GRUPOSPROCEDIMIENTOS :
217                                        $resul=EliminaProcedimientos($cmd,$rs->campos["idgrupo"],"grupoid");
218                                        break;
219                                case $LITAMBITO_GRUPOSTAREAS :
220                                        $resul=EliminaTareas($cmd,$rs->campos["idgrupo"],"grupoid");
221                                        break;
222                                case $LITAMBITO_GRUPOSTRABAJOS :
223                                        $resul=EliminaTrabajos($cmd,$rs->campos["idgrupo"],"grupoid");
224                                        break;
225                                case $LITAMBITO_GRUPOSIMAGENES :
226                                        $resul=EliminaImagenes($cmd,$rs->campos["idgrupo"],"grupoid");
227                                        break;
228                                case $LITAMBITO_GRUPOSCOMPONENTESHARD  :
229                                        $resul=EliminaHardwares($cmd,$rs->campos["idgrupo"],"grupoid");
230                                        break;
231                                case $LITAMBITO_GRUPOSCOMPONENTESSOFT :
232                                        $resul=EliminaSoftwares($cmd,$rs->campos["idgrupo"],"grupoid");
233                                        break;
234                                case $LITAMBITO_GRUPOSPERFILESHARD :
235                                        $resul=EliminaPerfileshard($cmd,$rs->campos["idgrupo"],"grupoid");
236                                        break;
237                                case $LITAMBITO_GRUPOSPERFILESSOFT :
238                                        $resul=EliminaPerfilessoft($cmd,$rs->campos["idgrupo"],"grupoid");
239                                        break;
240                                case $LITAMBITO_GRUPOSSOFTINCREMENTAL :
241                                        $resul=EliminaSoftincremental($cmd,$rs->campos["idgrupo"],"grupoid");
242                                        break;
243                                case $LITAMBITO_GRUPOSSERVIDORESREMBO :
244                                        $resul=EliminaServidoresrembo($cmd,$rs->campos["idgrupo"],"grupoid");
245                                        break;
246                                case $LITAMBITO_GRUPOSSERVIDORESDHCP :
247                                        $resul=EliminaServidoresdhcp($cmd,$rs->campos["idgrupo"],"grupoid");
248                                        break;
249                                case $LITAMBITO_GRUPOSMENUS :
250                                        $resul=EliminaMenus($cmd,$rs->campos["idgrupo"],"grupoid");
251                                        break;
252                                case $LITAMBITO_GRUPOSRESERVAS :
253                                        $resul=EliminaReservas($cmd,$rs->campos["idgrupo"],"grupoid");
254                                        break;
255                                case $LITAMBITO_GRUPOSENTIDADES :
256                                        $resul=EliminaEntidad($cmd,$rs->campos["idgrupo"],"grupoid");
257                                        break;
258                                default:
259                                                $resul=false;
260                        }
261                }
262                if (!$resul){
263                        $rs->Cerrar();
264                        return(false);
265                }
266                $rs->Siguiente();
267        }
268        if($swid==0)
269                $cmd->texto="DELETE FROM grupos WHERE ".$nombreid."='".$identificador."'";
270        else
271                $cmd->texto='DELETE FROM grupos  WHERE '.$nombreid.'='.$identificador;
272        $resul=$cmd->Ejecutar();
273        return($resul);
274}
275?>
Note: See TracBrowser for help on using the repository browser.