* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) */ use PrestaShop\Module\ProductComment\Repository\ProductCommentRepository; class ProductCommentsCommentGradeModuleFrontController extends ModuleFrontController { public function display() { $idProducts = Tools::getValue('id_products'); /* @var ProductCommentRepository $productCommentRepository */ header('Content-Type: application/json'); if (!is_array($idProducts)) { return $this->ajaxRender(null); } $idProducts = array_unique(array_map('intval', $idProducts)); $productCommentRepository = $this->context->controller->getContainer()->get('product_comment_repository'); $productsCommentsNb = $productCommentRepository->getCommentsNumberForProducts($idProducts, Configuration::get('PRODUCT_COMMENTS_MODERATE')); $averageGrade = $productCommentRepository->getAverageGrades($idProducts, Configuration::get('PRODUCT_COMMENTS_MODERATE')); $resultFormated = []; foreach ($idProducts as $i => $id) { $resultFormated[] = [ 'id_product' => $id, 'comments_nb' => $productsCommentsNb[$id], 'average_grade' => $averageGrade[$id], ]; } $this->ajaxRender( json_encode( [ 'products' => $resultFormated, ] ) ); } }