예제 #1
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $io = new SymfonyStyle($input, $output);
     $io->title('Ajouter un fichier');
     $em = $this->getcontainer()->get('doctrine.orm.default_entity_manager');
     $SCrepo = $em->getRepository('evegAppBundle:SyntaxonCore');
     $UserRepo = $em->getRepository('evegUserBundle:User');
     $s = $SCrepo->findById($input->getArgument('SCid'));
     $SCdiag = $SCrepo->findById($input->getArgument('diagnosisOf'));
     $user = $UserRepo->findByUsername($input->getArgument('userName'))[0];
     $io->writeln('Updating (id: ' . $input->getArgument('SCid') . ') ' . $s->getSyntaxon());
     $io->writeln('    adding file ' . $input->getArgument('fileName'));
     $sFile = new SyntaxonFile();
     $sFile->setHit($input->getArgument('hit'))->setDiagnosisOf($SCdiag);
     $sFile->setSyntaxonCore($s);
     $sFile->setUser($user)->setType($input->getArgument('type'))->setVisibility($input->getArgument('visibility'))->setTitle($input->getArgument('title'))->setFileName($input->getArgument('fileName'))->setOriginalName($input->getArgument('originalName'))->setOriginalSyntaxonName($input->getArgument('originalSyntaxonName'))->setLicense('CC-BY-SA')->setUpdatedAt(new \DateTime('now'))->setUploadedAt(new \DateTime('now'));
     $s->addSyntaxonFile($sFile);
     $em->flush();
     $io->success('file added');
 }
예제 #2
0
 /**
  * @ParamConverter("file", class="evegAppBundle:SyntaxonFile", options={"id" = "idFile"})
  * 
  */
 public function downloadFileAction($id, SyntaxonFile $file)
 {
     // Grabing download helper
     $downloadHandler = $this->get('vich_uploader.download_handler');
     // Hit+1
     $file->setHit($file->getHit() + 1);
     $em = $this->getDoctrine()->getManager();
     $em->persist($file);
     $em->flush();
     // Return
     $newFileName = $file->getOriginalName();
     return $downloadHandler->downloadObject($file, $fileField = 'fileFile', $className = null, $newFileName);
 }