HEX
Server: Apache/2
System: Linux ns65.hostinglotus.net 4.18.0-553.16.1.el8_10.x86_64 #1 SMP Thu Aug 8 07:11:46 EDT 2024 x86_64
User: newsnnno (1225)
PHP: 8.2.20
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/newsnnno/public_html/wp-content/plugins/file-manager/inc/class.php.syntax.checker.php
<?php
// Security check 
defined('ABSPATH') || die();

if(!class_exists('FMPHPSyntaxChecker')):

class FMPHPSyntaxChecker{

	public function checkSyntax($cmd, &$args, $elfinder, $volume){
		$args['content'] = stripcslashes($args['content']); // Default wordpress slashing removed.

		// Checking syntax for PHP file.
		if(strpos($args['content'], '<?php') !== false){
			$temp_file_path = FM_UPLOAD_BASE_DIR . 'temp.php';
			$fp = fopen($temp_file_path, "w+");
			fwrite($fp, $args['content']);
			fclose($fp);
			exec("php -l " . $temp_file_path , $output, $return);

			
			$error_message = [];
			foreach($output as $result){
				if(strpos($result , 'No syntax errors detected') !== false){
					continue;
				}elseif($result == ''){
					continue;
				}

				if(strpos($result, 'Errors parsing' ) !== false){
				}else{
					$error_message[] = $result;
				}
			}

			unlink($temp_file_path);

			if($return !== 0) return array(
				'preventexec' => true,
				'results' => array(
					'error' => array($error_message),
				),
			);
		}
		
		return true;
	}

}

endif;