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