1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-31 22:10:45 +02:00

[ticket/16872] Add event exporter for BBCode

PHPBB3-16872
This commit is contained in:
Marc Alexander
2022-01-22 16:51:42 +01:00
parent 9bf6e7f32e
commit 8a3164aaf7
3 changed files with 215 additions and 0 deletions

View File

@@ -364,6 +364,64 @@ class md_exporter
return $rst_exporter->get_rst_output();
}
/**
* Format the md events as BBCode list
*
* @param string $action
* @return string Events BBCode
*/
public function export_events_for_bbcode(string $action = ''): string
{
if ($this->filter === 'adm')
{
if ($action === 'diff')
{
$bbcode_text = "[size=150]ACP Template Events[/size]\n";
}
else
{
$bbcode_text = "[size=200]ACP Template Events[/size]\n";
}
}
else
{
if ($action === 'diff')
{
$bbcode_text = "[size=150]Template Events[/size]\n";
}
else
{
$bbcode_text = "[size=200]Template Events[/size]\n";
}
}
if (!count($this->events))
{
return $bbcode_text . "[list][*][i]None[/i][/list]\n";
}
foreach ($this->events as $event_name => $event)
{
$bbcode_text .= "[list]\n";
$bbcode_text .= "[*][b]{$event_name}[/b]\n";
if ($this->filter === 'adm')
{
$bbcode_text .= "Placement: " . implode(', ', $event['files']['adm']) . "\n";
}
else
{
$bbcode_text .= "Prosilver Placement: " . implode(', ', $event['files']['prosilver']) . "\n";
}
$bbcode_text .= "Added in Release: {$event['since']}\n";
$bbcode_text .= "Explanation: {$event['description']}\n";
$bbcode_text .= "[/list]\n";
}
return $bbcode_text;
}
/**
* Validates a template event name
*

View File

@@ -207,6 +207,37 @@ class php_exporter
return $rst_exporter->get_rst_output();
}
/**
* Format the PHP events as a BBCode list
*
* @param string $action
* @return string
*/
public function export_events_for_bbcode(string $action = ''): string
{
if ($action === 'diff')
{
$bbcode_text = '[size=150]PHP Events[/size]' . "\n";
}
else
{
$bbcode_text = '[size=200]PHP Events[/size]' . "\n";
}
foreach ($this->events as $event)
{
$bbcode_text .= "[list]\n";
$bbcode_text .= "[*][b]{$event['event']}[/b]\n";
$bbcode_text .= "Placement: {$event['file']}\n";
$bbcode_text .= 'Arguments: ' . implode(', ', $event['arguments']) . "\n";
$bbcode_text .= "Added in Release: {$event['since']}\n";
$bbcode_text .= "Explanation: {$event['description']}\n";
$bbcode_text .= "[/list]\n";
}
return $bbcode_text;
}
/**
* @param string $file
* @return int Number of events found in this file