| 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/travelbrace.com/application/admin/controllers/ |
Upload File : |
<?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!!.');
}
}
}
}