Exemplo n.º 1
0
 /**
  * Setup column types in provided columns object
  * @param $columns static|\stdClass
  */
 static function setUpColumns($columns)
 {
     $columns->id = Column::AUTO_ID;
     $columns->sessionId = Session::columns()->id;
     $columns->seriesId = Series::columns()->id;
     $columns->value = Column::FLOAT;
     $columns->param = Column::FLOAT;
 }
Exemplo n.º 2
0
 /**
  * Required setup column types in provided columns object
  * @param $columns static|\stdClass
  */
 static function setUpColumns($columns)
 {
     $columns->id = Column::AUTO_ID;
     $columns->suiteId = Suite::columns()->id;
     $columns->sessionId = Session::columns()->id;
     $columns->hostId = Host::columns()->id;
     $columns->tagIds = Column::create(Column::STRING + Column::NOT_NULL)->setIndexed();
 }
Exemplo n.º 3
0
 public static function startSession($json)
 {
     $host = new Host();
     $host->name = $json['host'];
     $host->findOrSave();
     $suite = new Suite();
     $suite->name = $json['suite'];
     $suite->findOrSave();
     $session = new Session();
     $session->hostId = $host->id;
     $session->suiteId = $suite->id;
     $session->timestamp = time();
     if (isset($json['meta'])) {
         $session->meta = $json['meta'];
     }
     $session->save();
     return $session->id;
 }
Exemplo n.º 4
0
 public static function migrate()
 {
     $migrationManager = new Manager();
     $migrationManager->setLog(new Log('colored-stdout'));
     $migrationManager->add(Host::table()->migration());
     $migrationManager->add(Tag::table()->migration());
     $migrationManager->add(Result::table()->migration());
     $migrationManager->add(Suite::table()->migration());
     $migrationManager->add(ResultTag::table()->migration());
     $migrationManager->add(Session::table()->migration());
     $migrationManager->add(Series::table()->migration());
     $migrationManager->add(SeriesTag::table()->migration());
     $migrationManager->run();
 }
Exemplo n.º 5
0
 public static function session()
 {
     $layout = new Layout();
     $id = $_GET['id'];
     if (!$id) {
         return self::notFound();
     }
     /** @var Session $session */
     $session = Session::find($id);
     if (!$session) {
         return self::notFound();
     }
     /** @var Tag[] $tags */
     $tags = Series::find()->select(Tag::columns())->leftJoin('? ON ? = ?', SeriesTag::table(), SeriesTag::columns()->seriesId, Series::columns()->id)->leftJoin('? ON ? = ?', Tag::table(), Tag::columns()->id, SeriesTag::columns()->tagId)->where('? = ?', Series::columns()->sessionId, $session->id)->groupBy(Tag::columns()->id)->bindResultClass(Tag::className())->query()->fetchAll();
     $layout->setList(new TagsFilter($tags));
     $layout->render();
     return true;
 }
Exemplo n.º 6
0
 public function __construct(Session $session)
 {
     $this->addClass('session');
     $this->setAttribute('href', '/session/?id=' . urlencode($session->id));
     $this->content = date('Y/m/d H:i:s', $session->timestamp) . '@' . $session->host()->name;
 }