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);
}
}