Show
Ignore:
Timestamp:
10/17/07 10:01:58 (6 years ago)
Author:
d0nut
Message:

publicseorewriter changed to 1.1 - now it is required everywhere because it makes the decision about using seo urls or normal urls

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • publicseorewriter/files/lib/page/PublicSEORewriter.class.php

    r17 r62  
    33require_once(WBB_DIR.'lib/data/board/Board.class.php'); 
    44 
    5 // wcf imports 
    6 require_once(WBB_DIR.'lib/data/page/seo/WBBSEORewriter.class.php'); 
    7  
     5// do import if rewriter exists 
     6if(file_exists(WBB_DIR.'lib/data/page/seo/WBBSEORewriter.class.php')) { 
     7        require_once(WBB_DIR.'lib/data/board/Board.class.php'); 
     8}  
     9// otherwise create a new class 
     10else { 
     11        class WBBSEORewriter {} 
     12} 
    813 
    914/** 
    10  * Rewrites links to SEO links. 
     15 * Rewrites links to normal or seo urls 
    1116 * 
    1217 * @author      Torben Brodt 
    13  * @package     de.easy-coding.wbb.data.page.util 
     18 * @package     de.easy-coding.wcf.data.page.publicseorewriter 
    1419 * @license     GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php> 
    1520 */ 
    1621class PublicSEORewriter extends WBBSEORewriter { 
    1722 
    18         /** 
    19          * Caches threads. 
    20          * 
    21          * @param       int           $threadID 
    22          * @param       array         $row 
    23          */ 
    24         public function publicCacheThreads($threadID, $row) { 
    25                 $row['topic'] = SEOUtil::formatString($row['topic']); 
    26                 if ($this->encodeHTML) $row['topic'] = StringUtil::encodeHTML($row['topic']); 
    27                 $this->cachedThreads[$row['threadID']] = array('topic' => $row['topic'], 'boardID' => $row['boardID']); 
    28         } 
    29  
    30         /** 
    31          * Caches boards. 
    32          * 
    33          * @param       int           $boardID 
    34          * @param       array         $row 
    35          */ 
    36         public function publicCacheBoards($boardID, $row) { 
    37                 $this->cachedBoardTitles[$boardID] = SEOUtil::formatString(WCF::getLanguage()->get($row['title'])); 
    38                 if ($this->encodeHTML && !preg_match('/^[a-z0-9_\-]+(?:\.[a-z0-9_\-]+)+$/i', $row['title'])) { 
    39                         $this->cachedBoardTitles[$boardID] = StringUtil::encodeHTML($this->cachedBoardTitles[$boardID]); 
    40                 } 
    41         } 
     23        /** 
     24        * Caches threads. 
     25        * 
     26        * @param       int           $threadID 
     27        * @param       array         $row 
     28        */ 
     29        public function publicCacheThreads($threadID, $row) { 
     30                $row['topic'] = SEOUtil::formatString($row['topic']); 
     31                if ($this->encodeHTML) $row['topic'] = StringUtil::encodeHTML($row['topic']); 
     32                $this->cachedThreads[$row['threadID']] = array( 
     33                                'topic' => $row['topic'],  
     34                                'boardID' => $row['boardID'] 
     35                        ); 
     36        } 
    4237 
    4338        /** 
    44          * clears the cache 
    45          */ 
     39        * Caches boards. 
     40        * 
     41        * @param       int           $boardID 
     42        * @param       array         $row 
     43        */ 
     44        public function publicCacheBoards($boardID, $row) { 
     45                $this->cachedBoardTitles[$boardID] = SEOUtil::formatString(WCF::getLanguage()->get($row['title'])); 
     46                if ($this->encodeHTML && !preg_match('/^[a-z0-9_\-]+(?:\.[a-z0-9_\-]+)+$/i', $row['title'])) { 
     47                        $this->cachedBoardTitles[$boardID] = StringUtil::encodeHTML($this->cachedBoardTitles[$boardID]); 
     48                } 
     49        } 
     50 
     51        /** 
     52        * clears the cache 
     53        */ 
    4654        public function clearCache() { 
    4755                $this->cachedThreads = array(); 
     
    5058 
    5159 
    52         /** 
    53          * Parses index urls. 
    54          * 
    55          * @param       string          $queryString 
    56          * @param       string          $string 
    57          * 
    58          * @return      string 
    59          */ 
    60         public function publicParseIndexURLs($queryString, $string = SEO_REWRITE_INDEX_FORMAT) { 
    61                 return $this->parseIndexURLs($queryString); 
    62         } 
     60        /** 
     61        * Parses index urls. 
     62        * 
     63        * @param       string          $queryString 
     64        * @param       string          $string 
     65        * 
     66        * @return      string 
     67        */ 
     68        public function publicParseIndexURLs($queryString, $string = null) { 
     69                if(defined('SEO_ENABLE') && SEO_ENABLE && defined('SEO_REWRITE_INDEX') && SEO_REWRITE_INDEX) { 
     70                        if($string === null) $string = SEO_REWRITE_INDEX_FORMAT; 
     71                        return $this->parseIndexURLs($queryString); 
     72                } 
     73        } 
    6374 
    64         /** 
    65          * Parses multiple board urls. 
    66          * 
    67          * @param       integer         $boardID 
    68          * @param       integer         $pageNo 
    69          * @param       string          $queryString 
    70          * @param       string          $string 
    71          * 
    72          * @return      string 
    73          */ 
    74         public function publicParseMultipleBoardURLs($boardID, $pageNo, $queryString, $string = SEO_REWRITE_BOARD_MULTIPLE_FORMAT) { 
    75                 return $this->parseMultipleBoardURLs($boardID, $pageNo, $queryString); 
    76         } 
     75        /** 
     76        * Parses multiple board urls. 
     77        * 
     78        * @param       integer         $boardID 
     79        * @param       integer         $pageNo 
     80        * @param       string          $queryString 
     81        * @param       string          $string 
     82        * 
     83        * @return      string 
     84        */ 
     85        public function publicParseMultipleBoardURLs($boardID, $pageNo, $queryString, $string = null) { 
     86                if(defined('SEO_ENABLE') && SEO_ENABLE && defined('SEO_REWRITE_BOARD') && SEO_REWRITE_BOARD) { 
     87                        if($string === null) $string = SEO_REWRITE_BOARD_MULTIPLE_FORMAT; 
     88                        return $this->parseMultipleBoardURLs($boardID, $pageNo, $queryString); 
     89                } else { 
     90                        return sprintf('index.php?page=Board&amp;boardID=%d&amp;pageNo=%d', $boardID, $pageNo); 
     91                } 
     92        } 
    7793 
    78         /** 
    79          * Parses board urls. 
    80          * 
    81          * @param       integer         $boardID 
    82          * @param       string          $queryString 
    83          * @param       string          $string 
    84          * 
    85          * @return      string 
    86          */ 
    87         public function publicParseBoardURLs($boardID, $queryString, $string = SEO_REWRITE_BOARD_FORMAT) { 
    88                 return $this->parseBoardURLs($boardID, $queryString); 
    89         } 
     94        /** 
     95        * Parses board urls. 
     96        * 
     97        * @param       integer         $boardID 
     98        * @param       string          $queryString 
     99        * @param       string          $string 
     100        * 
     101        * @return      string 
     102        */ 
     103        public function publicParseBoardURLs($boardID, $queryString, $string = null) { 
     104                if(defined('SEO_ENABLE') && SEO_ENABLE && defined('SEO_REWRITE_BOARD') && SEO_REWRITE_BOARD) { 
     105                        if($string === null) $string = SEO_REWRITE_BOARD_FORMAT 
     106                        return $this->parseBoardURLs($boardID, $queryString); 
     107                } else { 
     108                        return sprintf('index.php?page=Board&amp;boardID=%d', $boardID); 
     109                } 
     110        } 
    90111 
    91         /** 
    92          * Parses multiple thread urls. 
    93          * 
    94          * @param       integer         $threadID 
    95          * @param       integer         $pageNo 
    96          * @param       string          $queryString 
    97          * @param       string          $string 
    98          * 
    99          * @return      string 
    100          */ 
    101         public function publicParseMultipleThreadURLs($threadID, $pageNo, $queryString, $string = SEO_REWRITE_THREAD_MULTIPLE_FORMAT) { 
    102                 return $this->parseMultipleThreadURLs($threadID, $pageNo, $queryString); 
    103         } 
     112        /** 
     113        * Parses multiple thread urls. 
     114        * 
     115        * @param       integer         $threadID 
     116        * @param       integer         $pageNo 
     117        * @param       string          $queryString 
     118        * @param       string          $string 
     119        * 
     120        * @return      string 
     121        */ 
     122        public function publicParseMultipleThreadURLs($threadID, $pageNo, $queryString, $string = null) { 
     123                if(defined('SEO_ENABLE') && SEO_ENABLE && defined('SEO_REWRITE_THREAD') && SEO_REWRITE_THREAD) { 
     124                        if($string === null) $string = SEO_REWRITE_THREAD_MULTIPLE_FORMAT 
     125                        return $this->parseMultipleThreadURLs($threadID, $pageNo, $queryString); 
     126                } else { 
     127                        return sprintf('index.php?page=Thread&amp;threadID=%d&amp;pageNo=%d', $threadID, $pageNo); 
     128                } 
     129        } 
    104130 
    105         /** 
    106          * Parses thread urls. 
    107          * 
    108          * @param       integer         $threadID 
    109          * @param       string          $queryString 
    110          * @param       string          $string 
    111          * 
    112          * @return      string 
    113          */ 
    114         public function publicParseThreadURLs($threadID, $queryString, $string = SEO_REWRITE_THREAD_FORMAT) { 
    115                 return $this->parseThreadURLs($threadID, $queryString); 
    116         } 
     131        /** 
     132        * Parses thread urls. 
     133        * 
     134        * @param       integer         $threadID 
     135        * @param       string          $queryString 
     136        * @param       string          $string 
     137        * 
     138        * @return      string 
     139        */ 
     140        public function publicParseThreadURLs($threadID, $queryString, $string = null) { 
     141                if(defined('SEO_ENABLE') && SEO_ENABLE && defined('SEO_REWRITE_THREAD') && SEO_REWRITE_THREAD) { 
     142                        if($string === null) $string = SEO_REWRITE_THREAD_FORMAT 
     143                        return $this->parseThreadURLs($threadID, $queryString); 
     144                } else { 
     145                        return sprintf('index.php?page=Thread&amp;threadID=%d', $threadID); 
     146                } 
     147        } 
    117148 
    118         /** 
    119          * Parses post urls. 
    120          * 
    121          * @param       integer         $postID 
    122          * @param       string          $queryString 
    123          * @param       string          $string 
    124          * 
    125          * @return      string 
    126          */ 
    127         public function publicParsePostURLs($postID, $queryString, $string = SEO_REWRITE_THREAD_POST_FORMAT) { 
    128                 return $this->parsePostURLs($postID, $queryString); 
    129         } 
     149        /** 
     150        * Parses post urls. 
     151        * 
     152        * @param       integer         $postID 
     153        * @param       string          $queryString 
     154        * @param       string          $string 
     155        * 
     156        * @return      string 
     157        */ 
     158        public function publicParsePostURLs($postID, $queryString, $string = null) { 
     159                if(defined('SEO_ENABLE') && SEO_ENABLE && defined('SEO_REWRITE_THREAD') && SEO_REWRITE_THREAD) { 
     160                        if($string === null) $string = SEO_REWRITE_THREAD_POST_FORMAT; 
     161                        return $this->parsePostURLs($postID, $queryString); 
     162                } else { 
     163                        return sprintf('index.php?page=Thread&amp;postID=%d', $postID); 
     164                } 
     165        } 
    130166} 
    131167?>