/** * KsenMartModelProfile::getComments() * * @return */ public function getComments() { $this->onExecuteBefore('getComments'); $query = $this->_db->getQuery(true); $this->_limit = 10; $limitstart = JRequest::getVar('limitstart', 0); $user = JFactory::getUser(); $query->select(' c.id, c.user_id AS user, c.product_id AS product, c.name, c.comment, c.good, c.bad, c.rate, c.date_add, p.id AS p_id, p.title, p.alias, i.filename, i.folder '); $query->from('#__ksenmart_comments AS c'); $query->leftjoin('#__ksenmart_products AS p ON c.product_id = p.id'); $query->leftjoin('#__ksenmart_files AS i ON p.id=i.owner_id'); $query->where('c.published = 1'); $query->where('c.user_id = ' . $user->id); $query->where("c.type = 'review'"); $query->group('c.id'); $this->_db->setQuery($query, $limitstart, $this->_limit); $comments = $this->_db->loadObjectList(); $this->_pagination = new JPagination(count($comments), $limitstart, $this->_limit); foreach ($comments as $comment) { $comment->user = KSUsers::getUser($comment->user); $comment->link = KSMProducts::generateProductLink($comment->p_id, $comment->alias); $comment->product = KSMProducts::getProduct($comment->p_id); $comment->small_img = $comment->product->small_img; } $this->onExecuteAfter('getComments', array(&$comments)); return $comments; }
public function getLinks() { $this->onExecuteBefore('getLinks'); $query = $this->_db->getQuery(true); $query->select('id')->from('#__ksenmart_products')->where('id<' . $this->_id)->order('id DESC'); $this->_db->setQuery($query, 0, 1); $prev_id = $this->_db->loadResult(); if (empty($prev_id)) { $query = $this->_db->getQuery(true); $query->select('max(id)')->from('#__ksenmart_products'); $this->_db->setQuery($query, 0, 1); $prev_id = $this->_db->loadResult(); } $query = $this->_db->getQuery(true); $query->select('id')->from('#__ksenmart_products')->where('id>' . $this->_id)->order('id ASC'); $this->_db->setQuery($query, 0, 1); $next_id = $this->_db->loadResult(); if (empty($next_id)) { $query = $this->_db->getQuery(true); $query->select('min(id)')->from('#__ksenmart_products'); $this->_db->setQuery($query, 0, 1); $next_id = $this->_db->loadResult(); } $prev_link = KSMProducts::generateProductLink($prev_id); $next_link = KSMProducts::generateProductLink($next_id); $this->onExecuteAfter('getLinks', array(&$prev_link, &$next_link)); return array($prev_link, $next_link); }