1 <?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 foldmethod=marker:
2 -------------------------------------------------------------------------------
5 -------------------------------------------------------------------------------
6 This file is part of agenda.
8 agenda is free software; you can redistribute it and/or modify it under
9 the terms of the GNU General Public License as published by the Free
10 Software Foundation; either version 2 of the License, or (at your option)
13 agenda is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License; if not,
18 write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
19 Boston, MA 02111-1307 USA
20 -------------------------------------------------------------------------------
21 Creado: lun ago 11 14:10:35 ART 2003
22 Autor: Martin Marrese <mmarre@mecon.gov.ar>
23 -------------------------------------------------------------------------------
25 -----------------------------------------------------------------------------*/
28 require_once 'Servicios/Agenda.php';
29 require_once 'HTML/Table.php';
30 require_once 'MECON/HTML/Tabla.php';
31 require_once 'HTML_DietMarco.php';
32 require_once 'MECON/HTML/QuickForm.php';
33 require_once 'MECON/HTML/Image.php';
34 require_once 'MECON/HTML/Link.php';
35 require_once '../../../local_lib/HTML_Institucional.php';
37 //CREO LOS OBJETOS NECESARIOS {{{
38 $TABLAFORM = new MECON_HTML_Tabla ('width="500"', 'claro');
39 $MARCO = new HTML_DietMarco('servicios', 'Servicios');
40 $FORM = new MECON_HTML_QuickForm('agenda', 'post', 'agenda2', '', array ('onSubmit' => "return validar(this)", 'action' => ''));
41 $FORM->renderer->setTable($TABLAFORM);
42 $TABLA = new HTML_Table('width="760" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF"');
43 $IMG1 = new MECON_HTML_Image('../../images/servicios_lupa.gif');
44 $IMG2 = new MECON_HTML_Image('../../images/servicios_mail.gif');
45 $TELECO = new MECON_HTML_Image('../../images/servicios_logo_telecomunicaciones.gif');
46 $LINK_1 = new MECON_HTML_Link('mailto:teleco@mecon.gov.ar', $IMG2);
47 $LINK_2 = new MECON_HTML_Link('mailto:teleco@mecon.gov.ar', 'Consultas', array(), array ('class' => 'servicios_agenda_txt2'));
48 $TABLA_INSTITUCIONAL = new HTML_Table('border="0" width="760" align="left"');
49 $INST = new HTML_Institucional ('/sistemas/intranet/servicios/estatico/institucionales/dto/dto_areas.php',
50 'Institucional de la D. Técnica Operativa',325,550,500);
51 $TABLA_INSTITUCIONAL->addRow(array($INST), 'align="center"');
53 //OBTENGO LOS DATOS DE LAS BASES {{{
54 $EDIFICIOS = Servicios_Agenda::getEdificios($DB);
55 if (PEAR::isError($EDIFICIOS)) {
56 trigger_error('Error: ' . $EDIFICIOS->getMessage() . "\n", E_USER_ERROR);
59 //AGREGO LOS ELEMENTOS AL FORM {{{
60 $header =& $FORM->addElement('header', 'cabecera' , $IMG1->toHtml().'Búsqueda de Internos');
61 $interno =& $FORM->addElement('text' , 'interno' , 'Interno' , array ("size" => '10 , "maxlength" => "4"'));
62 $usuario =& $FORM->addElement('text' , 'nombre' , 'Usuario' , array ("size" => '40'));
63 $codep =& $FORM->addElement('text' , 'codep' , 'Codep' , array ("size" => '40', "maxlength" => "10"));
64 $dependencia =& $FORM->addElement('text' , 'dependencia', 'Dependencia', array ("size" => '40', "value" => "--Ingrese una palabra clave--"));
65 $edificio =& $FORM->addElement('select', 'edificio' , 'Edificio' , $EDIFICIOS, array('size' => '1'));
66 $piso =& $FORM->addElement('text' , 'piso' , 'Piso' , array ("size" => '10', "maxlength" => "5"));
67 $oficina =& $FORM->addElement('text' , 'oficina' , 'Oficina' , array ("size" => '10', "maxlength" => "5"));
70 $grupo[] =& HTML_QuickForm::createElement('radio', 'op1', '', 'interno' , 'interno');
71 $grupo[] =& HTML_QuickForm::createElement('radio', 'op1', '', 'usuario' , 'nombre');
72 $grupo[] =& HTML_QuickForm::createElement('radio', 'op1', '', 'dependencia', 'dependencia');
73 $grupo[] =& HTML_QuickForm::createElement('radio', 'op1', '', 'edificio' , 'edificio');
74 $ordenar =& $FORM->addGroup($grupo, 'Ordenado por', 'Ordenado por', ' ', true);
75 $grupo[1]->setChecked(false);
76 $grupo[2]->setChecked(false);
77 $grupo[3]->setChecked(false);
80 $grupo2[] =& HTML_QuickForm::createElement('submit', 'aceptar' , 'Buscar');
81 $grupo2[] =& HTML_QuickForm::createElement('button', 'cancelar', 'Cancelar', array ('onClick' => 'javascript:window.location =\'../../servicios.php\';return false;'));
82 $botones =& $FORM->addGroup($grupo2, 'botones');
84 //AGREGO LAS REGLAS DE VALIDACION QUE PUEDO AL FORM {{{
85 $FORM->addRule('interno','El interno debe ser numerico','numeric');
88 $MARCO->addStyleSheet($TABLAFORM->getCss()); //Agrego el estilo de la tabla.
89 $MARCO->addStyleSheet(PATH_RAIZ.'css/servicios_agenda.css'); //Agrego los estilos particulares de este servicio.
92 $TABLA->addRow(array($LINK_1->toHtml(), $LINK_2->toHtml(), $TELECO->toHtml()));
93 $TABLA->updateColAttributes(0,'width="24" height="25"');
94 $TABLA->updateColAttributes(1,'width="60" height="25"');
95 $TABLA->updateColAttributes(2,'width="676" align="right" height="25"');
96 $TABLA->addRow(array($FORM), 'colspan="3"');
98 //AGREGO EL JAVASCRIPT DE VALIDACION {{{
99 //Este js esta copiado del epl original, ya que con los campos del formulario
100 //llamados de la misma manera las reglas de validacion ya se cumplen.
102 function validar(theForm)
104 if(theForm.interno.value=="" && theForm.nombre.value=="" && theForm.codep.value=="" && theForm.piso.value=="" && theForm.oficina.value==""
105 && (theForm.dependencia.value=="" || theForm.dependencia.value=='--Ingrese una palabra clave--')
106 && theForm.edificio.options[theForm.edificio.selectedIndex].value=="-")
108 alert('Indique una opción de búsqueda');theForm.interno.focus();return(false);
111 if(theForm.interno.value=="" && theForm.nombre.value=="" && theForm.codep.value=="" && theForm.piso.value=="" && theForm.oficina.value==""
112 && (theForm.dependencia.value=="" || theForm.dependencia.value=='--Ingrese una palabra clave--')
113 && theForm.edificio.options[theForm.edificio.selectedIndex].value!="-")
115 alert('Indique un párametro adicional para la búsqueda');theForm.edificio.focus();return(false);
118 if(theForm.interno.value=="" && theForm.nombre.value=="" && theForm.codep.value=="" && theForm.piso.value!="" && theForm.oficina.value==""
119 && (theForm.dependencia.value=="" || theForm.dependencia.value=='--Ingrese una palabra clave--')
120 && theForm.edificio.options[theForm.edificio.selectedIndex].value=="-")
122 alert('Indique el edificio');theForm.edificio.focus();return(false);
125 if (theForm.dependencia.value=="" || theForm.dependencia.value=='--Ingrese una palabra clave--')
126 {theForm.dependencia.value='-';}
131 $MARCO->addScriptDeclaration($JS);
133 //MUESTRO LA INFO {{{
134 //$MARCO->addTitle('Agenda Telefonica');
135 $MARCO->addBodyContent($TABLA);
136 $MARCO->addBodyContent('<br>');
137 $MARCO->addBodyContent($TABLA_INSTITUCIONAL);
138 $MARCO->addStyleSheet($INST->getCSS());