Function for Radicado Input with Validation Rules
This snippet defines a function that sets various validation rules for form inputs related to radicado entry, checks against specific conditions, and returns error messages in JSON format if validation fails.unknown
php
a year ago
8.3 kB
4
Indexable
<?php function ingresar_radicado() { $this->form_validation->set_rules('id_personas', 'Persona', 'required|callback_persona_check'); $this->form_validation->set_rules('radicado_asunto', 'Asunto', 'required|min_length[6]'); $this->form_validation->set_rules('id_dependencia', 'Dependencia', 'required|callback_dependencia_check'); $this->form_validation->set_rules('archivo', 'Archivo', 'required'); $this->form_validation->set_rules('url', 'URL del Archivo', 'required|callback_url_check'); if ($this->form_validation->run() == FALSE) { echo json_encode(array(array('request' => FALSE, 'error' => 'validation_error'), $this->form_validation->error_array())); } else { /* VERIFICO EL ARCHIVO */ $nombre = $this->input->post('archivo'); $porciones = explode(".", $nombre); if (end($porciones) != 'pdf') { echo json_encode(array('request' => FALSE, 'error' => 'validation_error', 'archivo' => 'El archivo cargado debe estar en formato PDF')); die; } else { $pdf = file_get_contents($this->input->post('url')); if ($pdf == NULL) { echo json_encode(array('request' => FALSE, 'error' => 'validation_error', 'url' => 'La URL proporcionada no contiene un archivo')); die; } } $tipo_doc = ($this->input->post('id_tipos_documentales') == NULL) ? 101 : $this->input->post('id_tipos_documentales'); $tipo_med = ($this->input->post('id_medio_recepcion') == NULL) ? 4 : $this->input->post('id_medio_recepcion'); $tipo_res = ($this->input->post('id_medio_respuesta') == NULL) ? 2 : $this->input->post('id_medio_respuesta'); $datos = array( 'radicado_fecha' => date('Y-m-d H:i:s'), 'radicado_asunto' => $this->input->post('radicado_asunto'), 'radicado_archivo' => $this->input->post('archivo'), 'radicado_folios' => 1, 'radicado_anexos' => NULL, 'radicado_observaciones' => 'Radicado automáticamente por el sistema', 'id_tipos_documentales' => $tipo_doc, 'id_medio_recepcion' => $tipo_med, 'id_medio_respuesta' => $tipo_res, 'id_usuario_creacion' => 1, 'id_personas' => $this->input->post('id_personas'), 'id_usuario' => NULL, 'id_dependencia_dirige' => NULL, 'radicado_tipo' => 1, 'id_radicado_padre' => NULL, 'radicado_masivo' => 0, 'radicado_privado' => 2, 'radicado_web' => 2, 'radicado_pqrs' => 2, 'radicado_pqrs_texto' => NULL, 'radicado_cuentas' => 2 ); /* VERIFICO SI INGRESO DIRECCION ALTERNATIVA */ if ($this->input->post('id_direcciones') != NULL) { /* VERIFICO QUE LA DIRECCION SI PERTENEZCA A LA PERSONA */ if ($this->Crud_personas_model->check_direcciones($this->input->post('id_personas'), $this->input->post('id_direcciones')) == FALSE) { echo json_encode(array('request' => FALSE, 'error' => 'validation_error', 'id_direcciones' => 'La dirección alternativa no existe')); die; } } $valor = $this->Radicacion_model->obtener_consecutivo(); $dep = $this->Radicacion_model->obtener_codigo_dependencia($this->input->post('id_dependencia')); $codigo = $dep->dependencia_codigo; $dato = date("ymd") . substr($codigo, -3, 3) . '00000'; $dato = $dato + $valor; $datos['id_radicado'] = $dato; $datos['radicado_propietario'] = $dep->id_dependencia; $this->Radicacion_model->guardar_radicado($datos); $txt = "<!DOCTYPE html><html><head><title>403 Forbidden</title></head><body><p>Directory access is forbidden.</p></body></html>"; $direccion = './uploads/radicado/' . date('Y') . '/' . $dato . '/solicitud/'; if (!file_exists($direccion)) { $direccion2 = './uploads/radicado/' . date('Y') . '/' . $dato . '/'; if (!file_exists($direccion2)) { $direccion3 = './uploads/radicado/' . date('Y') . '/'; if (!file_exists($direccion3)) { $folder = mkdir('./uploads/radicado/' . date('Y')); $myfile = fopen('./uploads/radicado/' . date('Y') . "/index.html", "w") or die("Unable to open file!"); fwrite($myfile, $txt); fclose($myfile); } $folder = mkdir('./uploads/radicado/' . date('Y') . '/' . $dato); $folder = mkdir('./uploads/radicado/' . date('Y') . '/' . $dato . '/solicitud/'); $folder = mkdir('./uploads/radicado/' . date('Y') . '/' . $dato . '/adjuntos/'); $myfile = fopen('./uploads/radicado/' . date('Y') . '/' . $dato . "/index.html", "w") or die("Unable to open file!"); fwrite($myfile, $txt); fclose($myfile); $myfile = fopen('./uploads/radicado/' . date('Y') . '/' . $dato . '/solicitud' . "/index.html", "w") or die("Unable to open file!"); fwrite($myfile, $txt); fclose($myfile); $myfile = fopen('./uploads/radicado/' . date('Y') . '/' . $dato . '/adjuntos' . "/index.html", "w") or die("Unable to open file!"); fwrite($myfile, $txt); fclose($myfile); } else { $folder = mkdir('./uploads/radicado/' . date('Y') . '/' . $dato . '/solicitud/'); $folder = mkdir('./uploads/radicado/' . date('Y') . '/' . $dato . '/adjuntos/'); $myfile = fopen('./uploads/radicado/' . date('Y') . '/' . $dato . '/solicitud' . "/index.html", "w") or die("Unable to open file!"); fwrite($myfile, $txt); fclose($myfile); $myfile = fopen('./uploads/radicado/' . date('Y') . '/' . $dato . '/adjuntos' . "/index.html", "w") or die("Unable to open file!"); fwrite($myfile, $txt); fclose($myfile); } } /* CARGO EL ARCHVIO PRINCIPAL */ file_put_contents("$direccion/$nombre", $pdf); /* Creo el codigo de barras */ // $this->barcode($dato, date('Y')); // crear_qr("$dato", './uploads/radicado' . '/' . date('Y') . "/$dato/", $dato . '_qr.png'); /* LE PONGO LA MARCA DE AGUA AL DOCUMENTO */ $file = "./uploads/radicado/" . date('Y') . "/$dato/solicitud/$nombre"; $barcode = $dato . '_qr.png'; $img = "./uploads/radicado/" . date('Y') . "/$dato/$barcode"; $destination = "./uploads/radicado/" . date('Y') . "/$dato/solicitud/"; $numero_paginas = $this->funciones_mpdf->add_watermark($file, $nombre, $img, $destination); /* GUARDO LA DIRECCION ALTERNATIVA */ if ($this->input->post('id_direcciones') != NULL) { $file = array( 'id_radicado' => $dato, 'id_personas' => $this->input->post('id_personas'), 'id_direcciones' => $this->input->post('id_direcciones') ); $this->Radicacion_model->guardar_direccion_alternativa($file); } /* ASIGNO EL RADICADO */ $this->Radicacion_model->ingresar_radicado_asinacion($dato, NULL, $this->input->post('id_dependencia'), 'Asignado automáticamente por el sistema ', 1, $dep->dependencia_nombre); $url_file = site_url("uploads/radicado/" . date('Y') . "/$dato/solicitud/$nombre"); echo json_encode(array('request' => TRUE, 'id_radicado' => $datos['id_radicado'], 'file' => $url_file)); } } ?>
Editor is loading...
Leave a Comment