-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclass.mtg.plugin.php
50 lines (37 loc) · 1.42 KB
/
class.mtg.plugin.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php if (!defined('APPLICATION')) exit();
$PluginInfo['MTG'] = array(
'Name' => 'MTG',
'Description' => "Adds MTG BBcode.",
'Version' => '0.1',
'MobileFriendly' => TRUE,
'Author' => "Questlog",
'AuthorEmail' => '[email protected]',
'AuthorUrl' => 'http://github.com/questlog'
);
use Nbbc\BBCode as BBCode;
class MTG extends Gdn_Plugin {
public function bbcode_afterBBCodeSetup_handler($Sender) {
$nbbc = $Sender->EventArguments['BBCode'];
$nbbc->addRule('mtg', [
'mode' => BBCode::BBCODE_MODE_CALLBACK,
'method' => [$this, 'doCard'],
'allow_in' => ['listitem', 'block', 'columns', 'inline'],
'content' => BBCode::BBCODE_REQUIRED
]);
}
public function doCard(BBCode $bbcode, $action, $name, $default, $params, $content) {
return "<a href=\"https://deckbox.org/mtg/". htmlspecialchars($content) ."\">" . htmlspecialchars($content) . "</a>";
}
public function DiscussionController_Render_Before(&$Sender) {
$this->PrepareController($Sender);
}
public function PostController_Render_Before(&$Sender) {
$this->PrepareController($Sender);
}
public function MessagesController_Render_Before(&$Sender) {
$this->PrepareController($Sender);
}
protected function PrepareController(&$Sender) {
$Sender->AddJsFile('tooltip.js', 'plugins/MTG');
}
}