Skip to content
This repository was archived by the owner on May 12, 2023. It is now read-only.

Commit 2a00af1

Browse files
author
Tobias Friebel
committed
Changes for WBB 4
1 parent f2c8710 commit 2a00af1

16 files changed

+181
-192
lines changed

Diff for: aclOption.xml

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<data xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/maelstrom/aclOption.xsd">
3+
<import>
4+
<options>
5+
<option name="canViewLimitedContent">
6+
<categoryname>user.thread</categoryname>
7+
<objecttype>com.woltlab.wbb.board</objecttype>
8+
</option>
9+
</options>
10+
</import>
11+
</data>

Diff for: acptemplates/__boardAddLimitThreadView.tpl

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<dl>
2+
<dt>
3+
<label for="limitThreadView">{lang}wbb.acp.board.limitthreadview{/lang}</label>
4+
</dt>
5+
<dd>
6+
<input type="number" id="limitThreadView" name="limitThreadView" value="{if $limitThreadView}{@$limitThreadView}{/if}" class="tiny" min="0" />
7+
<small>{lang}wbb.acp.board.limitthreadview.description{/lang}</small>
8+
</dd>
9+
</dl>

Diff for: acptemplates/limitThreadView.tpl

-18
This file was deleted.

Diff for: de-informal.utf-8.xml

-35
This file was deleted.

Diff for: eventListener.xml

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<data xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/maelstrom/eventListener.xsd">
3+
<import>
4+
<eventlistener>
5+
<eventclassname><![CDATA[wbb\page\ThreadPage]]></eventclassname>
6+
<eventname>readData</eventname>
7+
<listenerclassname><![CDATA[wbb\system\event\listener\LimitThreadViewListener]]></listenerclassname>
8+
</eventlistener>
9+
<eventlistener>
10+
<eventclassname><![CDATA[wbb\page\ThreadPage]]></eventclassname>
11+
<eventname>assignVariables</eventname>
12+
<listenerclassname><![CDATA[wbb\system\event\listener\LimitThreadViewListener]]></listenerclassname>
13+
</eventlistener>
14+
15+
<eventlistener>
16+
<eventclassname><![CDATA[wbb\page\BoardFeedPage]]></eventclassname>
17+
<eventname>readData</eventname>
18+
<listenerclassname><![CDATA[wbb\system\event\listener\LimitThreadViewFeedListener]]></listenerclassname>
19+
</eventlistener>
20+
21+
<eventlistener>
22+
<eventclassname><![CDATA[wbb\acp\form\BoardAddForm]]></eventclassname>
23+
<environment>admin</environment>
24+
<eventname>assignVariables</eventname>
25+
<listenerclassname><![CDATA[wbb\system\event\listener\LimitThreadViewACPListener]]></listenerclassname>
26+
<inherit>1</inherit>
27+
</eventlistener>
28+
<eventlistener>
29+
<eventclassname><![CDATA[wbb\acp\form\BoardAddForm]]></eventclassname>
30+
<environment>admin</environment>
31+
<eventname>readFormParameters</eventname>
32+
<listenerclassname><![CDATA[wbb\system\event\listener\LimitThreadViewACPListener]]></listenerclassname>
33+
<inherit>1</inherit>
34+
</eventlistener>
35+
<eventlistener>
36+
<eventclassname><![CDATA[wbb\acp\form\BoardAddForm]]></eventclassname>
37+
<environment>admin</environment>
38+
<eventname>save</eventname>
39+
<listenerclassname><![CDATA[wbb\system\event\listener\LimitThreadViewACPListener]]></listenerclassname>
40+
<inherit>1</inherit>
41+
</eventlistener>
42+
43+
</import>
44+
</data>

Diff for: eventlistener.xml

-50
This file was deleted.

Diff for: files/lib/system/event/listener/LimitThreadViewACPListener.class.php

+13-11
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
<?php
2+
namespace wbb\system\event\listener;
3+
use wcf\system\event\IEventListener;
4+
use wcf\system\WCF;
5+
26
/**
3-
* Copyright (c) 2013 Tobias Friebel
4-
* Authors: Tobias Friebel <[email protected]>
7+
* Provides ACP integration
58
*
6-
* Lizenz: CC Namensnennung-Keine kommerzielle Nutzung-Keine Bearbeitung
7-
* http://creativecommons.org/licenses/by-nc-nd/2.0/de/
9+
* @author Tobias Friebel <[email protected]>
10+
* @copyright 2014 Tobias Friebel
11+
* @license Creative Commons Attribution-NoDerivatives <http://creativecommons.org/licenses/by-nd/4.0/legalcode>
12+
* @package com.toby.wbb.limitthreadview
13+
* @subpackage system.event.listener
14+
* @category WoltLab Burning Board
815
*/
9-
10-
require_once(WCF_DIR.'lib/system/event/EventListener.class.php');
11-
12-
class LimitThreadViewACPListener implements EventListener
16+
class LimitThreadViewACPListener implements IEventListener
1317
{
14-
private $limitThreadView = 0;
18+
public $limitThreadView = 0;
1519
private $isSave = false;
1620

1721
/**
@@ -43,8 +47,6 @@ public function execute($eventObj, $className, $eventName)
4347
'limitThreadView' => $this->limitThreadView,
4448
));
4549
}
46-
47-
WCF::getTPL()->append('additionalFields', WCF::getTPL()->fetch('limitThreadView'));
4850
break;
4951
}
5052
}

Diff for: files/lib/system/event/listener/LimitThreadViewFeedListener.class.php

+12-8
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
<?php
2+
namespace wbb\system\event\listener;
3+
use wcf\system\event\IEventListener;
4+
use wcf\system\WCF;
5+
26
/**
3-
* Copyright (c) 2013 Tobias Friebel
4-
* Authors: Tobias Friebel <[email protected]>
7+
* Limits thread feeds to configured length
58
*
6-
* Lizenz: CC Namensnennung-Keine kommerzielle Nutzung-Keine Bearbeitung
7-
* http://creativecommons.org/licenses/by-nc-nd/2.0/de/
9+
* @author Tobias Friebel <[email protected]>
10+
* @copyright 2014 Tobias Friebel
11+
* @license Creative Commons Attribution-NoDerivatives <http://creativecommons.org/licenses/by-nd/4.0/legalcode>
12+
* @package com.toby.wbb.limitthreadview
13+
* @subpackage system.event.listener
14+
* @category WoltLab Burning Board
815
*/
9-
10-
require_once(WCF_DIR.'lib/system/event/EventListener.class.php');
11-
12-
class LimitThreadViewFeedListener implements EventListener
16+
class LimitThreadViewFeedListener implements IEventListener
1317
{
1418
/**
1519
* @see EventListener::execute()

Diff for: files/lib/system/event/listener/LimitThreadViewListener.class.php

+19-18
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,22 @@
11
<?php
2+
namespace wbb\system\event\listener;
3+
use wcf\system\event\IEventListener;
4+
use wcf\system\WCF;
5+
26
/**
3-
* Copyright (c) 2013 Tobias Friebel
4-
* Authors: Tobias Friebel <[email protected]>
7+
* Limits thread to configured length
58
*
6-
* Lizenz: CC Namensnennung-Keine kommerzielle Nutzung-Keine Bearbeitung
7-
* http://creativecommons.org/licenses/by-nc-nd/2.0/de/
9+
* @author Tobias Friebel <[email protected]>
10+
* @copyright 2014 Tobias Friebel
11+
* @license Creative Commons Attribution-NoDerivatives <http://creativecommons.org/licenses/by-nd/4.0/legalcode>
12+
* @package com.toby.wbb.limitthreadview
13+
* @subpackage system.event.listener
14+
* @category WoltLab Burning Board
815
*/
9-
10-
require_once (WCF_DIR . 'lib/system/event/EventListener.class.php');
11-
12-
class LimitThreadViewListener implements EventListener
16+
class LimitThreadViewListener implements IEventListener
1317
{
1418
/**
15-
* @see EventListener::execute()
19+
* @see \wcf\system\event\IEventListener::execute()
1620
*/
1721
public function execute($eventObj, $className, $eventName)
1822
{
@@ -26,9 +30,6 @@ public function execute($eventObj, $className, $eventName)
2630
else
2731
$limitCount = LIMIT_THREAD_VIEW_DEFAULT_LIMIT;
2832

29-
if ($eventObj->countItems() <= $limitCount)
30-
return;
31-
3233
switch ($eventName)
3334
{
3435
case 'readData':
@@ -49,6 +50,9 @@ public function execute($eventObj, $className, $eventName)
4950
break;
5051

5152
case 'assignVariables':
53+
if ($eventObj->countItems() <= $limitCount)
54+
return;
55+
5256
if ($limitCount <= $eventObj->itemsPerPage)
5357
{
5458
$eventObj->pages = 1;
@@ -62,10 +66,10 @@ public function execute($eventObj, $className, $eventName)
6266

6367
if ($eventObj->pageNo == $pageMaxNo && $count < $eventObj->itemsPerPage)
6468
{
65-
foreach ($eventObj->postList->posts as $i => $post)
69+
foreach ($eventObj->objectList as $i => $post)
6670
{
6771
if ($i >= $count)
68-
unset($eventObj->postList->posts[$i]);
72+
unset($eventObj->objectList[$i]);
6973
}
7074
}
7175
}
@@ -75,10 +79,7 @@ public function execute($eventObj, $className, $eventName)
7579
$limitBox = WCF::getLanguage()->getDynamicVariable('wbb.thread.limitthreadview',
7680
array('posts' => $eventObj->countItems()));
7781

78-
WCF :: getTPL()->append('userMessages', $limitBox);
79-
80-
if (LIMIT_THREAD_VIEW_SHOW_WARNING_DOWN)
81-
WCF :: getTPL()->append('additionalBoxes', $limitBox);
82+
WCF :: getTPL()->assign('limitMessageBox', $limitBox);
8283
}
8384
break;
8485
}

Diff for: install.sql

+2-8
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,2 @@
1-
ALTER TABLE wbb1_1_board ADD
2-
limitThreadView TINYINT( 1 ) NOT NULL DEFAULT -1;
3-
4-
ALTER TABLE wbb1_1_board_to_group ADD
5-
canViewLimitedContent TINYINT(1) NOT NULL DEFAULT -1;
6-
7-
ALTER TABLE wbb1_1_board_to_user ADD
8-
canViewLimitedContent TINYINT(1) NOT NULL DEFAULT -1;
1+
ALTER TABLE wbb1_board ADD
2+
limitThreadView TINYINT( 1 ) NOT NULL DEFAULT -1;

Diff for: de.utf-8.xml renamed to language/de.xml

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<!DOCTYPE language SYSTEM "DTD/language.dtd">
3-
<language languagecode="de">
2+
<language xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/maelstrom/language.xsd"
4+
languagecode="de" languagename="Deutsch" countrycode="de">
45

56
<category name="wbb.acp.board">
67
<item name="wbb.acp.board.limitthreadview"><![CDATA[Themenansicht limitieren]]></item>
@@ -9,7 +10,7 @@
910
</category>
1011

1112
<category name="wbb.thread">
12-
<item name="wbb.thread.limitthreadview"><![CDATA[<p class="info">Ihr Zugriff auf dieses Thema wurde eingeschränkt. Insgesamt gibt es {#$posts} {if $posts == 1}Beitrag{else}Beiträge{/if} in diesem Thema.<br />Um sie alle lesen zu können müssen Sie sich vorher <a href="index.php?page=Register">registrieren</a>/freischalten lassen.</p>]]></item>
13+
<item name="wbb.thread.limitthreadview"><![CDATA[<p class="info">Ihr Zugriff auf dieses Thema wurde eingeschränkt. Insgesamt gibt es {#$posts} {if $posts == 1}Beitrag{else}Beiträge{/if} in diesem Thema.<br />Um sie alle lesen zu können müssen Sie sich vorher <a href="index.php/Disclaimer/">registrieren</a> oder freischalten lassen.</p>]]></item>
1314
</category>
1415

1516
<category name="wcf.acp.group">

Diff for: en.utf-8.xml renamed to language/en.xml

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<!DOCTYPE language SYSTEM "DTD/language.dtd">
3-
<language languagecode="en">
2+
<language xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/maelstrom/language.xsd"
4+
languagecode="en" languagename="English" countrycode="gb">code="en">
45

56
<category name="wbb.acp.board">
67
<item name="wbb.acp.board.limitthreadview"><![CDATA[Limit Threadview]]></item>
@@ -9,7 +10,7 @@
910
</category>
1011

1112
<category name="wbb.thread">
12-
<item name="wbb.thread.limitthreadview"><![CDATA[Your access to this forum was limited. Overall there {if $posts == 1}is{else}are{/if} {#$posts} {if $posts == 1}post{else}posts{/if} in this thread.<br />To read them all you should <a href="index.php?page=Register">register</a> or let you unlock.]]></item>
13+
<item name="wbb.thread.limitthreadview"><![CDATA[Your access to this forum was limited. Overall there {if $posts == 1}is{else}are{/if} {#$posts} {if $posts == 1}post{else}posts{/if} in this thread.<br />To read them all you should <a href="index.php/Disclaimer/">register</a> or let you unlock.]]></item>
1314
</category>
1415

1516
<category name="wcf.acp.group">

0 commit comments

Comments
 (0)