public function indexAction()
 {
     $elements = array();
     $elements[] = Bootstrap::row()->add(12, Bootstrap::h(1, 'Internet providers'));
     $elements[] = BootstrapUI::tableRemote()->title('List of providers')->column('name', 'provider name')->column('total', 'count', 70)->column('action', '', 30)->sortableColumns(array('name', 'total'))->searchable()->sortField('name', 'asc');
     return View::create('base')->with('title', 'Internet providers')->with('content', $elements);
 }
 public function indexAction()
 {
     $elements = array();
     $elements[] = Bootstrap::row()->add(12, Bootstrap::h(1, 'Stack traces')->secondaryText('This is list of collected stack trace summaries'));
     $table = BootstrapUI::tableRemote()->title('List of stack trace summaries')->searchable()->column('id')->column('summary')->column('total', 'count', 70)->sortableColumns(array('id', 'total'))->sortField('id', 'desc');
     $elements[] = $table;
     return View::create('base')->with('title', 'Stack traces')->with('content', $elements);
 }
 public function stackTracesAction()
 {
     $osVersionId = (int) Url::getVar('os_version_id');
     if ($osVersionId <= 0) {
         Application::throwError(400, 'Bad request');
     }
     $osVersion = Version::fetchOne($osVersionId);
     if ($osVersion === false) {
         Application::throwError(404, 'Can not find os_version');
     }
     $title = "Stack traces for {$osVersion->os} {$osVersion->name}";
     $elements = array();
     $elements[] = Bootstrap::row()->add(12, Bootstrap::h(1, $title)->secondaryText("Total {$osVersion->total} reports"));
     $elements[] = Bootstrap::row()->add(12, BootstrapUI::tableRemote()->title('Most common stack traces')->column('total', 'count', 80)->column('summary', 'stack trace summary')->column('action', '', 30)->sortableColumns(array('summary', 'total'))->sortField('total', 'desc')->extraParam('os_version_id', $osVersionId));
     return View::create('base')->with('title', $title)->with('content', $elements);
 }
 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);
 }
 public function searchAction()
 {
     $title = 'Search results';
     if (sizeof(Input::get()) == 1) {
         if (Input::hasGet('provider_id')) {
             $e = Provider::fetchOne(Input::get('provider_id'));
             $title = "Search results for internet provider <strong>{$e->name}</strong>";
         } else {
             if (Input::hasGet('brand_id')) {
                 $e = Brand::fetchOne(Input::get('brand_id'));
                 $title = "Search results for brand <strong>{$e->name}</strong>";
             } else {
                 if (Input::hasGet('package_id')) {
                     $e = Package::fetchOne(Input::get('package_id'));
                     $title = "Search results for package <strong>{$e->name}</strong>";
                 } else {
                     if (Input::hasGet('package_version_id')) {
                         $e = Package\Version::fetchOne(Input::get('package_version_id'));
                         $p = Package::fetchOne($e->package_id);
                         $title = "Search results for <strong>{$p->name}</strong> version {$e->value}";
                     }
                 }
             }
         }
     }
     $packageId = (int) Input::get('package_id');
     $packageVersionId = (int) Input::get('package_version_id');
     $brandId = (int) Input::get('brand_id');
     $osVersionId = (int) Input::get('os_version_id');
     $countryId = (int) Input::get('country_id');
     $providerId = (int) Input::get('provider_id');
     $productId = (int) Input::get('product_id');
     $modelId = (int) Input::get('model_id');
     $dateFrom = Input::get('date_from');
     $dateTo = Input::get('date_to');
     $stackTraceId = (int) Input::get('stack_trace_id');
     $table = BootstrapUI::tableRemote()->title($title)->extraParams(array('package_id' => $packageId, 'package_version_id' => $packageVersionId, 'brand_id' => $brandId, 'os_version_id' => $osVersionId, 'country_id' => $countryId, 'provider_id' => $providerId, 'product_id' => $productId, 'model_id' => $modelId, 'date_from' => $dateFrom, 'date_to' => $dateTo, 'stack_trace_id' => $stackTraceId))->column('country_name', '', 20)->column('created_at', 'time', 85)->column('package_name', 'package')->column('package_version', 'version')->column('brand_name', 'brand')->column('os_version_name', 'OS version', 105)->column('country', '')->column('action', '', 30)->sortableColumns(array('created_at', 'package_name', 'package_version', 'brand_name', 'os_version_name', 'cnt'))->sortField('created_at', 'desc');
     $table->panel()->addHeaderElement(Bootstrap::button('Back')->color('red')->size('xs')->setAttribute('onclick', 'window.history.back()'));
     return View::create('base')->with('title', $title)->with('content', Bootstrap::row()->add(12, $table));
 }
 /**
  * Show the page with list of system users
  */
 public function usersAction()
 {
     $title = 'System users';
     $content = array(Bootstrap::row()->add(12, Bootstrap::h(1, $title)));
     $content[] = Bootstrap::row()->add(12, Bootstrap::anchor('Add new user', Url::href('system', 'add-user'))->asButton()->color('green'))->setAttribute('style', 'margin-bottom: 10px;');
     $table = BootstrapUI::tableRemote()->title($title)->column('username')->column('first_name')->column('last_name')->column('action', '', 70)->sortableColumns(array('username', 'first_name', 'last_name'))->sortField('username', 'asc')->searchable();
     $content[] = $table;
     return View::create('base')->with('title', $title)->with('content', $content);
 }