MINI Sh3ll
<?
function startsWith($haystack, $needle)
{
$length = strlen($needle);
return (substr($haystack, 0, $length) === $needle);
}
function endsWith($haystack, $needle)
{
$length = strlen($needle);
if ($length == 0) {
return true;
}
return (substr($haystack, -$length) === $needle);
}
function localToUTCDate($local_date){
$utc_date = new MongoDB\BSON\UTCDateTime((new DateTime($local_date))->getTimestamp()*1000);
return $utc_date;
}
function utcToLocalDate($utc_date, $format = "d-m-Y H:i:s"){
$newdate = $utc_date;
$time = (array)$newdate;
if(!empty($time['milliseconds']))
{
$ldate = new MongoDB\BSON\UTCDateTime(((string)$utc_date+19800000));
$ldate = $ldate->toDateTime();
$ldate = $ldate->format($format);
return $ldate;
}
else{
return false;
}
}
function logRequest(&$request = '')
{
$objMdb = new mongo_database;
$request['logtype'] = 'request';
$request['request_id'] = $objMdb->saveOneRecord('tollfree_requests', $request);
$json_request = json_encode($request);
if($json_request != '')
{
$logPath = getcwd().'/logger/'.strtolower(date('F-Y')).'/';
if(!file_exists($logPath))
mkdir($logPath, 0775, true);
$logPath .= 'requests-'.date('dmYH').'.log';
//print $logPath.PHP_EOL;
file_put_contents($logPath, $json_request.PHP_EOL, LOCK_EX | FILE_APPEND);
}
}
function logResponse(&$request = '')
{
$objMdb = new mongo_database;
$request['logtype'] = 'response';
$request['response_id'] = $objMdb->saveOneRecord('tollfree_responses', $request);
$json_request = json_encode($request);
if($json_request != '')
{
$logPath = getcwd().'/logger/'.strtolower(date('F-Y')).'/';
if(!file_exists($logPath))
mkdir($logPath, 0775, true);
//print 'Response : '.$logPath.PHP_EOL;
$logPath .= 'responses-'.date('dmYH').'.log';
file_put_contents($logPath, $json_request.PHP_EOL, LOCK_EX | FILE_APPEND);
}
}
function logURLCall(&$request = '')
{
$request['logtype'] = 'urlcall';
$request = json_encode($request);
if($request != '')
{
$logPath = getcwd().'/logger/'.strtolower(date('F-Y')).'/';
if(!file_exists($logPath))
mkdir($logPath, 0775, true);
$logPath .= 'urlcalls-'.date('dmYH').'.log';
file_put_contents($logPath, $request.PHP_EOL, LOCK_EX | FILE_APPEND);
}
}
function mysql_escape($con, $parameter)
{
return mysqli_escape_string($con, $parameter);
}
function make_get_request($url, $paramstring)
{
$response = '';
$options = array(
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_HEADER => false, // don't return headers
CURLOPT_FOLLOWLOCATION => true, // follow redirects
CURLOPT_ENCODING => "", // handle all encodings
CURLOPT_USERAGENT => "SWPL-GW-55757", // who am i
CURLOPT_AUTOREFERER => true, // set referer on redirect
CURLOPT_CONNECTTIMEOUT => 30, // timeout on connect
CURLOPT_TIMEOUT => 30, // timeout on response
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
CURLOPT_SSL_VERIFYPEER => false, // Disabled SSL Cert checks
CURLOPT_SSL_VERIFYHOST => 0
);
$callurl = trim($url);
if( !endsWith($callurl,'?') )
$callurl = $callurl.'?';
$callurl = $callurl.$paramstring;
$ch = curl_init( $callurl );
curl_setopt_array( $ch, $options );
$content = curl_exec( $ch );
$err = curl_errno( $ch );
$errmsg = curl_error( $ch );
$header = curl_getinfo( $ch );
curl_close( $ch );
$rresponse = [];
$rresponse['url_response'] = $header['http_code'] == '200' ? $content : ''.$header['http_code'];
$rresponse['remote_url'] = $callurl;
$rresponse['url_response_code'] = $header['http_code'];
$rresponse['url_response_error'] = $errmsg;
//print_r($urlrequest);
return $rresponse;
}
function x($data){
print '<pre>';
print_r($data);
print '</pre>';
die;
}
function y($data){
print '<pre>';
print_r($data);
print '</pre>';
}
?>
OHA YOOOO