4 if (!defined(
'OXTAGCLOUD_MINTAGLENGTH')) {
 
    5     define(
'OXTAGCLOUD_MINTAGLENGTH', 4);
 
   28         'admin', 
'application', 
'core', 
'export', 
'modules', 
'out', 
'setup', 
'tmp' 
   59     protected $_aMetaChars = array(
'+', 
'-', 
'>', 
'<', 
'(', 
')', 
'~', 
'*', 
'"', 
'\'', 
'\\', 
'[', 
']', 
'{', 
'}', 
';', 
':', 
'.', 
'/', 
'|', 
'!', 
'@', 
'#', 
'$', 
'%', 
'^', 
'&', 
'?', 
'=', 
'`');
 
   81         $this->_iTagMaxLength = $iTagMaxLength;
 
  100     public function set($sTag, $blPrepare = 
true)
 
  102         $this->_sTag = $blPrepare ? $this->
prepare($sTag) : $sTag;
 
  111     public function get()
 
  123         $this->_iHitCount = $iHitCount;
 
  151         $blValid = strlen($this->_sTag) > 0 ? 
true : 
false;
 
  152         if ($blValid && in_array($this->_sTag, $this->_aForbiddenTags)) {
 
  166         if (is_null($this->_sTagLink)) {
 
  167             $this->_sTagLink = $this->
formLink($this->
get());
 
  180         $this->_sTagLink = $sTagLink;
 
  190         return getStr()->htmlentities($this->
get());
 
  215         $iLen = $oStr->strlen($sTag);
 
  217             $sTag = trim($oStr->substr($sTag, 0, $this->getMaxLength()));
 
  220         return $oStr->strtolower($sTag);
 
  235         $sText = str_replace($this->_aMetaChars, 
' ', $sText);
 
  238         $sText = $oStr->preg_replace(
"/\s+/", 
" ", trim($sText));
 
  258             $sUrl = $oSeoEncoderTag->getTagUrl($sTag, $iLang);
 
  261         return $sUrl ? $sUrl : $this->
getConfig()->getShopUrl() . $oSeoEncoderTag->getStdTagUri($sTag) . 
"&lang=" . $iLang;
 
  270         $aTagParts = explode(
' ', $this->
get());
 
  271         foreach ($aTagParts as &$sTagPart) {
 
  272             if ($oStr->strlen($sTagPart) < OXTAGCLOUD_MINTAGLENGTH) {
 
  273                 $sTagPart .= str_repeat(
"_", OXTAGCLOUD_MINTAGLENGTH - $oStr->strlen($sTagPart));
 
  277         $this->
set(implode(
' ', $aTagParts), 
false);
 
  288         if ($oStr->preg_match_all(
"/([\s\-]?)([^\s\-]+)([\s\-]?)/", $this->get(), $aMatches)) {
 
  289             foreach ($aMatches[2] as $iKey => $sMatch) {
 
  290                 if ($oStr->strlen($sMatch) <= OXTAGCLOUD_MINTAGLENGTH) {
 
  291                     $sMatch = rtrim($sMatch, 
"_");
 
  293                 $sRes .= $aMatches[1][$iKey] . $sMatch . $aMatches[3][$iKey];
 
  296         $this->
set($sRes, 
false);