public function archiveAction($month, $page = 1, Files $file) { list($startTime, $endTime) = myTools::getBetweenTimes($month); $this->view->page = $this->getPaginatorByQueryBuilder($file->getResultsBetween($startTime, $endTime), 25, $page); $this->view->page->statistics = myParser::getStatistics(); $this->view->page->month = $month; }
public function showArchiveAction($repository, $month, $page = 1) { list($startTime, $endTime) = myTools::getBetweenTimes($month); $builder = $this->modelsManager->createBuilder()->from('Files')->rightJoin(myParser::getModelName($repository), 'sub.file_id = Files.id', 'sub')->where('created_at > :start:', ['start' => $startTime->toDateTimeString()])->andWhere('created_at < :end:', ['end' => $endTime->toDateTimeString()])->orderBy('Files.id DESC')->columns(['Files.*', 'sub.*']); $this->view->page = $this->getPaginatorByQueryBuilder($builder, 25, $page); $this->view->page->month = $month; $this->view->page->repository = myParser::getModelBySourceId($repository); }
public function getTaggedFilesByMonth($month) { return $this->make('files', function () use($month) { list($startTime, $endTime) = myTools::getBetweenTimes($month); $user = \Phalcon\Di::getDefault()->get('auth'); return Files::query()->rightJoin('Taggables', 'Taggables.taggable_id = Files.id AND Taggables.taggable_type="Files"')->where('Taggables.tag_id = :tag:', ['tag' => $this->id])->andWhere('Taggables.created_at > :start:', ['start' => $startTime->toDateTimeString()])->andWhere('Taggables.created_at < :end:', ['end' => $endTime->toDateTimeString()])->andWhere('Taggables.user_id = :user:'******'user' => $user->id])->columns(['Files.*', 'Taggables.*'])->groupBy('Files.id')->orderBy('Taggables.created_at DESC')->execute(); }); }