public function adddestinationAction(Request $request)
 {
     /****** Admin session checking**********/
     $response = $this->checkAdmin($request->getSession());
     if ($response) {
         return $response;
     }
     $destination = new Destination();
     $destination_content = new DestinationContent();
     $destination_image = new DestinationImage();
     $destination_feature = new DestinationFeature();
     $feature = new Feature();
     if ($request->getMethod() == "POST") {
         $page_link = strtolower(str_replace(' ', '_', preg_replace('/[^a-zA-Z0-9_ -]/s', ' ', $request->request->get('name'))));
         if ($page_link == '') {
             $page_link = strtolower(str_replace(array(' ', '\''), array('_', '-'), $request->request->get('name')));
         }
         $em = $this->getDoctrine()->getManager();
         /********Checking duplicate username***********/
         $check = $em->createQuery("SELECT d FROM MytripAdminBundle:Destination d WHERE  d.url='" . $page_link . "' AND d.status NOT IN ('Trash')  ");
         $check_destination = $check->getArrayResult();
         if (empty($check_destination)) {
             $country_query = $em->createQuery("SELECT c FROM MytripAdminBundle:Country c WHERE c.cid='" . $request->request->get('country') . "'");
             $country = $country_query->getArrayResult();
             $state_query = $em->createQuery("SELECT s FROM MytripAdminBundle:States s WHERE s.sid='" . $request->request->get('province') . "'");
             $state = $state_query->getArrayResult();
             $address = $request->request->get('name') . "," . $state[0]['state'] . "," . $country[0]['country'];
             $position = $this->getBoundLatitude_longitude($address);
             $destination->setName($request->request->get('name'));
             $destination->setUrl($page_link);
             $destination->setVideo($request->request->get('svdesc'));
             $destination->setTripadvisor($request->request->get('tripadvisor'));
             $destination->setCountry($this->getDoctrine()->getRepository('MytripAdminBundle:Country')->find($request->request->get('country')));
             $destination->setProvince($this->getDoctrine()->getRepository('MytripAdminBundle:States')->find($request->request->get('province')));
             $destination->setLongitude($position['longitude'] != '' ? $position['longitude'] : 0);
             $destination->setLatitude($position['latitude'] != '' ? $position['latitude'] : 0);
             $destination->setStatus('Active');
             $destination->setCreatedDate(new \DateTime(date('Y-m-d H:i:s')));
             $destination->setModifyDate(new \DateTime(date('Y-m-d H:i:s')));
             $em->persist($destination);
             $em->flush();
             $em = $this->getDoctrine()->getManager();
             $lastid = $destination->getDestinationId();
             $destination_content->setName($request->request->get('name'));
             $destination_content->setDestination($this->getDoctrine()->getRepository('MytripAdminBundle:Destination')->find($lastid));
             $destination_content->setDescription($request->request->get('description'));
             $destination_content->setLocationDesc($request->request->get('location_desc'));
             $destination_content->setAddress($address);
             $destination_content->setCity($request->request->get('name'));
             $destination_content->setProvince($state[0]['state']);
             $destination_content->setCountry($country[0]['country']);
             $destination_content->setMetaTitle($request->request->get('metatitle'));
             $destination_content->setMetaDescription($request->request->get('metadescription'));
             $destination_content->setMetaKeyword($request->request->get('metakeyword'));
             $destination_content->setLan('en');
             $em->persist($destination_content);
             $em->flush();
             $d_feature = $request->request->get('feature');
             foreach ($d_feature as $features) {
                 $em = $this->getDoctrine()->getManager();
                 $destination_feature = new DestinationFeature();
                 $destination_feature->setDestination($this->getDoctrine()->getRepository('MytripAdminBundle:Destination')->find($lastid));
                 $destination_feature->setFeature($this->getDoctrine()->getRepository('MytripAdminBundle:Feature')->find($features));
                 $destination_feature->setCreatedDate(new \DateTime(date('Y-m-d H:i:s')));
                 $em->persist($destination_feature);
                 $em->flush();
                 unset($destination_feature);
             }
             if ($request->files->get('image') != '') {
                 $em = $this->getDoctrine()->getManager();
                 $destination_image->setDestination($this->getDoctrine()->getRepository('MytripAdminBundle:Destination')->find($lastid));
                 $ext = $request->files->get('image')->getClientOriginalExtension();
                 $filename = $this->str_rand(8, "alphanum") . "." . $ext;
                 //$request->files->get('image')->move("img/destination",$filename);
                 $awsAccessKey = $this->container->get('mytrip_admin.helper.amazon')->getOption('awsAccessKey');
                 $awsSecretKey = $this->container->get('mytrip_admin.helper.amazon')->getOption('awsSecretKey');
                 $bucket = $this->container->get('mytrip_admin.helper.amazon')->getOption('bucket');
                 \S3::setAuth($awsAccessKey, $awsSecretKey);
                 $tmpfile = $request->files->get('image')->getPathName();
                 $putobject = \S3::putObjectFile($tmpfile, $bucket, $filename, \S3::ACL_PUBLIC_READ);
                 if ($putobject) {
                     $destination_image->setImage($filename);
                     $destination_image->setCreatedDate(new \DateTime(date('Y-m-d H:i:s')));
                     $em->persist($destination_image);
                     $em->flush();
                 }
             }
             $this->get('session')->getFlashBag()->add('error', '<div class="success msg">Destination successfully added</div>');
             return $this->redirect($this->generateUrl('mytrip_admin_destination'));
         } else {
             $this->get('session')->getFlashBag()->add('error', '<div class="error msg">Destination already exists</div>');
         }
     }
     $em = $this->getDoctrine()->getManager();
     $feature_query = $em->createQuery("SELECT f FROM MytripAdminBundle:Feature f");
     $feature = $feature_query->getArrayResult();
     $country_query = $em->createQuery("SELECT c FROM MytripAdminBundle:Country c");
     $country = $country_query->getArrayResult();
     return $this->render('MytripAdminBundle:Default:adddestination.html.php', array('feature' => $feature, 'country' => $country));
 }
 /**
  * {@inheritDoc}
  */
 public function getTripadvisor()
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'getTripadvisor', array());
     return parent::getTripadvisor();
 }