/** * @fn redirect_to_software_page($params) * @short Redirects the request to a detailed page for a software product. * @param params An array of parameters that determine the software and the page for the redirection. */ public function redirect_to_software_page($params) { $software = new Software(); $software->find_by_id($params['id']); $URL = sprintf('http://%s/%s/%s/%s/%s.html', $_SERVER['HTTP_HOST'], $this->name, $software->type, $software->name, $params['subview']); if (isset($params['hash'])) { $URL .= '#' . $params['hash']; } $this->redirect_to($URL); }
/** * @fn software_downloads_by_release * @short Action method that shows statistics on software downloads grouped by release * for a particular software product. */ public function software_downloads_by_release() { if (!isset($_REQUEST['id'])) { $this->redirect_to(array('action' => 'software_list')); } $software = new Software(); if ($software->find_by_id($_REQUEST['id']) === FALSE) { $this->flash(l('No such software'), 'error'); $this->redirect_to(array('action' => 'software_list')); } $software->has_many('software_releases', array('order_by' => '`date` DESC')); $this->releases = $software->software_releases; }