-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
root
committed
Mar 4, 2021
0 parents
commit 42909b9
Showing
52 changed files
with
2,309 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Eve_simple_spoiler_ext |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
{ | ||
"name": "alfredoramos/simplespoiler", | ||
"type": "phpbb-extension", | ||
"description": "Simple Spoiler BBCode extension for phpBB", | ||
"homepage": "https://github.com/AlfredoRamos/phpbb-ext-simple-spoiler", | ||
"version": "2.3.2", | ||
"time": "2020-10-12", | ||
"keywords": [ | ||
"phpbb", | ||
"extension", | ||
"spoiler", | ||
"bbcode", | ||
"html5" | ||
], | ||
"license": "GPL-2.0-only", | ||
"authors": [ | ||
{ | ||
"name": "Alfredo Ramos", | ||
"email": "[email protected]", | ||
"homepage": "https://alfredoramos.mx/", | ||
"role": "Lead Developer" | ||
} | ||
], | ||
"require": { | ||
"php": "^7.1.3", | ||
"composer/installers": "~1.0.0", | ||
"phpbb/phpbb": "~3.3.0" | ||
}, | ||
"require-dev": { | ||
"phing/phing": "^2.16.0", | ||
"pear/archive_tar": "^1.4.0" | ||
}, | ||
"extra": { | ||
"display-name": "Simple Spoiler BBCode", | ||
"soft-require": { | ||
"phpbb/phpbb": "~3.3.0" | ||
}, | ||
"version-check": { | ||
"host": "www.phpbb.com", | ||
"directory": "/customise/db/extension/simple_spoiler_bbcode", | ||
"filename": "version_check", | ||
"ssl": true | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
services: | ||
alfredoramos.simplespoiler.listener: | ||
class: alfredoramos\simplespoiler\event\listener | ||
arguments: | ||
- '@alfredoramos.simplespoiler.helper' | ||
tags: | ||
- { name: event.listener } | ||
|
||
alfredoramos.simplespoiler.helper: | ||
class: alfredoramos\simplespoiler\includes\helper | ||
arguments: | ||
- '@dbal.conn' | ||
- '@filesystem' | ||
- '@language' | ||
- '@template' | ||
- '@config' | ||
- '@text_formatter.utils' | ||
- '@ext.manager' | ||
- '%core.root_path%' | ||
- '%core.php_ext%' | ||
- '%tables.bbcodes%' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,165 @@ | ||
<?php | ||
|
||
/** | ||
* Simple Spoiler extension for phpBB. | ||
* @author Alfredo Ramos <[email protected]> | ||
* @copyright 2017 Alfredo Ramos | ||
* @license GPL-2.0-only | ||
*/ | ||
|
||
namespace alfredoramos\simplespoiler\event; | ||
|
||
use Symfony\Component\EventDispatcher\EventSubscriberInterface; | ||
use alfredoramos\simplespoiler\includes\helper as helper; | ||
|
||
class listener implements EventSubscriberInterface | ||
{ | ||
/** @var \alfredoramos\simplespoiler\includes\helper */ | ||
protected $helper; | ||
|
||
/** | ||
* Listener constructor. | ||
* | ||
* @param \alfredoramos\simplespoiler\includes\helper $helper | ||
* | ||
* @return void | ||
*/ | ||
public function __construct(helper $helper) | ||
{ | ||
$this->helper = $helper; | ||
} | ||
|
||
/** | ||
* Assign functions defined in this class to event listeners in the core. | ||
* | ||
* @return array | ||
*/ | ||
static public function getSubscribedEvents() | ||
{ | ||
return [ | ||
'core.user_setup' => 'user_setup', | ||
'core.text_formatter_s9e_configure_after' => 'configure_spoiler', | ||
'core.text_formatter_s9e_parse_after' => 'parser_check_message', | ||
'core.help_manager_add_block_before' => 'bbcode_help', | ||
'core.acp_board_config_edit_add' => 'acp_config_add', | ||
'core.posting_modify_template_vars' => 'posting_template_vars', | ||
'alfredoramos.seometadata.clean_description_after' => 'clean_description_after' | ||
]; | ||
} | ||
|
||
/** | ||
* Load language files and modify user data on every page. | ||
* | ||
* @param object $event | ||
* | ||
* @return void | ||
*/ | ||
public function user_setup($event) | ||
{ | ||
$lang_set_ext = $event['lang_set_ext']; | ||
$lang_set_ext[] = [ | ||
'ext_name' => 'alfredoramos/simplespoiler', | ||
'lang_set' => 'posting' | ||
]; | ||
$event['lang_set_ext'] = $lang_set_ext; | ||
} | ||
|
||
/** | ||
* Add BBCode. | ||
* | ||
* @param object $event | ||
* | ||
* @return void | ||
*/ | ||
public function configure_spoiler($event) | ||
{ | ||
$configurator = $event['configurator']; | ||
$spoiler = $this->helper->bbcode_data(); | ||
|
||
// Spoiler data must not be empty | ||
if (empty($spoiler) || | ||
empty($spoiler['bbcode_tag']) || | ||
empty($spoiler['bbcode_match']) || | ||
empty($spoiler['bbcode_tpl'])) | ||
{ | ||
return; | ||
} | ||
|
||
// Remove previous definitions | ||
unset( | ||
$configurator->BBCodes[$spoiler['bbcode_tag']], | ||
$configurator->tags[$spoiler['bbcode_tag']] | ||
); | ||
|
||
// Create spoiler BBCode | ||
$configurator->BBCodes->addCustom( | ||
$spoiler['bbcode_match'], | ||
$spoiler['bbcode_tpl'] | ||
); | ||
} | ||
|
||
/** | ||
* Remove spoilers that are nested too deep. | ||
* | ||
* @param object $event | ||
* | ||
* @return void | ||
*/ | ||
public function parser_check_message($event) | ||
{ | ||
$event['xml'] = $this->helper->remove_nested_spoilers($event['xml']); | ||
} | ||
|
||
/** | ||
* Add a new BBCode FAQ entry. | ||
* | ||
* @param object $event | ||
* | ||
* @return void | ||
*/ | ||
public function bbcode_help($event) | ||
{ | ||
$this->helper->add_bbcode_help($event['block_name']); | ||
} | ||
|
||
/** | ||
* Add ACP configuration data. | ||
* | ||
* @param object $event | ||
* | ||
* @return void | ||
*/ | ||
public function acp_config_add($event) | ||
{ | ||
if ($event['mode'] !== 'post') | ||
{ | ||
return; | ||
} | ||
|
||
$event['display_vars'] = $this->helper->add_acp_config($event['display_vars']); | ||
} | ||
|
||
/** | ||
* Add posting template variables. | ||
* | ||
* @param object $event | ||
* | ||
* @return void | ||
*/ | ||
public function posting_template_vars($event) | ||
{ | ||
$event['page_data'] = $this->helper->posting_template_vars($event['page_data']); | ||
} | ||
|
||
/** | ||
* Remove spoilers from post description. | ||
* | ||
* @param object $event | ||
* | ||
* @return void | ||
*/ | ||
public function clean_description_after($event) | ||
{ | ||
$event['description'] = $this->helper->remove_description_spoilers($event['description']); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
<?php | ||
|
||
/** | ||
* Simple Spoiler extension for phpBB. | ||
* @author Alfredo Ramos <[email protected]> | ||
* @copyright 2017 Alfredo Ramos | ||
* @license GPL-2.0-only | ||
*/ | ||
|
||
namespace alfredoramos\simplespoiler; | ||
|
||
use phpbb\extension\base; | ||
|
||
class ext extends base | ||
{ | ||
/** | ||
* Check whether or not the extension can be enabled. | ||
* | ||
* @return bool | ||
*/ | ||
public function is_enableable() | ||
{ | ||
return phpbb_version_compare(PHPBB_VERSION, '3.3.0', '>='); | ||
} | ||
} |
Oops, something went wrong.