diff --git a/.env b/.env old mode 100644 new mode 100755 index 1e2084a7..d0fe98e8 --- a/.env +++ b/.env @@ -154,7 +154,7 @@ APP_TIMEZONE = 'Asia/Kolkata' # WAAI_TOKEN = '6568739969f28' # WAAI_INSTANCE = '656876690A9FD' - +app.debug = true; # for Testing Purpose # 4th Account - Dummy Account by sanjeev created on 10th april 24 Testing purpose # Dummy Office Mail ID - venba.it.chennai@venbainfotech.com diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/app/.htaccess b/app/.htaccess old mode 100644 new mode 100755 diff --git a/app/Common.php b/app/Common.php old mode 100644 new mode 100755 diff --git a/app/Config/App.php b/app/Config/App.php old mode 100644 new mode 100755 diff --git a/app/Config/Autoload.php b/app/Config/Autoload.php old mode 100644 new mode 100755 index e311db51..5e6c90c9 --- a/app/Config/Autoload.php +++ b/app/Config/Autoload.php @@ -97,5 +97,5 @@ class Autoload extends AutoloadConfig * @var string[] * @phpstan-var list */ - public $helpers = []; + public $helpers = ['date_picker']; } diff --git a/app/Config/Boot/development.php b/app/Config/Boot/development.php old mode 100644 new mode 100755 diff --git a/app/Config/Boot/production.php b/app/Config/Boot/production.php old mode 100644 new mode 100755 diff --git a/app/Config/Boot/testing.php b/app/Config/Boot/testing.php old mode 100644 new mode 100755 diff --git a/app/Config/CURLRequest.php b/app/Config/CURLRequest.php old mode 100644 new mode 100755 diff --git a/app/Config/Cache.php b/app/Config/Cache.php old mode 100644 new mode 100755 diff --git a/app/Config/Constants.php b/app/Config/Constants.php old mode 100644 new mode 100755 index c85966cb..35d458d9 --- a/app/Config/Constants.php +++ b/app/Config/Constants.php @@ -130,5 +130,25 @@ define('SEND_WAAI_GROUP_URL', 'https://waai.in/api/send_group'); define('EXPIRAY_NOTIFY_TEMPLATE_EMAIL','EXPIRAY_NOTIFY_TEMPLATE_EMAIL'); define('EXPIRAY_NOTIFY_TEMPLATE_WHATSAPP','EXPIRAY_NOTIFY_TEMPLATE_WHATSAPP'); +define('PAYTM_ENVIRONMENT', 'TEST'); // PROD +//Change this constant's value with Merchant key received from Paytm. +define('PAYTM_MERCHANT_KEY', 'wmy4JaBcar3nK97G'); +//Change this constant's value with MID (Merchant ID) received from Paytm. +define('PAYTM_MERCHANT_MID', 'VWJbeA80075161016380'); +//Change this constant's value with Website name received from Paytm. + +define('PAYTM_MERCHANT_WEBSITE', 'WEBSTAGING'); +$PAYTM_STATUS_QUERY_NEW_URL='https://securegw-stage.paytm.in/merchant-status/getTxnStatus'; +$PAYTM_TXN_URL='https://securegw-stage.paytm.in/theia/processTransaction'; + +if (PAYTM_ENVIRONMENT == 'PROD') { + $PAYTM_STATUS_QUERY_NEW_URL='https://securegw.paytm.in/merchant-status/getTxnStatus'; + $PAYTM_TXN_URL='https://securegw.paytm.in/theia/processTransaction'; +} + +define('PAYTM_REFUND_URL', ''); +define('PAYTM_STATUS_QUERY_URL', $PAYTM_STATUS_QUERY_NEW_URL); +define('PAYTM_STATUS_QUERY_NEW_URL', $PAYTM_STATUS_QUERY_NEW_URL); +define('PAYTM_TXN_URL', $PAYTM_TXN_URL); diff --git a/app/Config/ContentSecurityPolicy.php b/app/Config/ContentSecurityPolicy.php old mode 100644 new mode 100755 diff --git a/app/Config/Cookie.php b/app/Config/Cookie.php old mode 100644 new mode 100755 diff --git a/app/Config/Database.php b/app/Config/Database.php old mode 100644 new mode 100755 diff --git a/app/Config/DocTypes.php b/app/Config/DocTypes.php old mode 100644 new mode 100755 diff --git a/app/Config/Email.php b/app/Config/Email.php old mode 100644 new mode 100755 diff --git a/app/Config/Encryption.php b/app/Config/Encryption.php old mode 100644 new mode 100755 diff --git a/app/Config/Events.php b/app/Config/Events.php old mode 100644 new mode 100755 diff --git a/app/Config/Exceptions.php b/app/Config/Exceptions.php old mode 100644 new mode 100755 diff --git a/app/Config/Feature.php b/app/Config/Feature.php old mode 100644 new mode 100755 diff --git a/app/Config/Filters.php b/app/Config/Filters.php old mode 100644 new mode 100755 diff --git a/app/Config/ForeignCharacters.php b/app/Config/ForeignCharacters.php old mode 100644 new mode 100755 diff --git a/app/Config/Format.php b/app/Config/Format.php old mode 100644 new mode 100755 diff --git a/app/Config/Generators.php b/app/Config/Generators.php old mode 100644 new mode 100755 diff --git a/app/Config/Honeypot.php b/app/Config/Honeypot.php old mode 100644 new mode 100755 diff --git a/app/Config/Images.php b/app/Config/Images.php old mode 100644 new mode 100755 diff --git a/app/Config/Kint.php b/app/Config/Kint.php old mode 100644 new mode 100755 diff --git a/app/Config/Logger.php b/app/Config/Logger.php old mode 100644 new mode 100755 diff --git a/app/Config/Migrations.php b/app/Config/Migrations.php old mode 100644 new mode 100755 diff --git a/app/Config/Mimes.php b/app/Config/Mimes.php old mode 100644 new mode 100755 diff --git a/app/Config/Modules.php b/app/Config/Modules.php old mode 100644 new mode 100755 diff --git a/app/Config/Pager.php b/app/Config/Pager.php old mode 100644 new mode 100755 diff --git a/app/Config/Paths.php b/app/Config/Paths.php old mode 100644 new mode 100755 diff --git a/app/Config/Publisher.php b/app/Config/Publisher.php old mode 100644 new mode 100755 diff --git a/app/Config/Routes.php b/app/Config/Routes.php old mode 100644 new mode 100755 index 23e5e9e4..a5679922 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -145,8 +145,12 @@ $routes->get('print_address_landscape/(:num)', 'Invoice::print_address_landscape $routes->match(['get','post'],'/general_inv_rp','Invoice::general_inv_rp'); $routes->match(['get','post'],'/mem_inv_rp','Invoice::general_membership_inv_rp'); $routes->match(['get','post'],'/itemwise_report','Invoice::itemwise_report'); +$routes->match(['get','post'],'/report_userwise_and_eventwise','Invoice::userwise_eventwise_report'); $routes->match(['get','post'],'/expired_customer_report','Invoice::expired_customer_report'); +$routes->match(['get','post'],'/received_payments_report','Invoice::received_payments_report'); $routes->match(['get','post'],'/book_publishwise_Report','Invoice::book_publishwise_Report'); +$routes->match(['get','post'],'/itemwise_report_with_payment_method','Invoice::itemwise_report_with_payment_method'); + @@ -184,7 +188,12 @@ $routes->post('api/(:any)', 'ApiIntegration::api_integration/$1'); $routes->get('get_country', 'Customer::get_country_list'); $routes->post('qucik_add_addresses', 'Customer::qucik_add_addresses'); - +#Payment Routes +$routes->match(['get','post'],'/subscription_renewal','Payment::index/'); +$routes->match(['get','post'],'/payer','Payment::iniatepay/'); +$routes->match(['get','post'],'/pay','Payment::pay/'); +$routes->match(['get','post'],'/tresponse','Payment::tresponse/'); +$routes->match(['get','post'],'/subscription_renewal/(:any)','Payment::index/$1'); // $routes->group("api", function ($routes) { // // $routes->post("create_products/", "ApiIntegration::save_book_details"); diff --git a/app/Config/Security.php b/app/Config/Security.php old mode 100644 new mode 100755 diff --git a/app/Config/Services.php b/app/Config/Services.php old mode 100644 new mode 100755 diff --git a/app/Config/Session.php b/app/Config/Session.php old mode 100644 new mode 100755 diff --git a/app/Config/Toolbar.php b/app/Config/Toolbar.php old mode 100644 new mode 100755 diff --git a/app/Config/UserAgents.php b/app/Config/UserAgents.php old mode 100644 new mode 100755 diff --git a/app/Config/Validation.php b/app/Config/Validation.php old mode 100644 new mode 100755 diff --git a/app/Config/View.php b/app/Config/View.php old mode 100644 new mode 100755 diff --git a/app/Controllers/Address.php b/app/Controllers/Address.php old mode 100644 new mode 100755 diff --git a/app/Controllers/ApiIntegration.php b/app/Controllers/ApiIntegration.php old mode 100644 new mode 100755 diff --git a/app/Controllers/BaseController.php b/app/Controllers/BaseController.php old mode 100644 new mode 100755 index b91cb15e..be20e9b2 --- a/app/Controllers/BaseController.php +++ b/app/Controllers/BaseController.php @@ -65,7 +65,7 @@ abstract class BaseController extends Controller echo "This is a command-line request."; // echo $requestedRoute; } else { - if ($requestedRoute !== '/login' && $requestedRoute !== '/authenticate' && $requestedRoute !== '/auth_confirm_mail' && $requestedRoute !== '/auth_reset_password' && $requestedRoute !== 'auth_reset_password_save' && $uri->getSegment(1) != 'getExpCustomerDetail'&& $uri->getSegment(1) != 'download_invoice_pdf') { + if ($requestedRoute !== '/login' && $requestedRoute !== '/authenticate'&& $requestedRoute !== '/pay' && $requestedRoute !== '/auth_confirm_mail' && $requestedRoute !== '/auth_reset_password' && $requestedRoute !== 'auth_reset_password_save' && $requestedRoute !== '/subscription_renewal'&& $requestedRoute !== '/tresponse' && strpos($requestedRoute, '/subscription_renewal/') === false && $uri->getSegment(1) != 'getExpCustomerDetail'&& $uri->getSegment(1) != 'download_invoice_pdf') { $this->authData = $this->session_log(); } } diff --git a/app/Controllers/Business.php b/app/Controllers/Business.php old mode 100644 new mode 100755 diff --git a/app/Controllers/Customer.php b/app/Controllers/Customer.php old mode 100644 new mode 100755 diff --git a/app/Controllers/Event.php b/app/Controllers/Event.php old mode 100644 new mode 100755 diff --git a/app/Controllers/Home.php b/app/Controllers/Home.php old mode 100644 new mode 100755 diff --git a/app/Controllers/Invoice.php b/app/Controllers/Invoice.php old mode 100644 new mode 100755 index 7f0a65c4..2bfee999 --- a/app/Controllers/Invoice.php +++ b/app/Controllers/Invoice.php @@ -8,6 +8,7 @@ use App\Models\InvoiceModel; use App\Models\BusinessModel; use App\Models\BooksModel; use App\Helpers\NotificationHelper; +use App\Helpers\date_picker; use Mpdf\Mpdf; use Dompdf\Dompdf; @@ -954,12 +955,13 @@ class Invoice extends BaseController } else { $dateParts = explode(' - ', $this->request->getVar('date')); - $fromDate = $dateParts[0]; - $toDate = $dateParts[1]; - $dateTime = \DateTime::createFromFormat('d/m/Y', $fromDate); - $dateTime1 = \DateTime::createFromFormat('d/m/Y', $toDate); + $dates = datePicker($dateParts); + // $fromDate = $dateParts[0]; + // $toDate = $dateParts[1]; + // $dateTime = \DateTime::createFromFormat('d/m/Y', $fromDate); + // $dateTime1 = \DateTime::createFromFormat('d/m/Y', $toDate); $model = new InvoiceModel(); - $data['expired_customers'] = $model->getExpiredCustomers($dateTime->format('Y-m-d'), $dateTime1->format('Y-m-d')); + $data['expired_customers'] = $model->getExpiredCustomers($dates['dateTime']->format('Y-m-d'), $dates['dateTime1']->format('Y-m-d')); $data['selected_data'] = $this->request->getVar('date'); $this->logger->info("Itemwise Report "); } @@ -970,29 +972,112 @@ class Invoice extends BaseController public function itemwise_report() { + $model = new InvoiceModel(); if ($this->request->getmethod() == 'get') { - $model = new InvoiceModel(); + $data['report_data'] = $model->itemwise_report_data(); - $this->logger->info("Itemwise Report "); - $data['page_name'] = 'Bookswise Report'; - $this->render_page('report_itemwise', $data); + $this->logger->info("Itemwise Report getMETHOD "); + $data['selected_data'] = ""; + } else { - if ($this->request->getPost('export_csv')) { + $value = $this->request->getPost('value'); + if (!isset($value)){ // Handle CSV export $this->exportCsv(); - } else { - // Handle date range filter + $this->logger->info("Itemwise Report CSV "); - - $model = new InvoiceModel(); - $data['report_data'] = $model->itemwise_report_data(); - $this->logger->info("Itemwise Report "); - $data['page_name'] = 'Bookswise Report'; - $this->exportCsv(); - $this->render_page('report_itemwise', $data); } + else{ + // Handle date range filter + $this->logger->info("Itemwise Report getPOST "); + + $dateParts = explode(' - ', $this->request->getVar('date')); + $dates = datePicker($dateParts); + // $fromDate = $dateParts[0]; + // $toDate = $dateParts[1]; + // $dateTime = \DateTime::createFromFormat('d/m/Y', $fromDate); + // $dateTime1 = \DateTime::createFromFormat('d/m/Y', $toDate); + $model = new InvoiceModel(); + $data['report_data'] = $model->itemwise_report_data($dates['dateTime']->format('Y-m-d'), $dates['dateTime1']->format('Y-m-d')); + $data['selected_data'] = $this->request->getVar('date'); + $this->logger->info('dsvawvsd'); + $this->logger->info("Itemwise Report2 "); + } + + + } + $data['page_name'] = 'Bookswise Report'; + $this->render_page('report_itemwise', $data); + } + + public function userwise_eventwise_report(){ + $model = new InvoiceModel(); + if ($this->request->getMethod() == 'get'){ + $data['report_data'] = $model->userwise_eventwise_report(); + $data['selected_data'] = ''; + $this->logger->info("Inside GEt method"); + } + else{ + $dateParts = explode(' - ', $this->request->getVar('date')); + $dates = datePicker($dateParts); + $model = new InvoiceModel(); + $data['report_data'] = $model->userwise_eventwise_report($dates['dateTime']->format('Y-m-d'), $dates['dateTime1']->format('Y-m-d')); + $data['selected_data'] = $this->request->getVar('date'); + $this->logger->info('dsvawvsd'); + $this->logger->info("Itemwise Report2 "); + } + + $data['page_name'] = 'User and Event wise Report'; + $this->render_page('report_userwise_and_eventwise',$data); + } + + public function received_payments_report(){ + + $model = new InvoiceModel(); + if ($this->request->getMethod() == 'get'){ + $data['payment_data'] = $model->getPaymentReport(); + $data['selected_data'] = ""; + $this->logger->info("Inside the get method"); + } + else{ + $dateParts = explode(' - ',$this->request->getVar(('date'))); + $dates = datePicker($dateParts); + // $fromDate = $dateParts[0]; + // $toDate = $dateParts[1]; + // $dateTime = \DateTime::createFromFormat('d/m/Y',$fromDate); + // $dateTime1 = \DateTime::createFromFormat('d/m/Y',$toDate); + + $data['payment_data'] = $model->getPaymentReport($dates['dateTime']->format('Y-m-d'), $dates['dateTime1']->format('Y-m-d')); + $data['selected_data'] = $this->request->getVar('date'); + } + $data['page_name'] = 'Received Payments Report'; + $this->render_page('received_payments_report',$data); + } + public function itemwise_report_with_payment_method(){ + + $model = new InvoiceModel(); + if ($this->request->getMethod() == 'get'){ + $data['report_data'] = $model->itemwise_report_data_with_payment_method(); + $data['selected_data'] = ""; + $this->logger->info("Inside the get method"); + } + else{ + $dateParts = explode(' - ',$this->request->getVar(('date'))); + $dates = datePicker($dateParts); + // $fromDate = $dateParts[0]; + // $toDate = $dateParts[1]; + // $dateTime = \DateTime::createFromFormat('d/m/Y',$fromDate); + // $dateTime1 = \DateTime::createFromFormat('d/m/Y',$toDate); + + $data['report_data'] = $model->itemwise_report_data_with_payment_method($dates['dateTime']->format('Y-m-d'), $dates['dateTime1']->format('Y-m-d')); + $data['selected_data'] = $this->request->getVar('date'); + + } + $data['page_name'] = 'Sales By Books'; + // var_dump($data); + // die(); + $this->render_page('itemwise_report_with_payment_method',$data); } - } private function exportCsv() { diff --git a/app/Controllers/Notifications.php b/app/Controllers/Notifications.php index dd44fe12..8fb56f73 100755 --- a/app/Controllers/Notifications.php +++ b/app/Controllers/Notifications.php @@ -630,7 +630,7 @@ class Notifications extends BaseController $emailContent = str_replace("{USER_NAME}", $fullName, $emailContent); $emailContent = str_replace("{SCHEME_NAME}", $schemename, $emailContent); $emailContent = str_replace("{EXPIRY_DATE}", $expirydate, $emailContent); - + $emailData = [ 'template_name' => 'EXPIRAY_NOTIFY_TEMPLATE_EMAIL', 'recipient_email' => $row['email'], diff --git a/app/Controllers/Payment.php b/app/Controllers/Payment.php new file mode 100644 index 00000000..a1dc3174 --- /dev/null +++ b/app/Controllers/Payment.php @@ -0,0 +1,128 @@ +get_customer_details_by_customer_id($subscriptionID); + $scheme = $model2->get_subscription_details_by_customerID($subscriptionID); + + $response = [ + 'customer_details' => $customer_details, + 'scheme' => $scheme, + 'subscriptionID' =>$subscriptionID + ]; + + return view('subscription_renewal',$response); + } + else{ + if ($this->request->getMethod() == 'get') { + + return view('subscription_renewal'); + } + else { + //echo "inside else";die(); + $customer_id = $this->request->getPost('customerID'); + $customer_details = $model->get_customer_details_by_customer_id($customer_id); + $scheme = $model2->get_subscription_details_by_customerID($customer_id); + + $response = [ + 'customer_details' => $customer_details, + 'scheme' => $scheme + ]; + //var_dump($response);die(); + return $this->response->setJSON($response); + } + } + + } + public function iniatepay(){ + return view('pay'); + } + public function pay() + { + $userAgent = $_SERVER['HTTP_USER_AGENT']; + if (preg_match('/mobile/i', $userAgent)) { + // Mobile device detected + $payment_method = "mobile"; + } else { + // Desktop device detected + $payment_method = 'website' ; + } + $checkSum = ""; + $paramList = array(); + $CUST_ID = $this->request->getPost("CustomerID"); + $ORDER_ID = uniqid($CUST_ID . "_"); + $INDUSTRY_TYPE_ID = "Retail"; + $CHANNEL_ID = ($payment_method == "mobile") ? "WAP" : "WEB"; + $TXN_AMOUNT = $this->request->getPost("amount"); + + // Create an array having all required parameters for creating checksum. + $paramList["MID"] = PAYTM_MERCHANT_MID; + $paramList["ORDER_ID"] = $ORDER_ID; + $paramList["CUST_ID"] = $CUST_ID; + $paramList["INDUSTRY_TYPE_ID"] = $INDUSTRY_TYPE_ID; + $paramList["CHANNEL_ID"] = $CHANNEL_ID; + $paramList["TXN_AMOUNT"] = $TXN_AMOUNT; + $paramList["WEBSITE"] = PAYTM_MERCHANT_WEBSITE; + $paramList["CALLBACK_URL"] = base_url('tresponse'); + + + //Here checksum string will return by getChecksumFromArray() function. + $data['checkSum'] = getChecksumFromArray($paramList, PAYTM_MERCHANT_KEY); + $data['paramList'] = $paramList; + //print_r($paramList);die(); + return view('/tresponse', $data); + } + + public function tresponse() { + $paytmChecksum = ""; + $paramList = array(); + $isValidChecksum = "FALSE"; + $paramList = $_POST; + $paytmChecksum = isset($_POST["CHECKSUMHASH"]) ? $_POST["CHECKSUMHASH"] : ""; + + //will return TRUE or FALSE string. + $isValidChecksum = verifychecksum_e($paramList, PAYTM_MERCHANT_KEY, $paytmChecksum); + //var_dump($isValidChecksum);die(); + if($isValidChecksum == "TRUE") { + + if ($_POST["STATUS"] == "TXN_SUCCESS") { + echo "Transaction status is success" . "
"; + } else { + echo "Transaction status is failure" . "
"; + } + + if (isset($_POST) && count($_POST)>0 ) { + foreach($_POST as $paramName => $paramValue) { + echo "
" . $paramName . " = " . $paramValue; + } + } + } else { + echo "Checksum mismatched."; + } + } +} + diff --git a/app/Controllers/Scheme.php b/app/Controllers/Scheme.php old mode 100644 new mode 100755 diff --git a/app/Controllers/Subscription.php b/app/Controllers/Subscription.php old mode 100644 new mode 100755 diff --git a/app/Controllers/email_temp.php b/app/Controllers/email_temp.php old mode 100644 new mode 100755 diff --git a/app/Database/Migrations/.gitkeep b/app/Database/Migrations/.gitkeep old mode 100644 new mode 100755 diff --git a/app/Database/Seeds/.gitkeep b/app/Database/Seeds/.gitkeep old mode 100644 new mode 100755 diff --git a/app/Filters/.gitkeep b/app/Filters/.gitkeep old mode 100644 new mode 100755 diff --git a/app/Helpers/.gitkeep b/app/Helpers/.gitkeep old mode 100644 new mode 100755 diff --git a/app/Helpers/NotificationHelper.php b/app/Helpers/NotificationHelper.php old mode 100644 new mode 100755 diff --git a/app/Helpers/apiIntegration_helper.php b/app/Helpers/apiIntegration_helper.php old mode 100644 new mode 100755 diff --git a/app/Helpers/date_picker_helper.php b/app/Helpers/date_picker_helper.php new file mode 100644 index 00000000..f2bd295c --- /dev/null +++ b/app/Helpers/date_picker_helper.php @@ -0,0 +1,19 @@ + \ No newline at end of file diff --git a/app/Helpers/encdec_paytm_helper.php b/app/Helpers/encdec_paytm_helper.php new file mode 100644 index 00000000..cb8090a3 --- /dev/null +++ b/app/Helpers/encdec_paytm_helper.php @@ -0,0 +1,252 @@ + $value) { + $pos = strpos($value, $findme); + $pospipe = strpos($value, $findmepipe); + if ($pos !== false || $pospipe !== false) + { + continue; + } + + if ($flag) { + $paramStr .= checkString_e($value); + $flag = 0; + } else { + $paramStr .= "|" . checkString_e($value); + } + } + return $paramStr; +} + +function getArray2StrForVerify($arrayList) { + $paramStr = ""; + $flag = 1; + foreach ($arrayList as $key => $value) { + if ($flag) { + $paramStr .= checkString_e($value); + $flag = 0; + } else { + $paramStr .= "|" . checkString_e($value); + } + } + return $paramStr; +} + +function redirect2PG($paramList, $key) { + $hashString = getchecksumFromArray($paramList, $key); + $checksum = encrypt_e($hashString, $key); +} + +function removeCheckSumParam($arrayList) { + if (isset($arrayList["CHECKSUMHASH"])) { + unset($arrayList["CHECKSUMHASH"]); + } + return $arrayList; +} + +function getTxnStatus($requestParamList) { + return callAPI(PAYTM_STATUS_QUERY_URL, $requestParamList); +} + +function getTxnStatusNew($requestParamList) { + return callNewAPI(PAYTM_STATUS_QUERY_NEW_URL, $requestParamList); +} + +function initiateTxnRefund($requestParamList) { + $CHECKSUM = getRefundChecksumFromArray($requestParamList,PAYTM_MERCHANT_KEY,0); + $requestParamList["CHECKSUM"] = $CHECKSUM; + return callAPI(PAYTM_REFUND_URL, $requestParamList); +} + +function callAPI($apiURL, $requestParamList) { + $jsonResponse = ""; + $responseParamList = array(); + $JsonData =json_encode($requestParamList); + $postData = 'JsonData='.urlencode($JsonData); + $ch = curl_init($apiURL); + curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); + curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0); + curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0); + curl_setopt($ch, CURLOPT_HTTPHEADER, array( + 'Content-Type: application/json', + 'Content-Length: ' . strlen($postData)) + ); + $jsonResponse = curl_exec($ch); + $responseParamList = json_decode($jsonResponse,true); + return $responseParamList; +} + +function callNewAPI($apiURL, $requestParamList) { + $jsonResponse = ""; + $responseParamList = array(); + $JsonData =json_encode($requestParamList); + $postData = 'JsonData='.urlencode($JsonData); + $ch = curl_init($apiURL); + curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); + curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0); + curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0); + curl_setopt($ch, CURLOPT_HTTPHEADER, array( + 'Content-Type: application/json', + 'Content-Length: ' . strlen($postData)) + ); + $jsonResponse = curl_exec($ch); + $responseParamList = json_decode($jsonResponse,true); + return $responseParamList; +} +function getRefundChecksumFromArray($arrayList, $key, $sort=1) { + if ($sort != 0) { + ksort($arrayList); + } + $str = getRefundArray2Str($arrayList); + $salt = generateSalt_e(4); + $finalString = $str . "|" . $salt; + $hash = hash("sha256", $finalString); + $hashString = $hash . $salt; + $checksum = encrypt_e($hashString, $key); + return $checksum; +} +function getRefundArray2Str($arrayList) { + $findmepipe = '|'; + $paramStr = ""; + $flag = 1; + foreach ($arrayList as $key => $value) { + $pospipe = strpos($value, $findmepipe); + if ($pospipe !== false) + { + continue; + } + + if ($flag) { + $paramStr .= checkString_e($value); + $flag = 0; + } else { + $paramStr .= "|" . checkString_e($value); + } + } + return $paramStr; +} +function callRefundAPI($refundApiURL, $requestParamList) { + $jsonResponse = ""; + $responseParamList = array(); + $JsonData = json_encode($requestParamList); + $postData = 'JsonData=' . urlencode($JsonData); + $ch = curl_init($refundApiURL); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); + curl_setopt($ch, CURLOPT_POST, true); + curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + curl_setopt($ch, CURLOPT_HTTPHEADER, array( + 'Content-Type: application/json', + 'Content-Length: ' . strlen($postData) + )); + $jsonResponse = curl_exec($ch); + $responseParamList = json_decode($jsonResponse, true); + return $responseParamList; +} + diff --git a/app/Helpers/financial_year_helper.php b/app/Helpers/financial_year_helper.php old mode 100644 new mode 100755 diff --git a/app/Helpers/session_helper.php b/app/Helpers/session_helper.php old mode 100644 new mode 100755 diff --git a/app/Language/.gitkeep b/app/Language/.gitkeep old mode 100644 new mode 100755 diff --git a/app/Language/en/Validation.php b/app/Language/en/Validation.php old mode 100644 new mode 100755 diff --git a/app/Libraries/.gitkeep b/app/Libraries/.gitkeep old mode 100644 new mode 100755 diff --git a/app/Models/.gitkeep b/app/Models/.gitkeep old mode 100644 new mode 100755 diff --git a/app/Models/ApiIntegrationModel.php b/app/Models/ApiIntegrationModel.php old mode 100644 new mode 100755 diff --git a/app/Models/AuthenticationModel.php b/app/Models/AuthenticationModel.php old mode 100644 new mode 100755 diff --git a/app/Models/BooksModel.php b/app/Models/BooksModel.php old mode 100644 new mode 100755 diff --git a/app/Models/BusinessModel.php b/app/Models/BusinessModel.php old mode 100644 new mode 100755 diff --git a/app/Models/CustomerModel.php b/app/Models/CustomerModel.php old mode 100644 new mode 100755 index effad1a1..10677611 --- a/app/Models/CustomerModel.php +++ b/app/Models/CustomerModel.php @@ -283,5 +283,16 @@ public function getCategory(){ } +public function get_customer_details_by_customer_id($customer_id) +{ + $builder = $this->db->table('customers'); // Specify the main table + $builder->select('customers.customer_id, customers.mobile_no,customers.first_name, customers.last_name,customers.mobile_no,customer_addresses.address_1, customer_addresses.city, customer_addresses.state, customer_addresses.postal_code, customer_addresses.country',customer); + $builder->join('customer_addresses', 'customers.customer_id = customer_addresses.customer_address_id'); + $builder->where('customers.customer_id', $customer_id); + + $result = $builder->get()->getRowArray(); // Fetch the first matching record as an associative array + + return $result; +} } ?> \ No newline at end of file diff --git a/app/Models/EventModel.php b/app/Models/EventModel.php old mode 100644 new mode 100755 diff --git a/app/Models/HomeModel.php b/app/Models/HomeModel.php old mode 100644 new mode 100755 diff --git a/app/Models/InvoiceModel.php b/app/Models/InvoiceModel.php old mode 100644 new mode 100755 index f65b07b8..cb88c6a7 --- a/app/Models/InvoiceModel.php +++ b/app/Models/InvoiceModel.php @@ -433,16 +433,24 @@ public function get_mem_invoice_data($f_date = null, $t_date = null) // return $result; // } -public function itemwise_report_data() +public function itemwise_report_data($f_date = null, $t_date = null) { + // Fetch invoice data $query = $this->db->table('invoice') - ->select('books.publishers_code, COUNT(invoiceitems.product) as publisher_item_count, books.title as book_name, COUNT(invoiceitems.product) as item_count, SUM(invoiceitems.quantity * invoiceitems.unit_price) as total_cost') - ->where('invoice.isactive', 1) + ->select('books.publishers_code, COUNT(invoiceitems.product) as publisher_item_count, books.title as book_name, COUNT(invoiceitems.product) as item_count, SUM(invoiceitems.quantity * invoiceitems.unit_price) as total_cost ,DATE_FORMAT(books.publication_date, "%d/%m/%Y") AS book_publication_date'); + + $query->where('invoice.isactive', 1) ->where('invoice.invoice_type',1) ->where('books.isactive', 1); // Add date range filter if provided + if ($f_date !== null && $t_date !== null) { + $newf_date = date("Y-m-d", strtotime($f_date)); + $newt_date = date("Y-m-d", strtotime($t_date)); + $query->where('books.publication_date >=', $newf_date) + ->where('books.publication_date <=', $newt_date); + } $result = $query->join('invoiceitems', 'invoiceitems.invoice_id = invoice.invoice_id', 'left') @@ -452,7 +460,9 @@ public function itemwise_report_data() ->getResult(); // print_r($result); - // Group by publisher_code and include books + // // Group by publisher_code and include books + // var_dump($result); + // die(); $groupedResult = []; foreach ($result as $row) { $publisherCode = $row->publishers_code; @@ -462,6 +472,8 @@ public function itemwise_report_data() 'publisher_item_count' => 0, 'publisher_total_cost' => 0, 'books' => [], + 'book_name'=>'', + ]; } @@ -472,9 +484,10 @@ public function itemwise_report_data() 'book_name' => $row->book_name, 'item_count' => $row->item_count, 'total_cost' => $row->total_cost, + 'book_publication_date' =>$row->book_publication_date, ]; } - + return array_values($groupedResult); } @@ -542,6 +555,119 @@ public function itemwise_report_data_with_publish_code($f_date = null, $t_date = return $result; } + +public function userwise_eventwise_report($f_date = null, $t_date = null){ + + + $builder = $this->db->table('invoice'); + + $builder->select([ + 'users.user_id', + 'users.first_name', + 'events.event_name', + 'COUNT(invoice.created_by) AS books_sold', + 'ABS(SUM(invoice.exact_total_amount)) AS total_amount', + 'invoice.payment_method', + 'invoice.invoice_date' + ]); + + $builder->join('users', 'users.user_id = invoice.created_by'); + $builder->join('events', 'events.event_id = invoice.event_id'); + $builder->join('invoiceitems', 'invoiceitems.invoice_id = invoice.invoice_id'); + $builder->join('books', 'books.book_id = invoiceitems.product'); + + $builder->where('invoice.event_id <>', 0); + if ($f_date !== null && $t_date !== null) { + $builder->where('invoice.invoice_date >=', $f_date) + ->where('invoice.invoice_date <=', $t_date); + } + + $builder->groupBy([ + 'users.user_id', + 'users.first_name', + 'events.event_name', + 'payment_method' + ]); + + $query = $builder->get(); + + $results = $query->getResultArray(); + return $results; +} + +public function getPaymentReport($f_date = null, $t_date = null) +{ + + $builder = $this->db->table('invoice'); + $builder->select('invoice.invoice_number, customers.first_name, invoice.total_amount, invoice.payment_status, invoice.payment_method, invoice.invoice_date'); + $builder->join('customers', 'invoice.customer_id = customers.customer_id', 'inner'); + if ($f_date !== null && $t_date !== null) { + $builder->where('invoice.invoice_date >=', $f_date) + ->where('invoice.invoice_date <=', $t_date); + } + $query = $builder->get(); + $results = $query->getResultArray(); + return $results; +} +public function itemwise_report_data_with_payment_method($f_date = null, $t_date = null) +{ + $builder = $this->db->table('invoice'); + $builder->select('books.publishers_code, + COUNT(invoiceitems.product) AS publisher_item_count, + books.title AS book_name, + COUNT(invoiceitems.product) AS item_count, + SUM(invoiceitems.quantity * invoiceitems.unit_price) AS total_cost, + invoice.payment_method, + DATE_FORMAT(invoice.invoice_date, "%d-%m-%Y") AS invoice_date'); + $builder->join('invoiceitems', 'invoiceitems.invoice_id = invoice.invoice_id', 'left'); + $builder->join('books', 'books.book_id = invoiceitems.product', 'left'); + $builder->where('invoice.isactive', 1); + $builder->where('invoice.invoice_type', 1); + $builder->where('books.isactive', 1); + if ($f_date !== null && $t_date !== null) { + $builder->where('invoice_date >=', $f_date) + ->where('invoice_date <=', $t_date); + } + $builder->groupBy(['books.publishers_code', 'books.title', 'invoice.payment_method']); + + $query = $builder->get(); + $results = $query->getResultArray(); + + $groupedResult = []; + foreach ($results as $row) { + // Use a unique key for each combination of publisher and payment method + $publisherCode = $row['publishers_code']; + $paymentMethod = $row['payment_method']; + $uniqueKey = $publisherCode . '-' . $paymentMethod; // Unique key for grouping + + // Initialize the group if it does not exist + if (!isset($groupedResult[$uniqueKey])) { + $groupedResult[$uniqueKey] = (object)[ + 'publisher_code' => $publisherCode, + 'publisher_item_count' => 0, + 'publisher_total_cost' => 0, + 'books' => [], + 'payment_method' => $paymentMethod, + ]; + } + + // Update the group’s cumulative values + $groupedResult[$uniqueKey]->publisher_item_count += $row['publisher_item_count']; + $groupedResult[$uniqueKey]->publisher_total_cost += $row['total_cost']; + + // Add the book-specific information to the books array + $groupedResult[$uniqueKey]->books[] = (object)[ + 'book_name' => $row['book_name'], + 'item_count' => $row['item_count'], + 'total_cost' => $row['total_cost'], + 'invoice_date' => $row['invoice_date'], + ]; + } + + return array_values($groupedResult); +} + + public function updateInvoiceStatus($invoiceId, $voidReason) { // Assuming 'invoices' is the name of your table diff --git a/app/Models/NotificationModel.php b/app/Models/NotificationModel.php old mode 100644 new mode 100755 diff --git a/app/Models/SchemeModel.php b/app/Models/SchemeModel.php old mode 100644 new mode 100755 diff --git a/app/Models/SettingsModel.php b/app/Models/SettingsModel.php old mode 100644 new mode 100755 diff --git a/app/Models/SubscriptionModel.php b/app/Models/SubscriptionModel.php old mode 100644 new mode 100755 index c9da3139..03856096 --- a/app/Models/SubscriptionModel.php +++ b/app/Models/SubscriptionModel.php @@ -338,7 +338,17 @@ public function getQueryforSubscriptionDetailsBySchemeName($flag,$condition, $va $query = $builder->get(); return $query->getResult(); } - + public function get_subscription_details_by_customerID($customerID) +{ + $builder = $this->db->table('subscription'); + $builder->select('subscription.from_subscription, subscription.to_subscription, subscription.scheme_id,books.price ,books.short_code'); + $builder->join('books', 'subscription.scheme_id = books.book_id', 'left'); + $builder->where('subscription.customer_id', $customerID); + $result = $builder->get()->getRowArray(); + + return $result; +} + diff --git a/app/Models/UsersModel.php b/app/Models/UsersModel.php old mode 100644 new mode 100755 diff --git a/app/ThirdParty/.gitkeep b/app/ThirdParty/.gitkeep old mode 100644 new mode 100755 diff --git a/app/Views/address_list.php b/app/Views/address_list.php old mode 100644 new mode 100755 diff --git a/app/Views/address_pdf_landscape_template.php b/app/Views/address_pdf_landscape_template.php old mode 100644 new mode 100755 diff --git a/app/Views/address_pdf_template.php b/app/Views/address_pdf_template.php old mode 100644 new mode 100755 diff --git a/app/Views/approve_template.php b/app/Views/approve_template.php old mode 100644 new mode 100755 diff --git a/app/Views/auth_confirm_mail.php b/app/Views/auth_confirm_mail.php old mode 100644 new mode 100755 diff --git a/app/Views/auth_lock_screen.php b/app/Views/auth_lock_screen.php old mode 100644 new mode 100755 diff --git a/app/Views/auth_reset_password.php b/app/Views/auth_reset_password.php old mode 100644 new mode 100755 diff --git a/app/Views/book_form.php b/app/Views/book_form.php old mode 100644 new mode 100755 diff --git a/app/Views/book_list.php b/app/Views/book_list.php old mode 100644 new mode 100755 diff --git a/app/Views/business_form.php b/app/Views/business_form.php old mode 100644 new mode 100755 diff --git a/app/Views/business_list.php b/app/Views/business_list.php old mode 100644 new mode 100755 diff --git a/app/Views/campaign_creation.php b/app/Views/campaign_creation.php old mode 100644 new mode 100755 diff --git a/app/Views/campaign_creation_form.php b/app/Views/campaign_creation_form.php old mode 100644 new mode 100755 diff --git a/app/Views/customer_form.php b/app/Views/customer_form.php old mode 100644 new mode 100755 diff --git a/app/Views/customer_group.php b/app/Views/customer_group.php old mode 100644 new mode 100755 diff --git a/app/Views/customer_group_form.php b/app/Views/customer_group_form.php old mode 100644 new mode 100755 diff --git a/app/Views/customer_list.php b/app/Views/customer_list.php old mode 100644 new mode 100755 diff --git a/app/Views/dashboard.php b/app/Views/dashboard.php old mode 100644 new mode 100755 index 3b9bf950..f235620a --- a/app/Views/dashboard.php +++ b/app/Views/dashboard.php @@ -162,13 +162,22 @@
- + + + var lastNotification = ; + console.log(lastNotification); + + */ + ?> + diff --git a/app/Views/email_temp.php b/app/Views/email_temp.php old mode 100644 new mode 100755 diff --git a/app/Views/errors/cli/error_404.php b/app/Views/errors/cli/error_404.php old mode 100644 new mode 100755 diff --git a/app/Views/errors/cli/error_exception.php b/app/Views/errors/cli/error_exception.php old mode 100644 new mode 100755 diff --git a/app/Views/errors/cli/production.php b/app/Views/errors/cli/production.php old mode 100644 new mode 100755 diff --git a/app/Views/errors/html/debug.css b/app/Views/errors/html/debug.css old mode 100644 new mode 100755 diff --git a/app/Views/errors/html/debug.js b/app/Views/errors/html/debug.js old mode 100644 new mode 100755 diff --git a/app/Views/errors/html/error_404.php b/app/Views/errors/html/error_404.php old mode 100644 new mode 100755 diff --git a/app/Views/errors/html/error_exception.php b/app/Views/errors/html/error_exception.php old mode 100644 new mode 100755 diff --git a/app/Views/errors/html/production.php b/app/Views/errors/html/production.php old mode 100644 new mode 100755 diff --git a/app/Views/event_form.php b/app/Views/event_form.php old mode 100644 new mode 100755 diff --git a/app/Views/event_list.php b/app/Views/event_list.php old mode 100644 new mode 100755 diff --git a/app/Views/invoice_form.php b/app/Views/invoice_form.php old mode 100644 new mode 100755 index bfb9767d..a1d72f34 --- a/app/Views/invoice_form.php +++ b/app/Views/invoice_form.php @@ -82,6 +82,15 @@ input[type=number] { /* input[type="date"] { -moz-appearance: textfield; } */ + +.modal { + position: fixed; + top: 0; /* Adjust this value to move it further down */ + left: 50%; + transform: translateX(-50%); + z-index: 1050; /* Ensure it appears above other content */ +} + - -
@@ -854,6 +861,27 @@ if (isset($invoice_item_details[0]['to_subscription']) && !empty($invoice_item_d
+ + + + + diff --git a/app/Views/invoice_form_copy_new.php b/app/Views/invoice_form_copy_new.php old mode 100644 new mode 100755 diff --git a/app/Views/invoice_form_old_design.php b/app/Views/invoice_form_old_design.php old mode 100644 new mode 100755 diff --git a/app/Views/invoice_list.php b/app/Views/invoice_list.php old mode 100644 new mode 100755 diff --git a/app/Views/invoice_number_formatting.php b/app/Views/invoice_number_formatting.php old mode 100644 new mode 100755 diff --git a/app/Views/invoice_pdf_template.php b/app/Views/invoice_pdf_template.php old mode 100644 new mode 100755 diff --git a/app/Views/invoice_pdf_template_old_design.php b/app/Views/invoice_pdf_template_old_design.php old mode 100644 new mode 100755 diff --git a/app/Views/invoice_print_preview_template.php b/app/Views/invoice_print_preview_template.php old mode 100644 new mode 100755 diff --git a/app/Views/itemwise_report_with_payment_method.php b/app/Views/itemwise_report_with_payment_method.php new file mode 100644 index 00000000..11bee68f --- /dev/null +++ b/app/Views/itemwise_report_with_payment_method.php @@ -0,0 +1,183 @@ + +
+
+
+

+
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + books as $book): ?> + + + + + + + + + + + + + + +
Publisher CodePublisher Item CountPublisher Total CostBook NameItem CountTotal CostPayment methodInvoice Date
publisher_code) ? $row->publisher_code : '-' ?>publisher_item_count ?>publisher_total_cost, 2) ?>book_name ?>item_count ?>total_cost, 2) ?>payment_method ?>invoice_date ?>
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/app/Views/noifications_acknowlegdement.php b/app/Views/noifications_acknowlegdement.php old mode 100644 new mode 100755 diff --git a/app/Views/notifications_form.php b/app/Views/notifications_form.php old mode 100644 new mode 100755 diff --git a/app/Views/offline_invoice_list.php b/app/Views/offline_invoice_list.php old mode 100644 new mode 100755 diff --git a/app/Views/pages_404.php b/app/Views/pages_404.php old mode 100644 new mode 100755 diff --git a/app/Views/pay.php b/app/Views/pay.php new file mode 100644 index 00000000..0c11f039 --- /dev/null +++ b/app/Views/pay.php @@ -0,0 +1,100 @@ + + + + + + + Pay With PayTM + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
S.NoLabelValue
1 + + + +
2 + + + +
3 + + + +
4 + + + +
5 + + + +
+ +
+
+ + + + + + \ No newline at end of file diff --git a/app/Views/print_addresses_form.php b/app/Views/print_addresses_form.php old mode 100644 new mode 100755 diff --git a/app/Views/received_payments_report.php b/app/Views/received_payments_report.php new file mode 100644 index 00000000..89653f89 --- /dev/null +++ b/app/Views/received_payments_report.php @@ -0,0 +1,147 @@ + +
+
+
+

+
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Invoice IDCustomer NameTotal AmountPayment StatusPayment MethodInvoice Date
+
+
+
+
+
+ + + + + + + \ No newline at end of file diff --git a/app/Views/report_book_publish.php b/app/Views/report_book_publish.php old mode 100644 new mode 100755 diff --git a/app/Views/report_expired_customers.php b/app/Views/report_expired_customers.php old mode 100644 new mode 100755 diff --git a/app/Views/report_general_invoice.php b/app/Views/report_general_invoice.php old mode 100644 new mode 100755 diff --git a/app/Views/report_itemwise.php b/app/Views/report_itemwise.php old mode 100644 new mode 100755 index 8fbea667..6ea490d8 --- a/app/Views/report_itemwise.php +++ b/app/Views/report_itemwise.php @@ -5,22 +5,22 @@ white-space: initial !important; } - /* .custom-thead th { - text-align: center; /* Center-align the main table column headings */ - } */ + .custom-thead th { + text-align: center; /* Center-align the main table column headings */ + } /* .nested-table-data th, .nested-table-data td { - text-align: center; /* Center-align the nested table data */ + text-align: center; /* Center-align the nested table data } */ - .nested-table-data .truncate-text { - max-width: none; /* Remove max-width for the nested table text */ - white-space: initial; + /* .nested-table-data .truncate-text { + max-width: none; Remove max-width for the nested table text */ + /* white-space: initial; overflow: visible; text-overflow: initial; - cursor: default; - } + cursor: default; */ + /* } */ @@ -32,12 +32,14 @@
+
- +
+ +
- - +
@@ -51,49 +53,35 @@
- - +
+ + + + + + + + + + + + + + books as $book) { ?> - - - - + + + + + + + - - - - - - - - - - - - - -
Publisher CodePublisher Item CountPublisher Total CostBook NameItem CountTotal CostPublished Date
Publisher CodePublisher Item CountPublisher Total Costpublisher_code)? $row->publisher_code:'-'; ?>publisher_item_count; ?>publisher_total_cost, 2); ?>book_name; ?>item_count; ?>total_cost, 2); ?>book_publication_date; ?>
publisher_code; ?>publisher_item_count; ?>publisher_total_cost; ?>
- - - - - - - - - - - books as $book) { ?> - - - - - - - -
book_name; ?>item_count; ?>total_cost; ?>
-
-
+ + + + +
@@ -101,28 +89,28 @@ - \ No newline at end of file diff --git a/app/Views/report_mem_invoice.php b/app/Views/report_mem_invoice.php old mode 100644 new mode 100755 diff --git a/app/Views/report_userwise_and_eventwise.php b/app/Views/report_userwise_and_eventwise.php new file mode 100644 index 00000000..2f2dea49 --- /dev/null +++ b/app/Views/report_userwise_and_eventwise.php @@ -0,0 +1,149 @@ + +
+
+
+

+
+
+
+ +
+
+
+ +
+
+ +
+
+
+ +
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
User NameEvent NameBooks SoldTotal AmountPayment MethodInvoice Date
+
+
+
+
+
+ + + + + + + \ No newline at end of file diff --git a/app/Views/response.php b/app/Views/response.php new file mode 100644 index 00000000..8f130422 --- /dev/null +++ b/app/Views/response.php @@ -0,0 +1,39 @@ + + + + + + Payment Response + + + + + + +
+
+
+

Payment Success!

+

Thank you! Your payment of Rs. has been received.

+

Order ID:

+

Transaction ID:

+

Your scheme is renewed up to [Renewal Date].

+
+
+
+ + + + + + + diff --git a/app/Views/scheme_form.php b/app/Views/scheme_form.php old mode 100644 new mode 100755 diff --git a/app/Views/scheme_list.php b/app/Views/scheme_list.php old mode 100644 new mode 100755 diff --git a/app/Views/setting_form.php b/app/Views/setting_form.php old mode 100644 new mode 100755 diff --git a/app/Views/setting_list.php b/app/Views/setting_list.php old mode 100644 new mode 100755 diff --git a/app/Views/subscribers.php b/app/Views/subscribers.php old mode 100644 new mode 100755 diff --git a/app/Views/subscribers_list.php b/app/Views/subscribers_list.php old mode 100644 new mode 100755 diff --git a/app/Views/subscription_form.php b/app/Views/subscription_form.php old mode 100644 new mode 100755 diff --git a/app/Views/subscription_renewal.php b/app/Views/subscription_renewal.php new file mode 100644 index 00000000..710c700b --- /dev/null +++ b/app/Views/subscription_renewal.php @@ -0,0 +1,203 @@ + + + + + + Subscription Renewal + + + + + +
+
+
+

Subscription Renewal

+
+ +
+
+
+ + +
+ + +
+
+

N/A

+

N/A

+

N/A

+
+
+ + +
+

+
Renewal Options
+
+ +
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + diff --git a/app/Views/template/footer.php b/app/Views/template/footer.php old mode 100644 new mode 100755 index ee02983d..45254d21 --- a/app/Views/template/footer.php +++ b/app/Views/template/footer.php @@ -139,7 +139,7 @@
  • A breach or violation of any of the Terms will result in an immediate termination of your Services.
  • Section 2 – General Conditions

    -