示例#1
0
 /**
  * @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();
     }
 }
示例#2
0
 /**
  * @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);
 }