public function editfeatureAction(Request $request) { /****** Admin session checking**********/ $response = $this->checkAdmin($request->getSession()); if ($response) { return $response; } $em = $this->getDoctrine()->getManager(); $lan = $this->container->get('request')->get('lan'); $id = $this->container->get('request')->get('id'); $checkquery = $em->createQuery("SELECT p FROM MytripAdminBundle:Language p WHERE p.lanCode='" . $lan . "'"); $checklanguage = $checkquery->getArrayResult(); if (empty($checklanguage)) { return $this->redirect($this->generateUrl('mytrip_admin_editfeature', array('id' => $id, 'lan' => 'en'))); } /*****Feature Edit*******/ if ($request->getMethod() == "POST") { if ($lan == "en") { $repository = $em->getRepository('MytripAdminBundle:Feature'); $feature = $repository->findOneByFeatureId($id); $feature->setFeature($request->request->get('feature')); //$request->files->get('icon')->getClientOriginalName() if ($request->files->get('icon') != '') { $file_path = "img/feature_icon" . $feature->getIcon(); if ($feature->getIcon() != '' && file_exists($file_path)) { unlink($file_path); } $ext = $request->files->get('icon')->getClientOriginalExtension(); $filename = $this->str_rand(8, "alphanum") . "." . $ext; $request->files->get('icon')->move("img/feature_icon", $filename); $feature->setIcon($filename); } } $em = $this->getDoctrine()->getManager(); $check = $em->createQuery("SELECT p FROM MytripAdminBundle:FeatureContent p WHERE p.feature2=" . $id . " AND p.lan='" . $lan . "'"); $check_content = $check->getArrayResult(); //print_r($check_content);exit; if (!empty($check_content)) { $repository_content = $em->getRepository('MytripAdminBundle:FeatureContent'); $check_contents = $repository_content->findOneByFeatureContentId($check_content['0']['featureContentId']); $check_contents->setFeature($request->request->get('feature')); } else { $feature_content = new FeatureContent(); $feature_content->setFeature2($this->getDoctrine()->getRepository('MytripAdminBundle:Feature')->find($id)); $feature_content->setFeature($request->request->get('feature')); $feature_content->setLan($lan); $em->persist($feature_content); } $em->flush(); $this->get('session')->getFlashBag()->add('error', '<div class="success msg">Feature successfully updated</div>'); return $this->redirect($this->generateUrl('mytrip_admin_editfeature', array('id' => $id, 'lan' => $lan))); } /******Fetch language********/ $query = $em->createQuery("SELECT p FROM MytripAdminBundle:Language p "); $language = $query->getArrayResult(); /*******Fetch feature details*****/ $feature_query = $em->createQuery("SELECT p FROM MytripAdminBundle:Feature p WHERE p.featureId=" . $id); $feature = $feature_query->getArrayResult(); if (empty($feature)) { return $this->redirect($this->generateUrl('mytrip_admin_features')); } /*******Fetch feature content details*****/ $feature_content_query = $em->createQuery("SELECT p FROM MytripAdminBundle:FeatureContent p WHERE p.feature2=" . $id . " AND p.lan='" . $lan . "'"); $feature_content = $feature_content_query->getArrayResult(); if (empty($feature_content)) { $feature_content_query = $em->createQuery("SELECT p FROM MytripAdminBundle:FeatureContent p WHERE p.feature2=" . $id . " AND p.lan='en'"); $feature_content = $feature_content_query->getArrayResult(); } return $this->render('MytripAdminBundle:Default:editfeature.html.php', array('language' => $language, 'feature' => $feature, 'feature_content' => $feature_content)); }
/** * {@inheritDoc} */ public function setLan($lan) { $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLan', array($lan)); return parent::setLan($lan); }