------------------------------------------------------------------------------*/
//Lib de 'Pedidos a Infoleg'
require_once 'INFOLEG/Operador.php';
require_once 'INFOLEG/Solicitante.php';
require_once 'INFOLEG/Pedido.php';
require_once 'MECON/HTML/Tabla.php';
require_once 'HTML/Table.php';
require_once '../../../local_lib/HTML_DietMarco.php';
require_once '../../../local_lib/HTML_Mensaje.php';
require_once 'MECON/HTML/QuickFormSimple.php';
require_once 'MECON/HTML/Image.php';
require_once 'DB.php';
if(!isset($_SESSION['documento'])){
header('Location: ../../servicios.php');
exit;
}
//Conexión a la BD
//CAMBIAR POR INTRANET-DB
$dbh = DB::connect("mysql://intranet:intranet@localhost/CDI", true);
if (DB::isError($dbh)) {
die ($dbh->getMessage());
}
//Usuario que realiza el pedido
$nrodoc = $_SESSION['documento'];
$user = $_SESSION['usuario'];
$solicitante =& new INFOLEG_Solicitante($dbh, $nrodoc, $user);
//Imágenes
$IMG_Viñeta =& new MECON_HTML_Image('../../images/servicios_flecha_naranja.gif', '>>');
$IMG_OK =& new MECON_HTML_Image('../../images/servicios_ok.gif', 'ok');
$IMG_Error =& new MECON_HTML_Image('/MECON/images/general_no_autorizado.gif', 'X');
//Marco de servicios en intranet
$MARCO = new HTML_DietMarco('servicios', 'Pedidos a Infoleg');
$MARCO->addTitle('Pedidos a Infoleg');
if (! isset($_POST['pedido'])){
if (! INFOLEG_Operador::oprDisponibleIntranet($dbh)){
//No hay operador disponible para atender el pedido => mensaje de error
$MSG =& new HTML_Mensaje ('error', 'No hay operadores asignados para atender su pedido', 490);
$MARCO->addBodyContent('
');
$MARCO->addBodyContent($MSG);
}
else{
//Datos del solicitante
$datos = $solicitante->obtenerDatos();
//Elementos del Formulario
$FORM =& new MECON_HTML_QuickFormSimple ('form', 'post', './pedido.php', '', 'onSubmit="return validar(this)"');
$nombre = (isset($datos['nombre']))?$datos['nombre']:'';
$input_nombre =& $FORM->addElement ('text', 'nombre', 'nombre',
array('size' => '20', 'maxlength'=>'30', 'value'=>$nombre));
$apellido = (isset($datos['apellido']))?$datos['apellido']:'';
$input_apellido =& $FORM->addElement ('text', 'apellido', 'apellido',
array('size' => '20', 'maxlength'=>'30', 'value'=>$apellido));
$tipodocs = array('CI'=>'CI', 'DU'=>'DNI', 'LC'=>'LC', 'LE'=>'LE', 'PS'=>'PS');
$select_tipodoc =& $FORM->addElement ('select', 'tipodoc', 'tipodoc', $tipodocs);
if (isset($datos['tipodoc'])){
$select_tipodoc->setSelected($datos['tipodoc']);
}
$input_nrodoc =& $FORM->addElement ('hidden', 'nrodoc', 'nrodoc', array('value' => $nrodoc));
$institucion = (isset($datos['institucion']))?$datos['institucion']:'Ministerio de Economía';
$input_institucion =& $FORM->addElement ('text', 'institucion', 'institucion',
array('size' => '20', 'maxlength'=>'50', 'value'=>$institucion));
$domicilio = (isset($datos['domicilio']))?$datos['domicilio']:'';
$input_domicilio =& $FORM->addElement ('text', 'domicilio', 'domicilio',
array('size' => '20', 'maxlength'=>'50', 'value'=>$domicilio));
$piso = (isset($datos['piso']))?$datos['piso']:'';
$input_piso =& $FORM->addElement ('text', 'piso', 'piso',
array('size' => '5', 'maxlength'=>'10', 'value'=>$piso));
$oficina = (isset($datos['oficina']))?$datos['oficina']:'';
$input_oficina =& $FORM->addElement ('text', 'oficina', 'oficina',
array('size' => '5', 'maxlength'=>'10', 'value'=>$oficina));
$interno = (isset($datos['interno']))?$datos['interno']:'';
$input_interno =& $FORM->addElement ('text', 'interno', 'interno',
array('size' => '5', 'maxlength'=>'10', 'value'=>$interno));
$telefono = (isset($datos['telefono']))?$datos['telefono']:'';
$input_telefono =& $FORM->addElement ('text', 'telefono', 'telefono',
array('size' => '10', 'maxlength'=>'20', 'value'=>$telefono));
$fax = (isset($datos['fax']))?$datos['fax']:'';
$input_fax =& $FORM->addElement ('text', 'fax', 'fax',
array('size' => '10', 'maxlength'=>'20', 'value'=>$fax));
$email = (isset($datos['email']))?$datos['email']:'';
$input_email =& $FORM->addElement ('text', 'email', 'email',
array('size' => '20', 'maxlength'=>'50', 'value'=>$email));
$textarea_pedido =& $FORM->addElement ('textarea', 'pedido', 'pedido', array('cols' => '45', 'rows'=>'5', 'wrap'=>'virtual'));
$submit =& $FORM->addElement ('submit', 'Enviar', 'Enviar');
//Función para validar el formulario
$script =
<<addScriptDeclaration($script);
//Tabla Pedido
$TABLA =& new MECON_HTML_Tabla(array('width'=>'600', 'align'=>'center'), 'medio');
$TABLA->addRow( array($IMG_Viñeta->toHtml().'Datos Personales'));
$TABLA->addRow( array('Nombre', $input_nombre->toHtml(), 'Apellido', '', $input_apellido->toHtml()));
$TABLA->addRow( array('Documento', $select_tipodoc->tohtml().' '.$nrodoc.$input_nrodoc->toHtml(), 'Institución', '', $input_institucion->toHtml()));
$TABLA->addRow( array('Domicilio', $input_domicilio->toHtml(), 'Piso', $input_piso->toHtml(), 'Oficina', $input_oficina->toHtml(), 'Interno', $input_interno->toHtml()));
$TABLA->addRow( array('E-mail', $input_email->toHtml(), 'Fax', $input_fax->toHtml(), 'Teléfono', $input_telefono->toHtml()));
$TABLA->addRow( array($IMG_Viñeta->toHtml().'Pedido'));
$TABLA->addRow( array($textarea_pedido->toHtml()));
$TABLA->addRow( array($submit->toHtml()));
$TABLA->setColAttributes(0, 'titulo width="100" align="left"');
$TABLA->setColAttributes(1, 'comun width="200" align="left"');
$TABLA->setColAttributes(2, 'titulo width="50" align="left"');
$TABLA->setColAttributes(3, 'comun width="50" align="left"');
$TABLA->setColAttributes(4, 'titulo width="50" align="left"');
$TABLA->setColAttributes(5, 'comun width="50" align="left"');
$TABLA->setColAttributes(6, 'titulo width="50" align="left"');
$TABLA->setColAttributes(7, 'comun width="50" align="left"');
$TABLA->setCellAttributes(0, 0, 'cabecera colspan="8" align="left"');
$TABLA->setCellAttributes(1, 2, 'colspan="2" titulo align="left"');
$TABLA->setCellAttributes(2, 2, 'colspan="2" titulo align="left"');
$TABLA->setCellAttributes(5, 0, 'cabecera colspan="8" align="left"');
$TABLA->setCellAttributes(6, 0, 'comun colspan="8" align="center"');
$TABLA->setCellAttributes(7, 0, 'comun colspan="8" align="center"');
$TABLA->setCellAttributes(1, 4, 'colspan="4" comun align="left"');
$TABLA->setCellAttributes(2, 4, 'colspan="4" comun align="left"');
$TABLA->setCellAttributes(4, 5, 'colspan="3" comun align="left"');
//Contenido de la página
$MARCO->addBodyContent($FORM->getBegin());
$MARCO->addBodyContent($TABLA);
$MARCO->addBodyContent($FORM->getEnd());
}
}
else{
//Validar los datos enviados por el cliente
if (strlen($_POST['nombre']) == 0 OR
strlen($_POST['apellido']) == 0 OR
strlen($_POST['tipodoc']) == 0 OR
strlen($_POST['nrodoc']) == 0 OR
strlen($_POST['domicilio']) == 0 OR
strlen($_POST['piso']) == 0 OR
strlen($_POST['oficina']) == 0 OR
strlen($_POST['interno']) == 0 OR
strlen($_POST['email']) == 0 OR
strlen($_POST['pedido']) == 0){
//Mensaje de Error
$MSG =& new HTML_Mensaje ('alerta', 'Datos Incorrectos. Intente nuevamente.', 390);
$MARCO->addBodyContent('
');
$MARCO->addBodyContent($MSG);
}
else{
//Validar datos no obligatorios (-)
$_POST['institucion'] = (strlen($_POST['institucion'])==0)?'-':$_POST['institucion'];
$_POST['fax'] = (strlen($_POST['institucion'])==0)?'-':$_POST['fax'];
$_POST['telefono'] = (strlen($_POST['institucion'])==0)?'-':$_POST['telefono'];
//Pedido Formulado
$solicitante->_actualizarDatos($_POST);
$operador_asignado = INFOLEG_Operador::obtenerOprIntranet($dbh);
INFOLEG_Pedido::alta($dbh, $_POST['tipodoc'], $_POST['nrodoc'],
$operador_asignado, $_POST['pedido']);
$MSG =& new HTML_Mensaje ('ok', 'Su pedido ha sido registrado', 300);
$MARCO->addBodyContent('
');
$MARCO->addBodyContent($MSG);
}
}
$MARCO->display();
?>