Exemplo n.º 1
0
 /**
  * Listado de articulos
  * @param int $id opcional
  * @return array
  */
 public function detalle($id)
 {
     $parametros = array();
     $criteria = new CDbCriteria();
     $criteria->with = array('ELPROPIETARIO.MIPERFIL', 'ELPROPIETARIO' => array("select" => "id,username,email,profile", "together" => false), 'LAGALERIA', 'LACATEGORIA', 'LAMONEDA');
     //detalle articulo
     if (!empty($id) && is_int($id)) {
         $criteria->condition = 't.id = :id';
         $parametros[':id'] = $id;
     }
     $criteria->params = $parametros;
     $model = Articulos::model()->find($criteria);
     $model->megusta = !empty($model->megusta) ? $model->megusta : 0;
     $model->precio = $model->getValor();
     $model->categoria = $model->LACATEGORIA->attributes;
     $model->moneda = $model->LAMONEDA->attributes;
     $model->categoria = $model->LACATEGORIA->attributes;
     $model->galeria = array("fotos" => !empty($model->LAGALERIA->imagen) ? ImagenHelper::obtenerFotosArticulo($model->LAGALERIA->imagen) : array(ImagenHelper::imagenArticuloPorDefecto()));
     $listado = array("propietario" => array("id" => $model->ELPROPIETARIO->id, "id_perfil" => !empty($model->ELPROPIETARIO->MIPERFIL->id) ? $model->ELPROPIETARIO->MIPERFIL->id : 0, "usuario" => $model->ELPROPIETARIO->username, "nombre" => $model->ELPROPIETARIO->MIPERFIL->nombre, "megusta" => !empty($model->ELPROPIETARIO->MIPERFIL->megusta) ? $model->ELPROPIETARIO->MIPERFIL->megusta : 0, "correo" => $model->ELPROPIETARIO->email, "estado" => $model->ELPROPIETARIO->MIPERFIL->estado, "imagen" => !empty($model->ELPROPIETARIO->MIPERFIL->image) ? ImagenHelper::obtenerFotoUsuario($model->ELPROPIETARIO->MIPERFIL->image) : ImagenHelper::imagenUsuarioPorDefecto(), "ubicacion" => $model->ELPROPIETARIO->MIPERFIL->ubicacion));
     return array_merge($model->attributes, $listado);
 }
 /**
  * Returns the data model based on the primary key given in the GET variable.
  * If the data model is not found, an HTTP exception will be raised.
  * @param integer $id the ID of the model to be loaded
  * @return Articulos the loaded model
  * @throws CHttpException
  */
 public function loadModel($id)
 {
     $model = Articulos::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }
Exemplo n.º 3
0
 /**
  * Guarda me gusta de un articulo
  * @param $id_articulo
  * @param $dispositivo
  * @return bool|int|mixed
  */
 public static function guardarMeGusta($id_articulo, $dispositivo)
 {
     $resultado = false;
     if (empty($id_articulo) || empty($dispositivo)) {
         return $resultado;
     }
     $megustatotal = Articulos::model()->findByPk($id_articulo);
     $condicion = 'id_articulo = :articulo and tipo_interaccion = :tipo and id_dispositivo = :dispositivo';
     $parametros = array(":articulo" => $id_articulo, ":dispositivo" => $dispositivo, ":tipo" => self::MEGUSTA);
     $existe = Interacciones::model()->exists($condicion, $parametros);
     if (!$existe) {
         $transaction = Yii::app()->db->beginTransaction();
         try {
             $modelInteraccion = new Interacciones();
             $modelInteraccion->id_articulo = $id_articulo;
             $modelInteraccion->id_dispositivo = $dispositivo;
             $modelInteraccion->tipo_interaccion = self::MEGUSTA;
             if ($modelInteraccion->validate() && $modelInteraccion->save()) {
                 $articulocreado = Articulos::model()->findByPk($id_articulo);
                 $articulocreado->megusta = $articulocreado->megusta + 1;
                 $articulocreado->update(array('megusta'));
                 $transaction->commit();
                 $resultado = $articulocreado->megusta;
             }
         } catch (Exception $e) {
             $transaction->rollback();
             $resultado = $megustatotal->megusta;
             Yii::log("Error occurred while saving (update scenario) artist or its 'songs'. Rolling back... . Failure reason as reported in exception: " . $e->getMessage(), CLogger::LEVEL_ERROR, __METHOD__);
         }
     }
     return $resultado;
 }
Exemplo n.º 4
0
 /**
  * Crea Articulo
  * @param objecto $articulo
  * @return array
  */
 public static function crearArticulo($articulo)
 {
     $respuesta = array('registro' => 0);
     if (empty($articulo)) {
         return $respuesta;
     }
     $transaction = Yii::app()->db->beginTransaction();
     try {
         $model = new Articulos();
         $model->nombre = $articulo->nombre;
         $model->descripcion = $articulo->descripcion;
         $model->precio = $articulo->precio;
         $model->moneda = self::vacio($articulo->moneda) ? 1 : $articulo->moneda;
         $model->estado = self::vacio($articulo->estado) ? Articulos::ES_NUEVO : $articulo->estado;
         $model->ubicacion = $articulo->ubicacion;
         $model->propietario = $articulo->propietario;
         $model->vistas = $articulo->vistas;
         $model->intercambio = self::vacio($articulo->intercambio) ? Articulos::NO : $articulo->intercambio;
         $model->negociable = self::vacio($articulo->negociable) ? Articulos::NO : $articulo->negociable;
         $model->envios = self::vacio($articulo->envios) ? Articulos::NO : $articulo->envios;
         $model->categoria = $articulo->categoria;
         if ($model->validate() && $model->save()) {
             //guardar imagen
             if (!self::vacio($articulo->galeria)) {
                 $modelGaleria = new Galerias();
                 $modelGaleria->articulo = $model->id;
                 $modelGaleria->tipo = ImagenHelper::TIPO_PNG;
                 $modelGaleria->imagen = ImagenHelper::guardarImagenesArticulo($model->id, $model->propietario, $articulo->galeria);
                 if ($modelGaleria->save()) {
                     $transaction->commit();
                     $articulocreado = Articulos::model()->findByPk($model->id);
                     $articulocreado->galeria = $modelGaleria->id;
                     $articulocreado->update(array('galeria'));
                 }
             } else {
                 $transaction->commit();
             }
             $respuesta = array('registro' => 1);
             return $respuesta;
         }
     } catch (Exception $e) {
         $transaction->rollback();
         Yii::log("Error occurred while saving (update scenario) artist or its 'songs'. Rolling back... . Failure reason as reported in exception: " . $e->getMessage(), CLogger::LEVEL_ERROR, __METHOD__);
     }
     $respuesta['mensaje'] = $model->getErrors();
     return $respuesta;
 }