Ejemplo n.º 1
0
 /**
  * @Route("/parserRus/{type}", name="parserRus")
  */
 public function parserRusAction($type)
 {
     set_time_limit(0);
     ini_set("memory_limit", "-1");
     //        if ($type == 1){
     //            $filename = '3x6/'.$filename.'.json';
     //        }elseif($type == 2){
     //            $filename = 'big/'.$filename;
     //        }
     if ($type == 1) {
         $folder = '3x6';
     } elseif ($type == 2) {
         $folder = 'big';
     }
     $em = $this->getDoctrine()->getManager();
     $company = $em->getRepository('AppBundle:Company')->findOneByTitle('Russoutdoor');
     if ($company == null) {
         $company = new Company();
         $company->setTitle('Russoutdoor');
         $em->persist($company);
         $em->flush($company);
         $em->refresh($company);
     }
     $files = scandir($this->get('kernel')->getRootDir() . '/../web/' . $folder);
     unset($files[1]);
     unset($files[0]);
     foreach ($files as $f) {
         $filename = $this->get('kernel')->getRootDir() . '/../web/' . $folder . '/' . $f;
         $file = file_get_contents($filename);
         $array = json_decode($file, true);
         $i = 0;
         foreach ($array['billboards'] as $val) {
             if (isset($val['longtitude']) && isset($val['latitude']) && isset($val['address'])) {
                 $i++;
                 $banner = new Banner();
                 $city = $this->getDoctrine()->getRepository('AppBundle:City')->findOneByTitle($val['cityName']);
                 if ($city == null) {
                     $city = new City();
                     $city->setTitle($val['cityName']);
                     $em->persist($city);
                     $em->flush($city);
                     $em->refresh($city);
                 }
                 $banner->setCity($city);
                 $banner->setCompany($company);
                 $banner->setAdrs($val['address']);
                 $banner->setTitle($val['address']);
                 $banner->setGid($val['gid']);
                 $banner->setGrp($val['grp']);
                 $banner->setOts($val['ots']);
                 $banner->setPrice((isset($val['price']) ? $val['price'] : 0) * 0.82);
                 $banner->setPrice2(isset($val['price']) ? $val['price'] : 0);
                 $banner->setLight($val['light']);
                 $banner->setSide($val['side']);
                 $desc = (isset($val['top']) ? $val['top'] : '') . '<br />' . (isset($val['distance']) ? $val['distance'] : '');
                 $banner->setBody($desc);
                 if ($type == 1) {
                     $banner->setFormat('3x6');
                 } elseif ($type == 2) {
                     $banner->setFormat('big');
                 }
                 $banner->setLongitude($val['longtitude']);
                 $banner->setLatitude($val['latitude']);
                 $banner->setImg(str_replace('//', 'http://', $val['imageURL']));
                 $em->persist($banner);
                 $em->flush();
             } else {
                 echo $val['address'] . '<br />';
                 echo '<br />';
                 print_r($val);
                 echo '<br />';
                 echo '<br />';
             }
         }
     }
     exit;
 }
Ejemplo n.º 2
0
 public function parserGellary3Action($hot = false)
 {
     //        $this->filePath = $this->filePath.'G2.XLSX';
     $em = $this->em;
     $company = $em->getRepository('AppBundle:Company')->findOneByTitle('Gallery  roller');
     if ($company == null) {
         $company = new Company();
         $company->setTitle('Gallery roller');
         $em->persist($company);
         $em->flush($company);
         $em->refresh($company);
     }
     $phpExcelObject = $this->container->get('phpexcel')->createPHPExcelObject($this->filePath);
     $num = 2;
     while (true) {
         if ($phpExcelObject->setActiveSheetIndex(0)->getCell('B' . $num)->getValue() == '') {
             break;
         }
         $banner = new Banner();
         $banner->setCompany($company);
         $banner->setAdrs($phpExcelObject->setActiveSheetIndex(0)->getCell('E' . $num)->getValue());
         $banner->setTitle($phpExcelObject->setActiveSheetIndex(0)->getCell('E' . $num)->getValue());
         $banner->setBody($phpExcelObject->setActiveSheetIndex(0)->getCell('E' . $num)->getValue());
         $banner->setSide($this->getSide($phpExcelObject->setActiveSheetIndex(0)->getCell('D' . $num)->getValue()));
         $city = $this->em->getRepository('AppBundle:City')->findOneByTitle($phpExcelObject->setActiveSheetIndex(0)->getCell('A' . $num)->getValue());
         if ($city == null) {
             $city = new City();
             $city->setTitle($phpExcelObject->setActiveSheetIndex(0)->getCell('A' . $num)->getValue());
             $em->persist($city);
             $em->flush($city);
             $em->refresh($city);
         }
         $banner->setCity($city);
         $banner->setGid($phpExcelObject->setActiveSheetIndex(0)->getCell('N' . $num)->getValue());
         $banner->setGrp(str_replace(',', '.', $phpExcelObject->setActiveSheetIndex(0)->getCell('L' . $num)->getValue()));
         $banner->setOts(str_replace(',', '.', $phpExcelObject->setActiveSheetIndex(0)->getCell('M' . $num)->getValue()));
         $banner->setPrice(str_replace(array(',', ''), array('.', ''), $phpExcelObject->setActiveSheetIndex(0)->getCell('J' . $num)->getValue()));
         $banner->setPrice2(str_replace(array(',', ''), array('.', ''), $phpExcelObject->setActiveSheetIndex(0)->getCell('I' . $num)->getValue()));
         $banner->setPriceDeploy(0);
         $banner->setTaxType('НДС (18%)');
         $banner->setFormat('small');
         $banner->setType($phpExcelObject->setActiveSheetIndex(0)->getCell('B' . $num)->getValue());
         $banner->setArea($phpExcelObject->setActiveSheetIndex(0)->getCell('W' . $num)->getValue());
         $banner->setLight($phpExcelObject->setActiveSheetIndex(0)->getCell('C' . $num)->getValue() == 'Да' || $phpExcelObject->setActiveSheetIndex(0)->getCell('C' . $num)->getValue() == 'да' ? 1 : 0);
         $banner->setImg($this->getImage($phpExcelObject->setActiveSheetIndex(0)->getCell('G' . $num)->getHyperlink()->getUrl()));
         $banner->setLink($phpExcelObject->setActiveSheetIndex(0)->getCell('G' . $num)->getHyperlink()->getUrl());
         if ($hot) {
             $banner->setHot(true);
         } else {
             $banner->setHot(false);
         }
         $url = 'http://geocode-maps.yandex.ru/1.x/?geocode=' . urlencode($phpExcelObject->setActiveSheetIndex(0)->getCell('E' . $num)->getValue());
         $content = file_get_contents($url);
         $XmlObj = simplexml_load_string($content);
         if (isset($XmlObj->GeoObjectCollection->featureMember->GeoObject->Point->pos)) {
             $pos['x'] = explode(' ', $XmlObj->GeoObjectCollection->featureMember->GeoObject->Point->pos)[1];
             $pos['y'] = explode(' ', $XmlObj->GeoObjectCollection->featureMember->GeoObject->Point->pos)[0];
         } else {
             $pos['x'] = 0;
             $pos['y'] = 0;
         }
         $banner->setLongitude($pos['y']);
         $banner->setLatitude($pos['x']);
         $banner = $this->setBanner($banner);
         $month = array('2015-06-01' => $this->getStatus($phpExcelObject->setActiveSheetIndex(0)->getStyle('O' . $num)->getFill()->getStartColor()->getRGB()), '2015-07-01' => $this->getStatus($phpExcelObject->setActiveSheetIndex(0)->getStyle('P' . $num)->getFill()->getStartColor()->getRGB()), '2015-08-01' => $this->getStatus($phpExcelObject->setActiveSheetIndex(0)->getStyle('Q' . $num)->getFill()->getStartColor()->getRGB()), '2015-09-01' => $this->getStatus($phpExcelObject->setActiveSheetIndex(0)->getStyle('R' . $num)->getFill()->getStartColor()->getRGB()), '2015-10-01' => $this->getStatus($phpExcelObject->setActiveSheetIndex(0)->getStyle('S' . $num)->getFill()->getStartColor()->getRGB()), '2015-11-01' => $this->getStatus($phpExcelObject->setActiveSheetIndex(0)->getStyle('T' . $num)->getFill()->getStartColor()->getRGB()), '2015-12-01' => $this->getStatus($phpExcelObject->setActiveSheetIndex(0)->getStyle('U' . $num)->getFill()->getStartColor()->getRGB()));
         $this->refreshStatus($banner, $month, array('date' => '2015-06-01', 'sale' => $hot));
         $num++;
         if ($num % 50 == 0) {
             sleep(rand(1, 5));
         }
     }
     return true;
 }
Ejemplo n.º 3
0
 public function editAction(Request $request)
 {
     $user = $this->getUser();
     if (!is_object($user) || !$user instanceof UserInterface) {
         throw new AccessDeniedException('This user does not have access to this section.');
     }
     /** @var $dispatcher \Symfony\Component\EventDispatcher\EventDispatcherInterface */
     $dispatcher = $this->get('event_dispatcher');
     $event = new GetResponseUserEvent($user, $request);
     $dispatcher->dispatch(FOSUserEvents::PROFILE_EDIT_INITIALIZE, $event);
     if (null !== $event->getResponse()) {
         return $event->getResponse();
     }
     /** @var $formFactory \FOS\UserBundle\Form\Factory\FactoryInterface */
     $formFactory = $this->get('fos_user.profile.form.factory');
     $form = $formFactory->createForm();
     $form->setData($user);
     $form->handleRequest($request);
     //        if ( $request->getMethod('POST') ){
     //            dump($form);
     //            exit;
     //        }
     if ($request->getMethod() == 'POST') {
         $em = $this->getDoctrine()->getManager();
         //city
         $cityTitle = $user->getCity();
         $city = $this->getDoctrine()->getRepository('AppBundle:City')->findOneByTitle($cityTitle);
         if ($city === null) {
             $city = new City();
             $city->setTitle($cityTitle);
             $city->setCountry($user->getCountry());
             $em->persist($city);
             $em->flush($city);
             $em->refresh($city);
         }
         $user->setCity($city);
         //university
         $universityTitle = $user->getUniversity();
         $university = $this->getDoctrine()->getRepository('AppBundle:University')->findOneByTitle($cityTitle);
         if ($university === null) {
             $university = new University();
             $university->setTitle($universityTitle);
             $university->setCountry($user->getCountry());
             $em->persist($university);
             $em->flush($university);
             $em->refresh($university);
         }
         $user->setUniversity($university);
         $user->setCertificate([]);
         /** @var $userManager \FOS\UserBundle\Model\UserManagerInterface */
         $userManager = $this->get('fos_user.user_manager');
         $event = new FormEvent($form, $request);
         $dispatcher->dispatch(FOSUserEvents::PROFILE_EDIT_SUCCESS, $event);
         $userManager->updateUser($user);
         if (null === ($response = $event->getResponse())) {
             $url = $this->generateUrl('fos_user_profile_show');
             $response = new RedirectResponse($url);
         }
         $dispatcher->dispatch(FOSUserEvents::PROFILE_EDIT_COMPLETED, new FilterUserResponseEvent($user, $request, $response));
         return $response;
     }
     return $this->render('FOSUserBundle:Profile:edit.html.twig', array('form' => $form->createView()));
 }