Go to the documentation of this file.00001 <?php
00002
00007 class oxSeoEncoderTag extends oxSeoEncoder
00008 {
00012 protected static $_instance = null;
00013
00019 public static function getInstance()
00020 {
00021
00022 if ( defined( 'OXID_PHP_UNIT' ) ) {
00023 self::$_instance = modInstances::getMod( __CLASS__ );
00024 }
00025
00026 if ( !self::$_instance instanceof oxSeoEncoderTag ) {
00027 self::$_instance = oxNew( 'oxSeoEncoderTag' );
00028 if ( defined( 'OXID_PHP_UNIT' ) ) {
00029 modInstances::addMod( __CLASS__, self::$_instance);
00030 }
00031 }
00032
00033 if ( defined( 'OXID_PHP_UNIT' ) ) {
00034
00035 self::$_instance->_aSeoCache = array();
00036 }
00037
00038 return self::$_instance;
00039 }
00040
00049 public function getTagUri( $sTag, $iLang = null )
00050 {
00051 return $this->_getDynamicUri( $this->getStdTagUri( $sTag ), "tag/{$sTag}/", $iLang );
00052 }
00053
00062 public function getStdTagUri( $sTag, $blIncludeIndex = true )
00063 {
00064
00065 $sUri = "cl=tag&searchtag=" . rawurlencode( $sTag );
00066 if ( $blIncludeIndex ) {
00067 $sUri = "index.php?" . $sUri;
00068 }
00069 return $sUri;
00070 }
00071
00080 public function getTagUrl( $sTag, $iLang = null)
00081 {
00082 if (!isset($iLang)) {
00083 $iLang = oxLang::getInstance()->getBaseLanguage();
00084 }
00085 return $this->_getFullUrl( $this->getTagUri( $sTag, $iLang ), $iLang );
00086 }
00087
00098 public function getTagPageUrl( $sTag, $iPage, $iLang = null, $blFixed = false )
00099 {
00100 if (!isset($iLang)) {
00101 $iLang = oxLang::getInstance()->getBaseLanguage();
00102 }
00103 $sStdUrl = $this->getStdTagUri( $sTag ) . '&pgNr=' . $iPage;
00104 $sParams = (int) ($iPage + 1);
00105
00106 $sStdUrl = $this->_trimUrl( $sStdUrl, $iLang );
00107 $sSeoUrl = $this->getTagUri( $sTag, $iLang ) . $sParams . "/";
00108
00109 return $this->_getFullUrl( $this->_getDynamicUri( $sStdUrl, $sSeoUrl, $iLang ), $iLang );
00110 }
00111 }