Example #1
0
 public function activationAction($ref, $refId)
 {
     if (null !== ($response = $this->checkAuth([], ['comment'], AccessManager::UPDATE))) {
         return $response;
     }
     $message = ["success" => false];
     $status = $this->getRequest()->request->get('status');
     switch ($status) {
         case "0":
         case "1":
             MetaDataQuery::setVal(\Comment\Model\Comment::META_KEY_ACTIVATED, $ref, $refId, $status);
             $message['success'] = true;
             break;
         case "-1":
             $deleted = MetaDataQuery::create()->filterByMetaKey(\Comment\Model\Comment::META_KEY_ACTIVATED)->filterByElementKey($ref)->filterByElementId($refId)->delete();
             if ($deleted === 1) {
                 $message['success'] = true;
             }
             break;
     }
     $message['status'] = MetaDataQuery::getVal(\Comment\Model\Comment::META_KEY_ACTIVATED, $ref, $refId, "-1");
     return $this->jsonResponse(json_encode($message));
 }
Example #2
0
 public static function setExtraOrderData($id, $data, $isCart = true)
 {
     if ($isCart) {
         MetaDataQuery::setVal(self::METADATA_KEY_ORDER, self::METADATA_CART_KEY, $id, $data);
     } else {
         MetaDataQuery::setVal(self::METADATA_KEY_ORDER, MetaData::ORDER_KEY, $id, $data);
     }
 }
Example #3
0
 public function productRatingCompute(CommentComputeRatingEvent $event)
 {
     if ('product' === $event->getRef()) {
         $product = ProductQuery::create()->findPk($event->getRefId());
         if (null !== $product) {
             $query = CommentQuery::create()->filterByRef('product')->filterByRefId($product->getId())->filterByStatus(Comment::ACCEPTED)->withColumn("AVG(RATING)", 'AVG_RATING')->select('AVG_RATING');
             $rating = $query->findOne();
             if (null !== $rating) {
                 $rating = round($rating, 2);
                 $event->setRating($rating);
                 MetaDataQuery::setVal(Comment::META_KEY_RATING, MetaData::PRODUCT_KEY, $product->getId(), $rating);
             }
         }
     }
 }