/** * 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; }
/** * 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(); }
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; }
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(); }
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; }
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; }