public function versionsAction()
 {
     $packageId = (int) Url::getVar('package_id');
     if ($packageId <= 0) {
         Application::throwError(400, 'Bad request');
     }
     $package = Package::fetchOne($packageId);
     if ($package === false) {
         Application::throwError(404, 'Can not find package');
     }
     $last = Url::getVar('last');
     $title = 'Package versions for ' . $package->name;
     $elements = array();
     $elements[] = Bootstrap::row()->add(12, Bootstrap::h(1, $title));
     $elements[] = Bootstrap::row()->add(12, Bootstrap::buttonGroup()->add(Bootstrap::anchor('Last 12 hours', Url::href('packages', 'versions', array('package_id' => $packageId, 'last' => '12-hour')))->asButton()->color($last == '12-hour' ? 'blue' : 'default'))->add(Bootstrap::anchor('Last day', Url::href('packages', 'versions', array('package_id' => $packageId, 'last' => 'day')))->asButton()->color($last == 'day' ? 'blue' : 'default'))->add(Bootstrap::anchor('Last week', Url::href('packages', 'versions', array('package_id' => $packageId, 'last' => 'week')))->asButton()->color($last == 'week' ? 'blue' : 'default'))->add(Bootstrap::anchor('Last 2 weeks', Url::href('packages', 'versions', array('package_id' => $packageId, 'last' => '2-weeks')))->asButton()->color($last == '2-weeks' ? 'blue' : 'default'))->add(Bootstrap::anchor('Last month', Url::href('packages', 'versions', array('package_id' => $packageId, 'last' => 'month')))->asButton()->color($last == 'month' ? 'blue' : 'default'))->add(Bootstrap::anchor('Last 2 months', Url::href('packages', 'versions', array('package_id' => $packageId, 'last' => '2-months')))->asButton()->color($last == '2-months' ? 'blue' : 'default'))->add(Bootstrap::anchor('All', Url::href('packages', 'versions', array('package_id' => $packageId)))->asButton()->color($last == null ? 'blue' : 'default'))->setAttribute('style', 'margin-bottom: 10px'));
     $elements[] = BootstrapUI::tableRemote()->title('Most common versions')->column('total', 'count', 80)->column('name', 'package version')->column('action', '', 30)->sortableColumns(array('name', 'total'))->sortField('total', 'desc')->extraParam('package_id', $packageId)->extraParam('last', $last);
     return View::create('base')->with('title', $title)->with('content', $elements);
 }
 /**
  * Show the page with user edit form
  */
 public function editUserAction()
 {
     $id = (int) Url::getVar(2);
     $user = User::fetchOne($id);
     if ($user === false) {
         Application::throwError(404, "Can not find user");
     }
     $title = "Edit user {$user->username}";
     $elements = array(\Bootstrap::h(1, $title), \Bootstrap::panel("User #{$id}", $this->getUserForm($user->getData()))->color('blue'));
     if ($user->last_login !== null) {
         $info = \Bootstrap::alert('User logged in last time at ' . Misc::userDate('Y-m-d H:i:s', $user->last_login) . " from {$user->last_login_ip}")->color('info');
         $elements[] = $info;
     }
     $content[] = Bootstrap::row()->add(8, $elements, 2);
     return View::create('base')->with('title', $title)->with('content', $content);
 }
 /**
  * Clear the cache
  * @return \Koldy\Redirect
  * @link /report/clear-cache/12324324
  */
 public function clearCacheAjax()
 {
     $id = Url::getVar(2);
     $cacheKey = "report-{$id}";
     Cache::delete($cacheKey);
     return Redirect::href('report', $id);
 }