Esempio n. 1
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;
 }
Esempio n. 2
0
 /**
  * Me gusta Articulo
  * @param objecto $articulo
  * @return array
  */
 public static function megustaArticulo($articulo)
 {
     $respuesta = array('megusta' => false);
     if (empty($articulo)) {
         return $respuesta;
     }
     //INTERACCION ME GUSTA
     if (!empty($articulo->dispositivo)) {
         $respuesta = Interacciones::guardarMeGusta($articulo->id, $articulo->dispositivo);
     }
     if ($respuesta == false) {
         return array('megusta' => false);
     } else {
         return array('megusta' => $respuesta);
     }
 }