コード例 #1
0
ファイル: PaginaController.php プロジェクト: Telemedellin/tm
 /**
  * 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));
 }
コード例 #2
0
ファイル: NovedadesForm.php プロジェクト: Telemedellin/tm
 public function guardar()
 {
     $dir = $this->imageRoute;
     $image_base = Yii::getPathOfAlias('webroot') . '/images/';
     if ($this->validate()) {
         if (isset($this->id)) {
             //Actualizando
             $pagina = Pagina::model()->findByPk($this->id);
         } else {
             //Nuevo registro
             $pagina = new Pagina();
         }
         $transaccion = $pagina->dbConnection->beginTransaction();
         $pagina->micrositio_id = 2;
         //Novedades
         $pagina->tipo_pagina_id = 3;
         //Novedad
         $pagina->nombre = $this->nombre;
         $pagina->clase = NULL;
         $pagina->estado = $this->estado;
         $pagina->destacado = $this->destacado;
         if ($this->imagen != $pagina->background) {
             if (file_exists($image_base . $pagina->background)) {
                 @unlink($image_base . $pagina->background);
             }
             $pagina->background = $dir . $this->imagen;
         }
         if ($this->imagen_mobile != $pagina->background_mobile) {
             if (file_exists($image_base . $pagina->background_mobile)) {
                 @unlink($image_base . $pagina->background_mobile);
             }
             $pagina->background_mobile = $dir . $this->imagen_mobile;
         }
         if ($this->miniatura != $pagina->miniatura) {
             if (file_exists($image_base . $pagina->miniatura)) {
                 @unlink($image_base . $pagina->miniatura);
             }
             $pagina->miniatura = $dir . $this->miniatura;
         }
         if (!$pagina->save(false)) {
             $transaccion->rollback();
         }
         $pagina_id = $pagina->getPrimaryKey();
         if (isset($this->id)) {
             //Actualizando
             $pgAB = PgArticuloBlog::model()->findByAttributes(array('pagina_id' => $pagina_id));
         } else {
             //Nuevo registro
             $pgAB = new PgArticuloBlog();
         }
         $pgAB->pagina_id = $pagina_id;
         $pgAB->entradilla = $this->entradilla;
         $pgAB->texto = $this->texto;
         $pgAB->enlace = $this->enlace;
         $pgAB->comentarios = $this->comentarios;
         $pgAB->posicion = $this->posicion;
         $pgAB->estado = $this->estado ? 1 : 0;
         if (!$pgAB->save(false)) {
             $transaccion->rollback();
             return false;
         } else {
             $transaccion->commit();
             $this->id = $pagina_id;
             return true;
         }
     } else {
         return false;
     }
 }