aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
authorAndreas Fischer <bantu@phpbb.com>2014-03-15 15:34:55 +0100
committerAndreas Fischer <bantu@phpbb.com>2014-03-15 15:34:55 +0100
commitaee4534d7109c7a7f6337b83b180fbf2176cf0ef (patch)
tree053ae6252a603138aa26d5def7d27ccbf875857f /phpBB
parent2d987d36c15a4699d47b651aa3b1b12111f39911 (diff)
parent87292f534ec64364a8f64d53153004c743980a48 (diff)
downloadforums-aee4534d7109c7a7f6337b83b180fbf2176cf0ef.tar
forums-aee4534d7109c7a7f6337b83b180fbf2176cf0ef.tar.gz
forums-aee4534d7109c7a7f6337b83b180fbf2176cf0ef.tar.bz2
forums-aee4534d7109c7a7f6337b83b180fbf2176cf0ef.tar.xz
forums-aee4534d7109c7a7f6337b83b180fbf2176cf0ef.zip
Merge pull request #2111 from nickvergessen/ticket/12262
[ticket/12262] Fix event exporter * nickvergessen/ticket/12262: [ticket/12262] Do not use inline assignments [ticket/12262] Do not use getExtension() [ticket/12262] Fix location list for acp events with "Locations:" [ticket/12262] Also find vars array when it's defined in the trigger_event()
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/develop/export_events_for_wiki.php53
1 files changed, 39 insertions, 14 deletions
diff --git a/phpBB/develop/export_events_for_wiki.php b/phpBB/develop/export_events_for_wiki.php
index b276b4c5fa..3021b64e05 100644
--- a/phpBB/develop/export_events_for_wiki.php
+++ b/phpBB/develop/export_events_for_wiki.php
@@ -54,7 +54,7 @@ function export_from_eventsmd($phpbb_root_path, $filter)
{
$file_details = substr($file_details, strlen("* Locations:\n + "));
$files = explode("\n + ", $file_details);
- $prosilver = $subsilver2 = array();
+ $prosilver = $subsilver2 = $adm = array();
foreach ($files as $file)
{
if (strpos($file, 'styles/prosilver/template/') === 0)
@@ -65,8 +65,19 @@ function export_from_eventsmd($phpbb_root_path, $filter)
{
$subsilver2[] = substr($file, strlen('styles/subsilver2/template/'));
}
+ if (strpos($file, 'adm/style/') === 0)
+ {
+ $adm[] = substr($file, strlen('adm/style/'));
+ }
+ }
+ if ($filter == 'acp')
+ {
+ echo implode(', ', $adm);
+ }
+ else
+ {
+ echo implode(', ', $prosilver) . ' || ' . implode(', ', $subsilver2);
}
- echo implode(', ', $prosilver) . ' || ' . implode(', ', $subsilver2);
}
else if ($filter == 'acp')
{
@@ -110,26 +121,39 @@ function check_for_events($phpbb_root_path, $file)
for ($i = 0, $num_lines = sizeof($lines); $i < $num_lines; $i++)
{
$event_line = 0;
- if ($found_trigger_event = strpos($lines[$i], "phpbb_dispatcher->trigger_event('"))
+ $found_trigger_event = strpos($lines[$i], "phpbb_dispatcher->trigger_event('");
+ if ($found_trigger_event !== false)
{
$event_line = $i;
$event_name = $lines[$event_line];
$event_name = substr($event_name, $found_trigger_event + strlen("phpbb_dispatcher->trigger_event('"));
$event_name = substr($event_name, 0, strpos($event_name, "'"));
- // Find $vars array lines
- $find_varsarray_line = 1;
- while (strpos($lines[$event_line - $find_varsarray_line], "vars = array('") === false)
+ $current_line = trim($lines[$event_line]);
+ $arguments = array();
+ $found_inline_array = strpos($current_line, "', compact(array('");
+ if ($found_inline_array !== false)
{
- $find_varsarray_line++;
+ $varsarray = substr($current_line, $found_inline_array + strlen("', compact(array('"), -6);
+ $arguments = explode("', '", $varsarray);
+ }
- if ($find_varsarray_line > min(50, $event_line))
+ if (empty($arguments))
+ {
+ // Find $vars array lines
+ $find_varsarray_line = 1;
+ while (strpos($lines[$event_line - $find_varsarray_line], "vars = array('") === false)
{
- throw new LogicException('Can not find "$vars = array()"-line for event "' . $event_name . '" in file "' . $file . '"');
+ $find_varsarray_line++;
+
+ if ($find_varsarray_line > min(50, $event_line))
+ {
+ throw new LogicException('Can not find "$vars = array()"-line for event "' . $event_name . '" in file "' . $file . '"');
+ }
}
+ $varsarray = substr(trim($lines[$event_line - $find_varsarray_line]), strlen("\$vars = array('"), -3);
+ $arguments = explode("', '", $varsarray);
}
- $varsarray = substr(trim($lines[$event_line - $find_varsarray_line]), strlen("\$vars = array('"), -3);
- $arguments = explode("', '", $varsarray);
// Validate $vars array with @var
$find_vars_line = 3;
@@ -153,11 +177,12 @@ function check_for_events($phpbb_root_path, $file)
throw new LogicException('$vars array does not match the list of @var tags for event "' . $event_name . '" in file "' . $file . '"');
}
}
- else if ($found_trigger_event = strpos($lines[$i], "phpbb_dispatcher->dispatch('"))
+ $found_dispatch = strpos($lines[$i], "phpbb_dispatcher->dispatch('");
+ if ($found_dispatch !== false)
{
$event_line = $i;
$event_name = $lines[$event_line];
- $event_name = substr($event_name, $found_trigger_event + strlen("phpbb_dispatcher->dispatch('"));
+ $event_name = substr($event_name, $found_dispatch + strlen("phpbb_dispatcher->dispatch('"));
$event_name = substr($event_name, 0, strpos($event_name, "'"));
$arguments = array();
}
@@ -267,7 +292,7 @@ function get_file_list($dir, $path = '')
$files[] = $file_info->getFilename() . '/' . $file;
}
}
- else if ($file_info->getExtension() == 'php')
+ else if (substr($file_info->getFilename(), -4) == '.php')
{
$files[] = $file_info->getFilename();
}