Example #1
0
 static function setUpColumns($columns)
 {
     $columns->id = Column::AUTO_ID;
     $columns->albumId = Column::cast(Album::columns()->id)->copy()->setFlag(Column::NOT_NULL, false);
     $columns->height = Column::INTEGER + Column::SIZE_2B + Column::NOT_NULL;
     $columns->width = Column::INTEGER + Column::SIZE_2B + Column::NOT_NULL;
     $columns->path = Column::STRING + Column::NOT_NULL;
     $columns->url = Column::STRING + Column::NOT_NULL;
     $columns->hash = Column::create(Column::STRING)->setStringLength(32, true)->setUnique();
 }
Example #2
0
 public function performAction()
 {
     if (!($user = AuthService::getInstance()->getUser())) {
         throw new \Exception('Authenticated user required');
     }
     $this->response->success('CATALOGE!');
     /** @var Album[] $albums */
     $albums = Album::statement()->where('? = ?', Album::columns()->userId, $user->id)->query()->fetchAll();
     $this->response->addContent(new Form(Create::createState(), $this->io));
     $details = Details::createState();
     if ($albums) {
         $this->response->addContent(new Rows(Processor::create($albums)->map(function (Album $album) use($details) {
             $row = array();
             $details->albumId = $album->id;
             $anchor = $this->io->makeAnchor($details);
             $row['Title'] = new Anchor($album->title, $anchor);
             $row['Created'] = date('Y-m-d H:i:s', $album->created);
             $row['Updated'] = date('Y-m-d H:i:s', $album->updated);
             $row['Images'] = $album->imagesCount;
             return $row;
         })));
     }
 }