/**
  * 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));
 }
Exemple #2
0
 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;
     }
 }
Exemple #3
0
				</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>
Exemple #4
0
 /**
  * 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));
 }
Exemple #5
0
 /**
  * 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));
 }