/** * Show the public information page for a spark * @param string $package_name The package being viewed */ public function show($package_name) { #UtilityHelper::tryPageCache(); $this->load->model('spark'); $this->load->model('rating'); $this->load->model('contributor'); $spark = Spark::getInfo($package_name); if (!$spark) { show_404(); } $contributor = $spark->getContributor(); if ($spark->fork_id > 0) { $forks = Spark::getForks($spark->fork_id); array_unshift($forks, Spark::getById($spark->fork_id)); } else { $forks = Spark::getForks($spark->id); } // Get the stats for this Spark $data['stats'] = $spark->getStats($spark->id); $this->load->helper('google_chart'); $data['contribution'] = $spark; $data['contributor'] = $contributor; $data['versions'] = $spark->getVersions(TRUE); $data['versions_unverified'] = $spark->getVersions(FALSE); $data['is_author'] = $contributor->id == UserHelper::getId(); $data['current_user_rating'] = FALSE; $data['ratings'] = $this->rating->getRatings($spark->id); $data['forks'] = $forks; if (UserHelper::isLoggedIn()) { $data['current_user_rating'] = $this->rating->getUserRating(UserHelper::getId(), $spark->id); } $this->load->view('packages/show', $data); }