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)); }
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); } }
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); } } } }