+<?php
+/*-----------------------------------------------------------------------------
+Intranet del Ministerio de Economía
+Consulta del CODEP
+-------------------------------------------------------------------------------
+Myrna Degano <mdegan@mecon.gov.ar>
+------------------------------------------------------------------------------*/
+
+require_once 'MECON/Dependencia.php';
+require_once 'HTML/Table.php';
+require_once 'MECON/HTML/Tabla.php';
+require_once '../../../local_lib/HTML_DietMarco.php';
+require_once 'MECON/HTML/QuickFormSimple.php';
+require_once 'MECON/HTML/Image.php';
+require_once 'MECON/HTML/Link.php';
+require_once 'DB.php';
+
+//Conexión a la BD
+$dbh = DB::connect("mysql://intranet:intranet@intranet-db/CODEP", true);
+if (DB::isError($dbh)) {
+ die ($dbh->getMessage());
+}
+
+
+//Imágenes
+$IMG_Ayuda =& new MECON_HTML_Image('../../images/servicios_ayuda.gif', 'Ayuda');
+$IMG_Lupa =& new MECON_HTML_Image('../../images/servicios_lupa.gif', 'Buscar');
+$IMG_Zip =& new MECON_HTML_Image('../../images/servicios_zip.gif', 'Download');
+$IMG_Viñeta =& new MECON_HTML_Image('../../images/servicios_flecha_naranja.gif', '*');
+
+
+//Links
+$LINK_Ayuda =& new MECON_HTML_Link('', 'Ayuda', array(),
+ array('onClick'=>'window.open(\'ayuda.htm\',\'ayuda\',\'width=675,height=420,scrollbars=yes\');return(false);'));
+$LINK_Buscar =& new MECON_HTML_Link('./codep_nombre.php', 'Búsqueda por palabra clave');
+$LINK_Download =& new MECON_HTML_Link('../downloads/codep.zip', 'Obtener codificador de dependencias');
+
+
+//Elementos del Formulario
+$FORM =& new MECON_HTML_QuickFormSimple ('form', 'post', './codep_codigo.php', '', 'onSubmit="return validar(this)"');
+
+$input_codep =& $FORM->addElement ('text', 'codep', 'codep', array('size' => '20', 'maxlength'=>'10'));
+
+$group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Aceptar');
+$group[] = HTML_QuickForm::createElement('reset', 'cancelar' , 'Cancelar');
+$botones =& $FORM->addGroup($group,'botones');
+
+
+//Función para validar el formulario
+$script =
+<<<EOT
+ function validar (theForm){
+ regex = /^[a-zA-Z0-9]+$/;
+ codep = theForm.codep.value;
+ if (codep == ''){
+ alert ('Complete el formulario');
+ return false;
+ }
+ if (codep != ''){
+ if (codep.length < 3){
+ alert ('El código de dependencia no es válido');
+ return false;
+ }
+ if (codep.length == 10 && !regex.test(codep)){
+ alert ('El código de dependencia no es válido');
+ return false;
+ }
+ if (codep.length < 10 && codep.substr(codep.length-1) != '*'){
+ alert ('El código de dependencia no es válido');
+ return false;
+ }
+ if (codep.length < 10 && codep.substr(codep.length-1) == '*' && !regex.test(codep.substr(0, codep.length-1))){
+ alert ('El código de dependencia no es válido');
+ return false;
+ }
+ }
+ return true;
+ }
+EOT;
+
+//Fecha de actualización
+$file = fopen('fecha.txt', 'r');
+$fecha_act = fgets($file);
+fclose($file);
+
+//Marco de servicios en intranet
+$MARCO = new HTML_DietMarco('servicios', 'Servicios');
+$MARCO->addStyleSheet('../../css/servicios_codep.css');
+$MARCO->addScriptDeclaration($script);
+
+
+//Tablas
+$TABLA_Encabezado =& new HTML_Table (array( 'width'=>'760',
+ 'cellpadding'=>'0',
+ 'cellspacing'=>'0',
+ 'border'=>'0'));
+$TABLA_Encabezado->addRow(array($IMG_Ayuda->toHtml(), $LINK_Ayuda->toHtml(), 'Última actualización: '.$fecha_act),
+ array('width'=>'24', 'align'=>'left', 'valign'=>'middle'));
+$TABLA_Encabezado->updateCellAttributes(0, 1, array('width'=>'60',
+ 'align'=>'left',
+ 'class'=>'txt2'));
+$TABLA_Encabezado->updateCellAttributes(0, 2, array('width'=>'676',
+ 'align'=>'right',
+ 'class'=>'txt_derecha'));
+
+
+$TABLA_Form =& new MECON_HTML_Tabla ('width="500" align="center"', 'claro');
+$TABLA_Form->addRow(array($IMG_Lupa->toHtml().' Búsqueda por código de dependencia'),
+ 'cabecera');
+$TABLA_Form->addRow(array($input_codep->toHtml()), 'comun align="center"');
+$TABLA_Form->addRow(array($botones->toHtml()), 'comun align="center"');
+
+
+$TABLA_Pie =& new HTML_Table (array( 'width'=>'760',
+ 'cellpadding'=>'0',
+ 'cellspacing'=>'0',
+ 'border'=>'0'));
+$TABLA_Pie->addRow(array($IMG_Lupa->toHtml().$LINK_Buscar->toHtml()),
+ array('class'=>'txt1'));
+$TABLA_Pie->addRow(array($IMG_Zip->toHtml().$LINK_Download->toHtml()),
+ array('class'=>'txt1'));
+
+
+if (isset($_POST['codep'])){
+ //Resultado de la Búsqueda
+ $resultado = MECON_Dependencia::buscarPorCodigo($dbh, $_POST['codep']);
+
+ if ($resultado->numRows()>0){
+ //Mostrar resultados
+ $TABLA_Resultados =& new MECON_HTML_Tabla ('width="500" align="center"', 'medio');
+ $TABLA_Resultados->addRow(array($IMG_Viñeta->toHtml().'Resultados de la búsqueda por código de dependencia'),
+ array('cabecera'=>'1', 'colspan'=>'3'));
+ $TABLA_Resultados->addRow(array('CODEP', 'COMDOC', 'Dependencia'),
+ array('titulo'=>'1', 'height'=>'25'));
+
+ while ($resultado->fetchInto($row)){
+ $TABLA_Resultados->addRow(array($row['codigo_actual'],
+ $row['codigo_comdoc'],
+ $row['nombre']),
+ 'comun');
+ }
+ }
+ else{
+ //Mensaje de error
+ $TABLA_Resultados =& new HTML_Table(array('width'=>'500', 'align'=>'center', 'border'=>'0'));
+ $TABLA_Resultados->addRow(array('La búsqueda no produjo aciertos'),
+ array('align'=>'center', 'class'=>'txt_naranja'));
+ }
+}
+
+//Contenido de la página
+$MARCO->addTitle('Codificador de Dependencias');
+
+$MARCO->addBodyContent($TABLA_Encabezado);
+
+$MARCO->addBodyContent($FORM->getBegin());
+$MARCO->addBodyContent($TABLA_Form);
+$MARCO->addBodyContent($FORM->getEnd());
+
+if (isset($_POST['codep'])){
+ //Mostrar los resultados
+ $MARCO->addBodyContent('<br>');
+ $MARCO->addBodyContent($TABLA_Resultados);
+ $MARCO->addBodyContent('<br>');
+}
+
+$MARCO->addBodyContent($TABLA_Pie);
+
+$MARCO->display();
+?>