/** * @Route("/checkerAjaxInfoFolder/{id}.{format}", requirements={"id": "\d+", "format"}) */ public function checkerAjaxInfoFolderAction($id, $format, Request $request) { if ($request->isXmlHttpRequest()) { $finder = new Finder(); $finder->files()->in($this->container->getParameter('mco_check_folder')); $i = 1; foreach ($finder as $file) { if ($i++ == $id) { $checker = new Checker($file->getPathname()); $checker->disablePolicy()->enableInfo()->disableConformance()->disableTrace()->setInfoFormat(array($format)); $checker->run(); } } return new Response(isset($checker) ? $checker->getInfo($format) : ''); } else { throw new NotFoundHttpException(); } }
/** * @Route("/ajaxChecker") * @Template() */ public function ajaxCheckerAction(Request $request) { $uploadOk = 0; $output = array(); $result = false; $check = array('name' => basename($request->request->get('file', false)), 'isValid' => 0, 'errors' => array(), 'xml' => ''); $file = $request->request->get('file', false); if ($file && file_exists($file) && $request->request->get('policy', false)) { $policy = $this->getDoctrine()->getRepository('AppBundle:Policy')->find($request->request->get('policy')); $checker = new Checker($file, $policy); $checker->disableConformance(); $checker->run(); $check['xml'] = htmlentities($checker->getXml(), ENT_COMPAT, 'UTF-8'); $check['isValid'] = $checker->getStatus(); $check['errors'] = $checker->getPolicy(); } return new JsonResponse($check); }