/** * Displays a particular model. * @param integer $id the ID of the model to be displayed */ public function actionView($id) { if (isset($_POST['asignar_menu'])) { $this->asignar_menu($id, $_POST['Micrositio']['menu_id']); } $model = Micrositio::model()->with('url', 'pagina', 'menu')->findByPk($id); $contenido = PgBloques::model()->findByAttributes(array('pagina_id' => $model->pagina->id)); /*$fechas = new CActiveDataProvider( 'FechaEspecial', array( 'criteria'=>array( 'condition'=>'pg_especial_id = '.$contenido->id ), 'pagination'=>array( 'pageSize'=>25, )) );*/ /*$bloques = new CActiveDataProvider( 'Bloque', array( 'criteria'=>array( 'condition'=>'pg_bloques_id = '.$contenido->id )) );/**/ $videos = new CActiveDataProvider('AlbumVideo', array('criteria' => array('condition' => 'micrositio_id = ' . $id, 'with' => array('videos', 'url')))); $fotos = new CActiveDataProvider('AlbumFoto', array('criteria' => array('condition' => 'micrositio_id = ' . $id, 'with' => array('fotos', 'url')))); $generos = new CActiveDataProvider('MicrositioXGenero', array('criteria' => array('condition' => 'micrositio_id = ' . $id, 'with' => array('genero')))); $relacionados = new CActiveDataProvider('MicrositioXRelacionado', array('criteria' => array('condition' => 'micrositio_id = ' . $id, 'order' => 'orden ASC', 'with' => array('micrositio')))); $paginas = new Pagina('search'); $paginas->micrositio_id = $id; if (isset($_GET['Pagina'])) { $paginas->attributes = $_GET['Pagina']; } if ($model->menu) { $menu = new CActiveDataProvider('MenuItem', array('criteria' => array('condition' => 'menu_id=' . $model->menu->id, 'with' => array('urlx')))); } else { $menu = false; } $this->render('ver', array('model' => $model, 'videos' => $videos, 'fotos' => $fotos, 'generos' => $generos, 'relacionados' => $relacionados, 'paginas' => $paginas, 'menu' => $menu)); }
public function guardar() { $dir = $this->imageRoute; $image_base = Yii::getPathOfAlias('webroot') . '/images/'; if ($this->validate()) { if (isset($this->id)) { //Actualizando $micrositio = Micrositio::model()->findByPk($this->id); } else { //Nuevo registro $micrositio = new Micrositio(); } $transaccion = $micrositio->dbConnection->beginTransaction(); $micrositio->seccion_id = 3; //Especiales $micrositio->nombre = $this->nombre; if ($this->imagen != $micrositio->background) { if (file_exists($image_base . $micrositio->background)) { @unlink($image_base . $micrositio->background); } $micrositio->background = $dir . $this->imagen; } if ($this->imagen_mobile != $micrositio->background_mobile) { if (file_exists($image_base . $micrositio->background_mobile)) { @unlink($image_base . $micrositio->background_mobile); } $micrositio->background_mobile = $dir . $this->imagen_mobile; } if ($this->miniatura != $micrositio->miniatura) { if (file_exists($image_base . $micrositio->miniatura)) { @unlink($image_base . $micrositio->miniatura); } $micrositio->miniatura = $dir . $this->miniatura; } $micrositio->destacado = $this->destacado; $micrositio->estado = $this->estado; if (!$micrositio->save(false)) { $transaccion->rollback(); } $micrositio_id = $micrositio->getPrimaryKey(); if (isset($this->id)) { $pagina = Pagina::model()->findByAttributes(array('micrositio_id' => $micrositio_id)); } else { $pagina = new Pagina(); $pagina->micrositio_id = $micrositio_id; $pagina->tipo_pagina_id = 10; //Página bloques } $pagina->nombre = $this->nombre; $pagina->meta_descripcion = $this->meta_descripcion; $pagina->clase = NULL; $pagina->destacado = $this->destacado; $pagina->estado = $this->estado == 2 ? 1 : $this->estado; if (!$pagina->save(false)) { $transaccion->rollback(); } $pagina_id = $pagina->getPrimaryKey(); if (isset($this->id)) { //Actualizando $pgB = PgBloques::model()->findByAttributes(array('pagina_id' => $pagina_id)); } else { if (!$micrositio->asignar_pagina($pagina)) { $transaccion->rollback(); } $pgB = new PgBloques(); $pgB->pagina_id = $pagina_id; } $pgB->estado = $this->estado; if (!$pgB->save(false)) { $transaccion->rollback(); return false; } else { $transaccion->commit(); $this->id = $micrositio_id; return true; } } else { return false; } }
</div> </div> </div> </div><!-- ./col-sm-8 --> <div class="col-sm-4"> <div class="box box-primary"> <div class="box-header"> <h3 class="box-title">Opciones</h3> </div> <div class="box-body"> <div class="form-group"> <?php echo $form->label($model, 'pg_bloques_id'); ?> <?php echo $form->dropDownList($model, 'pg_bloques_id', CHtml::listData(PgBloques::model()->findAll('id = ' . $model->pg_bloques_id), 'id', 'pagina.nombre'), array('class' => 'form-control', 'required' => true)); ?> <?php echo $form->error($model, 'pg_bloques_id'); ?> </div> <div class="form-group"> <?php echo $form->label($model, 'columnas'); ?> <div class="input-group"> <span class="input-group-addon"><i class="fa fa-columns"></i></span> <?php echo $form->numberField($model, 'columnas', array('min' => 1, 'max' => 12, 'step' => 1, 'class' => 'form-control', 'required' => true)); ?> </div>
/** * Updates a particular model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id the ID of the model to be updated */ public function actionCrear($id) { $bloque = new Bloque(); if (isset($_POST['Bloque'])) { $bloque->attributes = $_POST['Bloque']; if ($bloque->save()) { Yii::app()->user->setFlash('success', 'Bloque ' . $bloque->titulo . ' guardado con éxito'); $this->redirect($_POST['returnUrl'] ? $_POST['returnUrl'] : $this->createUrl('pagina/view', array('id' => $bloque->pgBloques->pagina_id))); } } //if(isset($_POST['Bloque'])) $pgBloques = $id ? PgBloques::model()->with('pagina')->findByPk($id)->id : 0; $bloque->pg_bloques_id = $pgBloques; $this->render('crear', array('model' => $bloque)); }
/** * Updates a particular model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id the ID of the model to be updated */ public function actionUpdate($id) { if (!isset(Yii::app()->session['dirpa'])) { Yii::app()->session['dirpa'] = 'backgrounds/paginas/' . date('Y') . '/' . date('m') . '/'; } $datos = Pagina::model()->cargarPagina($id); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); $contenido = $datos['contenido']; if (isset($_POST['Pagina'])) { $m = Micrositio::model()->with('seccion')->findByPk($datos['pagina']->micrositio_id); if (isset(Yii::app()->session['dirpa'])) { $dirpa = Yii::app()->session['dirpa']; } $datos['pagina']->nombre = $_POST['Pagina']['nombre']; $datos['pagina']->meta_descripcion = $_POST['Pagina']['meta_descripcion']; if ($_POST['Pagina']['background'] != $datos['pagina']->background) { @unlink(Yii::getPathOfAlias('webroot') . '/images/' . $datos['pagina']->background); $datos['pagina']->background = $_POST['Pagina']['background'] != '' ? $dirpa . $_POST['Pagina']['background'] : NULL; } if ($_POST['Pagina']['background_mobile'] != $datos['pagina']->background_mobile) { @unlink(Yii::getPathOfAlias('webroot') . '/images/' . $datos['pagina']->background_mobile); $datos['pagina']->background_mobile = $_POST['Pagina']['background_mobile'] != '' ? $dirpa . $_POST['Pagina']['background_mobile'] : NULL; } if ($_POST['Pagina']['miniatura'] != $datos['pagina']->miniatura) { @unlink(Yii::getPathOfAlias('webroot') . '/images/' . $datos['pagina']->miniatura); $datos['pagina']->miniatura = $_POST['Pagina']['miniatura'] != '' ? $dirpa . $_POST['Pagina']['miniatura'] : NULL; } $datos['pagina']->estado = $_POST['Pagina']['estado']; $datos['pagina']->destacado = $_POST['Pagina']['destacado']; //$datos['pagina']->attributes = $_POST['Pagina']; if ($datos['pagina']->save()) { if (isset(Yii::app()->session['dirpa'])) { $dirpa = Yii::app()->session['dirpa']; } if (isset($_POST['PgGenericaSt'])) { $contenido = PgGenericaSt::model()->findByPk($_POST['PgGenericaSt']['id']); $contenido->texto = $_POST['PgGenericaSt']['texto']; } if (isset($_POST['PgArticuloBlog'])) { $contenido = PgArticuloBlog::model()->findByPk($_POST['PgArticuloBlog']['id']); $contenido->posicion = $_POST['PgArticuloBlog']['posicion']; $contenido->entradilla = $_POST['PgArticuloBlog']['entradilla']; $contenido->texto = $_POST['PgArticuloBlog']['texto']; $contenido->enlace = $_POST['PgArticuloBlog']['enlace']; $contenido->comentarios = $_POST['PgArticuloBlog']['comentarios']; } if (isset($_POST['PgDocumental'])) { $contenido = PgDocumental::model()->findByPk($_POST['PgDocumental']['id']); $contenido->titulo = $_POST['PgDocumental']['titulo']; $contenido->duracion = $_POST['PgDocumental']['duracion']; $contenido->anio = $_POST['PgDocumental']['anio']; $contenido->sinopsis = $_POST['PgDocumental']['sinopsis']; } if (isset($_POST['PgFiltro'])) { $contenido = PgFiltro::model()->findByPk($_POST['PgFiltro']['id']); $contenido->descripcion = $_POST['PgFiltro']['descripcion']; } if (isset($_POST['PgBloques'])) { $contenido = PgBloques::model()->findByPk($_POST['PgBloques']['id']); } if (isset($_POST['PgEventos'])) { $contenido = PgEventos::model()->findByPk($_POST['PgEventos']['id']); $contenido->descripcion = $_POST['PgEventos']['descripcion']; } if (isset($_POST['PgBlog'])) { $contenido = PgBlog::model()->findByPk($_POST['PgBlog']['id']); $contenido->ver_fechas = $_POST['PgBlog']['ver_fechas']; } if (isset($_POST['PgFormularioJf'])) { $contenido = PgFormularioJf::model()->findByPk($_POST['PgFormularioJf']['id']); $contenido->formulario_id = $_POST['PgFormularioJf']['formulario_id']; } if (isset($_POST['PgFormulario'])) { $contenido = PgFormulario::model()->findByPk($_POST['PgFormulario']['id']); $contenido->texto = $_POST['PgFormulario']['texto']; } $contenido->estado = $_POST['Pagina']['estado']; if (isset($contenido) && $contenido->save()) { $this->redirect(array('view', 'id' => $datos['pagina']->getPrimaryKey())); } } } $this->render('update', array('model' => $datos['pagina'], 'partial' => $datos['partial'], 'contenido' => $contenido)); }