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
5
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