public static function returnViewIndex($item, $rv_button = false) { $view = JO_View::getInstance(); $request = JO_Request::getInstance(); self::getColectionThumb($item); if ($rv_button) { $item['rv_button'] = $rv_button; $item['rate'] = Model_Collections::isRate($item['id']); //if(!$item['rate'] && JO_Session::get('user_id') == $item['user_id']) $item['rate'] = true; } else { $item['rate'] = true; } $item['userhref'] = WM_Router::create($request->getBaseUrl() . '?controller=users&username='******'&', '-', $item['username'])); if (!isset($item['href'])) { $item['href'] = WM_Router::create($request->getBaseUrl() . '?controller=collections&action=view&collection_id=' . $item['id'] . '&name=' . str_replace('&', '-', $item['name'])); } $view->item = $item; return $view->renderByModule('single_items/collection', 'items', 'themes'); }
public function rate($collection, $id, $rate) { $row = Model_Collections::isRate($id); if (is_array($row)) { return $collection; } $collection['votes'] = $collection['votes'] + 1; $collection['score'] = $collection['score'] + $rate; $collection['rating'] = $collection['score'] / $collection['votes']; $collection['rating'] = round($collection['rating']); $db = JO_Db::getDefaultAdapter(); $db->update('collections', array('rating' => $collection['rating'], 'score' => $collection['score'], 'votes' => $collection['votes']), array('id = ?' => (int) $id)); $db->insert('collections_rates', array('collection_id' => (int) $id, 'user_id' => (int) JO_Session::get('user_id'), 'rate' => $rate, 'datetime' => new JO_Db_Expr('NOW()'))); return $collection; }