403Webshell
Server IP : 103.234.187.230  /  Your IP : 216.73.216.216
Web Server : Apache
System : Linux lserver42043-ind.megavelocity.net 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
User : apache ( 48)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/prathamtour.com/application/admin/controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/prathamtour.com/application/admin/controllers/PackageController.php
<?php
	
	/* * *************************************************************
		* Catabatic Technology Pvt. Ltd.
		* File Name     : ContactusController.php
		* File Desc.    : Contactus controller managed all contact queries
		* Created By    : Piyush Tiwari <piyush@catpl.co.in>
		* Created Date  : 23 May 2018
		* Updated Date  : 09 Jan 2018
	* ************************************************************* */
	
	class Admin_PackageController extends Catabatic_Rvadmin {
		
		public $dbAdapter;
		public $perPageLimit;
		public $siteurl;
		public $DIR_WRITE_MODE;
		
		public function init() {
			
			$options = Zend_Controller_Front::getInstance()->getParam('bootstrap')->getOption('bootstrap');
			$resultset = $this->resultset;
			$baseUrl = $options['siteUrl'];
			$this->large_image_width = $options['large_image_width'];
			$this->large_image_height = $options['large_image_height'];
			$this->medium_image_width = $options['medium_image_width'];
			$this->medium_image_height = $options['medium_image_height'];
			$this->small_image_width = $options['small_image_width'];
			$this->small_image_height = $options['small_image_height'];
			
			$this->banner_large_image_width = $options['banner_large_image_width'];
			$this->banner_large_image_height = $options['banner_large_image_height'];
			$this->banner_medium_image_width = $options['banner_medium_image_width'];
			$this->banner_medium_image_height = $options['banner_medium_image_height'];
			$this->banner_small_image_width = $options['banner_small_image_width'];
			$this->banner_small_image_height = $options['banner_small_image_height'];
			
			
			parent::init(); // 
			
			/* Initialize db and session access */
			$aConfig = $this->getInvokeArg('bootstrap')->getOptions();
			$BootStrap = $aConfig['bootstrap'];
			$this->siteurl = $aConfig['bootstrap']['siteUrl'];
			$this->appmode = $aConfig['bootstrap']['appmode'];
			$this->AgencyId = $aConfig['bootstrap']['gtxagencysysid'];
			$this->per_page_record = 25;
			$this->dbAdapter = Zend_Db_Table::getDefaultAdapter();
			$this->stylecss = $BootStrap['stylecss'];
			$auth = Zend_Auth::getInstance();
			$authStorage = $auth->getStorage()->read();
			$this->username = $authStorage->username;
			$this->admin_type = $authStorage->role;
			$this->DIR_WRITE_MODE = 0777;
			$this->current_time = time();
			$this->imageDirectory = (($this->appmode == 'MODE_BETA') ? 'beta/' : '') . 'public/upload/'.$this->stylecss.'/tours/';
			//echo"<pre>";print_r($this->imageDirectory);die;
		}
		
		public function indexAction() {
			$this->checklogin();
			$this->view->messages = $this->_helper->flashMessenger->getMessages();
			$crud = new Admin_Model_CRUD();
			//echo"<pre>";print_r($crud);die;
			$getData = array();
			if ($this->getRequest()->isPost()) {
				$getData = $this->getRequest()->getPost();
				$searchArr = array(
                'Destinations' => $getData['Destinations'],
                'GTXPkgId' => $getData['packagenumber'],
                'name' => $getData['name'],
                'rows' => $getData['rows'],
                'page' => $getData['page'],
                'sort' => $getData['sort'],
                'order' => $getData['order']
				);
				
				$resulsetold = $crud->getCount($this->tablename, ['tbl.IsActive' => 1, 'tbl.IsPublish' => 1, 'tbl.IsMarkForDel' => 0, 'tbl.ItemType' => 1], 'PkgSysId');
				$crud->searchArr = $searchArr;
				$resultset = $crud->rv_select_all_package($this->tablename, ['PkgSysId', 'lastMinuteDeal', 'GTXPkgId', 'LongJsonInfo', 'Destinations', 'Countries', 'Image', 'HotDeal', 'PkgValidUntil', 'Nights', 'StarRating', 'IsFeatured', 'IsActive', 'IsPublish', 'IsMarkForDel'], ['IsActive' => 1, 'IsPublish' => 1, 'IsMarkForDel' => 0, 'ItemType' => 1]);
				// print_r($resultset);die;
				// echo"<pre>";print_r($resultset);die('shalvi');
				//$result = array();
				$jsonarray = array();
				foreach ($resultset as $resultkey => $resultval) {
					try {
						$jsonarray[$resultkey] = Zend_Json::decode($resultval['LongJsonInfo'], true);
						} catch (Zend_Exception $e) {
						$jsonarray[$resultkey] = "error";
					}
				}
				//echo"<pre>";print_r($jsonarray);die;
				
				if (!empty($resultset)) {
					foreach ($resultset as $resultkey => $resultval) {
						// echo"<pre>";print_r($resultval);die('test');
						$longJSON = $jsonarray[$resultkey];
						if ($longJSON != 'error') {
							$temp['package'] = $longJSON['package']; // get package type array
							} else {
							$temp['package']['Name'] = $resultval['GTXPkgId'] . " - error";
						}
						$result[] = [
                        'PkgSysId' => $resultval['PkgSysId'],
                        'GTXPkgId' => $resultval['GTXPkgId'],
                        'Destinations' => $resultval['Destinations'],
                        'IsFeatured' => $resultval['IsFeatured'],
                        'lastMinuteDeal' => $resultval['lastMinuteDeal'],
                        'HotDeal' => $resultval['HotDeal'],
                        'Countries' => $resultval['Countries'],
                        'PkgValidUntil' => $resultval['PkgValidUntil'],
                        'IsActive' => $resultval['IsActive'],
                        'Nights' => $resultval['Nights'],
                        'StarRating' => $resultval['StarRating'] . ' star', // custom field
                        'package' => $temp['package']['Name'],
                        'Image' => $resultval['Image'],
						];
					}
					// echo"<pre>";print_r($result);exit;
				}
				
				$result1 = Zend_Json::encode($result);
				$newResult1 = Zend_Json::decode($result1, false);
				$finalResult1["total"] = $resulsetold[0]['PkgSysId'];
				$finalResult1["rows"] = $newResult1;
				echo json_encode($finalResult1);
				exit;
			}
		}
		
		public function editpackageAction() {
			$this->checklogin();
			$crud = new Admin_Model_CRUD();
			$form = new Admin_Form_Editpackagepage();
			$pId = (int) $this->getRequest()->getParam("id");
			$page = ($this->getRequest()->getParam("page")) ? $this->getRequest()->getParam("page") : 1;
			
			$form->setMethod("POST");
			$form->setAction("admin/package/editpackage/id/" . $pId . "/page/$page");
			$form->setName("edit_package_page");
			
			if ($this->getRequest()->isPost()) {
				$getData = $this->getRequest()->getPost();
				//echo "<pre>";print_r($getData);die;
				if ($form->isValid($getData)) {
					if (isset($getData['save']) == "Save") {
						$newimagenamesArr = array();
						$newimagenames = '';
						$result = $crud->getCmsdata($this->tablename, ['*'], ['PkgSysId' => $pId], ['PkgSysId' => 'DESC']);
						
						$images = $_FILES['image']['name'];
						$MainBannerImage = $_FILES['MainImage']['name'];
						$fileBannerName = '';
						foreach ($images as $key => $orignalFileName) {
							
							if (!empty($orignalFileName)) {
								$fileExt = $this->_helper->General->getFileExtension($orignalFileName);
								$allowedExtensions = ['jpg', 'jpeg', 'gif', 'png', 'webp'];
								if(in_array($fileExt, $allowedExtensions, true)){
									$orignalFolderName = $_SERVER["DOCUMENT_ROOT"] . "/" . $this->imageDirectory . $pId; // root folder for destination images
									
									/* Get File Extension */
									$fileExt = $this->_helper->General->getFileExtension($orignalFileName);
									$fileName = $pId . '_' . $this->current_time . '_' . $key . '.' . $fileExt;
									$fileName1 = $pId . '_' . $this->current_time . '_' . $key;
									
									/* Create directory if not exists */
									if (!file_exists($orignalFolderName)) {
										mkdir($orignalFolderName, $this->DIR_WRITE_MODE, true);
									}
									
									foreach ($_FILES["image"]["tmp_name"] as $key1 => $image) {
										if ($key == $key1) {
											$temp_file_name = $image; // temprary file name
										}
									}
									@move_uploaded_file($temp_file_name, $orignalFolderName . "/" . $fileName);
									
									$originalLargeFolder = $orignalFolderName . '/large';
									$originalMediumFolder = $orignalFolderName . '/medium';
									$originalSmallFolder = $orignalFolderName . '/small';
									
									
									
									$sourceFile = $orignalFolderName . "/" . $fileName;
									$destinationFile = $orignalFolderName . "/" . $fileName1.'.webp';
									$quality = 80;
									if ($crud->convertToWebP($sourceFile, $destinationFile, $quality)) {
										if (!file_exists($originalLargeFolder)) {
											mkdir($originalLargeFolder, 0777, true);
										}
										if (!file_exists($originalMediumFolder)) {
											mkdir($originalMediumFolder, 0777, true);
										}
										if (!file_exists($originalSmallFolder)) {
											mkdir($originalSmallFolder, 0777, true);
										}
										
										@copy($destinationFile, $originalLargeFolder . "/" . $fileName1.'.webp'); 
										@copy($destinationFile, $originalMediumFolder . "/" . $fileName1.'.webp'); 
										@copy($destinationFile, $originalSmallFolder . "/" . $fileName1.'.webp'); 
										
										$newimagenamesArr[] = $fileName1.'.webp';
										$newimagenames = implode(',', $newimagenamesArr);
										} else {
										$this->view->errorMessage ="Only allow  'jpg', 'png', 'webp' "; 
									}
									
									}else{
									$this->view->errorMessage ="Only allow  'jpg', 'png', 'webp' "; 
								}
							}
						}
						if (!empty($MainBannerImage)) {
							$fileExt = $this->_helper->General->getFileExtension($MainBannerImage);
							$allowedExtensions = ['jpg', 'jpeg', 'gif', 'png', 'webp'];
							if(in_array($fileExt, $allowedExtensions, true)){
								$orignalBannerFolderName = $_SERVER["DOCUMENT_ROOT"] . "/" . $this->imageDirectory . $pId . '/banner'; // root folder for destination images
								
								/* Get File Extension */
								$fileExt1 = $this->_helper->General->getFileExtension($MainBannerImage);
								$fileBannerName = $pId . '_banner_' . $this->current_time . '.' . $fileExt1;
								$fileName1 = $pId . '_banner_' . $this->current_time;
								
								/* Create directory if not exists */
								if (!file_exists($orignalBannerFolderName)) {
									mkdir($orignalBannerFolderName, $this->DIR_WRITE_MODE, true);
								}
								
								$temp_file_name1 = $_FILES["MainImage"]["tmp_name"];
								
								@move_uploaded_file($temp_file_name1, $orignalBannerFolderName . "/" . $fileBannerName);
								
								$originalLargeFolder = $orignalBannerFolderName . '/large';
								$originalMediumFolder = $orignalBannerFolderName . '/medium';
								$originalSmallFolder = $orignalBannerFolderName . '/small';
								
								$sourceFile = $orignalFolderName . "/" . $fileName;
								$destinationFile = $orignalFolderName . "/" . $fileName1.'.webp';
								$quality = 80;
								if ($crud->convertToWebP($sourceFile, $destinationFile, $quality)) {
									if (!file_exists($originalLargeFolder)) {
										mkdir($originalLargeFolder, 0777, true);
									}
									if (!file_exists($originalMediumFolder)) {
										mkdir($originalMediumFolder, 0777, true);
									}
									if (!file_exists($originalSmallFolder)) {
										mkdir($originalSmallFolder, 0777, true);
									}
									
									@copy($destinationFile, $originalLargeFolder . "/" . $fileName1.'.webp'); 
									@copy($destinationFile, $originalMediumFolder . "/" . $fileName1.'.webp'); 
									@copy($destinationFile, $originalSmallFolder . "/" . $fileName1.'.webp'); 
									$fileBannerName = $fileName1.'.webp';
									} else {
									$this->view->errorMessage ="Only allow  'jpg', 'png', 'webp' "; 
								}
								
								}else{
								$this->view->errorMessage ="Only allow  'jpg', 'png', 'webp' "; 
							}
						}
						$editActivitiesData = [
                        'oldPrice' => ($getData['oldPrice']),
                        'HotDeal' => ($getData['hot_deal']),
                        'Keyword' => ($getData['keyword']),
                        'Description' => ($getData['description']),
                        'Metatag' => ($getData['metatag']),
						//                        'IsActive' => ($getData['status_number']),
						];
						if($getData["oldImage"]){
							$oldimagenames = implode(',', $getData["oldImage"]);
						}
						
						//  $oldimagenames = $oldImage;
						
						
						$editActivitiesData['Image'] = ltrim($oldimagenames . ($newimagenames != '' ? ',' . $newimagenames : ''), ',');
						if ($fileBannerName != '') {
							$editActivitiesData['MainImage'] = $fileBannerName;
						}
						
						//echo "<pre>";print_r($editActivitiesData);die;
						$crud->rv_update($this->tablename, $editActivitiesData, ['PkgSysId =?' => $pId]);
						// delete old images from folder too
						$this->view->successMessage = "Package has been saved successfully.";
						$this->_helper->flashMessenger->addMessage("Package has been updated successfully.");
						$this->_redirect("/admin/package/index?page=$page");
					}
				}
			}
			$result = $crud->getCmsdata($this->tablename, ['*'], ['PkgSysId' => $pId], ['PkgSysId' => 'DESC']);
			
			$editdata["hot_deal"] = @$result->HotDeal;
			$editdata["oldPrice"] = @$result->oldPrice;
			$editdata["keyword"] = @$result->Keyword;
			$editdata["description"] = @$result->Description;
			$editdata["metatag"] = @$result->Metatag;
			$editdata["Image"] = '';
			$editdata["Image"] .= @$result->Image;
			$form->populate($editdata);
			$this->view->pId = $pId;
			$this->view->image .= @$result->Image;
			$this->view->MainImage .= @$result->MainImage;
			$this->view->form = $form;
		}
		
		
		public function downloadImagesAction() {
			
			$this->checklogin();
			$crud = new Admin_Model_CRUD();
			$PkgSysId = (int) $this->getRequest()->getParam("id");
			
			$resultset = $crud->rv_select_row($this->tablename, ['Image', 'LongJsonInfo'], ['ItemType' => 1, 'IsMarkForDel' => 0, 'PkgSysId' => $PkgSysId], ['PkgSysId' => 'ASC']);
			
			if ($resultset['LongJsonInfo']) {
				$LongJsonInfo = Zend_Json::decode($resultset['LongJsonInfo']);
			}
			
			$sourceURL = $LongJsonInfo['package']['ImgThumbnail'];
			$destination = 'public/upload/tours/';
			$clonesArray = ['thumb', 'large', 'medium']; // give the sizes of images
			
			if ($sourceURL) {
				// copy image to local server from third party urls
				$result = $this->downloadImagesFromServer($PkgSysId, $sourceURL, $this->imageDirectory, $clonesArray);
				$crud->rv_update($this->tablename, ['Image' => $result['img']], ['PkgSysId =?' => $PkgSysId]); // update into database
				} else {
				$result = ['status' => FALSE, 'message' => "Image Not Available.", 'img' => ''];
			}
			
			echo Zend_Json::encode($result);
			die;
		}
		
		public function activeAction() {
			$this->view->layout()->disableLayout();
			$this->_helper->viewRenderer->setNoRender(true);
			$this->checklogin();
			if ($this->getRequest()->isPost()) {
				$param = $this->getRequest()->getParams();
				$crud = new Admin_Model_CRUD();
				//        print_r($param);die;
				$tId = $param["id"];
				$val = $param["val"];
				if ($tId) {
					try {
						$updatedata = [
                        'IsFeatured' => $val
						];
						$result = $crud->rv_update($this->tablename, $updatedata, ['PkgSysId =?' => $tId]);
						//                $resultset = $crud->rv_select_all($this->tablename, ['*'], ['lastMinuteDeal' => 1, 'ItemType' => 1, 'IsMarkForDel' => 0], ['PkgSysId' => 'ASC']);
						//                if(count($resultset)>6){
						//                   $result_message = ['status' => false, 'message' => 'Limit Exceed!!'];
						//                    echo Zend_Json::encode($result_message);
						//                    $updatedata = [
						//                    'lastMinuteDeal' => 0
						//                ];
						//                    $result = $crud->rv_update($this->tablename, $updatedata, ['PkgSysId =?' => $tId]);
						//                    exit; 
						//                }
						//                print_r($tId);die;
						if (!$result) {
							$result_message = ['status' => false, 'message' => 'Oops something wrong!!'];
							echo Zend_Json::encode($result_message);
							exit;
							} else {
							$result_message = ['status' => true, 'message' => 'Active successfully'];
							echo Zend_Json::encode($result_message);
							exit;
						}
						} catch (Exception $ex) {
						$ex->getMessage();
					}
				}
			}
		}
		
		public function activedealsAction() {
			$this->view->layout()->disableLayout();
			$this->_helper->viewRenderer->setNoRender(true);
			$this->checklogin();
			if ($this->getRequest()->isPost()) {
				$param = $this->getRequest()->getParams();
				$crud = new Admin_Model_CRUD();
				//        print_r($param);die;
				$tId = $param["id"];
				$val = $param["val"];
				if ($tId) {
					try {
						$updatedata = [
                        'lastMinuteDeal' => $val
						];
						$result = $crud->rv_update($this->tablename, $updatedata, ['PkgSysId =?' => $tId]);
						//                $resultset = $crud->rv_select_all($this->tablename, ['*'], ['lastMinuteDeal' => 1, 'ItemType' => 1, 'IsMarkForDel' => 0], ['PkgSysId' => 'ASC']);
						//                if(count($resultset)>6){
						//                   $result_message = ['status' => false, 'message' => 'Limit Exceed!!'];
						//                    echo Zend_Json::encode($result_message);
						//                    $updatedata = [
						//                    'lastMinuteDeal' => 0
						//                ];
						//                    $result = $crud->rv_update($this->tablename, $updatedata, ['PkgSysId =?' => $tId]);
						//                    exit; 
						//                }
						//                print_r($tId);die;
						if (!$result) {
							$result_message = ['status' => false, 'message' => 'Oops something wrong!!'];
							echo Zend_Json::encode($result_message);
							exit;
							} else {
							$result_message = ['status' => true, 'message' => 'Active successfully'];
							echo Zend_Json::encode($result_message);
							exit;
						}
						} catch (Exception $ex) {
						$ex->getMessage();
					}
				}
			}
		}
		
		public function deleteimageAction() {
			$this->_helper->viewRenderer->setNoRender(true);
			$this->_helper->layout->disableLayout(); // disable layouts
			
			$param = $this->getRequest()->getParams();
			
			$id = $param['id'];
			$images = $param['images'];
			
			unlink("public/upload/tours/$id/images/$images");
			unlink("public/upload/tours/$id/images/large/$images");
			unlink("public/upload/tours/$id/images/medium/$images");
			unlink("public/upload/tours/$id/images/small/$images");
			unlink("public/upload/tours/$id/images/thumb/$images");
			
			$crud = new Admin_Model_CRUD();
			$result = $crud->getCmsdata($this->tablename, ['Image'], ['PkgSysId' => $id], ['PkgSysId' => 'DESC']);
			$strImages = $result['Image'];
			$arrImages = explode(",", $strImages);
			
			foreach ($arrImages as $key => $value) {
				if (trim($value) == trim($images)) {
					unset($arrImages[$key]);
				}
			}
			$strImages = trim(implode(",", $arrImages), ",");
			if ($strImages === "") {
				$strImages = null;
			}
			$crud->rv_update($this->tablename, ['Image' => $strImages], ['PkgSysId =?' => $id]);
			$response = array("status" => true, "msg" => "Deleted Successfully");
			echo json_encode($response);
			exit;
		}
		
		/**
			* checklogin() method is used to check admin logedin or not
			* @param Null
			* @return Array 
		*/
		public function checklogin() {
			if (($this->admin_type == "superadmin") || ($this->admin_type == "admin")) {
				$auth = Zend_Auth::getInstance();
				$hasIdentity = $auth->hasIdentity();
				/*             * ************* check admin identity *********** */
				if (!$hasIdentity) {
					$this->_redirect('admin/index/index');
				}
				} else {
				$this->_redirect('admin/index/index');
			}
		}
		public function deletepackageAction() {
			$this->checklogin();
			$crud = new Admin_Model_CRUD();
			$tId = (int) $this->getRequest()->getParam("id");
			//echo $tId;die;
			if ($tId) {
				$checkdata = $crud->rv_select_row('tb_tbb2c_packages_master', ['PkgSysId'], ['PkgSysId' => $tId], ['PkgSysId' => 'asc']);
				if (count($checkdata) > 0) {
					$crud->rv_update('tb_tbb2c_packages_master', ['isMarkForDel' => 1], ['PkgSysId =?' => $tId]);
					$this->_helper->flashMessenger->addMessage("Deleted successfully.");
					$this->_redirect("/admin/package/index");
					} else {
					die('Oops some thing wrong!!.');
				}
			}
		}
		
	}

Youez - 2016 - github.com/yon3zu
LinuXploit