Merge branch on uat branch

This commit is contained in:
VE10-Sanjeev 2024-11-12 07:18:09 +00:00
commit e270ff2bcd
3498 changed files with 452 additions and 637 deletions

190
.env
View File

@ -1,190 +0,0 @@
#--------------------------------------------------------------------
# Example Environment Configuration file
#
# This file can be used as a starting point for your own
# custom .env files, and contains most of the possible settings
# available in a default install.
#
# By default, all of the settings are commented out. If you want
# to override the setting, you must un-comment it by removing the '#'
# at the beginning of the line.
#--------------------------------------------------------------------
#--------------------------------------------------------------------
# ENVIRONMENT
#--------------------------------------------------------------------
CI_ENVIRONMENT = development
#--------------------------------------------------------------------
# APP
#--------------------------------------------------------------------
# app.baseURL = ''
# If you have trouble with `.`, you could also use `_`.
# app_baseURL = ''
# app.forceGlobalSecureRequests = false
# app.CSPEnabled = false
#--------------------------------------------------------------------
# DATABASE
#--------------------------------------------------------------------
database.default.hostname = 119.18.54.85
database.default.database = venbaehn_bbbooks
database.default.username = venbaehn_bbooks
database.default.password = '(B$j&KrV@F9f'
database.default.DBDriver = MySQLi
database.default.DBPrefix =
database.default.port = 3306
database.tests.hostname = 119.18.54.85
database.tests.database = venbaehn_bbbooks
database.tests.username = venbaehn_bbooks
database.tests.password ='(B$j&KrV@F9f'
database.tests.DBDriver = MySQLi
database.tests.DBPrefix =
database.tests.port = 3306
#--------------------------------------------------------------------
# CONTENT SECURITY POLICY
#--------------------------------------------------------------------
# contentsecuritypolicy.reportOnly = false
# contentsecuritypolicy.defaultSrc = 'none'
# contentsecuritypolicy.scriptSrc = 'self'
# contentsecuritypolicy.styleSrc = 'self'
# contentsecuritypolicy.imageSrc = 'self'
# contentsecuritypolicy.baseURI = null
# contentsecuritypolicy.childSrc = null
# contentsecuritypolicy.connectSrc = 'self'
# contentsecuritypolicy.fontSrc = null
# contentsecuritypolicy.formAction = null
# contentsecuritypolicy.frameAncestors = null
# contentsecuritypolicy.frameSrc = null
# contentsecuritypolicy.mediaSrc = null
# contentsecuritypolicy.objectSrc = null
# contentsecuritypolicy.pluginTypes = null
# contentsecuritypolicy.reportURI = null
# contentsecuritypolicy.sandbox = false
# contentsecuritypolicy.upgradeInsecureRequests = false
# contentsecuritypolicy.styleNonceTag = '{csp-style-nonce}'
# contentsecuritypolicy.scriptNonceTag = '{csp-script-nonce}'
# contentsecuritypolicy.autoNonce = true
#--------------------------------------------------------------------
# COOKIE
#--------------------------------------------------------------------
# cookie.prefix = ''
# cookie.expires = 0
# cookie.path = '/'
# cookie.domain = ''
# cookie.secure = false
# cookie.httponly = false
# cookie.samesite = 'Lax'
# cookie.raw = false
#--------------------------------------------------------------------
# ENCRYPTION
#--------------------------------------------------------------------
# encryption.key =
# encryption.driver = OpenSSL
# encryption.blockSize = 16
# encryption.digest = SHA512
#--------------------------------------------------------------------
# HONEYPOT
#--------------------------------------------------------------------
# honeypot.hidden = 'true'
# honeypot.label = 'Fill This Field'
# honeypot.name = 'honeypot'
# honeypot.template = '<label>{label}</label><input type="text" name="{name}" value=""/>'
# honeypot.container = '<div style="display:none">{template}</div>'
#--------------------------------------------------------------------
# SECURITY
#--------------------------------------------------------------------
# security.csrfProtection = 'cookie'
# security.tokenRandomize = false
# security.tokenName = 'csrf_token_name'
# security.headerName = 'X-CSRF-TOKEN'
# security.cookieName = 'csrf_cookie_name'
# security.expires = 7200
# security.regenerate = true
# security.redirect = false
# security.samesite = 'Lax'
#--------------------------------------------------------------------
# SESSION
#--------------------------------------------------------------------
# session.driver = 'CodeIgniter\Session\Handlers\FileHandler'
# session.cookieName = 'ci_session'
# session.expiration = 7200
# session.savePath = null
# session.matchIP = false
# session.timeToUpdate = 300
# session.regenerateDestroy = false
#--------------------------------------------------------------------
# LOGGER
#--------------------------------------------------------------------
# logger.threshold = 4
#--------------------------------------------------------------------
# CURLRequest
#--------------------------------------------------------------------
# curlrequest.shareOptions = true
APP_TIMEZONE = 'Asia/Kolkata'
#--------------------------------------------------------------------
# Whatsapp Access Token And Instance ID
#--------------------------------------------------------------------
# for Live Don't delete it
# 1st Account
# WAAI_TOKEN = '6582950cb468b'
# WAAI_INSTANCE = '6582F04394D59'
# 2nd Account
# 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
# (UN - venba.it.chennai PWD - venba.it.chennai)
WAAI_INSTANCE = '661621B29BDEE'
WAAI_TOKEN = '66162101e2f1d'
# 3rd Account - Dummy Account by sanjeev created on 14th dec Testing purpose
# Office Mail ID - sanjeev.p@venbainfotech.com
# (UN - Venba V1 PWD - Krish12345)
# WAAI_TOKEN = '657af9bf8cad1'
# WAAI_INSTANCE = '657AFA5A01B21'
# 2nd Account - Dummy Account by sanjeev
# WAAI_TOKEN = '65685e954bcf6'
# WAAI_INSTANCE = '656863C54F90C'
# 1st Account - Dummy Account by krishanan sir
# WAAI_TOKEN = '652548474f4e4'
# WAAI_INSTANCE = '65254894E4A88'
#--------------------------------------------------------------------
# Email Host Name,User,Passcode And Port
#--------------------------------------------------------------------
SMTP_HOST = 'smtp.sendgrid.net'
SMTP_USER = 'apikey'
SMTP_PASS = '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'
SMTP_PORT = '587'
#----------------------------------------------------------------------
# New Whatsapp Access Token
#----------------------------------------------------------------------
# whatsAppToken = 'EAARGyzEtu2kBO1mK3ILZAvZCd8D3QNpHo2uU5SWZBXbZC3eNL9hFpZA5WebolazilZA0RfU0zdu6gNZAW1yGCYiXFgZBC1YQfZBErv0QKAYQAT9wMOTy2f0C3m4ZAK8ZCwt3mGlURfa6m2uUCyNK4qEUy2Evx7scd8aanXLFr8MJUbVNJP8BPPSpUJW4A0dZAaci56lrPGnw0hV7jV9ISGmDLNYZD';

View File

@ -129,26 +129,24 @@ define('SEND_WAAI_URL', 'https://waai.in/api/send');
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
define('PAYTM_ENVIRONMENT', 'PROD'); // PROD
//Change this constant's value with Merchant key received from Paytm.
define('PAYTM_MERCHANT_KEY', 'wmy4JaBcar3nK97G');
//define('PAYTM_MERCHANT_KEY', '-');
//Change this constant's value with MID (Merchant ID) received from Paytm.
define('PAYTM_MERCHANT_MID', 'VWJbeA80075161016380');
//define('PAYTM_MERCHANT_MID',$_SERVER['Merchant_ID']);
//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';
//define('PAYTM_MERCHANT_WEBSITE', 'DEFAULT');
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_STATUS_QUERY_NEW_URL', 'https://securegw.paytm.in/merchant-status/getTxnStatus');
define('PAYTM_TXN_URL', 'https://securegw.paytm.in/theia/processTransaction');
} else {
define('PAYTM_STATUS_QUERY_NEW_URL', 'https://securegw-stage.paytm.in/merchant-status/getTxnStatus');
define('PAYTM_TXN_URL', 'https://securegw-stage.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);
define('PAYTM_STATUS_QUERY_URL', PAYTM_STATUS_QUERY_NEW_URL);

View File

@ -190,9 +190,11 @@ $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'],'/response','Payment::response/');
$routes->get('/payment_failure', 'Payment::payment_failure');
$routes->get('/payment_success','Payment::payment_success');
$routes->match(['get','post'],'/subscription_renewal/(:any)','Payment::index/$1');
// $routes->group("api", function ($routes) {

View File

@ -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 !== '/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') {
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 && $requestedRoute !== '/payment_failure'&& $requestedRoute !== '/payment_success' && $uri->getSegment(1) != 'getExpCustomerDetail'&& $uri->getSegment(1) != 'download_invoice_pdf') {
$this->authData = $this->session_log();
}
}

View File

@ -3,6 +3,7 @@
namespace App\Controllers;
use App\Models\CustomerModel;
use App\Models\InvoiceModel;
use App\Models\SchemeModel;
use App\Models\SubscriptionModel;
use paytmpg\pg\request\InitiateTransactionRequestBody;
@ -58,71 +59,77 @@ class Payment extends BaseController
}
}
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");
{
$userAgent = $_SERVER['HTTP_USER_AGENT'];
$payment_method = preg_match('/mobile/i', $userAgent) ? "mobile" : 'website';
// 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');
$paramList = array();
$CUST_ID = (string) $this->request->getPost("CustomerID");
$ORDER_ID = (string) uniqid($CUST_ID . "_");
$CHANNEL_ID = ($payment_method == "mobile") ? (string) env('Channel_ID_Mobile') : (string) env('Channel_ID_WEB');
$TXN_AMOUNT = (string) $this->request->getPost("amount");
//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);
}
$paramList["MID"] = (string) env('Merchant_ID');
$paramList["ORDER_ID"] = $ORDER_ID;
$paramList["CUST_ID"] = $CUST_ID;
$paramList["INDUSTRY_TYPE_ID"] = env('Industry_Type');
$paramList["CHANNEL_ID"] = $CHANNEL_ID;
$paramList["TXN_AMOUNT"] = $TXN_AMOUNT;
$paramList["WEBSITE"] = (string) env('Website');
$paramList["CALLBACK_URL"] = (string) base_url('tresponse');
public function tresponse() {
$paytmChecksum = "";
$paramList = array();
$isValidChecksum = "FALSE";
$paramList = $_POST;
$paytmChecksum = isset($_POST["CHECKSUMHASH"]) ? $_POST["CHECKSUMHASH"] : "";
$checkSum = getChecksumFromArray($paramList, env('Merchant_Key'));
$data['checkSum'] = $checkSum;
$data['paramList'] = $paramList;
$decryptedChecksum = verifychecksum_e($data['paramList'], env('Merchant_Key'),$data['checkSum']);
log_message('error',json_encode($data['paramList']));
return view('/tresponse', $data);
}
public function tresponse() {
$paytmChecksum = "";
$paramList = $_POST;
print_r($paramList);
$isValidChecksum = "FALSE";
$paramList = $_POST;
$paytmChecksum = isset($_POST["CHECKSUMHASH"]) ? $_POST["CHECKSUMHASH"] : "";
$result['receivedFromPaytm'] = $paramList;
// Verify checksum
$isValidChecksum = verifychecksum_e($paramList, env('Merchant_Key'), $paytmChecksum);
if ($isValidChecksum == "TRUE") {
//echo "<b>Checksum matched.</b><br/>";
if (isset($_POST) && count($_POST) > 0) {
// foreach($_POST as $paramName => $paramValue) {
// // echo "<br/>" . htmlspecialchars($paramName) . " = " . htmlspecialchars($paramValue);
// }
log_message('error',json_encode($paramList));
}
if ($_POST["STATUS"] == "TXN_SUCCESS") {
echo "<b>Transaction status is success</b><br/>";
return redirect()->to(base_url('/payment_success'));
} else {
echo "<b>Processing ...</b><br/>";
return redirect()->to(base_url('/payment_failure'));
}
} else {
echo "<b>Checksum mismatched.</b>";
}
}
public function payment_failure(){
return view('/payment_failure');
}
public function payment_success(){
$model = new InvoiceModel();
return view('/payment_success');
}
//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 "<b>Transaction status is success</b>" . "<br/>";
} else {
echo "<b>Transaction status is failure</b>" . "<br/>";
}
if (isset($_POST) && count($_POST)>0 ) {
foreach($_POST as $paramName => $paramValue) {
echo "<br/>" . $paramName . " = " . $paramValue;
}
}
} else {
echo "<b>Checksum mismatched.</b>";
}
}
}

View File

@ -1,252 +1,129 @@
<?php
function encrypt_e($input, $ky) {
$key = html_entity_decode($ky);
$iv = "@@@@&&&&####$$$$";
$data = openssl_encrypt ( $input , "AES-128-CBC" , $key, 0, $iv );
return $data;
$key = html_entity_decode($ky);
$iv = "@@@@&&&&####$$$$";
$data = openssl_encrypt($input, "AES-128-CBC", $key, 0, $iv);
return $data;
}
function decrypt_e($crypt, $ky) {
$key = html_entity_decode($ky);
$iv = "@@@@&&&&####$$$$";
$data = openssl_decrypt ( $crypt , "AES-128-CBC" , $key, 0, $iv );
return $data;
$key = html_entity_decode($ky);
$iv = "@@@@&&&&####$$$$";
$data = openssl_decrypt($crypt, "AES-128-CBC", $key, 0, $iv);
return $data;
}
function generateSalt_e($length) {
$random = "";
srand((double) microtime() * 1000000);
$random = "";
srand((int) ((double) microtime(true) * 1000000)); // Fix for deprecation
$data = "AbcDE123IJKLMN67ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$data .= "aBCdefghijklmn123opq45rs67tuv89wxyz";
$data .= "0FGH45OP89";
$data = "AbcDE123IJKLMN67QRSTUVWXYZ";
$data .= "aBCdefghijklmn123opq45rs67tuv89wxyz";
$data .= "0FGH45OP89";
for ($i = 0; $i < $length; $i++) {
$random .= substr($data, (rand() % strlen($data)), 1);
}
for ($i = 0; $i < $length; $i++) {
$random .= substr($data, (rand() % (strlen($data))), 1);
}
return $random;
return $random;
}
function checkString_e($value) {
if ($value == 'null')
$value = '';
return $value;
return ($value === 'null') ? '' : $value;
}
function getChecksumFromArray($arrayList, $key, $sort=1) {
if ($sort != 0) {
ksort($arrayList);
}
$str = getArray2Str($arrayList);
$salt = generateSalt_e(4);
$finalString = $str . "|" . $salt;
$hash = hash("sha256", $finalString);
$hashString = $hash . $salt;
$checksum = encrypt_e($hashString, $key);
return $checksum;
function getChecksumFromArray($arrayList, $key, $sort = 1) {
if ($sort != 0) {
ksort($arrayList);
}
// Convert all values to strings
$arrayList = array_map('strval', $arrayList);
$str = getArray2Str($arrayList);
$salt = generateSalt_e(4);
$finalString = $str . "|" . $salt;
$hash = hash("sha256", $finalString);
$hashString = $hash . $salt;
$checksum = encrypt_e($hashString, $key);
return $checksum;
}
function getChecksumFromString($str, $key) {
$salt = generateSalt_e(4);
$finalString = $str . "|" . $salt;
$hash = hash("sha256", $finalString);
$hashString = $hash . $salt;
$checksum = encrypt_e($hashString, $key);
return $checksum;
$salt = generateSalt_e(4);
$finalString = $str . "|" . $salt;
$hash = hash("sha256", $finalString);
$hashString = $hash . $salt;
$checksum = encrypt_e($hashString, $key);
return $checksum;
}
function verifychecksum_e($arrayList, $key, $checksumvalue) {
$arrayList = removeCheckSumParam($arrayList);
ksort($arrayList);
$str = getArray2StrForVerify($arrayList);
$paytm_hash = decrypt_e($checksumvalue, $key);
$salt = substr($paytm_hash, -4);
$finalString = $str . "|" . $salt;
$website_hash = hash("sha256", $finalString);
$website_hash .= $salt;
$validFlag = "FALSE";
if ($website_hash == $paytm_hash) {
$validFlag = "TRUE";
} else {
$validFlag = "FALSE";
}
return $validFlag;
}
function verifychecksum_eFromStr($str, $key, $checksumvalue) {
$paytm_hash = decrypt_e($checksumvalue, $key);
$salt = substr($paytm_hash, -4);
$finalString = $str . "|" . $salt;
$website_hash = hash("sha256", $finalString);
$website_hash .= $salt;
$validFlag = "FALSE";
if ($website_hash == $paytm_hash) {
$validFlag = "TRUE";
} else {
$validFlag = "FALSE";
}
return $validFlag;
$arrayList = removeCheckSumParam($arrayList);
ksort($arrayList);
$str = getArray2StrForVerify($arrayList);
$paytm_hash = decrypt_e($checksumvalue, $key);
$salt = substr($paytm_hash, -4);
$finalString = $str . "|" . $salt;
$website_hash = hash("sha256", $finalString);
$website_hash .= $salt;
return ($website_hash === $paytm_hash) ? "TRUE" : "FALSE";
}
function getArray2Str($arrayList) {
$findme = 'REFUND';
$findmepipe = '|';
$paramStr = "";
$flag = 1;
foreach ($arrayList as $key => $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;
$paramStr = "";
$flag = 1;
foreach ($arrayList as $key => $value) {
if (strpos($value, 'REFUND') !== false || strpos($value, '|') !== false) {
continue;
}
$paramStr .= ($flag) ? checkString_e($value) : "|" . checkString_e($value);
$flag = 0;
}
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);
$paramStr = "";
$flag = 1;
foreach ($arrayList as $key => $value) {
$paramStr .= ($flag) ? checkString_e($value) : "|" . checkString_e($value);
$flag = 0;
}
return $paramStr;
}
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);
if (isset($arrayList["CHECKSUMHASH"])) {
unset($arrayList["CHECKSUMHASH"]);
}
return $arrayList;
}
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);
$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);
return json_decode($jsonResponse, true);
}
function callRefundAPI($refundApiURL, $requestParamList) {
$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_URL, $refundApiURL);
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)
));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$jsonResponse = curl_exec($ch);
$responseParamList = json_decode($jsonResponse, true);
return $responseParamList;
return json_decode($jsonResponse, true);
}
?>

View File

@ -23,14 +23,31 @@
.from-address {
text-align: left;
float: left;
<<<<<<< HEAD
width: 100%;
=======
width: 60%;
}
.order-number {
text-align: right;
float: right;
width: 40%;
>>>>>>> 37dc008a4e67eb19b144ea570725193f87907964
}
.to-address {
text-align: left;
float: right;
<<<<<<< HEAD
width: 40%;
clear: both;
/* margin-top: 20px; Adjust for spacing in landscape */
=======
width: 30%;
clear: both;
margin-top: 20px; /* Adjust for spacing in landscape */
/* padding-right: -200px; */
>>>>>>> 37dc008a4e67eb19b144ea570725193f87907964
}
</style>
</head>
@ -38,6 +55,7 @@
<?php foreach ($invoiceData as $value): ?>
<div class="label-container">
<<<<<<< HEAD
<table width="100%" style="border-collapse: collapse;">
<tr>
<td width="30%" style="text-align: left;"><strong>From :</strong></td>
@ -70,8 +88,38 @@
<?= $value->mobile_no ? "Mobile : " . $value->mobile_no . " ." : "" ?>
</div>
<div style="clear: both;"></div>
=======
<!-- From Address on the left -->
<div style="font-size: small;" class="from-address">
<strong>From :</strong><br>
<?= $value->company_name; ?><br>
<?= $value->company_address . ","; ?><br>
<?= $value->company_city; ?> - <?= $value->company_postal_code . ","; ?><br>
<?= $value->company_state . "."; ?><br>
<?= $value->company_mobile_no; ?>
</div>
<!-- Order Number on the right -->
<div class="order-number">
<b> Order : </b><?php echo $value->invoice_number; ?>
</div>
<!-- To Address -->
<div class="to-address">
<strong class="ltr">To :</strong><br>
<span style="text-align: jus;" class="ltr"><?= htmlspecialchars($value->customer_name) ?></span><br>
<?php if ($value->customer_ship_address && ($value->saddr_id !== null || $value->saddr_id !== '')): ?>
<span class="ltr"><?= htmlspecialchars($value->customer_ship_address) ? htmlspecialchars($value->customer_ship_address) . " , <br>" : "" ?></span>
<span class="ltr"><?= htmlspecialchars($value->customer_ship_city) ? htmlspecialchars($value->customer_ship_city) . "&nbsp;" : "" ?></span>
<span class="ltr"><?= htmlspecialchars($value->customer_ship_postal_code) ? " - " . htmlspecialchars($value->customer_ship_postal_code) . "<br>" : "" ?></span>
<span class="ltr"><?= htmlspecialchars($value->customer_ship_state) ? htmlspecialchars($value->customer_ship_state) . ". <br>" : "" ?></span>
<?php elseif ($value->saddr_id === null || $value->saddr_id === ''): ?>
<span class="ltr"><?= htmlspecialchars($value->shipping_address) ? htmlspecialchars($value->shipping_address) . '<br>' : '' ?></span>
<?php endif; ?>
<span class="ltr"><?= htmlspecialchars($value->mobile_no) ? "Mobile : " . htmlspecialchars($value->mobile_no) . " ." : "" ?></span>
</div>
<div style="clear: both;"></div>
>>>>>>> 37dc008a4e67eb19b144ea570725193f87907964
</div>
<?php endforeach; ?>
</body>
</html>

View File

@ -31,7 +31,7 @@
}
.table-responsive{
font-family: 'Apple System', 'BlinkMacSystemFont', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
font-size: 12px;
font-size: 14npx;
}
#printPdfButton .ri-printer-line {
font-size: 8px;

View File

@ -36,21 +36,19 @@
<th><b>Item Count</b></th>
<th><b>Total Cost</b></th>
<th><b>Payment method</b></th>
<th><b>Invoice Date</b></th>
</tr>
</thead>
<tbody>
<?php foreach ($report_data as $row): ?>
<?php foreach ($row->books as $book): ?>
<tr>
<td><?= isset($row->publisher_code) ? $row->publisher_code : '-' ?></td>
<td><?= $row->publisher_item_count ?></td>
<td><?= number_format($row->publisher_total_cost, 2) ?></td>
<td><?= $book->book_name ?></td>
<td><?= $book->item_count ?></td>
<td><?= number_format($book->total_cost, 2) ?></td>
<td><?= $row->payment_method ?></td>
<td><?= $book->invoice_date ?></td>
<td style="text-align: left;"><?= isset($row->publisher_code) ? $row->publisher_code : '-' ?></td>
<td style="text-align: center;"><?= $row->publisher_item_count ?></td>
<td style="text-align: right;"><?= number_format($row->publisher_total_cost, 2) ?></td>
<td style="text-align: left;"><?= $book->book_name ?></td>
<td style="text-align: left;"><?= $book->item_count ?></td>
<td style="text-align: right;"><?= number_format($book->total_cost, 2) ?></td>
<td style="text-align: left;"><?= $row->payment_method ?></td>
</tr>
<?php endforeach; ?>
<?php endforeach; ?>

View File

@ -1,100 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<title>Pay With PayTM</title>
</head>
<body>
<form method="post" action="<?php echo base_url('pay'); ?>">
<table class="table table-sm table-striped table-hover">
<thead>
<tr>
<th>S.No</th>
<th>Label</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>
<label>ORDER_ID::*</label>
</td>
<td>
<input id="ORDER_ID" class="form-control"
tabindex="1" maxlength="20"
size="20" name="ORDER_ID" autocomplete="off"
value="<?php echo 'ORDS' . rand(10000,99999999)?>">
</td>
</tr>
<tr>
<td>2</td>
<td>
<label>CUSTID ::*</label>
</td>
<td>
<input id="CUST_ID" class="form-control"
tabindex="2" maxlength="12"
size="12" name="CUST_ID"
autocomplete="off" value="CUST001">
</td>
</tr>
<tr>
<td>3</td>
<td>
<label>INDUSTRY_TYPE_ID ::*</label>
</td>
<td>
<input id="INDUSTRY_TYPE_ID" class="form-control"
tabindex="4" maxlength="12" size="12"
name="INDUSTRY_TYPE_ID" autocomplete="off"
value="Retail">
</td>
</tr>
<tr>
<td>4</td>
<td>
<label>Channel ::*</label>
</td>
<td>
<input id="CHANNEL_ID" class="form-control"
tabindex="4" maxlength="12"
size="12" name="CHANNEL_ID"
autocomplete="off" value="WEB">
</td>
</tr>
<tr>
<td>5</td>
<td>
<label>txnAmount*</label>
</td>
<td>
<input title="TXN_AMOUNT" class="form-control"
tabindex="10" type="text"
name="TXN_AMOUNT" value="1">
</td>
</tr>
<tr>
<td></td>
<td></td>
<td>
<input value="CheckOut"
type="submit"
class="btn btn-primary">
</td>
</tr>
</tbody>
</table>
</form>
<script
src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
</body>
</html>

View File

@ -0,0 +1,85 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Payment Failure</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f4f4f4;
margin: 0;
padding: 0;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
.container {
text-align: center;
background-color: #fff;
padding: 20px 40px;
border-radius: 10px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.container h1 {
color: #d9534f;
}
.container p {
color: #777;
margin: 20px 0;
}
.container .icon {
font-size: 50px;
color: #d9534f;
margin-bottom: 20px;
}
.container .btn {
display: inline-block;
padding: 10px 20px;
margin-top: 20px;
border-radius: 5px;
color: #fff;
background-color: #d9534f;
text-decoration: none;
transition: background-color 0.3s;
}
.container .btn:hover {
background-color: #c9302c;
}
.container .btn-secondary {
background-color: #5bc0de;
}
.container .btn-secondary:hover {
background-color: #31b0d5;
}
</style>
</head>
<body>
<div class="container">
<div class="icon"> <!-- Red Cross Mark -->
<h4> Payment Failed</h4></div>
<p>Unfortunately, your payment could not be processed at this time. Please try again later.</p>
<p>If the problem persists, contact customer support for assistance.</p>
<a class="btn btn-info" href="<?=base_url('/subscription_renewal')?>">Click here to try again</a>
<br>
</div>
</body>
<script>
window.location.hash = "no-back-button";
window.location.hash = "Again-No-back-button";
window.onhashchange = function(){
window.location.hash = "no-back-button";
}
</script>
</html>

View File

@ -0,0 +1,84 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Payment Success</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f4f4f4;
margin: 0;
padding: 0;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
.container {
text-align: center;
background-color: #fff;
padding: 20px 40px;
border-radius: 10px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.container h1 {
color: #5cb85c;
}
.container p {
color: #777;
margin: 20px 0;
}
.container .icon {
font-size: 50px;
color: #5cb85c;
margin-bottom: 20px;
}
.container .btn {
display: inline-block;
padding: 10px 20px;
margin-top: 20px;
border-radius: 5px;
color: #fff;
background-color: #5cb85c;
text-decoration: none;
transition: background-color 0.3s;
}
.container .btn:hover {
background-color: #4cae4c;
}
.container .btn-secondary {
background-color: #5bc0de;
}
.container .btn-secondary:hover {
background-color: #31b0d5;
}
</style>
</head>
<body>
<div class="container">
<!-- Green Tick Mark -->
<div class="icon">
<h4>&#10004; Payment Successful</h4></div>
<p>Your payment has been successfully processed. Thank you for your purchase!</p>
<p>If you have any questions, please contact customer support.</p>
</div>
</body>
<script>
window.location.hash = "no-back-button";
window.location.hash = "Again-No-back-button";
window.onhashchange = function(){
window.location.hash = "no-back-button";
}
</script>
</html>

View File

@ -40,9 +40,9 @@
<tbody>
<?php foreach ($payment_data as $row) { ?>
<tr>
<td><?php echo $row["invoice_number"]; ?></td>
<td><?= $row['first_name'] ?></td>
<td><?= $row['total_amount'] ?></td>
<td style="text-align: left;"><?php echo $row["invoice_number"]; ?></td>
<td style="text-align: left;"><?= $row['first_name'] ?></td>
<td style="text-align: right;"><?= $row['total_amount'] ?></td>
<td><?= $row['payment_status'] ?></td>
<td><?= $row['payment_method']?></td>
<?php $unixTime = strtotime($row['invoice_date']);

View File

@ -53,11 +53,11 @@
<?php foreach ($report_data as $row) { ?>
<tr>
<td hidden><?php echo $row->invoice_id; ?></td>
<td><?php echo $row->title; ?></td>
<td><?php echo $row->publisher; ?></td>
<td><?php echo $row->price ?></td>
<td><?php echo $row->publishers_code?></td>
<td><?php echo $row->invoice_date ?></td>
<td style="text-align: left;"><?php echo $row->title; ?></td>
<td style="text-align: left;"><?php echo $row->publisher; ?></td>
<td style="text-align: end;"><?php echo $row->price ?></td>
<td style="text-align: left;"><?php echo $row->publishers_code?></td>
<td style = "text-align:center"><?php echo date("d/m/Y",strtotime($row->invoice_date)) ?></td>
</tr>
<?php } ?>
</tbody>

View File

@ -42,12 +42,12 @@
<?php foreach ($expired_customers as $row) { ?>
<tr>
<td hidden><?php echo $row["sub_id"]; ?></td>
<td><?= $row['first_name'] . ' ' . $row['last_name'] ?></td>
<td style="text-align: left;"><?= $row['first_name'] . ' ' . $row['last_name'] ?></td>
<td><?= $row['mobile_no'] ?></td>
<td><?= $row['email'] ?></td>
<td style="text-align: left;"><?= $row['email'] ?></td>
<td><?= $row['short_code'] ?></td>
<td><?= $row['from_subscription'] ?></td>
<td><?= $row['to_subscription'] ?></td>
<td style="text-align: center;"><?= date("d/m/Y", strtotime($row['from_subscription'])); ?></td>
<td style="text-align: center;"><?= date("d/m/Y", strtotime($row['to_subscription'])); ?></td>
</tr>
<?php } ?>

View File

@ -63,13 +63,13 @@
<tr>
<td hidden><?php echo $row->invoice_id; ?></td>
<td><?php echo $row->invoice_number; ?></td>
<td><?php echo $row->formatted_invoice_date; ?></td>
<td><?php echo $row->first_name . " " . $row->last_name; ?></td>
<td style="text-align: left;"><?php echo $row->formatted_invoice_date; ?></td>
<td style="text-align: left;"><?php echo $row->first_name . " " . $row->last_name; ?></td>
<td><?php echo $row->tax ? $row->tax . '%' : '0%'; ?></td>
<td><?php echo '₹' . number_format($row->discount, 2, '.', ','); ?></td>
<td><?php echo $row->item_count; ?></td>
<td><?php echo '₹' . number_format($row->shipping_charge, 2, '.', ','); ?></td>
<td><?php echo '₹' . number_format($row->total_amount, 2, '.', ','); ?></td>
<td style="text-align: center;"><?php echo $row->item_count; ?></td>
<td style="text-align: right;"><?php echo '₹' . number_format($row->shipping_charge, 2, '.', ','); ?></td>
<td style="text-align: right;"><?php echo '₹' . number_format($row->total_amount, 2, '.', ','); ?></td>
<td><?php echo $row->status; ?></td>
<td><?php echo ($row->invoice_type == 1) ? 'Book Invoice' : 'Membership Invoice'; ?></td>
<td><?php echo $row->payment_method; ?></td>

View File

@ -69,12 +69,12 @@
<?php foreach ($report_data as $row) { ?>
<?php foreach ($row->books as $book) { ?>
<tr>
<td><?php echo isset($row->publisher_code)? $row->publisher_code:'-'; ?></td>
<td><?php echo $row->publisher_item_count; ?></td>
<td><?php echo number_format($row->publisher_total_cost, 2); ?></td>
<td><?php echo $book->book_name; ?></td>
<td><?php echo $book->item_count; ?></td>
<td><?php echo number_format($book->total_cost, 2); ?></td>
<td style="text-align: left;"><?php echo isset($row->publisher_code)? $row->publisher_code:'-'; ?></td>
<td style="text-align: center;"><?php echo $row->publisher_item_count; ?></td>
<td style="text-align: right;"><?php echo number_format($row->publisher_total_cost, 2); ?></td>
<td style="text-align: left;"><?php echo $book->book_name; ?></td>
<td style="text-align: center;"><?php echo $book->item_count; ?></td>
<td style="text-align: right;"><?php echo number_format($book->total_cost, 2); ?></td>
<td><?php echo $book->book_publication_date; ?></td>
</tr>
<?php } ?>

View File

@ -42,11 +42,11 @@
<?php foreach ($report_data as $row) { ?>
<tr>
<td hidden><?php echo $row["user_id"]; ?></td>
<td><?= $row['first_name']?></td>
<td><?= $row['event_name'] ?></td>
<td><?= $row['books_sold'] ?></td>
<td><?= $row['total_amount'] ?></td>
<td><?= $row['payment_method']?></td>
<td style="text-align: left;"><?= $row['first_name']?></td>
<td style="text-align: left;"><?= $row['event_name'] ?></td>
<td style="text-align: center;"><?= $row['books_sold'] ?></td>
<td style="text-align: right;"><?= $row['total_amount'] ?></td>
<td style="text-align: left;"><?= $row['payment_method']?></td>
<?php $unixTime = strtotime($row['invoice_date']);
$invoice_date = date("d-m-Y", $unixTime);?>
<td><?= $invoice_date ?></td>

View File

@ -18,6 +18,7 @@
</style>
</head>
<body>
<?php var_dump($receivedFromPaytm);die();?>
<div class="container payment-success">
<div class="card shadow-sm">

View File

@ -4,33 +4,38 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<title>Pay With PayTM</title>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-sm-3"></div>
<div class="col-sm-6">
<div class="form-group">
<span class="text-danger">* - Mandatory Fields</span>
<div class="container">
<div class="row">
<div class="col-sm-3"></div>
<div class="col-sm-6">
<div class="form-group">
<span class="text-danger">* - Mandatory Fields</span>
</div>
<form method="post" action="<?php echo htmlspecialchars(PAYTM_TXN_URL) ?>" id='f1' name="f1">
<?php
foreach($paramList as $name => $value) {
// Changed to hidden input to prevent data from being visible in the source
echo '<input type="hidden" name="' . $name .'" value="' . htmlspecialchars($value) . '">';
}
?>
<!-- Hidden field for checksum -->
<input id = "CHECKSUMHASH" type="hidden" name="CHECKSUMHASH" value="<?php echo htmlspecialchars($checkSum) ?>">
<!-- <input type="submit" placeholder="SUbmit"> -->
<script type="text/javascript">
// Automatically submitting the form when the page is loaded
console.log("Before Submitting")
document.forms['f1'].submit();
</script>
</form>
</div>
<form method="post" action="<?php echo PAYTM_TXN_URL ?>" name="f1">
<?php
foreach($paramList as $name => $value) {
echo '<input type="hidden" name="' . $name .'" value="' . $value . '">';
} ?>
<input type="hidden" name="CHECKSUMHASH" value="<?php echo $checkSum ?>">
<script type="text/javascript">
document.f1.submit();
</script>
</form>
</div>
</div>
</div>
</body>
</html>
</html>

0
vendor/clue/ndjson-react/.github/FUNDING.yml vendored Normal file → Executable file
View File

0
vendor/clue/ndjson-react/CHANGELOG.md vendored Normal file → Executable file
View File

0
vendor/clue/ndjson-react/LICENSE vendored Normal file → Executable file
View File

0
vendor/clue/ndjson-react/README.md vendored Normal file → Executable file
View File

0
vendor/clue/ndjson-react/composer.json vendored Normal file → Executable file
View File

0
vendor/clue/ndjson-react/src/Decoder.php vendored Normal file → Executable file
View File

0
vendor/clue/ndjson-react/src/Encoder.php vendored Normal file → Executable file
View File

0
vendor/codeigniter/coding-standard/CHANGELOG.md vendored Normal file → Executable file
View File

0
vendor/codeigniter/coding-standard/CONTRIBUTING.md vendored Normal file → Executable file
View File

0
vendor/codeigniter/coding-standard/LICENSE vendored Normal file → Executable file
View File

0
vendor/codeigniter/coding-standard/README.md vendored Normal file → Executable file
View File

0
vendor/codeigniter/coding-standard/composer.json vendored Normal file → Executable file
View File

0
vendor/codeigniter/coding-standard/src/CodeIgniter4.php vendored Normal file → Executable file
View File

0
vendor/composer/pcre/LICENSE vendored Normal file → Executable file
View File

0
vendor/composer/pcre/README.md vendored Normal file → Executable file
View File

0
vendor/composer/pcre/composer.json vendored Normal file → Executable file
View File

0
vendor/composer/pcre/extension.neon vendored Normal file → Executable file
View File

0
vendor/composer/pcre/src/MatchAllResult.php vendored Normal file → Executable file
View File

0
vendor/composer/pcre/src/MatchAllStrictGroupsResult.php vendored Normal file → Executable file
View File

0
vendor/composer/pcre/src/MatchAllWithOffsetsResult.php vendored Normal file → Executable file
View File

0
vendor/composer/pcre/src/MatchResult.php vendored Normal file → Executable file
View File

0
vendor/composer/pcre/src/MatchStrictGroupsResult.php vendored Normal file → Executable file
View File

0
vendor/composer/pcre/src/MatchWithOffsetsResult.php vendored Normal file → Executable file
View File

0
vendor/composer/pcre/src/PHPStan/InvalidRegexPatternRule.php vendored Normal file → Executable file
View File

0
vendor/composer/pcre/src/PHPStan/PregMatchFlags.php vendored Normal file → Executable file
View File

View File

View File

View File

0
vendor/composer/pcre/src/PHPStan/UnsafeStrictGroupsCallRule.php vendored Normal file → Executable file
View File

0
vendor/composer/pcre/src/PcreException.php vendored Normal file → Executable file
View File

0
vendor/composer/pcre/src/Preg.php vendored Normal file → Executable file
View File

0
vendor/composer/pcre/src/Regex.php vendored Normal file → Executable file
View File

0
vendor/composer/pcre/src/ReplaceResult.php vendored Normal file → Executable file
View File

0
vendor/composer/pcre/src/UnexpectedNullMatchException.php vendored Normal file → Executable file
View File

0
vendor/composer/semver/CHANGELOG.md vendored Normal file → Executable file
View File

0
vendor/composer/semver/LICENSE vendored Normal file → Executable file
View File

0
vendor/composer/semver/README.md vendored Normal file → Executable file
View File

0
vendor/composer/semver/composer.json vendored Normal file → Executable file
View File

0
vendor/composer/semver/src/Comparator.php vendored Normal file → Executable file
View File

0
vendor/composer/semver/src/CompilingMatcher.php vendored Normal file → Executable file
View File

0
vendor/composer/semver/src/Constraint/Bound.php vendored Normal file → Executable file
View File

0
vendor/composer/semver/src/Constraint/Constraint.php vendored Normal file → Executable file
View File

0
vendor/composer/semver/src/Constraint/ConstraintInterface.php vendored Normal file → Executable file
View File

0
vendor/composer/semver/src/Constraint/MatchAllConstraint.php vendored Normal file → Executable file
View File

0
vendor/composer/semver/src/Constraint/MatchNoneConstraint.php vendored Normal file → Executable file
View File

0
vendor/composer/semver/src/Constraint/MultiConstraint.php vendored Normal file → Executable file
View File

0
vendor/composer/semver/src/Interval.php vendored Normal file → Executable file
View File

0
vendor/composer/semver/src/Intervals.php vendored Normal file → Executable file
View File

0
vendor/composer/semver/src/Semver.php vendored Normal file → Executable file
View File

0
vendor/composer/semver/src/VersionParser.php vendored Normal file → Executable file
View File

0
vendor/composer/xdebug-handler/CHANGELOG.md vendored Normal file → Executable file
View File

0
vendor/composer/xdebug-handler/LICENSE vendored Normal file → Executable file
View File

0
vendor/composer/xdebug-handler/README.md vendored Normal file → Executable file
View File

0
vendor/composer/xdebug-handler/composer.json vendored Normal file → Executable file
View File

0
vendor/composer/xdebug-handler/src/PhpConfig.php vendored Normal file → Executable file
View File

0
vendor/composer/xdebug-handler/src/Process.php vendored Normal file → Executable file
View File

0
vendor/composer/xdebug-handler/src/Status.php vendored Normal file → Executable file
View File

0
vendor/composer/xdebug-handler/src/XdebugHandler.php vendored Normal file → Executable file
View File

0
vendor/doctrine/instantiator/.doctrine-project.json vendored Normal file → Executable file
View File

0
vendor/doctrine/instantiator/CONTRIBUTING.md vendored Normal file → Executable file
View File

0
vendor/doctrine/instantiator/LICENSE vendored Normal file → Executable file
View File

0
vendor/doctrine/instantiator/README.md vendored Normal file → Executable file
View File

0
vendor/doctrine/instantiator/composer.json vendored Normal file → Executable file
View File

0
vendor/doctrine/instantiator/docs/en/index.rst vendored Normal file → Executable file
View File

0
vendor/doctrine/instantiator/docs/en/sidebar.rst vendored Normal file → Executable file
View File

0
vendor/doctrine/instantiator/psalm.xml vendored Normal file → Executable file
View File

View File

View File

0
vendor/evenement/evenement/.gitattributes vendored Normal file → Executable file
View File

0
vendor/evenement/evenement/LICENSE vendored Normal file → Executable file
View File

0
vendor/evenement/evenement/README.md vendored Normal file → Executable file
View File

0
vendor/evenement/evenement/composer.json vendored Normal file → Executable file
View File

0
vendor/evenement/evenement/src/EventEmitter.php vendored Normal file → Executable file
View File

0
vendor/evenement/evenement/src/EventEmitterInterface.php vendored Normal file → Executable file
View File

0
vendor/evenement/evenement/src/EventEmitterTrait.php vendored Normal file → Executable file
View File

0
vendor/fakerphp/faker/CHANGELOG.md vendored Normal file → Executable file
View File

0
vendor/fakerphp/faker/LICENSE vendored Normal file → Executable file
View File

Some files were not shown because too many files have changed in this diff Show More