* @link https://github.com/setdjod/myci-extension/ * */ // ------------------------------------------------------------------------ if (!function_exists('guardar_log')) { function guardar_log($nombre_archivo = "", $texto = "", $echo = false, $tipo = 1) { $textoTipoLogico = ""; if ($tipo == 1) { $textoTipoLogico = "INFO"; } else if ($tipo == 2) { $textoTipoLogico = "ERROR"; } //CREAMOS EL REGISTRO PARA EL LOG $registro = date('d-m-Y H:i:s') . ' - ' . $textoTipoLogico . " - " . $texto; //FICHERO DE LOG $file_name = APPPATH . 'logs/' . $nombre_archivo . '.txt'; //GUARDAMOS EL REGISTRO EN EL FICHERO DE LOG $f = fopen($file_name, "a"); fwrite($f, $registro . PHP_EOL); fclose($f); //SI ES NECESARIO SE MUESTRA POR PANTALLA if ($echo == true) { //echo $registro . '
'; } return $texto . '
'; } } if (!function_exists("insertBucle")) { function insertBucle($fila_archivo, $nombreTabla, $nombreLog): int { $contador = 1; $conjunto = array(); $CI = &get_instance(); foreach ($fila_archivo as $row) { $conjunto[] = $row; $contador++; if ($contador % 5000 == 0) { guardar_log($nombreLog, count($conjunto)); $CI->db->insert_batch($nombreTabla, $conjunto); $conjunto = array(); } } if (count($conjunto) > 0) { guardar_log($nombreLog, count($conjunto)); $CI->db->insert_batch($nombreTabla, $conjunto); } gc_collect_cycles(); /*$query = $this->db->query($sql); $result = $query->result(); $query->free_result();*/ return count($conjunto); } } if (!function_exists("insertBucleDuplicateOnKey")) { function insertBucleDuplicateOnKey($fila_archivo, $nombreTabla, $nombreLog) { $contador = 1; $conjunto = array(); $CI = &get_instance(); foreach ($fila_archivo as $row) { if ($nombreTabla == "bruto_datos_iniciales" || $nombreTabla == "maestro_datos_iniciales_licitacion") { if (is_array($row)) { guardar_log($nombreLog, "ID_licitacion-" . $row['id_licitacion']); } else { guardar_log($nombreLog, "ID_licitacion-" . $row->id_licitacion); } } $conjunto[] = $row; $contador++; if ($contador % 5000 == 0) { guardar_log($nombreLog, "Insertados - " . count($conjunto)); //$CI->db->insert_batch($nombreTabla, $conjunto); $CI->db->insert_on_duplicate_update_batch($nombreTabla, $conjunto, $nombreLog); $conjunto = array(); } } if (count($conjunto) > 0) { guardar_log($nombreLog, "Insertados - " . count($conjunto)); //$CI->db->insert_batch($nombreTabla, $conjunto); $CI->db->insert_on_duplicate_update_batch($nombreTabla, $conjunto, $nombreLog); } unset($conjunto); gc_collect_cycles(); return $CI->db->insert_id(); } } if (!function_exists(("check_permisos_template"))) { function check_permisos_template($view_file_name, $data_array = array(), $vista_permiso = "home") { $CI = &get_instance(); if ($CI->session->zonas != "") { $CI->load->model("Home_model"); $vistas = $CI->Home_model->getPermisosVistaUsuario($CI->session->tipo_usuario); if ($CI->session->tipo_usuario == 1) { $CI->template_dashboard->load_template($view_file_name, $data_array); } else { if (in_array($vista_permiso, $vistas)) { $CI->template_dashboard->load_template($view_file_name, $data_array); } else { redirect("home"); } } } else { redirect("login", "refresh"); } } } if (!function_exists("pretty_dump")) { function pretty_dump($data) { echo '
' . var_export($data, true) . '
'; } } if (!function_exists("enviarEmail")) { function enviarEmail($asunto, $body, $adjuntos = array(), $print_result = false) { $CI = &get_instance(); $CI->load->model("Parser_model"); $datosEmails = $CI->Parser_model->getDatosEmailEnvio(); if ($datosEmails['num_rows'] > 0) { $userSmtp = $datosEmails['datos']->userSMTP; $passSMTP = $datosEmails['datos']->passSMTP; $emailToSend = $datosEmails['datos']->emailToSend; $hostname = $datosEmails['datos']->hostname; $port = $datosEmails['datos']->port; if (trim($userSmtp) && trim($passSMTP) && trim($emailToSend) && trim($hostname) && trim($port)) { try { $CI = &get_instance(); $CI->load->library('email'); $config['protocol'] = 'mail'; $config['smtp_host'] = $hostname; $config['smtp_user'] = $userSmtp; $config['smtp_pass'] = $passSMTP; $config['smtp_crypto'] = 'ssl'; $config['smtp_port'] = $port; $config['mailtype'] = 'html'; $config['wordwrap'] = 'TRUE'; $config['newline'] = "\r\n"; $config['priority'] = 5; $config['crlf'] = "\r\n"; $CI->email->initialize($config); $CI->email->clear(true); $CI->email->from($userSmtp); $CI->email->to($emailToSend); $CI->email->subject($asunto); $CI->email->message($body); if ($adjuntos) { foreach ($adjuntos as $row) { $CI->email->attach($row); } } if ($print_result) { $CI->email->send(true); $CI->email->print_debugger(); } else { $CI->email->send(true); } } catch (\Throwable $th) { guardar_log("ErrorEnvioEmail_" . date("d-m-Y"), "Se ha producido un error al enviar el email de inicio y/o el excel", false, 2); } } } } } if (!function_exists("eliminarArchivosProcesoCompleto")) { function eliminarArchivosProcesoCompleto($ruta) { $files = glob($ruta . "/format/*"); foreach ($files as $file) { // iterate files if (is_file($file)) { unlink($file); // delete file } } rmdir($ruta . "/format"); rmdir($ruta); } } // ------------------------------------------------------------------------ /* End of file Funciones_helper.php */ /* Location: ./application/helpers/Funciones_helper.php */