Example #1
0
 /**
  * Displays a particular model.
  * @param integer $id the ID of the model to be displayed
  */
 public function actionView($id)
 {
     $pagina = Pagina::model()->cargarPagina($id);
     if (lcfirst($pagina['partial']) == 'carpeta') {
         $ca = Carpeta::model()->with('carpetas', 'archivos', 'url')->findAllByAttributes(array('pagina_id' => $id, 'item_id' => 0));
         $contenido = $this->renderPartial('_carpeta', array('contenido' => $pagina, 'carpeta' => $ca, 'model' => $pagina['pagina']), true);
     } else {
         if ($pagina['pagina']->tipo_pagina_id == 8) {
             $fi = new CActiveDataProvider('FiltroItem', array('criteria' => array('condition' => 'pg_filtro_id=' . $pagina['contenido']->id), 'pagination' => array('pageSize' => 50)));
             $pagina['contenido']['filtroItems'] = $fi;
         }
         if ($pagina['pagina']->tipo_pagina_id == 10) {
             $bloques = new Bloque('search');
             $bloques->pg_bloques_id = $pagina['contenido']->id;
             if (isset($_GET['Bloque'])) {
                 $bloques->attributes = $_GET['Bloque'];
             }
             $pagina['contenido']['bloques'] = $bloques;
         }
         if ($pagina['pagina']->tipo_pagina_id == 12) {
             $eventos = new CActiveDataProvider('Evento', array('criteria' => array('condition' => 'pg_eventos_id=' . $pagina['contenido']->id), 'pagination' => array('pageSize' => 50)));
             $pagina['contenido']['eventos'] = $eventos;
         }
         if (is_readable($this->getViewPath() . '/_' . lcfirst($pagina['partial']) . '.php')) {
             $contenido = $this->renderPartial('_' . lcfirst($pagina['partial']), array('contenido' => $pagina), true);
         } else {
             $contenido = '';
         }
     }
     $this->render('ver', array('model' => $pagina['pagina'], 'contenido' => $contenido));
 }
Example #2
0
 public function actionDelete()
 {
     if (!Yii::app()->request->isAjaxRequest || !isset($_POST['id'])) {
         throw new CHttpException(404, 'No se encontró la página solicitada');
     }
     $carpeta = Carpeta::model()->findByPk($_POST['id']);
     if (!$carpeta->delete()) {
         $json = array('error' => '1');
         echo json_encode($json);
         Yii::app()->end();
     }
 }
Example #3
0
 public function actionArchivo()
 {
     if (!$_GET['hash']) {
         throw new CHttpException(404, 'No se encontró la página solicitada');
     }
     $hash = $_GET['hash'];
     $url = Url::model()->findByAttributes(array('slug' => $hash));
     $params = array();
     if ($url->tipo_id == 10) {
         $c = Carpeta::model()->findByAttributes(array('url_id' => $url->id));
         if ($c) {
             $params['carpeta_id'] = $c->id;
             $w = ' carpeta_id = ' . $c->id . ' AND ';
         }
     } else {
         if ($url->tipo_id == 11) {
             $params['url_id'] = $url->id;
             $w = ' url_id = ' . $url->id . ' AND ';
         }
     }
     $json = '';
     $dependencia = new CDbCacheDependency("SELECT GREATEST(MAX(creado), MAX(modificado)) FROM archivo WHERE estado <> 0");
     $a = Archivo::model()->findAllByAttributes($params, array('order' => 'nombre ASC'));
     if ($a) {
         $json .= '[';
         foreach ($a as $archivo) {
             $json .= '{';
             $json .= '"id":"' . CHtml::encode($archivo->id) . '",';
             $json .= '"url":"' . CHtml::encode($archivo->url->slug) . '",';
             $json .= '"tipo_archivo":"' . $archivo->tipoArchivo->nombre . '",';
             //$json .= '"carpeta":"'.CHtml::encode($archivo->carpeta->ruta).'",';
             $json .= '"carpeta":';
             $json .= '{';
             $json .= '"ruta":"' . CHtml::encode($archivo->carpeta->ruta) . '",';
             $json .= '"url":"' . CHtml::encode($archivo->carpeta->url->slug) . '"';
             $json .= '},';
             $json .= '"nombre":"' . CHtml::encode($archivo->nombre) . '",';
             $json .= '"archivo":"' . $archivo->archivo . '"';
             $json .= '},';
         }
         $json = substr($json, 0, -1);
         $json .= ']';
     }
     $this->_sendResponse(200, $json, 'application/json');
     Yii::app()->end();
 }
Example #4
0
 protected function afterSave()
 {
     $parent = Carpeta::model()->findByPk($this->item_id);
     if (!$this->isNewRecord) {
         if (isset($this->oldAttributes['carpeta']) && $this->carpeta != $this->oldAttributes['carpeta'] || isset($this->oldAttributes['ruta']) && $this->ruta != $this->oldAttributes['ruta']) {
             $url = Url::model()->findByPk($this->url_id);
             $slug = $parent->url->slug . '/' . $this->slugger($this->carpeta);
             $slug = $this->verificarSlug($slug);
             $url->slug = $slug;
             $url->save();
             if ($this->oldAttributes['hijos'] === 1) {
                 $hijos = Carpeta::model()->findAllByAttributes(array('item_id' => $this->id));
                 foreach ($hijos as $h) {
                     $h->ruta = $this->ruta . '/' . $this->slugger($h->carpeta);
                     $h->save();
                 }
             }
         }
     } else {
         $parent->hijos = 1;
         $parent->save();
     }
     parent::afterSave();
 }