* @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 */