/** * Gets all the product's user reviews * @param $product_id * @return unknown_type */ function getComments($view, $product_id) { $input = JFactory::getApplication()->input; $html = ''; JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_citruscart/models'); $model = JModelLegacy::getInstance('productcomments', 'CitruscartModel'); $selectsort = $input->getString('default_selectsort', ''); $model->setstate('order', $selectsort); $limitstart = $input->getInt('limitstart', 0); $model->setId($product_id); $model->setstate('limitstart', $limitstart); $model->setstate('filter_product', $product_id); $model->setstate('filter_enabled', '1'); $reviews = $model->getList(); $count = count($reviews); $lyt = $view->getLayout(); $view->setLayout('product_comments'); $view->setModel($model, true); $comments_data = new stdClass(); $comments_data->product_id = $product_id; $comments_data->count = $count; $comments_data->reviews = $reviews; $user_id = JFactory::getUser()->id; $productreview = CitruscartHelperProduct::getUserAndProductIdForReview($product_id, $user_id); $purchase_enable = Citruscart::getInstance()->get('purchase_leave_review_enable', '0'); $login_enable = Citruscart::getInstance()->get('login_review_enable', '0'); $product_review_enable = Citruscart::getInstance()->get('product_review_enable', '0'); $result = 1; if ($product_review_enable == '1') { $review_enable = 1; } else { $review_enable = 0; } if ($login_enable == '1') { if ($user_id) { $order_enable = '1'; if ($purchase_enable == '1') { $orderexist = CitruscartHelperProduct::getOrders($product_id); if (!$orderexist) { $order_enable = '0'; } } if ($order_enable != '1' || !empty($productreview)) { $result = 0; } } else { $result = 0; } } $comments_data->review_enable = $review_enable; $comments_data->result = $result; $comments_data->click = 'index.php?option=com_citruscart&controller=products&view=products&task=addReview'; $comments_data->selectsort = $selectsort; $view->comments_data = $comments_data; $task = $model->getState('task'); $model->setState('task', 'product_comments'); ob_start(); $view->display(null); $html = ob_get_contents(); ob_end_clean(); $model->setState('task', $task); $view->setLayout($lyt); return $html; }