src/Controller/AppModule/RedirectController.php line 257

Open in your IDE?
  1. <?php
  2. namespace App\Controller\AppModule;
  3. use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
  4. use Symfony\Component\HttpFoundation\Response;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\DependencyInjection\ContainerInterface;
  9. use Symfony\Component\HttpFoundation\File\UploadedFile;
  10. use Symfony\Component\Filesystem\Filesystem;
  11. use Symfony\Component\HttpFoundation\JsonResponse;
  12. use App\Entity\PaperDetails;
  13. use App\Entity\ContactUs;
  14. use App\Entity\Payment;
  15. use App\Entity\Category;
  16. use App\Entity\PagesInfo;
  17. use App\Entity\Faq;
  18. class RedirectController extends AbstractController
  19. {
  20. public function lanidngInstall(){
  21. $imageFolder = $this->getParameter('index_image'); // replace with your image directory
  22. $images = glob($imageFolder . '/*.{jpg,jpeg,png,gif}', GLOB_BRACE);
  23. $imageNames = array_map(function($image) {
  24. return basename($image);
  25. }, $images);
  26. // dd($imageNames);
  27. // return $this->render('landing/landing.html.twig', ['imageNames' => $imageNames]);
  28. $message = false;
  29. return $this->render('landing/contact_us.html.twig',["message" => $message]);
  30. }
  31. public function AllJournals(Request $request,EntityManagerInterface $em){
  32. $queryParams = $request->query->all();
  33. $journal_type = $request->query->get('journal_type');
  34. $allJournals = [];
  35. $categorys = [];
  36. $sub_cat_name = "";
  37. if(!empty($journal_type)){
  38. if($journal_type == "all"){
  39. $allJournals = $em->getRepository(PaperDetails::class)->findBy(["status" => true]);
  40. }elseif(isset($queryParams['sub_cat'])){
  41. $allJournals = $em->getRepository(PaperDetails::class)->findBy(["journal_type" => $journal_type, "status" => true, 'sub_cat' => $queryParams['sub_cat'] ]);
  42. $sub_cat = $em->getRepository(Category::class)->findOneBy(["id" => $queryParams['sub_cat']]);
  43. $sub_cat_name = $sub_cat->getSubCatName();
  44. }
  45. else{
  46. $allJournals = $em->getRepository(PaperDetails::class)->findBy(["journal_type" => $journal_type, "status" => true]);
  47. $categorys = $em->getRepository(Category::class)->findBy(["parent_cat" => $journal_type, "status" => true]);
  48. }
  49. }
  50. // dd($allJournals,$categorys);
  51. return $this->render('landing/journals.html.twig', ["allJournals" => $allJournals, "journal_type" => $journal_type, "categorys" => $categorys, 'sub_cat_name' =>$sub_cat_name]);
  52. }
  53. public function contractPage( Request $request,EntityManagerInterface $em){
  54. $message = false;
  55. if ($request->isMethod('POST')) {
  56. // Retrieve all form attributes
  57. $formData = $request->request->all();
  58. $firstName = $formData['firstName'];
  59. $lastName = $formData['lastName'];
  60. $email = $formData['email'];
  61. $mobileNo = $formData['mobileNo'];
  62. $message = $formData['message'];
  63. $contactUs = new ContactUs();
  64. $contactUs->setFirstName($firstName);
  65. $contactUs->setLastName($lastName);
  66. $contactUs->setEmail($email);
  67. $contactUs->setMobileNo($mobileNo);
  68. $contactUs->setMessage($message);
  69. $em->persist($contactUs);
  70. $em->flush();
  71. $message = true;
  72. }
  73. return $this->render('landing/contact_us.html.twig',["message" => $message]);
  74. }
  75. public function deleteUser( Request $request,EntityManagerInterface $em){
  76. $message = false;
  77. $email = "";
  78. if ($request->isMethod('POST')) {
  79. // Retrieve all form attributes
  80. $formData = $request->request->all();
  81. $email = $formData['email'];
  82. // $contactUs = new ContactUs();
  83. // $contactUs->setFirstName($firstName);
  84. // $contactUs->setLastName($lastName);
  85. // $contactUs->setEmail($email);
  86. // $contactUs->setMobileNo($mobileNo);
  87. // $contactUs->setMessage($message);
  88. // $em->persist($contactUs);
  89. // $em->flush();
  90. $message = true;
  91. }
  92. return $this->render('landing/deleteuser.html.twig',["message" => $message,"email"=>$email]);
  93. }
  94. public function journalDetails(Request $request,EntityManagerInterface $em){
  95. $journal_id = $request->query->get('journal_id');
  96. $journalDetails = [];
  97. $journal_content = "";
  98. if(!empty($journal_id)){
  99. $journalDetails = $em->getRepository(PaperDetails::class)->findOneBy(["id" => $journal_id, "status" => true]);
  100. $sub_cat_id = $journalDetails->getSubCat();
  101. $sub_cat = $em->getRepository(Category::class)->findOneBy(["id" => $sub_cat_id]);
  102. if(!empty($sub_cat)){
  103. $journal_content = $sub_cat->getCatContent();
  104. }
  105. }
  106. // dd($journalDetails);
  107. return $this->render('landing/journal_details.html.twig', ["journalDetails" => $journalDetails, "journal_content" => $journal_content ]);
  108. }
  109. public function journalSubmition( Request $request){
  110. // dd('here');
  111. if ($request->isMethod('POST')) {
  112. $data = $request->request->all();
  113. $fileData = $request->files->all();
  114. $allData = array_merge($data, $fileData);
  115. // Define required fields
  116. $requiredFields = [
  117. 'firstName', 'lastName', 'affiliation', 'telephone', 'email',
  118. 'journalName', 'paperTitle', 'abstract', 'paperUpload', 'coverPhoto' , 'journalType'
  119. ];
  120. // Check if all required fields exist and are not empty
  121. $missingFields = [];
  122. foreach ($requiredFields as $field) {
  123. if (!array_key_exists($field, $allData) || empty($allData[$field])) {
  124. $missingFields[] = $field;
  125. }
  126. }
  127. // Return error if any required fields are missing
  128. if (!empty($missingFields)) {
  129. // return new JsonResponse(['message' => 'The following fields are required: ' . implode(', ', $missingFields)], 400);
  130. }
  131. // dd($allData,$missingFields);
  132. $paperDetails = new PaperDetails();
  133. $paperDetails->setAuthorFirstName($allData['firstName']);
  134. $paperDetails->setAuthorLastName($allData['lastName']);
  135. $paperDetails->setAuthorAffiliation($allData['affiliation']);
  136. $paperDetails->setAuthorMobileNo($allData['telephone']);
  137. $paperDetails->setAuthorEmail($allData['email']);
  138. $paperDetails->setJournalName($allData['journalName']);
  139. $paperDetails->setPaperTitle($allData['paperTitle']);
  140. $paperDetails->setAbstract($allData['abstract']);
  141. $paperDetails->setJournalType($allData['journalType']);
  142. if (isset($allData['coFirstName']) && !empty($allData['coFirstName']) &&
  143. isset($allData['coLastName']) && !empty($allData['coLastName']) &&
  144. isset($allData['coAffiliation']) && !empty($allData['coAffiliation']) &&
  145. isset($allData['coTelephone']) && !empty($allData['coTelephone']) &&
  146. isset($allData['coEmail']) && !empty($allData['coEmail'])) {
  147. $paperDetails->setCoAuFirstName($allData['coFirstName']);
  148. $paperDetails->setCoAuLastName($allData['coLastName']);
  149. $paperDetails->setCoAuAffiliation($allData['coAffiliation']);
  150. $paperDetails->setCoAuMobileNo($allData['coTelephone']);
  151. $paperDetails->setCoAuEmail($allData['coEmail']);
  152. }
  153. if (isset($allData['sub_cat'])){
  154. $paperDetails->setSubCat($allData['sub_cat']);
  155. }
  156. $em = $this->getDoctrine()->getManager();
  157. $em->persist($paperDetails);
  158. $em->flush();
  159. // Handle cover photo upload
  160. /** @var UploadedFile $coverPhotoFile */
  161. $coverPhotoFile = $allData['coverPhoto'];
  162. if ($coverPhotoFile) {
  163. // Generate unique cover photo file name using paperDetails ID
  164. $coverPhotoFileName = 'cover_' . $paperDetails->getId() . '.' . $coverPhotoFile->guessExtension();
  165. // Move the cover photo file to the designated directory
  166. $coverPhotoFile->move($this->getParameter('cover_photo_directory'), $coverPhotoFileName);
  167. $paperDetails->setCoverUrl($this->getParameter('cover_photo_directory') . '/' . $coverPhotoFileName);
  168. // Set the cover photo URL in the paperDetails object
  169. // $paperDetails->setCoverUrl($coverPhotoFileName);
  170. }
  171. // Handle PDF file upload
  172. /** @var UploadedFile $pdfFile */
  173. $pdfFile = $allData['paperUpload'];
  174. if ($pdfFile) {
  175. // Generate unique PDF file name using paperDetails ID
  176. $pdfFileName = 'paper_' . $paperDetails->getId() . '.' . $pdfFile->guessExtension();
  177. // Move the PDF file to the designated directory
  178. $pdfFile->move($this->getParameter('pdf_directory'), $pdfFileName);
  179. // Set the PDF file URL in the paperDetails object
  180. $paperDetails->setPaperUrl($this->getParameter('pdf_directory') . '/' . $pdfFileName);
  181. // $paperDetails->setPaperUrl($pdfFileName);
  182. }
  183. // Save the paperDetails object to the database
  184. $em->persist($paperDetails);
  185. $em->flush();
  186. return $this->render('landing/landing.html.twig');
  187. // dd($data,$coverPhotoFileName,$pdfFileName);
  188. }
  189. return $this->render('landing/journal_submition.html.twig');
  190. }
  191. public function catalog(Request $request,EntityManagerInterface $em){
  192. $allJournals = $em->getRepository(PaperDetails::class)->findBy(["catalog_status" => true]);
  193. return $this->render('landing/catalog.html.twig', ["allJournals" => $allJournals]);
  194. }
  195. public function paymentDetails(Request $request,EntityManagerInterface $em){
  196. $paymentDetails = $this->getDoctrine()->getRepository(Payment::class)->findOneBy([]);
  197. return $this->render('landing/paymentDetails.html.twig', ["payment" => $paymentDetails ]);
  198. }
  199. public function autoherGuid(Request $request,EntityManagerInterface $em){
  200. return $this->render('landing/autoher.html.twig');
  201. }
  202. public function doiDetails(Request $request,EntityManagerInterface $em){
  203. $paymentDetails = $this->getDoctrine()->getRepository(Payment::class)->findOneBy([]);
  204. return $this->render('landing/doi.html.twig', ["payment" => $paymentDetails ]);
  205. }
  206. public function aboutUs(Request $request,EntityManagerInterface $em){
  207. $PagesInfo = $this->getDoctrine()->getRepository(PagesInfo::class)->findOneBy([]);
  208. $contant = "";
  209. if(!empty($PagesInfo)){
  210. $contant = htmlspecialchars_decode($PagesInfo->getAboutUs());
  211. }
  212. return $this->render('landing/about_us.html.twig',["PagesInfo" => $contant]);
  213. // return $this->render('landing/about_us.html.twig');
  214. }
  215. public function termsPage(Request $request,EntityManagerInterface $em){
  216. $PagesInfo = $this->getDoctrine()->getRepository(PagesInfo::class)->findOneBy([]);
  217. $contant = "";
  218. if(!empty($PagesInfo)){
  219. $contant = htmlspecialchars_decode($PagesInfo->getTermsData());
  220. }
  221. return $this->render('landing/termPage.html.twig',["PagesInfo" => $contant]);
  222. }
  223. public function privacyPage(Request $request,EntityManagerInterface $em){
  224. $PagesInfo = $this->getDoctrine()->getRepository(PagesInfo::class)->findOneBy([]);
  225. $contant = "";
  226. if(!empty($PagesInfo)){
  227. $contant = htmlspecialchars_decode($PagesInfo->getPolicyData());
  228. }
  229. return $this->render('landing/privacy.html.twig',["PagesInfo" => $contant]);
  230. }
  231. public function careerPage(Request $request,EntityManagerInterface $em){
  232. $PagesInfo = $this->getDoctrine()->getRepository(PagesInfo::class)->findOneBy([]);
  233. $contant = "";
  234. if(!empty($PagesInfo)){
  235. $contant = htmlspecialchars_decode($PagesInfo->getCareerData());
  236. }
  237. return $this->render('landing/career.html.twig',["PagesInfo" => $contant]);
  238. }
  239. public function faqPage(Request $request,EntityManagerInterface $em){
  240. $PagesInfo = $this->getDoctrine()->getRepository(Faq::class)->findBy([]);
  241. return $this->render('landing/faq.html.twig',["faqs" => $PagesInfo]);
  242. }
  243. public function logoLink(Request $request,EntityManagerInterface $em){
  244. $PagesInfo = $this->getDoctrine()->getRepository(PagesInfo::class)->findOneBy([]);
  245. // dd($PagesInfo);
  246. $logoLink = [
  247. "facebook" => "#",
  248. "twitter" => "#",
  249. "instagram" => "#",
  250. "linkdin" => "#"
  251. ];
  252. if(!empty($PagesInfo)){
  253. $logoLink = [
  254. "facebook" => $PagesInfo->getFaceLink(),
  255. "twitter" => $PagesInfo->getTwiterLink(),
  256. "instagram" => $PagesInfo->getInstaLink(),
  257. "linkdin" => $PagesInfo->getLinkdenLink()
  258. ];
  259. }
  260. return new JsonResponse(['status' => 200, "logo_Link" => $logoLink]);
  261. }
  262. }