HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //proc/self/cwd/wp-content/plugins/elementskit-lite/core/config-list.php
<?php 
namespace ElementsKit_Lite\Core;

abstract class Config_List{

	use \ElementsKit_Lite\Traits\Singleton;

	private $full_list = [];
	private $active_list = [];
    
	protected $optional_list = [];
	protected $required_list = [];

	protected $type;

	public function __construct(){
		$this->set_optional_list();
		$this->set_required_list();
		$this->set_full_list();
		$this->set_active_list();
	}

	public function get_list($data = 'full', $module = null) {
		if($module != null) {
			return ($this->{$data . '_list'}[$module] ?? false);
		}

		return $this->{$data . '_list'};
	}

	public function is_active($item) {

		$item = ($this->active_list[$item] ?? []);
		
		return empty($item['package']) ? false : (($item['package'] == 'free' || $item['package'] == 'pro'));
	}

    private function set_active_list(){
		$database_list = \ElementsKit_Lite\Libs\Framework\Attr::instance()->utils->get_option($this->type . '_list', []);

		foreach($this->full_list as $key => $item){

            if(isset($database_list[$key]['status']) && $database_list[$key]['status'] == 'inactive' && !key_exists($key, $this->required_list)){
                continue;
            }

            if(isset($item['package']) && $item['package'] == 'pro-disabled'){
                continue;
            }
			
			$this->active_list[$key] = $item;
		}
	}

	private  function set_full_list(){
        $this->full_list = array_merge($this->required_list, $this->optional_list);
    }

	abstract protected function set_required_list();

	abstract protected function set_optional_list();

}