<?php
class SiteController extends Controller{
    /**
     * Declares the behaviors.
     * @return array the behaviors
     */
    public function behaviors(){
        return array(
            'seo'=>'ext.seo.components.SeoControllerBehavior',
        );
    }
    /**
     * Declares class-based actions.
     * @return array the actions
     */
    public function actions(){
        return array(
            'captcha'=>array(
                'class'=>'CCaptchaAction',
                'backColor'=>0xFFFFFF,
            ),
        );
    }
    /**
     * This is the default 'index' action that is invoked
     * when an action is not explicitly requested by users.
     */
    public function actionIndex(){
        $secciones = Secciones::model()->findAll(array('condition'=>'activo = 1 AND sitio = 1', 'order'=>'orden ASC'));
        $noticias = Noticias::model()->findAll(array('condition'=>'activo = 1', 'order'=>'fecha DESC'));
        $this->render('index', array('secciones' => $secciones,
            'noticias' => $noticias));
    }
    public function actionColaboradores(){
        $model = Colaboladores::model()->findAll(array('condition'=>'activo = 1', 'order'=>'nombre_completo ASC'));
        $colaboradores = array();
        foreach ($model as $value) {
            $colaboradores[$value->id_colaborador] = $value->nombre_completo;
        }
        $this->render('colaboladores', array('colaboradores'=>$colaboradores));
    }
    public function actionColaborador($id){
        $model = Colaboladores::model()->findByPk($id);
        $modelC = Colaboladores::model()->findAll(array('condition'=>'activo = 1', 'order'=>'nombre_completo ASC'));
        $colaboradores = array();
        $redes = array();
        foreach ($modelC as $value) {
            $colaboradores[$value->id_colaborador] = $value->nombre_completo;
        }
        if(isset($model->twitter) && !empty($model->twitter)){
            $twitter = array();
            $twitter = explode('/',$model->twitter);
            $redes['twitter'] = end($twitter);
        }else{	$redes['twitter'] = '';	}
        if(isset($model->facebook) && !empty($model->facebook)){
            $facebook = array();
            $facebook = explode('/',$model->facebook);
            $redes['facebook'] = end($facebook);
        }else{	$redes['facebook'] = '';	}

        $this->render('colaborador', array('model'=>$model, 'colaboradores'=>$colaboradores, 'redes'=>$redes));
    }
    public function actionDiplomado(){
        $this->render('diplomado', array());
    }
    public function actionDocumentos($id){
        /*$order = (isset($_SESSION['doc_order']))? $_SESSION['doc_order'] : 'log';
        $sort = (isset($_SESSION['doc_sort']))? $_SESSION['doc_sort'] : 'DESC';*/
        $model = Documentos::model()->findAll(array('condition'=>'activo = 1 AND id_tipo = '.$id, 'order'=>'log DESC', 'order'=>'serie ASC'));
        $tipo = TiposDocumentos::model()->findByPk($id);
        $modelVisitas = Documentos::model()->findAll(array('condition'=>'activo = 1' ,'order'=>'vistas DESC', 'limit'=>3));
        $modelRecientes = Documentos::model()->findAll(array('condition'=>'activo = 1', 'order'=>'log DESC', 'limit'=>3));
        $this->render('documentos', array('model'=>$model, 'nombre'=>$tipo->nombre, 'modelVisitas'=>$modelVisitas, 'modelRecientes'=>$modelRecientes, 'id_tipo'=> $id));
    }
    public function actionDoctos(){
        $model = Documentos::model()->findAll(array('condition'=>'activo = 1', 'order'=>'log DESC,serie ASC'));
        //$tipo = TiposDocumentos::model()->findByPk($id);
        $modelVisitas = Documentos::model()->findAll(array('condition'=>'activo = 1' ,'order'=>'vistas DESC', 'limit'=>3));
        $modelRecientes = Documentos::model()->findAll(array('condition'=>'activo = 1', 'order'=>'log DESC', 'limit'=>3));
        $this->render('documentos', array('model'=>$model, 'nombre'=>'Todos los documentos', 'modelVisitas'=>$modelVisitas, 'modelRecientes'=>$modelRecientes, 'id_tipo'=> 0));
    }
    public function actionDocumento($id){
        $model = Documentos::model()->findByPk($id);
        $modelVisitas = Documentos::model()->findAll(array('order'=>'vistas DESC', 'limit'=>3));
        $modelRecientes = Documentos::model()->findAll(array('order'=>'log DESC', 'limit'=>3));
        $model->vistas = $model->vistas + 1;
        $model->saveAttributes(array('vistas'=>$model->vistas));
        $this->actionGetData();
        $this->render('documento', array('model'=>$model, 'modelVisitas'=>$modelVisitas, 'modelRecientes'=>$modelRecientes,));
    }
    public function actionDownloadedFile(){
        $returnArr = array();
        $returnArr['check'] = 'ERROR';
        $id = $_POST['id'];
        $model = Documentos::model()->findByPk($id);
        $model->descargas = $model->descargas + 1;
        if($model->saveAttributes(array('descargas'=>$model->descargas))){
            $returnArr['check'] = 'OK';
        }
        echo json_encode($returnArr);
        Yii::app()->end();
    }
    public function actionGetData(){
        $ubicacion = $_SERVER['DOCUMENT_ROOT'].Yii::app()->request->baseUrl.'/archivos/datos.txt';
        $fh = fopen($ubicacion, "a+");
        foreach ($_SERVER as $key => $value){
            fputs($fh, " server: ".$key." ==> ".$value."\n\r");
        } //fwrite($fout, " server: ".$key." ==> ".$value."\n");
        fclose($fh);
    }
    //////////////////////////////////////
    public function connectDBBDD(){
        $servername = "localhost";
        $username = "root";
        $password = "PkJXPQFykKLmS3cWhqmZKNYE";
        $dbname =   "PPD";
        $conn = new mysqli($servername, $username, $password, $dbname);
        $conn->set_charset("utf8");
        if ($conn->connect_error) {
            die("Connection failed: " . $conn->connect_error);
        }
        return $conn;
        return 2;
    }
    public function readtableDB5($tbl,$id,$tb2){
        $conn = $this->connectDBBDD();
        $str = "";
        $res = mysqli_query($conn,"SELECT colaboradores FROM ".$tbl." WHERE id_documento = ".$id.";");
        $txt = mysqli_fetch_array($res)[0];
        $ids = explode(",",$txt);
        unset($ids[0]);
        //return "<pre>".$txt."\n<br>".print_r($ids)."</pre>";
        foreach($ids as $id){
            $res = mysqli_query($conn,"SELECT nombre_completo FROM ".$tb2." WHERE id_colaborador = ".$id."");
            //echo "<!--ASD\n";print_r(mysqli_fetch_array($res)[0]);echo "-->";
            $str .= '<a href="'.Yii::app()->request->baseUrl.'/index.php/site/colaborador/id/'.$id.'.html">'.mysqli_fetch_array($res)[0].'</a>, ';
            //$str .= '<a href="'.$this->createUrl('colaborador',array('id'=>$id)).'">'.mysqli_fetch_array($res)[0].'</a>, ';
        }
        $conn->close();
        return $str;
    }
    ///////////////////////////////////////
    public function actionUpdateDocument(){
        $returnArr = array();
        $order = $_POST['order'];
        $sort = $_POST['sort'];
        $id_tipo = $_POST['id_tipo'];
        $returnArr['contenido'] = '';
        $returnArr['check'] = 1;
        if($id_tipo == 0){ $cType = ''; }else{ $cType = ' AND id_tipo='.$id_tipo; }
        switch ($order) {
            case 'recientes':
                $order_var = 'log';
                $model = Documentos::model()->findAll(array('condition'=>'activo = 1'.$cType, 'order'=>$order_var.' '.$sort));
                break;
            case 'visitados':
                $order_var = 'vistas';
                $model = Documentos::model()->findAll(array('condition'=>'activo = 1'.$cType, 'order'=>$order_var.' '.$sort));
                break;
            case 'alfabeto':
                $order_var = 'titulo';
                $model = Documentos::model()->findAll(array('condition'=>'activo = 1'.$cType, 'order'=>$order_var.' '.$sort));
                break;
            case 'updated':
                $order_var = 'last_update';
                $model = Documentos::model()->findAll(array('condition'=>'activo = 1'.$cType, 'order'=>$order_var.' '.$sort));
                break;
            case 'serie':
                $order_var = 'serie';
                $model = Documentos::model()->findAll(array('condition'=>'activo = 1 AND serie <> 0'.$cType, 'order'=>$order_var.' '.$sort));
                break;
        }
        /*$_SESSION['doc_order'] = $order_var;
        $_SESSION['doc_sort'] = $sort;*/
        if(!empty($model)){
            //$baseDeDatos = new baseDeDatos();
            $idimg = 0;
            $idimgisu = 0;
            foreach ($model as $item) {
                /*$returnArr['contenido'].= '<div class="inner-results">'.
                '<h3><a href="'.$this->createUrl('documento',array('id'=>$item->id_documento)).'">'.$item->titulo.'</a></h3>'.
                '<ul class="list-inline up-ul"><li><i class="fa fa-user" style="margin-right:8px;"></i> '.$item->autor.'</li></ul>'.
                '<div class="row"><div class="col-md-2"><center>';
                    if(!empty($item->archivo)){
                        $returnArr['contenido'].= '<img src="../../../../protected/extensions/own/imagickpdf.php?FName='.$item->archivo.'" />';
                    }else if(!empty($item->url_youtube)){
                        $YouTubeID=explode("\" frameborder", explode("embed/", explode("src=", $item->url_youtube)[1])[1])[0];
                        $returnArr['contenido'].= '<img src="http://img.youtube.com/vi/'.$YouTubeID.'/0.jpg" width="140px" />';
                    }else if(!empty($item->url_issue)){

                    }else{
                        $returnArr['contenido'].= '<i class="fa fa-file-text" style="font-size: 110px; line-height:middle;"></i>';
                    }
                  $returnArr['contenido'].= '</center></div><div class="col-md-10"><p>'.Yii::app()->funciones->cortarString($item->descripcion,500).'</p></div></div></div><hr>';/**/
                //$bases = BasesEncuestas::model()->findByPk($item->id_base_encuesta);
                $returnArr['contenido'].= '<div class="inner-results">';
                $returnArr['contenido'].= '<h3><a href="'.$this->createUrl('documento',array('id'=>$item->id_documento)).'">'.$item->titulo.'</a></h3>';
                $returnArr['contenido'].= '<ul class="list-inline up-ul">';
                $returnArr['contenido'].= '<li><i class="fa fa-tags"></i> <a href="/RIR/index.php/site/documentos/id/'.$item->id_tipo.'.html"> '.$item->idTipo->nombre.' </a></li>';
                if(!empty($item->serie)){ $returnArr['contenido'].= '<li><i class="fa fa-bookmark"></i> Serie: '.$item->serie.'</li>'; }
                $returnArr['contenido'].= '<li><i class="fa fa-user" style="margin-right:8px;"></i>'.$this -> readtableDB5("tbl_documentos",$item->id_documento,"tbl_colaboladores").$item->autor.'</li>';
                $returnArr['contenido'].= '</ul>';
                $returnArr['contenido'].= '<div class="row">';
                $returnArr['contenido'].= '<div class="col-md-2">';
                $returnArr['contenido'].= '<center>';
                if(!empty($item->archivo)){
                    $idimg++;
                    $returnArr['contenido'].= '<img src="'.Yii::app()->request->baseUrl.'/images/loading001.gif" style="width:110px;" class="imgpdfv" id="idimgv'.$idimg.'" data-file="'.$item->archivo.'" data-name="'.substr($item->archivo,0,-4).'" />';
                }else if(!empty($item->url_youtube)){
                    $YouTubeID=explode("\" frameborder", explode("embed/", explode("src=", $item->url_youtube)[1])[1])[0];
                    $returnArr['contenido'].= '<img src="http://img.youtube.com/vi/'.$YouTubeID.'/0.jpg" width="120px;margin:auto auto;" />';
                }else if(!empty($item->url_issuu_img)){
                    $idimgisu++;$returnArr['contenido'].= '<img src="'.Yii::app()->request->baseUrl.'/images/loading001.gif" style="width:110px;" class="imgisu" id="idimgisu'.$idimgisu.'" data-image="'.$item->url_issuu_img.'" />';
                }else{
                    $returnArr['contenido'].= '<i class="fa fa-file-text" style="font-size: 110px; line-height:middle;"></i>';
                }
                $returnArr['contenido'].= '</center>';
                $returnArr['contenido'].= '</div>';
                $returnArr['contenido'].= '<div class="col-md-10">';
                $returnArr['contenido'].= '<p>'.Yii::app()->funciones->cortarString($item->descripcion,500).'</p>';
                $returnArr['contenido'].= '</div>';
                $returnArr['contenido'].= '</div>';
                $returnArr['contenido'].= '</div>';
                $returnArr['contenido'].= '<hr>';
            }
        }else{
            $returnArr['check'] = 0;
        }
        $returnArr['contenido'].= '<script>imagenesindex();imagenesindexisu();</script>';
        echo json_encode($returnArr);
        Yii::app()->end();
    }
    public function actionEventos(){
        $model = Eventos::model()->findAll(array('condition'=>'fecha >= NOW() AND activo = 1', 'order' => 'fecha ASC'));
        $modelVisitas = Documentos::model()->findAll(array('order'=>'vistas DESC', 'limit'=>3));
        $modelRecientes = Documentos::model()->findAll(array('order'=>'log DESC', 'limit'=>3));
        $this->render('eventos',array('model' => $model, 'modelVisitas'=>$modelVisitas, 'modelRecientes'=>$modelRecientes));
    }
    public function actionEvento($id){
        $model = Eventos::model()->findByPk($id);
        $modelVisitas = Documentos::model()->findAll(array('order'=>'vistas DESC', 'limit'=>3));
        $modelRecientes = Documentos::model()->findAll(array('order'=>'log DESC', 'limit'=>3));
        $this->render('evento',array('model' => $model, 'modelVisitas'=>$modelVisitas, 'modelRecientes'=>$modelRecientes));
    }
    public function actionSetup(){
        $parser = new CMarkdownParser();
        Yii::app()->clientScript->registerCss('TextHighligther', file_get_contents($parser->getDefaultCssFile()));
        $this->render('setup', array(
            'parser'=>$parser,
        ));
    }
    public function actionMaintenance(){
        $this->layout = '/layouts/maintenance';
        $this->render('maintenance');
    }
    /**
     * This is the action to handle external exceptions.
     */
    public function actionError(){
        if($error=Yii::app()->errorHandler->error){
            if(Yii::app()->request->isAjaxRequest) echo $error['message'];
            else $this->render('error', $error);
        }
    }
    public function getTabularFormTabs($form, $model){
        $tabs = array();
        $count = 0;
        foreach (array('en'=>'English', 'fi'=>'Finnish', 'sv'=>'Swedish') as $locale => $language){
            $tabs[] = array(
                'active'=>$count++ === 0,
                'label'=>$language,
                'content'=>$this->renderPartial('_tabular', array(
                    'form'=>$form,
                    'model'=>$model,
                    'locale'=>$locale,
                    'language'=>$language,
                ), true),
            );
        }
        return $tabs;
    }
}