Ejemplo n.º 1
0
 /**
  * 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;
 }
Ejemplo n.º 2
0
 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);
 }