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
10 months ago
8.3 kB
3
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