3 if (!defined(
'OXTAGCLOUD_MINTAGLENGTH')) {
 
    4     define(
'OXTAGCLOUD_MINTAGLENGTH', 4);
 
   24         'admin', 
'application', 
'core', 
'export', 
'modules', 
'out', 
'setup', 
'tmp' 
   55     protected $_aMetaChars = array(
'+', 
'-', 
'>', 
'<', 
'(', 
')', 
'~', 
'*', 
'"', 
'\'', 
'\\', 
'[', 
']', 
'{', 
'}', 
';', 
':', 
'.', 
'/', 
'|', 
'!', 
'@', 
'#', 
'$', 
'%', 
'^', 
'&', 
'?', 
'=', 
'`');
 
   77         $this->_iTagMaxLength = $iTagMaxLength;
 
   96     public function set($sTag, $blPrepare = 
true)
 
   98         $this->_sTag = $blPrepare ? $this->
prepare($sTag) : $sTag;
 
  107     public function get()
 
  119         $this->_iHitCount = $iHitCount;
 
  147         $blValid = strlen($this->_sTag) > 0 ? 
true : 
false;
 
  148         if ($blValid && in_array($this->_sTag, $this->_aForbiddenTags)) {
 
  162         if (is_null($this->_sTagLink)) {
 
  163             $this->_sTagLink = $this->
formLink($this->
get());
 
  176         $this->_sTagLink = $sTagLink;
 
  186         return getStr()->htmlentities($this->
get());
 
  211         $iLen = $oStr->strlen($sTag);
 
  213             $sTag = trim($oStr->substr($sTag, 0, $this->getMaxLength()));
 
  216         return $oStr->strtolower($sTag);
 
  231         $sText = str_replace($this->_aMetaChars, 
' ', $sText);
 
  234         $sText = $oStr->preg_replace(
"/\s+/", 
" ", trim($sText));
 
  254             $sUrl = $oSeoEncoderTag->getTagUrl($sTag, $iLang);
 
  257         return $sUrl ? $sUrl : $this->
getConfig()->getShopUrl() . $oSeoEncoderTag->getStdTagUri($sTag) . 
"&lang=" . $iLang;
 
  266         $aTagParts = explode(
' ', $this->
get());
 
  267         foreach ($aTagParts as &$sTagPart) {
 
  268             if ($oStr->strlen($sTagPart) < OXTAGCLOUD_MINTAGLENGTH) {
 
  269                 $sTagPart .= str_repeat(
"_", OXTAGCLOUD_MINTAGLENGTH - $oStr->strlen($sTagPart));
 
  273         $this->
set(implode(
' ', $aTagParts), 
false);
 
  284         if ($oStr->preg_match_all(
"/([\s\-]?)([^\s\-]+)([\s\-]?)/", $this->get(), $aMatches)) {
 
  285             foreach ($aMatches[2] as $iKey => $sMatch) {
 
  286                 if ($oStr->strlen($sMatch) <= OXTAGCLOUD_MINTAGLENGTH) {
 
  287                     $sMatch = rtrim($sMatch, 
"_");
 
  289                 $sRes .= $aMatches[1][$iKey] . $sMatch . $aMatches[3][$iKey];
 
  292         $this->
set($sRes, 
false);