Changeset 50
- Timestamp:
- 10/06/07 18:05:49 (6 years ago)
- Location:
- taggingreloaded
- Files:
-
- 4 added
- 13 modified
- 1 moved
-
de.xml (modified) (1 diff)
-
en.xml (modified) (1 diff)
-
eventlistener.xml (added)
-
files/lib/page/TaggingPage.class.php (modified) (2 diffs)
-
files/lib/system/event/listener/TaggingReloadedPageListener.class.php (added)
-
files/style/taggingreloaded.css (modified) (2 diffs)
-
optionals/de.easy-coding.wbb.taggingreloaded/eventlistener.xml (modified) (1 diff)
-
optionals/de.easy-coding.wbb.taggingreloaded/files/lib/data/thread (added)
-
optionals/de.easy-coding.wbb.taggingreloaded/files/lib/data/thread/ViewableThreadTagging.class.php (added)
-
optionals/de.easy-coding.wbb.taggingreloaded/files/lib/system/event/listener/TaggingReloadedWBBMessageFormListener.class.php (modified) (1 diff)
-
optionals/de.easy-coding.wbb.taggingreloaded/files/lib/system/event/listener/TaggingReloadedWBBPageListener.class.php (moved) (moved from taggingreloaded/optionals/de.easy-coding.wbb.taggingreloaded/files/lib/system/event/listener/TaggingReloadedPageListener.class.php) (7 diffs)
-
optionals/de.easy-coding.wbb.taggingreloaded/install.sql (modified) (1 diff)
-
optionals/de.easy-coding.wbb.taggingreloaded/package.xml (modified) (2 diffs)
-
package.xml (modified) (2 diffs)
-
templates/messageFormTaggingReloaded.tpl (modified) (1 diff)
-
templates/taggingCloud.tpl (modified) (1 diff)
-
templates/taggingCloudContainer.tpl (modified) (1 diff)
-
templates/taggingReloaded.tpl (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
taggingreloaded/de.xml
r49 r50 5 5 <item name="wcf.taggingreloaded.tagging"><![CDATA[Tagging]]></item> 6 6 <item name="wcf.taggingreloaded.description"><![CDATA[Hier finden Sie unsere Tags. Das Ergebnis gemeinschaftlicher Indexierung.]]></item> 7 <item name="wcf.taggingreloaded.notags"><![CDATA[Es sind noch keine Tags verfÃŒgbar.]]></item> 8 <item name="wcf.taggingreloaded.copyright"><![CDATA[Powered by WCF::TaggingReloaded]]></item> 9 <item name="wcf.taggingreloaded.weight"><![CDATA[Gewichtung]]></item> 7 10 <item name="wcf.taggingreloaded.add"><![CDATA[HinzufÃŒgen]]></item> 8 11 <item name="wcf.taggingreloaded.fetch"><![CDATA[Auto]]></item> 12 </category> 13 14 <category name="wcf.user.option"> 15 <item name="wcf.user.option.category.tagging"><![CDATA[Tagging]]></item> 16 <item name="wcf.user.option.tagging"><![CDATA[Tagging]]></item> 9 17 </category> 10 18 -
taggingreloaded/en.xml
r49 r50 5 5 <item name="wcf.taggingreloaded.tagging"><![CDATA[Tagging]]></item> 6 6 <item name="wcf.taggingreloaded.description"><![CDATA[Here you can find our tags. The results of collaborative indexing.]]></item> 7 <item name="wcf.taggingreloaded.notags"><![CDATA[There aren't any tags at the moment.]]></item> 8 <item name="wcf.taggingreloaded.copyright"><![CDATA[Powered by WCF::TaggingReloaded]]></item> 9 <item name="wcf.taggingreloaded.weight"><![CDATA[Weight]]></item> 7 10 <item name="wcf.taggingreloaded.add"><![CDATA[Add]]></item> 8 11 <item name="wcf.taggingreloaded.fetch"><![CDATA[Auto]]></item> 12 </category> 13 14 <category name="wcf.user.option"> 15 <item name="wcf.user.option.category.tagging"><![CDATA[Tagging]]></item> 16 <item name="wcf.user.option.tagging"><![CDATA[Tagging]]></item> 9 17 </category> 10 18 -
taggingreloaded/files/lib/page/TaggingPage.class.php
r49 r50 50 50 'size'=> 0 51 51 ); 52 $i++; 52 53 } 53 54 … … 61 62 public function assignVariables() { 62 63 parent::assignVariables(); 64 65 if(empty($this->tag)) { 66 $title = WCF::getLanguage()->get('wcf.header.menu.tagging'); 67 $headline = WCF::getLanguage()->get('wcf.taggingreloaded.tagging'); 68 $desc = WCF::getLanguage()->get('wcf.taggingreloaded.description'); 69 } else { 70 $title = $this->tag . ' - ' . WCF::getLanguage()->get('wcf.header.menu.tagging'); 71 $headline = $this->tag; 72 $desc = WCF::getLanguage()->get('wcf.taggingreloaded.tagging'); 73 } 63 74 64 WCF::getTPL()->assign('tags', $this->tags); 65 WCF::getTPL()->append('additionalTaggingContents', WCF::getTPL()->fetch('taggingCloud')); 66 WCF::getTPL()->assign('specialStyles', '<link rel="stylesheet" type="text/css" href="'.RELATIVE_WCF_DIR.'style/taggingreloaded.css" />'); 75 WCF::getTPL()->assign(array( 76 'title' => $title, 77 'headline' => $headline, 78 'desc' => $desc, 79 'tags' => $this->tags, 80 'specialStyles' => '<link rel="stylesheet" type="text/css" href="'.RELATIVE_WCF_DIR.'style/taggingreloaded.css" />', 81 'allowSpidersToIndexThisPage' => true 82 )); 83 84 WCF::getTPL()->append('additionalTaggingContents', WCF::getTPL()->fetch('taggingCloud')); 67 85 } 68 86 -
taggingreloaded/files/style/taggingreloaded.css
r49 r50 1 .taggingCloud ul{1 ul.taggingCloud { 2 2 margin:0px; 3 3 padding:0px; 4 4 } 5 5 6 .taggingCloud li {6 ul.taggingCloud li { 7 7 display:inline; 8 8 list-style-type:none; … … 10 10 } 11 11 12 .taggingCloud li a {12 ul.taggingCloud li a { 13 13 text-decoration:none; 14 14 } 15 15 16 .taggingCloud li a:hover {16 ul.taggingCloud li a:hover { 17 17 text-decoration:underline; 18 18 } -
taggingreloaded/optionals/de.easy-coding.wbb.taggingreloaded/eventlistener.xml
r46 r50 3 3 <data> 4 4 <import> 5 <eventlistener><!-- wcf: tagging page //--> 6 <eventclassname>TaggingPage</eventclassname> 7 <eventname>assignVariables</eventname> 8 <listenerclassfile>lib/system/event/listener/TaggingReloadedWBBPageListener.class.php</listenerclassfile> 9 </eventlistener> 10 <eventlistener> 11 <eventclassname>TaggingPage</eventclassname> 12 <eventname>readData</eventname> 13 <listenerclassfile>lib/system/event/listener/TaggingReloadedWBBPageListener.class.php</listenerclassfile> 14 </eventlistener> 15 <eventlistener> 16 <eventclassname>TaggingPage</eventclassname> 17 <eventname>readParameters</eventname> 18 <listenerclassfile>lib/system/event/listener/TaggingReloadedWBBPageListener.class.php</listenerclassfile> 19 </eventlistener> 5 20 <eventlistener><!-- wbb: board page //--> 6 21 <eventclassname>BoardPage</eventclassname> 7 22 <eventname>assignVariables</eventname> 8 <listenerclassfile>lib/system/event/listener/TaggingReloaded PageListener.class.php</listenerclassfile>23 <listenerclassfile>lib/system/event/listener/TaggingReloadedWBBPageListener.class.php</listenerclassfile> 9 24 </eventlistener> 10 25 <eventlistener> 11 26 <eventclassname>BoardPage</eventclassname> 12 27 <eventname>readData</eventname> 13 <listenerclassfile>lib/system/event/listener/TaggingReloaded PageListener.class.php</listenerclassfile>28 <listenerclassfile>lib/system/event/listener/TaggingReloadedWBBPageListener.class.php</listenerclassfile> 14 29 </eventlistener> 15 30 <eventlistener> 16 31 <eventclassname>BoardPage</eventclassname> 17 32 <eventname>readParameters</eventname> 18 <listenerclassfile>lib/system/event/listener/TaggingReloaded PageListener.class.php</listenerclassfile>33 <listenerclassfile>lib/system/event/listener/TaggingReloadedWBBPageListener.class.php</listenerclassfile> 19 34 </eventlistener> 20 35 <eventlistener><!-- wbb: thread page //--> 21 36 <eventclassname>ThreadPage</eventclassname> 22 37 <eventname>assignVariables</eventname> 23 <listenerclassfile>lib/system/event/listener/TaggingReloaded PageListener.class.php</listenerclassfile>38 <listenerclassfile>lib/system/event/listener/TaggingReloadedWBBPageListener.class.php</listenerclassfile> 24 39 </eventlistener> 25 40 <eventlistener> 26 41 <eventclassname>ThreadPage</eventclassname> 27 42 <eventname>readData</eventname> 28 <listenerclassfile>lib/system/event/listener/TaggingReloaded PageListener.class.php</listenerclassfile>43 <listenerclassfile>lib/system/event/listener/TaggingReloadedWBBPageListener.class.php</listenerclassfile> 29 44 </eventlistener> 30 45 <eventlistener> 31 46 <eventclassname>ThreadPage</eventclassname> 32 47 <eventname>readParameters</eventname> 33 <listenerclassfile>lib/system/event/listener/TaggingReloaded PageListener.class.php</listenerclassfile>48 <listenerclassfile>lib/system/event/listener/TaggingReloadedWBBPageListener.class.php</listenerclassfile> 34 49 </eventlistener> 35 50 -
taggingreloaded/optionals/de.easy-coding.wbb.taggingreloaded/files/lib/system/event/listener/TaggingReloadedWBBMessageFormListener.class.php
r49 r50 98 98 99 99 // CLEANUP 100 $sql = "DELETE FROM wbb".WBB_N."_taggingreloaded 100 $sql = "DELETE FROM wbb".WBB_N."_taggingreloaded, 101 wcf".WCF_N."_taggingreloaded 102 USING wbb".WBB_N."_taggingreloaded 103 NATURAL JOIN wcf".WCF_N."_taggingreloaded 101 104 WHERE userID = ".WCF::getUser()->userID." 102 105 AND postID = {$postID};"; 103 104 // TODO: cleanup WCF_taggingreloaded!!!105 106 106 107 WBBCore::getDB()->sendQuery($sql); -
taggingreloaded/optionals/de.easy-coding.wbb.taggingreloaded/files/lib/system/event/listener/TaggingReloadedWBBPageListener.class.php
r49 r50 2 2 // wcf imports 3 3 require_once(WCF_DIR.'lib/system/event/EventListener.class.php'); 4 5 // wbb imports 6 require_once(WBB_DIR.'lib/data/thread/ViewableThreadTagging.class.php'); 7 require_once(WBB_DIR.'lib/data/board/Board.class.php'); 4 8 5 9 // tagging imports … … 14 18 * @license GNU General Public License <http://opensource.org/licenses/gpl-license.php> 15 19 */ 16 class TaggingReloadedPageListener implements EventListener { 17 protected $threadID=0, $boards=array(); 20 class TaggingReloadedWBBPageListener implements EventListener { 21 protected $threadID=0, $boards=array(), $tag; // params 22 23 // data 18 24 protected $tags = array(); 25 protected $threadList = array(); 19 26 20 27 protected $eventObj; … … 42 49 43 50 /** 51 * reads similar tags 52 */ 53 protected function queryTagsByTag() { 54 // order by weight and cut 55 $sql = "SELECT wcf2.tag, 56 SUM(wcf2.weight) AS weight 57 FROM wcf".WCF_N."_taggingreloaded wcf 58 NATURAL JOIN wbb".WBB_N."_taggingreloaded wbb 59 NATURAL JOIN wbb".WBB_N."_post p 60 JOIN wbb".WBB_N."_taggingreloaded wbb2 61 ON p.postID = wbb2.postID 62 JOIN wcf".WCF_N."_taggingreloaded wcf2 63 ON wbb2.taggingID = wcf2.taggingID 64 WHERE wcf.tag = '".escapeString($this->tag)."' 65 GROUP BY wcf2.tag 66 ORDER BY weight DESC 67 LIMIT 50"; 68 69 return $sql; 70 } 71 72 /** 73 * reads by board 74 */ 75 protected function queryTagsByBoard() { 76 // order by weight and cut 77 $sql = "SELECT tag, 78 SUM(weight) AS weight 79 FROM wcf".WCF_N."_taggingreloaded wcf 80 NATURAL JOIN wbb".WBB_N."_taggingreloaded wbb 81 NATURAL JOIN wbb".WBB_N."_thread t 82 NATURAL JOIN wbb".WBB_N."_post p 83 WHERE t.boardID IN (".implode(',', $this->boards).") 84 GROUP BY tag 85 ORDER BY weight DESC 86 LIMIT 50"; 87 88 return $sql; 89 } 90 91 /** 92 * reads by thread 93 */ 94 protected function queryTagsByThread() { 95 // order by weight and cut 96 $sql = "SELECT tag, 97 SUM(weight) AS weight 98 FROM wcf".WCF_N."_taggingreloaded wcf 99 NATURAL JOIN wbb".WBB_N."_taggingreloaded wbb 100 NATURAL JOIN wbb".WBB_N."_post p 101 WHERE p.threadID = {$this->threadID} 102 GROUP BY tag 103 ORDER BY weight DESC 104 LIMIT 50"; 105 // SUM( weight ) * IF(COUNT(tag), 1.2, 1 ) 106 107 return $sql; 108 } 109 110 /** 111 * reads threads by tag 112 */ 113 protected function readThreadsByTag() { 114 $sql = "SELECT t.*, 115 tag, 116 SUM(weight) AS weight 117 FROM wcf".WCF_N."_taggingreloaded wcf 118 NATURAL JOIN wbb".WBB_N."_taggingreloaded wbb 119 NATURAL JOIN wbb".WBB_N."_post p 120 NATURAL JOIN wbb".WBB_N."_thread t 121 WHERE tag = '".escapeString($this->tag)."' 122 GROUP BY p.threadID 123 ORDER BY weight DESC 124 LIMIT 15"; 125 126 $result = WCF::getDB()->sendQuery($sql); 127 while ($row = WCF::getDB()->fetchArray($result)) { 128 $row['permission'] = Board::getBoard($row['boardID'])->getPermission('canReadThread'); 129 $this->threadList[] = new ViewableThreadTagging(null, $row); 130 } 131 } 132 133 /** 44 134 * @see Page::readData() 45 135 */ 46 136 protected function readData () { 47 $joins = "";48 $conditions = "";49 50 137 if($this->threadID) { 51 $ conditions = "p.threadID = {$this->threadID}";138 $sql = $this->queryTagsByThread(); 52 139 } else if(count($this->boards)>0) { 53 $joins = "NATURAL JOIN wbb".WBB_N."_thread t"; 54 $conditions = "t.boardID IN (".implode(',', $this->boards).")"; 55 } else { 56 return; 57 } 58 59 // order by weight and cut 60 $sql = "SELECT tag, 61 SUM(weight) AS weight 62 FROM wcf".WCF_N."_taggingreloaded wcf 63 NATURAL JOIN wbb".WBB_N."_taggingreloaded wbb 64 ".$joins." 65 NATURAL JOIN wbb".WBB_N."_post p 66 WHERE ".$conditions." 67 GROUP BY tag 68 ORDER BY weight DESC 69 LIMIT 50"; 70 // SUM( weight ) * IF(COUNT(tag), 1.2, 1 ) 140 $sql = $this->queryTagsByBoard(); 141 } else if($this->tag) { 142 $check = true; 143 $this->readThreadsByTag(); 144 $sql = $this->queryTagsByTag(); 145 } 146 147 // break 148 if(!isset($sql)) return; 71 149 72 150 // order by tag … … 84 162 85 163 $this->tags = TaggingReloadedUtil::beautify($this->tags); 164 165 if(isset($check) && count($this->tags) == 0) { 166 require_once(WCF_DIR.'lib/system/exception/IllegalLinkException.class.php'); 167 throw new IllegalLinkException(); 168 } 86 169 } 87 170 … … 90 173 */ 91 174 protected function readParameters () { 92 if (isset($_GET['threadID'])) $this->threadID = intval($_GET['threadID']); 93 if (isset($_GET['boardID'])) { 175 if (isset($_GET['threadID'])) { 176 $this->threadID = intval($_GET['threadID']); 177 } 178 else if (isset($_GET['boardID'])) { 94 179 $boardID = intval($_GET['boardID']); 95 180 $boardList = new BoardListTaggingReloaded($boardID); … … 98 183 $this->boards[] = $boardID; 99 184 } 185 else if(isset($_GET['tag'])) { 186 $this->tag = $_GET['tag']; 187 } 100 188 } 101 189 … … 117 205 WCF::getTPL()->assign('tags', $this->tags); 118 206 WCF::getTPL()->assign('specialStyles', '<link rel="stylesheet" type="text/css" href="'.RELATIVE_WCF_DIR.'style/taggingreloaded.css" />'); 119 WCF::getTPL()->append('additionalBoxes', WCF::getTPL()->fetch('taggingCloudContainer')); 207 208 if($this->threadID || count($this->boards)>0) { 209 WCF::getTPL()->append('additionalBoxes', WCF::getTPL()->fetch('taggingCloudContainer')); 210 } else if($this->tag) { 211 WCF::getTPL()->assign('threads', $this->threadList); 212 WCF::getTPL()->append('additionalTaggingContents', WCF::getTPL()->fetch('taggingCloud')); 213 WCF::getTPL()->append('additionalTaggingContents', WCF::getTPL()->fetch('threadListTagging')); 214 } 120 215 } 121 216 } -
taggingreloaded/optionals/de.easy-coding.wbb.taggingreloaded/install.sql
r43 r50 1 1 -- WBB 2 2 CREATE TABLE wbb1_1_taggingreloaded ( 3 taggingID int(10) unsigned NOT NULL ,3 taggingID int(10) unsigned NOT NULL auto_increment, 4 4 postID int(10) unsigned NOT NULL, 5 5 PRIMARY KEY (taggingID) -
taggingreloaded/optionals/de.easy-coding.wbb.taggingreloaded/package.xml
r46 r50 5 5 <packagename>Tagging Reloaded for WBB</packagename> 6 6 <packagedescription>Tagging Reloaded does not mean just tagging. It's much more!</packagedescription> 7 <version>0. 2.0</version>7 <version>0.3.0</version> 8 8 <date>DATE</date> 9 9 <plugin>com.woltlab.wbb</plugin> … … 22 22 <instructions type="install"> 23 23 <files>files.tar</files> 24 <templates>templates.tar</templates> 24 25 <sql>install.sql</sql> 25 26 <eventlistener>eventlistener.xml</eventlistener> -
taggingreloaded/package.xml
r46 r50 5 5 <packagename>Tagging Reloaded</packagename> 6 6 <packagedescription>Tagging Reloaded does not mean just tagging. It's much more!</packagedescription> 7 <version>0. 2.0</version>7 <version>0.3.0</version> 8 8 <date>DATE</date> 9 9 <plugin>com.woltlab.wcf</plugin> … … 27 27 <instructions type="install"> 28 28 <files>files.tar</files> 29 <eventlistener>eventlistener.xml</eventlistener> 29 30 <templates>templates.tar</templates> 30 31 <sql>install.sql</sql> -
taggingreloaded/templates/messageFormTaggingReloaded.tpl
r46 r50 20 20 </script> 21 21 22 < input type="button" value="fetch" onclick="tagging.formfetch(this.form.text.value);" />22 <!--<input type="button" value="fetch" onclick="tagging.formfetch(this.form.text.value);" />//--> 23 23 <input type="button" value="add" onclick="tagging.formadd(this.form.inputTagging);" /> 24 24 </div> -
taggingreloaded/templates/taggingCloud.tpl
r49 r50 1 <ul >1 <ul class="taggingCloud" name="taggingCloud"> 2 2 {foreach from=$tags key=tag item=i} 3 <li style="font-size:{$i.size}%;color:rgb({$i.color},{$i.color},{$i.color})">< !--<a href="index.php?page=Tagging&tag={$tag|urlencode}">//-->{@$tag}</li>3 <li style="font-size:{$i.size}%;color:rgb({$i.color},{$i.color},{$i.color})"><a href="index.php?page=Tagging&tag={$tag|urlencode}">{@$tag}</a></li> 4 4 {/foreach} 5 5 </ul> -
taggingreloaded/templates/taggingCloudContainer.tpl
r49 r50 1 1 {if $tags|count} 2 <div class="container-1 taggingCloud">2 <div class="container-1"> 3 3 <div class="containerIcon"><img src="{@RELATIVE_WCF_DIR}icon/tagging24.png" alt="" /></div> 4 4 <div class="containerContent"> -
taggingreloaded/templates/taggingReloaded.tpl
r49 r50 1 1 {include file="documentHeader"} 2 2 <head> 3 <title>{ lang}wcf.header.menu.map{/lang} - {PAGE_TITLE}</title>3 <title>{$title} - {PAGE_TITLE}</title> 4 4 5 5 {include file='headInclude' sandbox=false} … … 15 15 <img src="{@RELATIVE_WCF_DIR}icon/tagging48.png" alt="" /> 16 16 <div class="headlineContainer"> 17 <h2> { lang}wcf.taggingreloaded.tagging{/lang}</h2>18 <p>{ lang}wcf.taggingreloaded.description{/lang}</p>17 <h2> {$headline}</h2> 18 <p>{$desc}</p> 19 19 </div> 20 20 </div> 21 21 <div class="border"> 22 <div class="container-1"> 23 {if $additionalTaggingContents|isset}{@$additionalTaggingContents}{/if} 24 {if $additionalTaggingBoxes|isset}{@$additionalTaggingBoxes}{/if} 22 <div class="container-1" style="padding:10px"> 23 {if $additionalTaggingContents|isset || $additionalTaggingBoxes|isset} 24 {if $additionalTaggingContents|isset}{@$additionalTaggingContents}{/if} 25 {if $additionalTaggingBoxes|isset}{@$additionalTaggingBoxes}{/if} 26 {else} 27 {lang}wcf.taggingreloaded.notags{/lang} 28 {/if} 29 30 <div style="text-align:right"><a href="http://www.easy-coding.de/trac/wcf/wiki/taggingreloaded" class="externalURL">{lang}wcf.taggingreloaded.copyright{/lang}</a></div> 25 31 </div> 26 32 </div>
