Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
root committed Mar 4, 2021
0 parents commit 42909b9
Show file tree
Hide file tree
Showing 52 changed files with 2,309 additions and 0 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Eve_simple_spoiler_ext
45 changes: 45 additions & 0 deletions simplespoiler/composer.json
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
}
}
}
21 changes: 21 additions & 0 deletions simplespoiler/config/services.yml
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%'
165 changes: 165 additions & 0 deletions simplespoiler/event/listener.php
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']);
}
}
25 changes: 25 additions & 0 deletions simplespoiler/ext.php
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', '>=');
}
}
Loading

0 comments on commit 42909b9

Please sign in to comment.