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