Esempio n. 1
0
 public function indexAction($page = 1)
 {
     \PhalconDebug::startMeasure('s0', '控制器加载');
     $builder = $this->modelsManager->createBuilder()->from('Files')->orderBy('id DESC');
     $this->view->page = $this->getPaginatorByQueryBuilder($builder, 25, $page);
     $this->view->page->statistics = myParser::getStatistics();
     \PhalconDebug::stopMeasure('s0');
 }
 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);
 }
Esempio n. 3
0
 public function addWebFile($source_id, $type)
 {
     $parser = myParser::getParser($type, $source_id);
     //获取Parser
     //        dd($parser);
     $data = $parser->parseInfo();
     //抽取数据
     //        dd($data);
     /** @var myModel|FileableTrait $this */
     $this->save($parser->getDataForFile());
     //保存file对象
     $data['file_id'] = $this->id;
     //补充数据,添加file_id
     $model = myParser::getModelBySourceId($type);
     //获取模型
     $model->save($data);
     //保存模型数据
     EventFacade::fire('standards:addWebFile', $model);
     $this->saveFileable($model);
     //保存关联对象数据
     return $this;
 }
Esempio n. 4
0
 public function editAction(Files $file)
 {
     $fileable = $file->getFileable();
     if ($this->request->isPost()) {
         $data = $this->request->getPost();
         //            dd($data);
         if (isset($data['file_id'])) {
             $fileable->update($data);
             //更新fileable数据表
             $file_data = myParser::getParserFromModel($fileable, $data)->getDataForFile();
             $file_data['type'] = $data['type'];
             $file->update($file_data);
             return $this->success();
         }
         $file->update($this->request->getPost());
         return $this->success();
     }
     $this->view->file = $file;
     if ($fileable == null) {
         $fileable = $file;
     }
     $this->view->form = myForm::buildFormFromModel($fileable, ['type']);
 }
Esempio n. 5
0
 public function getModelType()
 {
     $name = static::class;
     return myParser::getModelType($name);
 }
Esempio n. 6
0
 public static function getStatistics()
 {
     $result = [];
     $data = Fileable::query()->groupBy('fileable_type')->columns(['count(file_id) AS count', 'fileable_type AS type'])->execute();
     foreach ($data as $row) {
         $className = $row->type;
         $result[] = ['name' => $className::getDatabaseName(), 'count' => $row->count, 'type' => myParser::getModelType($className)];
     }
     return $result;
 }