root/publicseorewriter/files/lib/page/PublicSEORewriter.class.php @ 1

Revision 1, 4.3 kB (checked in by d0nut, 6 years ago)

initial release: tape 2

Line 
1<?php
2// wbb imports
3require_once(WBB_DIR.'lib/data/board/Board.class.php');
4
5// wcf imports
6require_once(WBB_DIR.'lib/data/page/seo/WBBSEORewriter.class.php');
7
8
9/**
10 * Rewrites links to SEO links.
11 *
12 * @author      Torben Brodt
13 * @package     de.easy-coding.wbb.data.page.util
14 */
15class PublicSEORewriter extends WBBSEORewriter {
16
17        /**
18         * Caches threads.
19         *
20         * @param       int           $threadID
21         * @param       array         $row
22         */
23        public function publicCacheThreads($threadID, $row) {
24                $row['topic'] = SEOUtil::formatString($row['topic']);
25                if ($this->encodeHTML) $row['topic'] = StringUtil::encodeHTML($row['topic']);
26                $this->cachedThreads[$row['threadID']] = array('topic' => $row['topic'], 'boardID' => $row['boardID']);
27        }
28
29        /**
30         * Caches boards.
31         *
32         * @param       int           $boardID
33         * @param       array         $row
34         */
35        public function publicCacheBoards($boardID, $row) {
36                $this->cachedBoardTitles[$boardID] = SEOUtil::formatString(WCF::getLanguage()->get($row['title']));
37                if ($this->encodeHTML && !preg_match('/^[a-z0-9_\-]+(?:\.[a-z0-9_\-]+)+$/i', $row['title'])) {
38                        $this->cachedBoardTitles[$boardID] = StringUtil::encodeHTML($this->cachedBoardTitles[$boardID]);
39                }
40        }
41
42        /**
43         * clears the cache
44         */
45        public function clearCache() {
46                $this->cachedThreads = array();
47                $this->cachedBoardTitles = array();
48        }
49
50
51        /**
52         * Parses index urls.
53         *
54         * @param       string          $queryString
55         * @param       string          $string
56         *
57         * @return      string
58         */
59        public function publicParseIndexURLs($queryString, $string = SEO_REWRITE_INDEX_FORMAT) {
60                return $this->parseIndexURLs($queryString);
61        }
62
63        /**
64         * Parses multiple board urls.
65         *
66         * @param       integer         $boardID
67         * @param       integer         $pageNo
68         * @param       string          $queryString
69         * @param       string          $string
70         *
71         * @return      string
72         */
73        public function publicParseMultipleBoardURLs($boardID, $pageNo, $queryString, $string = SEO_REWRITE_BOARD_MULTIPLE_FORMAT) {
74                return $this->parseMultipleBoardURLs($boardID, $pageNo, $queryString);
75        }
76
77        /**
78         * Parses board urls.
79         *
80         * @param       integer         $boardID
81         * @param       string          $queryString
82         * @param       string          $string
83         *
84         * @return      string
85         */
86        public function publicParseBoardURLs($boardID, $queryString, $string = SEO_REWRITE_BOARD_FORMAT) {
87                return $this->parseBoardURLs($boardID, $queryString);
88        }
89
90        /**
91         * Parses multiple thread urls.
92         *
93         * @param       integer         $threadID
94         * @param       integer         $pageNo
95         * @param       string          $queryString
96         * @param       string          $string
97         *
98         * @return      string
99         */
100        public function publicParseMultipleThreadURLs($threadID, $pageNo, $queryString, $string = SEO_REWRITE_THREAD_MULTIPLE_FORMAT) {
101                return $this->parseMultipleThreadURLs($threadID, $pageNo, $queryString);
102        }
103
104        /**
105         * Parses thread urls.
106         *
107         * @param       integer         $threadID
108         * @param       string          $queryString
109         * @param       string          $string
110         *
111         * @return      string
112         */
113        public function publicParseThreadURLs($threadID, $queryString, $string = SEO_REWRITE_THREAD_FORMAT) {
114                return $this->parseThreadURLs($threadID, $queryString);
115        }
116
117        /**
118         * Parses post urls.
119         *
120         * @param       integer         $postID
121         * @param       string          $queryString
122         * @param       string          $string
123         *
124         * @return      string
125         */
126        public function publicParsePostURLs($postID, $queryString, $string = SEO_REWRITE_THREAD_POST_FORMAT) {
127                return $this->parsePostURLs($postID, $queryString);
128        }
129}
130?>
Note: See TracBrowser for help on using the browser.