HEX
Server: Apache
System: Linux 4485441ca2e2 6.8.0-1039-aws #41~22.04.1-Ubuntu SMP Thu Sep 11 11:03:07 UTC 2025 aarch64
User: (1000)
PHP: 8.2.24
Disabled: NONE
Upload Files
File: /var/www/html/wp-content/plugins/ganryu_shop/libs/paramconfig/grys_paramConfig.php
<?php

class grys_paramConfigAsFile{

	var $data = array();
	var $list = array();
	var $loaded = false;
	var $config = array();
	
	function load($file, $setup="+id,value"){
		$this->data = array();
		$this->list = array();
		$this->loaded = false;

		$spar = preg_split('/,/', $setup);
		$keyidx = 0;
		$validx = 1;
		for($i = 0; $i < count($spar); $i++){
			if ($spar[$i][0] == "+"){
				$spar[$i] = substr($spar[$i], 1);
				$keyidx = $i;
			}
			if ($spar[$i][0] == "*"){
				$spar[$i] = substr($spar[$i], 1);
				$validx = $i;
			}
		}
		$this->config = array(
			'key'=>$spar[$keyidx],
			'value'=>$spar[$validx],
		);
		
		$f = file($file);
		foreach ($f as $fl){
			$fl = preg_replace('/[\r\n]+/', '', $fl);
			$flar = preg_split('/\t/', $fl, count($spar));
			$dt = array();
			for($i = 0; $i < count($spar); $i++){
				if ($i < count($flar)){
					$dt[$spar[$i]] = $flar[$i];
				}
				else{
					$dt[$spar[$i]] = "";
				}
			}
			$this->list[] = $dt;
			$this->data[$dt[$spar[$keyidx]]] = $dt;
		}
		$this->loaded = true;
	}
	
	function getList(){
		if (!$this->loaded){
			$this->load();
		}
		return $this->list;
	
	}
	
	function getData($key){
		if (!$this->loaded){
			$this->load();
		}
		if (!array_key_exists($key, $this->data)){
			return null;
		}
		return $this->data[$key];
	}
	
	function getValue($key){
		$dt = $this->getData($key);
		if (!$dt) return null;
		$vkey = $this->config['value'];
		return $dt[$vkey];
	}

}


class grys_paramConfig{

	static $config = array();
	
	static function getInstance($confname){
		if (array_key_exists($confname, self::$config)){
			return self::$config[$confname]; 
		}
		if ($confname == "prefecture"){
			$inst = new grys_paramConfigAsFile();
			$inst->load(dirname(__FILE__).'/config/prefecture.txt', '+id,*value');
			self::$config[$confname] = $inst;
			return $inst;
		}
		return null;
	}
	
	static function getList($confname){
		$inst = self::getInstance($confname);
		if (!$inst){
			return null;
		}
		return $inst->getList();
	}
	static function getData($confname, $key){
		$inst = self::getInstance($confname);
		if (!$inst){
			return null;
		}
		return $inst->getData($key);
	}
	static  function getValue($confname, $key){
		$inst = self::getInstance($confname);
		if (!$inst){
			return null;
		}
		return $inst->getValue($key);
	}
	


}