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