Files
CyberPanel/install/openlitespeed-1.4.28/dist/admin/html.open/lib/DKeywordAlias.php
2017-12-09 22:30:10 +05:00

64 lines
1.2 KiB
PHP

<?php
class DKeywordAlias
{
private $_aliasmap;
private $_aliaskey;
public static function GetInstance()
{
if ( !isset($GLOBALS['_DKeywordAlias_']) )
$GLOBALS['_DKeywordAlias_'] = new DKeywordAlias();
return $GLOBALS['_DKeywordAlias_'];
}
public static function NormalizedKey($rawkey)
{
$tool = DKeywordAlias::GetInstance();
return $tool->get_normalized_key($rawkey);
}
public static function GetShortPrintKey($normalizedkey)
{
$tool = DKeywordAlias::GetInstance();
return $tool->get_short_print_key($normalizedkey);
}
private function __construct()
{
$this->define_alias();
$this->_aliaskey = array();
foreach ($this->_aliasmap as $nk => $sk) {
$this->_aliaskey[strtolower($sk)] = $nk;
}
}
private function get_normalized_key($rawkey)
{
$key = strtolower($rawkey);
if ( isset($this->_aliaskey[$key]) )
return $this->_aliaskey[$key];
else
return $key;
}
private function get_short_print_key($normalizedkey)
{
if ( isset($this->_aliasmap[$normalizedkey]) )
return $this->_aliasmap[$normalizedkey];
else
return NULL;
}
private function define_alias()
{
// key is all lower case, value is output case
$this->_aliasmap = array(
//'accesscontrol' => 'acc',
//'address' => 'addr',
);
}
}