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.access-control.php
<?php
// Access controll of files.

// Security Check
defined('ABSPATH') || die();

if(!class_exists('FMAccessControl')):

class FMAccessControl{

	public $settings;

	function __construct(){
		global $FileManager;
		$this->settings = $FileManager->options['file_manager_settings'];
		
	}
	
	function control($attr, $path, $data, $volume) {
    	if(!isset($this->settings['fm-show-hidden-files']) || empty($this->settings['fm-show-hidden-files']))
    		return strpos(basename($path), '.') === 0    
		        ? ( isset($this->settings['fm-create-hidden-files-folders']) && '' == $this->settings['fm-create-hidden-files-folders']) ? !($attr == 'read' || $attr == 'write') :  ($attr == 'read' || $attr == 'write')
		        :  null;                                    
	}

	/**
	 * Create or upload .( Dot) started files or folder based on settings.
	 * @param $name file.
	 * @return boolean
	 * @reference : https://github.com/Studio-42/elFinder/wiki/Connector-configuration-options-2.1#acceptedName
	 */
	function accepted__name($name){

		if( isset( $this->settings['fm-create-hidden-files-folders'] ) && 'fm-create-hidden-files-folders' == $this->settings['fm-create-hidden-files-folders'] ){
			return true;
		}

		return strpos($name, '.') !== 0;
	}
	
}

endif;