From dea5b8c0752a4e22153a105cd143cf0c12ff94d5 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Sun, 31 May 2015 16:25:41 +0200 Subject: [PATCH 001/242] Fix class name and template call --- development/language/usage.rst | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/development/language/usage.rst b/development/language/usage.rst index 4432439b..6008821e 100644 --- a/development/language/usage.rst +++ b/development/language/usage.rst @@ -22,12 +22,12 @@ Using the Language System in php ================================ The object holding the language dictionary for the current user is the ``$user`` -object (``phpbb\user`` class). To get the translation of a language entry inside -of php code, call the ``phpbb\user::lang()`` method: +object (``phpbb\language\language`` class). To get the translation of a language +entry inside of php code, call the ``phpbb\language\language::lang()`` method: .. code-block:: php - $user->lang('LANG_KEY'); + $language->lang('LANG_KEY'); You can also insert values into translated string. Use ``%s`` as placeholders for string in the language string and ``%d`` for integers: @@ -35,11 +35,11 @@ for string in the language string and ``%d`` for integers: .. code-block:: php // Language string: "My translation has a %s" - echo $user->lang('LANG_KEY', 'parameter'); + echo $language->lang('LANG_KEY', 'parameter'); // Output: "My translation has a parameter" // Language string: "My translation has %d parameter" - echo $user->lang('LANG_KEY', 1); + echo $language->lang('LANG_KEY', 1); // Output: "My translation has 1 parameter" .. warning:: @@ -55,13 +55,14 @@ for string in the language string and ``%d`` for integers: The dictionary is not loaded into memory all at once, but is split up in several files, which have to be manually loaded on demand. The files are stored inside the language directory, named after its -`language tag `_, +`language tag `_, where one subdirectory is used for each installed language. The default language files are in the root of that subdirectory, while ACP language files go into the ``/acp`` subdirectory; email templates are placed in the ``/email`` subdirectory. .. note:: + Files for extensions should be placed in the extension's ``/language`` directory. @@ -84,22 +85,22 @@ pass the name with the subdirectory but without extension as argument of setup. $user->setup(array('ucp', 'search')); Since ``phpbb\user::setup()`` must only be called once, -``phpbb\user::add_lang()`` has to be used, to load additional language files, -after ``phpbb\user::setup()`` has already been called. +``phpbb\language\language::add_lang()`` has to be used, to load additional +language files, after ``phpbb\user::setup()`` has already been called. Loading from an extension ------------------------- To load a file from an extension -you need to use ``phpbb\user::add_lang_ext()`` which takes +you need to use ``phpbb\language\language::add_lang_ext()`` which takes the vendor + extension name as first argument and the array of language files as a second argument. .. code-block:: php - $user->add_lang_ext('acme/demo', 'demo'); + $language->add_lang('demo', 'acme/demo'); // or - $user->add_lang_ext('acme/demo', array('demo', 'demo2')); + $language->add_lang(array('demo', 'demo2'), 'acme/demo'); Using the Language System in template files =========================================== From 4746f6e9378522fd9ef30337c329e001a6aba3a5 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Fri, 5 Jun 2015 20:08:38 +0200 Subject: [PATCH 002/242] Fix method name one more time and add new samples --- development/language/usage.rst | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/development/language/usage.rst b/development/language/usage.rst index 6008821e..0bddf0ea 100644 --- a/development/language/usage.rst +++ b/development/language/usage.rst @@ -80,19 +80,23 @@ pass the name with the subdirectory but without extension as argument of setup. $user->setup('search'); // or - $user->setup('ucp'); - // or $user->setup(array('ucp', 'search')); Since ``phpbb\user::setup()`` must only be called once, ``phpbb\language\language::add_lang()`` has to be used, to load additional language files, after ``phpbb\user::setup()`` has already been called. +.. code-block:: php + + $language->add_lang('search'); + // or + $language->add_lang(array('ucp', 'search')); + Loading from an extension ------------------------- To load a file from an extension -you need to use ``phpbb\language\language::add_lang_ext()`` which takes +you need to use ``phpbb\language\language::add_lang()`` which takes the vendor + extension name as first argument and the array of language files as a second argument. From 5a50fdd6e6989c5c575f13461e5ebeae18e5fffa Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Tue, 15 Sep 2015 17:30:04 +0200 Subject: [PATCH 003/242] Add basic files for files classes --- development/files/index.rst | 7 ++++++ development/files/overview.rst | 46 ++++++++++++++++++++++++++++++++++ development/index.rst | 1 + 3 files changed, 54 insertions(+) create mode 100644 development/files/index.rst create mode 100644 development/files/overview.rst diff --git a/development/files/index.rst b/development/files/index.rst new file mode 100644 index 00000000..a8ce9a1f --- /dev/null +++ b/development/files/index.rst @@ -0,0 +1,7 @@ +File uploads +============ + +.. toctree:: + :maxdepth: 2 + + overview diff --git a/development/files/overview.rst b/development/files/overview.rst new file mode 100644 index 00000000..e4d016d2 --- /dev/null +++ b/development/files/overview.rst @@ -0,0 +1,46 @@ +================= +The files classes +================= + +phpBB 3.2 introduces two new classes for uploading files: filespec and upload. +These have been refactored and are based on the previously available filespec +and fileupload classes. In addition to that, there is also a factory class which +can be used for easy access to the files classes. + +Overview of available classes +============================= + +factory +******* +``\phpbb\files\factory`` + +Provides easier access to files classes, e.g. inside the files classes +themselves. + +filespec +******** +``\phpbb\files\filespec``` + +Responsible for holding all file relevant information, as well as doing +file-specific operations. + +upload +****** +``\phpbb\files\upload`` + +Used for actual file uploads. Is also used for checking for valid files and +moving files. + + +Using the container to retrieve the classes +=========================================== + +The files classes can easily be retrieved using the container: + +.. code-block:: php + + $factory = $phpbb_container->get('files.factory'); + $upload = $phpbb_container->get('files.upload'); + +The filespec and upload classes are defined with the prototype scope. +This results in the container returning a new instance of these classes every time one calls the get() method. \ No newline at end of file diff --git a/development/index.rst b/development/index.rst index 09fbaedc..3ad62db8 100644 --- a/development/index.rst +++ b/development/index.rst @@ -8,6 +8,7 @@ Contents: development/coding_guidelines extensions/index + files/index language/index migrations/index testing/index From 35f97f95a1795bac9f61895dd8809760f2efb581 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Wed, 16 Sep 2015 11:30:14 +0200 Subject: [PATCH 004/242] Add instructions on how to use factory --- development/files/overview.rst | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/development/files/overview.rst b/development/files/overview.rst index e4d016d2..de198777 100644 --- a/development/files/overview.rst +++ b/development/files/overview.rst @@ -31,7 +31,6 @@ upload Used for actual file uploads. Is also used for checking for valid files and moving files. - Using the container to retrieve the classes =========================================== @@ -41,6 +40,34 @@ The files classes can easily be retrieved using the container: $factory = $phpbb_container->get('files.factory'); $upload = $phpbb_container->get('files.upload'); + $filespec = $phpbb_container->get('files.filespec'); The filespec and upload classes are defined with the prototype scope. -This results in the container returning a new instance of these classes every time one calls the get() method. \ No newline at end of file +This results in the container returning a new instance of these classes every time one calls the get() method. + +Using the factory to retrieve the classes +========================================= + +The factory class can be used to retrieve the files classes without the need to use the container itself. +It can be passed as a service to a class: + +.. code-block:: yaml + + myclass: + class: some\namespace\myclass + arguments: + - @files.factory + +Of course, the class can also be instantiated manually: + +.. code-block:: php + + $files_factory = new phpbb\files\factory($phpbb_container); + +Once the factory is available, the other class can be retrieved using the ``get()`` method: + +.. code-block:: php + + $filespec = $files_factory->get('filespec'); + +The main classes ``filespec`` and ``upload`` do not need to be prefixed with ``files.``. From d69ed0afdfc53be17a5b22f7f2a4727281cf57cd Mon Sep 17 00:00:00 2001 From: brunoais Date: Sat, 26 Sep 2015 08:19:54 +0100 Subject: [PATCH 005/242] [feature/structuredConditionals] Partly complete --- development/db/structuredConditionals.rst | 220 ++++++++++++++++++++++ 1 file changed, 220 insertions(+) create mode 100644 development/db/structuredConditionals.rst diff --git a/development/db/structuredConditionals.rst b/development/db/structuredConditionals.rst new file mode 100644 index 00000000..24f7bae3 --- /dev/null +++ b/development/db/structuredConditionals.rst @@ -0,0 +1,220 @@ +=========================== +The boolean structure system +=========================== + +Intro +============= + +This feature helps extension authors to edit SQL queries in an easy and quick way without the need to parse the SQL queries, most likely, using regex and complex text editing. +Instead of a single string, this allows editing the WHERE clause in an SQL query by adding, removing and editing php arrays. Using this method, finding the portion of the query to edit + +If done correctly, incompatibilities between extensions that use the same SQL query can either much easily be averted (and warned) or where a regex match could fault while finding the wanted content the fact they are only arrays, they can be come automatically compatible. + +This is not magic thought It will definitely reduce the probability of inter-incompatibilities between extensions but it will not solve them by any means. + + +Why use +============= + + + + +Main use-case ideals +============= + +1. To flexibly the build of the WHERE clause in SQL queries +2. To ease, simplify and prevent errors when doing SQL query editing by phpBB's extensions + +Why not... +============= + +1. Doctrine dbal -> The issue with Doctrine dbal is that it's query builder is not ready for the 2nd major use case listed above. There is no way of altering an SQL query. If you want to alter something, you have to rebuild the whole SQL query. +2. Linq -> I didn't know the assistance of Linq until today. From what I searched, not only it has the same issue as Doctrine, while also its interface is unnecessarily complex for the common folk who just wants to change a small amount of information. + + +The Data structure +============= + +This builder uses a tree-like information organization for the boolean comparisons in SQL queries. +Each node of such tree is a php array. +Each node can have one of 3 formats: + +type1 +------- + +The 1st type contains 3 elements: + +Left hand, operator, right hand. +E.g. + +.. code-block:: php + + array('f.forum_id', '=', 1) + array('f.forum_id', '<>', 1) + array('f.forum_id', 'IN', array()) + array('f.forum_id', 'IN', array(1,2,5,6,7)) + array('f.forum_id', 'NOT_IN', array(1,2,5,6,7)) + array('f.forum_id', 'IS', NULL) + +For the operator, there are 6 special values (everything else is taken literally): + +1. IN +2. NOT_IN +3. LIKE +4. NOT_LIKE +5. IS +6. IS_NOT + +All of them are special because they call the dbal's methods to process the data. +For example, if you use the **IN** operator, it calls $db->sql_in_set() with the right hand data. + +type2 +------- + +The 2nd type is variable length. It is identified by having the string 'AND', 'OR' or 'NOT' in the first position of the array. + +The first element contains the boolean operator that is used to join together all its other elements. + +E.g. +.. code-block:: php + + array('OR', + array('t.forum_id', '=', 3), + array('t.topic_type', '=', 0), + array('t.topic_id', 'IN', array(2,3,4)), + ) + +which outputs (after reindenting) +.. code-block:: php + + t.forum_id = 3 OR + t.topic_type = 0 OR + t.topic_id IN (2, 3, 4) + + +type3 +------- + +The 3rd type has 5 elements +Left hand, operator, sub query operator, sub query SELECT type, the sub query. + +This is used when you require a subquery in your DB query. +Essentially, what this does is that it will call sql_build_query() recursively with the 4th and the 5th elements. + +.. code-block:: php + + array('f.forum_id', '=', 'ANY', 'SELECT', array( + 'SELECT' => array(/*...*/), + 'FROM' => array(/*...*/), + ) + ) + + array('f.forum_id', '', 'IN', 'SELECT', array( + 'SELECT' => array(/*...*/), + 'FROM' => array(/*...*/), + ) + ) + +Why arrays? +============= + +De motivation to use arrays comes from the needs: + +1. This is information that is going to be used quite a lot. + 1.1. In the ideal case, every SQL query with either an ON or a WHERE clause (just about all) will use this. +2. The implementation on which this works on top of already uses arrays. +3. Editing arrays is a quite trivial task for any piece of code. + +Why not Objects? +------- + +1. Tranversing Objects forming a tree is **seriously slow** in php. + 1.1 This wouln't much be noticed on vanilla phpBB but as you add extensions, it would easily be dead slow. +2. Doing this with immutable objects is completely unviable. + 2.1 It would require the code that manipulates it to know how to rebuild everything related for almost any change. +3. Mutable objects with an easy-enough-to-use API is hell to design. + 3.1 How would a script know how to specify the changes that are required to make without using a complex API? + 3.2 How would a user script swiftly test if a query has the correct format? + +Mostly due to those reasons above arrays was decided as the medium. + +How to use +============= + + + + +Usage examples +============= +Here I present code samples that examplify how to use this system. + +In phpBB's code +------- + + +.. code-block:: php + + array('f.forum_id', '=', 'ANY', 'SELECT', array( + 'SELECT' => array(/*...*/), + 'FROM' => array(/*...*/), + ) + ) + + + $db->sql_build_query('SELECT', array( + 'SELECT' => array('f.forum_id', 'f.forum_title'), + 'FROM' => array( + FORUMS_TABLE => 'f', + TOPICS_TABLE => 't', + ), + 'WHERE' => array( + 'AND', + array('t.topic_poster', '=', 1), + array('f.forum_id', '>=', 'ALL', 'SELECT', array( + 'SELECT' => array('t.forum_id'), + 'FROM' => array(TOPICS_TABLE => 't'), + 'WHERE' => array('t.topic_poster', '=', 1), + ), + ), + ) + + + +.. code-block:: php + + array('OR', + array('t.forum_id', '=', 3), + array('t.topic_type', '=', 0), + ) + +.. code-block:: php + + array('AND', + array('t.forum_id', '=', 3), + array('t.topic_type', '=', 0), + array('t.topic_id', '>', 5), + array('t.topic_poster', '<>', 5), + ), + + + array('AND', + array('t.forum_id', '=', 3), + array('NOT', + array('t.topic_type', '=', 0), + ), + array('t.topic_id', '>', 5), + array('t.topic_poster', '<>', 5), + ), + + +.. code-block:: php + + t.forum_id = 3 + AND NOT ( t.topic_type = 0 ) + AND t.topic_id > 5 + AND t.topic_poster <> 5 + + +In phpBB's extensions code +------- + \ No newline at end of file From 3d9329796216d1ee10e2fe6c3750f2487b01cfc1 Mon Sep 17 00:00:00 2001 From: brunoais Date: Wed, 30 Sep 2015 07:51:14 +0100 Subject: [PATCH 006/242] Minor fix, How to use (complete) and working on translation examples --- development/db/structuredConditionals.rst | 106 +++++++++++++++++++++- 1 file changed, 105 insertions(+), 1 deletion(-) diff --git a/development/db/structuredConditionals.rst b/development/db/structuredConditionals.rst index 24f7bae3..d668c4ee 100644 --- a/development/db/structuredConditionals.rst +++ b/development/db/structuredConditionals.rst @@ -129,7 +129,7 @@ Why not Objects? ------- 1. Tranversing Objects forming a tree is **seriously slow** in php. - 1.1 This wouln't much be noticed on vanilla phpBB but as you add extensions, it would easily be dead slow. + 1.1 This wouln't much be noticed on vanilla phpBB but, as you add extensions, it would easily be dead slow. 2. Doing this with immutable objects is completely unviable. 2.1 It would require the code that manipulates it to know how to rebuild everything related for almost any change. 3. Mutable objects with an easy-enough-to-use API is hell to design. @@ -141,6 +141,110 @@ Mostly due to those reasons above arrays was decided as the medium. How to use ============= +This system is used when building queries using the db's sql_build_query() method. + +While building the array to send to it as the 2nd parameter, when writting the WHERE clause, you my use this system instead of simply typing a string or making your own accumulator of conditionals. + +For the sake of this example, I will simulate an execution that exists in phpBB and assume that the query has to go through an event that does a small change to it. + + + + +How to use in phpBB +============= +In the ideal situation, all DB queries that may use multiple stages where SQL data is manipulated or changed should use this, specially if they also go through an event. + + +Translate SQL to the structured conditional +---------- +Here's a step-by-step guide to transform a query made using a string into the format that uses + +Now imagine you want something like this (source: viewforum.php:277): + +.. code-block:: php + + $sql = 'SELECT COUNT(topic_id) AS num_topics + FROM ' . TOPICS_TABLE . " + WHERE forum_id = $forum_id + AND (topic_last_post_time >= $min_post_time + OR topic_type = " . POST_ANNOUNCE . ' + OR topic_type = ' . POST_GLOBAL . ') + AND ' . $phpbb_content_visibility->get_visibility_sql('topic', $forum_id); + + +Looks quite direct to the point, right? +OK, **step1**, prepare it for sql_build_query(); + +According to the manual for this transformation, it should look like this: + + +.. code-block:: php + + $sql_ary = array( + 'SELECT' => 'COUNT(topic_id) AS num_topics', + 'FROM' => array( + TOPICS_TABLE => '', + ), + 'WHERE' => "forum_id = $forum_id + AND (topic_last_post_time >= $min_post_time + OR topic_type = " . POST_ANNOUNCE . ' + OR topic_type = ' . POST_GLOBAL . ') + AND ' . $phpbb_content_visibility->get_visibility_sql('topic', $forum_id), + ); + + $db->sql_build_query('SELECT', $sql_ary); + +That's fine and all but it does not use this processor yet. +**Step 2** +Now to focus on the WHERE clause only + +Hum... Let's see... There's a set of AND's to join in. Let's start there. + +.. code-block:: php + // ... + 'WHERE' => array('AND', + "forum_id = $forum_id", + "topic_last_post_time >= $min_post_time + OR topic_type = " . POST_ANNOUNCE . ' + OR topic_type = ' . POST_GLOBAL, + $phpbb_content_visibility->get_visibility_sql('topic', $forum_id) + ), +// ... + + +.. code-block:: php + // ... + 'WHERE' => array('AND', + array('forum_id', '=', $forum_id), + array('OR', + array('topic_last_post_time', '>=', $min_post_time), + array('topic_type', '=', POST_ANNOUNCE), + array('topic_type', '=', POST_GLOBAL), + ), + array($phpbb_content_visibility->get_visibility_sql('topic', $forum_id)), +// ... + + + +.. code-block:: php + + $sql_ary = array( + 'SELECT' => 'COUNT(topic_id) AS num_topics', + 'FROM' => array( + TOPICS_TABLE => '', + ), + 'WHERE' => array('AND', + array('forum_id', '=', $forum_id), + array('OR', + array('topic_last_post_time', '>=', $min_post_time), + array('topic_type', '=', POST_ANNOUNCE), + array('topic_type', '=', POST_GLOBAL), + ), + array($phpbb_content_visibility->get_visibility_sql('topic', $forum_id)), + ), + ); + + $db->sql_build_query('SELECT', $sql_ary); From 86a4eb0233ce56a6edc72b1e547bced9ffc6d82b Mon Sep 17 00:00:00 2001 From: brunoais Date: Sun, 4 Oct 2015 19:24:20 +0100 Subject: [PATCH 007/242] Finished Translate SQL to the structured conditional --- development/db/structuredConditionals.rst | 24 ++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/development/db/structuredConditionals.rst b/development/db/structuredConditionals.rst index d668c4ee..adcff848 100644 --- a/development/db/structuredConditionals.rst +++ b/development/db/structuredConditionals.rst @@ -149,7 +149,6 @@ For the sake of this example, I will simulate an execution that exists in phpBB - How to use in phpBB ============= In the ideal situation, all DB queries that may use multiple stages where SQL data is manipulated or changed should use this, specially if they also go through an event. @@ -204,13 +203,29 @@ Hum... Let's see... There's a set of AND's to join in. Let's start there. // ... 'WHERE' => array('AND', "forum_id = $forum_id", - "topic_last_post_time >= $min_post_time + "(topic_last_post_time >= $min_post_time OR topic_type = " . POST_ANNOUNCE . ' - OR topic_type = ' . POST_GLOBAL, + OR topic_type = ' . POST_GLOBAL . ')', $phpbb_content_visibility->get_visibility_sql('topic', $forum_id) ), // ... +Inside the set of AND's, one of them is a set of OR's. + +.. code-block:: php + // ... + 'WHERE' => array('AND', + "forum_id = $forum_id", + array('OR', + "topic_last_post_time >= $min_post_time", + 'topic_type = ' . POST_ANNOUNCE, + 'topic_type = ' . POST_GLOBAL, + ), + $phpbb_content_visibility->get_visibility_sql('topic', $forum_id) + ), +// ... + +There! Better! But it still isn't that easy to work with. There's a string for each comparison. BUT! If I use the type1 array mentioned above, I can separate each one of those into a single thing! In this case... .. code-block:: php // ... @@ -224,6 +239,9 @@ Hum... Let's see... There's a set of AND's to join in. Let's start there. array($phpbb_content_visibility->get_visibility_sql('topic', $forum_id)), // ... +There you go! No variable interpolation, no explicit string concatenation, in case of a requirement to build it or change it later, it becomes a very straightforwar task (see next section) and all data is properly escaped. + +Just for the last piece of code in this section, here's how the full SQL query should be written when using this system: .. code-block:: php From 5fe51ca7a606ff6a9b5c9d6af0a9406a8c3ccdf7 Mon Sep 17 00:00:00 2001 From: brunoais Date: Sun, 4 Oct 2015 19:24:39 +0100 Subject: [PATCH 008/242] Doing: Modify the structured conditional in an extension --- development/db/structuredConditionals.rst | 158 ++++++++++++++++++++++ 1 file changed, 158 insertions(+) diff --git a/development/db/structuredConditionals.rst b/development/db/structuredConditionals.rst index adcff848..30b70bb0 100644 --- a/development/db/structuredConditionals.rst +++ b/development/db/structuredConditionals.rst @@ -265,6 +265,164 @@ Just for the last piece of code in this section, here's how the full SQL query s $db->sql_build_query('SELECT', $sql_ary); +Modify the structured conditional in an extension +---------- +One of the major reasons why this feature is designed in this very way is mostly because of what is exemplified in this section. + +Same as the sub-section above, I will present you practical example(s) on how to use this feature. + +Piking up the code above as an example: + +.. code-block:: php + + $sql = array( + 'SELECT' => 'COUNT(topic_id) AS num_topics', + 'FROM' => array( + TOPICS_TABLE => '', + ), + 'WHERE' => array('AND', + array('forum_id', '=', $forum_id), + array('OR', + array('topic_last_post_time', '>=', $min_post_time), + array('topic_type', '=', POST_ANNOUNCE), + array('topic_type', '=', POST_GLOBAL), + ), + array($phpbb_content_visibility->get_visibility_sql('topic', $forum_id)), + ), + ); + + +Imagine you are building an extension that requires modifying that query above. For example, you want to make topic_last_post_time as a forced requirement for this query. +In other words, you want the query to be like this: + +.. code-block:: php + + $sql = array( + 'SELECT' => 'COUNT(topic_id) AS num_topics', + 'FROM' => array( + TOPICS_TABLE => '', + ), + 'WHERE' => array('AND', + array('forum_id', '=', $forum_id), + array('topic_last_post_time', '>=', $min_post_time), + array($phpbb_content_visibility->get_visibility_sql('topic', $forum_id)), + ), + ); + +Just as a good practice and to help other extension writers to modify this query in an easier way, let's make it like this instead: + +.. code-block:: php + + $sql = array( + 'SELECT' => 'COUNT(topic_id) AS num_topics', + 'FROM' => array( + TOPICS_TABLE => '', + ), + 'WHERE' => array('AND', + array('forum_id', '=', $forum_id), + array('OR', + array('topic_last_post_time', '>=', $min_post_time), + ), + array($phpbb_content_visibility->get_visibility_sql('topic', $forum_id)), + ), + ); + +Do notice that I kept the OR clause. This is just so that these changes have as little chance as possible to break other extensions. +Anyway, moving on. + +In your function: +.. code-block:: php + + function eventGrabber($event){ + +You will have an $event['sql'] which will contain the query. +Below, I use nesting of "if", if you prefer, you may use exceptions instead. +In order to access what we want, we can do it like this: + +.. code-block:: php + // May be required by PHP + $sql = $event['sql']; + // Is the element I expect there? + if(isset($sql['WHERE'][2][0])){ + if(is_array($sql['WHERE'][2])){ + if($sql['WHERE'][2][0] === 'OR'){ + // This should be the array with the OR I wanted + if(isset($sql['WHERE'][2][0][1]) && $sql['WHERE'][2][0][1][0] === 'topic_last_post_time'){ + // Confirmed to be what I want it to be! + // this array_slice() will remove the elements after the above-mentioned topic_last_post_time + $sql['WHERE'][2][0][1] = array_slice($sql['WHERE'][2][0][1], 1); + + $event['sql'] = $sql; + return; + } + } else { + // For example, write code to log this happened so that an admin can help you making your + // extension compatible with other extensions or even for you to be warned about phpBB changes. + } else { + // For example, write code to log this happened so that an admin can help you making your + // extension compatible with other extensions or even for you to be warned about phpBB changes. + } + } else { + // For example, write code to log this happened so that an admin can help you making your + // extension compatible with other extensions or even for you to be warned about phpBB changes. + } + + + +If you are thinking: +Eh?!??!? That's too complicated... How is this better than before?!?! + +Well, I'm just safeguarding myself above. I'm just doing in a way to make sure it will surely work. +If you don't feel like it, however, then this is enough: + +.. code-block:: php + + function myEventListener($event){ + $sql = $event['sql']; + $sql['WHERE'][2][0][1] = array_slice($sql['WHERE'][2][0][1], 1); + $event['sql'] = $sql; + } + +Or to protect yourself slightly: + +.. code-block:: php + + function myEventListener($event){ + $sql = $event['sql']; + if(!empty($sql['WHERE'][2][0][1]) && is_array($sql['WHERE'][2][0][1])){ + $sql['WHERE'][2][0][1] = array_slice($sql['WHERE'][2][0][1], 1); + } else { + // For example, write code to log this happened so that an admin can help you making your + // extension compatible with other extensions or even for you to be warned about phpBB changes. + } + $event['sql'] = $sql; + } + +I've shown you the above one first because I wanted you to experience the wilness to do everybody's work the easiest and most flexible way. + +**Example 2:** + +Now imagining that you want to add a condition to the OR statement list. +For example, you want sticky posts to not be counted. + +The long/self.protected way uses just about the same formula as 3 samples above. +The short way is about as much as this: + +.. code-block:: php + + function myEventListener($event){ + $sql = $event['sql']; + if(!empty($sql['WHERE'][2][0][1]) && is_array($sql['WHERE'][2][0][1])){ + $sql['WHERE'][2][0][1][] = array('topic_type', '=', POST_STICKY); + } else { + // For example, write code to log this happened so that an admin can help you making your + // extension compatible with other extensions or even for you to be warned about phpBB changes. + } + $event['sql'] = $sql; + } + +... And you are done. No Regex, no need to write down your own 'OR' or anything like that. +As a bonus, if what you write follows basic rules on how SQL is written, it is guaranteed that the output will be valid SQL. Usage examples ============= From c9383ddd1f90533fed18ace3dc3160d472fd0ff2 Mon Sep 17 00:00:00 2001 From: brunoais Date: Sun, 4 Oct 2015 19:35:22 +0100 Subject: [PATCH 009/242] Fixing code --- development/db/structuredConditionals.rst | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/development/db/structuredConditionals.rst b/development/db/structuredConditionals.rst index 30b70bb0..d0edc163 100644 --- a/development/db/structuredConditionals.rst +++ b/development/db/structuredConditionals.rst @@ -200,7 +200,8 @@ Now to focus on the WHERE clause only Hum... Let's see... There's a set of AND's to join in. Let's start there. .. code-block:: php - // ... + + // ... 'WHERE' => array('AND', "forum_id = $forum_id", "(topic_last_post_time >= $min_post_time @@ -208,12 +209,13 @@ Hum... Let's see... There's a set of AND's to join in. Let's start there. OR topic_type = ' . POST_GLOBAL . ')', $phpbb_content_visibility->get_visibility_sql('topic', $forum_id) ), -// ... + // ... Inside the set of AND's, one of them is a set of OR's. .. code-block:: php - // ... + + // ... 'WHERE' => array('AND', "forum_id = $forum_id", array('OR', @@ -223,12 +225,13 @@ Inside the set of AND's, one of them is a set of OR's. ), $phpbb_content_visibility->get_visibility_sql('topic', $forum_id) ), -// ... + // ... There! Better! But it still isn't that easy to work with. There's a string for each comparison. BUT! If I use the type1 array mentioned above, I can separate each one of those into a single thing! In this case... .. code-block:: php - // ... + + // ... 'WHERE' => array('AND', array('forum_id', '=', $forum_id), array('OR', @@ -237,7 +240,7 @@ There! Better! But it still isn't that easy to work with. There's a string for e array('topic_type', '=', POST_GLOBAL), ), array($phpbb_content_visibility->get_visibility_sql('topic', $forum_id)), -// ... + // ... There you go! No variable interpolation, no explicit string concatenation, in case of a requirement to build it or change it later, it becomes a very straightforwar task (see next section) and all data is properly escaped. From d5c1805eaacfd607cc927d60c5790fbce93a05cb Mon Sep 17 00:00:00 2001 From: brunoais Date: Sun, 4 Oct 2015 19:35:51 +0100 Subject: [PATCH 010/242] Typo fixing --- development/db/structuredConditionals.rst | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/development/db/structuredConditionals.rst b/development/db/structuredConditionals.rst index d0edc163..db46f0b8 100644 --- a/development/db/structuredConditionals.rst +++ b/development/db/structuredConditionals.rst @@ -143,10 +143,9 @@ How to use This system is used when building queries using the db's sql_build_query() method. -While building the array to send to it as the 2nd parameter, when writting the WHERE clause, you my use this system instead of simply typing a string or making your own accumulator of conditionals. - -For the sake of this example, I will simulate an execution that exists in phpBB and assume that the query has to go through an event that does a small change to it. +While building the array to send to it as the 2nd parameter, when writting the WHERE clause, you may use this system instead of simply typing a string or making your own accumulator of conditionals. +For the sake of the examples below, I will simulate an execution that exists in phpBB and assume that the query has to go through an event that does a small change to it. How to use in phpBB @@ -156,7 +155,7 @@ In the ideal situation, all DB queries that may use multiple stages where SQL da Translate SQL to the structured conditional ---------- -Here's a step-by-step guide to transform a query made using a string into the format that uses +Here's a step-by-step guide to transform a query made using a string into the format that this feature uses. Now imagine you want something like this (source: viewforum.php:277): From 0c306efd3471d677d3c4a6ea9c614e9ead0b4d59 Mon Sep 17 00:00:00 2001 From: brunoais Date: Sun, 4 Oct 2015 19:55:25 +0100 Subject: [PATCH 011/242] Trying newline alternatives --- development/db/structuredConditionals.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/development/db/structuredConditionals.rst b/development/db/structuredConditionals.rst index db46f0b8..b6a33a28 100644 --- a/development/db/structuredConditionals.rst +++ b/development/db/structuredConditionals.rst @@ -76,6 +76,7 @@ The 2nd type is variable length. It is identified by having the string 'AND', 'O The first element contains the boolean operator that is used to join together all its other elements. E.g. + .. code-block:: php array('OR', @@ -85,6 +86,7 @@ E.g. ) which outputs (after reindenting) + .. code-block:: php t.forum_id = 3 OR @@ -98,7 +100,7 @@ type3 The 3rd type has 5 elements Left hand, operator, sub query operator, sub query SELECT type, the sub query. -This is used when you require a subquery in your DB query. +This is used when you require a subquery in your DB query. Essentially, what this does is that it will call sql_build_query() recursively with the 4th and the 5th elements. .. code-block:: php @@ -241,7 +243,7 @@ There! Better! But it still isn't that easy to work with. There's a string for e array($phpbb_content_visibility->get_visibility_sql('topic', $forum_id)), // ... -There you go! No variable interpolation, no explicit string concatenation, in case of a requirement to build it or change it later, it becomes a very straightforwar task (see next section) and all data is properly escaped. +There you go! No variable interpolation, no explicit string concatenation, in case of a requirement to build it or change it later, it becomes a very straightforward task (see next section) and all data is properly escaped. Just for the last piece of code in this section, here's how the full SQL query should be written when using this system: @@ -269,10 +271,8 @@ Just for the last piece of code in this section, here's how the full SQL query s Modify the structured conditional in an extension ---------- -One of the major reasons why this feature is designed in this very way is mostly because of what is exemplified in this section. - -Same as the sub-section above, I will present you practical example(s) on how to use this feature. - +One of the major reasons why this feature is designed in this very way is mostly because of what is exemplified in this section. +Same as the sub-section above, I will present you practical example(s) on how to use this feature. Piking up the code above as an example: .. code-block:: php From b26621401e45a47d6d65bba60ef85c2e1a627d80 Mon Sep 17 00:00:00 2001 From: brunoais Date: Sun, 4 Oct 2015 20:56:33 +0100 Subject: [PATCH 012/242] Fix code blocks --- development/db/structuredConditionals.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/development/db/structuredConditionals.rst b/development/db/structuredConditionals.rst index b6a33a28..4095b444 100644 --- a/development/db/structuredConditionals.rst +++ b/development/db/structuredConditionals.rst @@ -65,7 +65,7 @@ For the operator, there are 6 special values (everything else is taken literally 5. IS 6. IS_NOT -All of them are special because they call the dbal's methods to process the data. +All of them are special because they call the dbal's methods to process the data. For example, if you use the **IN** operator, it calls $db->sql_in_set() with the right hand data. type2 @@ -97,7 +97,7 @@ which outputs (after reindenting) type3 ------- -The 3rd type has 5 elements +The 3rd type has 5 elements Left hand, operator, sub query operator, sub query SELECT type, the sub query. This is used when you require a subquery in your DB query. @@ -333,6 +333,7 @@ Do notice that I kept the OR clause. This is just so that these changes have as Anyway, moving on. In your function: + .. code-block:: php function eventGrabber($event){ @@ -342,6 +343,7 @@ Below, I use nesting of "if", if you prefer, you may use exceptions instead. In order to access what we want, we can do it like this: .. code-block:: php + // May be required by PHP $sql = $event['sql']; // Is the element I expect there? From 3b7430926a84567a682945b774c7eda75c015baf Mon Sep 17 00:00:00 2001 From: brunoais Date: Sun, 11 Oct 2015 17:47:43 +0100 Subject: [PATCH 013/242] Remove "why use" --- development/db/structuredConditionals.rst | 6 ------ 1 file changed, 6 deletions(-) diff --git a/development/db/structuredConditionals.rst b/development/db/structuredConditionals.rst index 4095b444..4994fde8 100644 --- a/development/db/structuredConditionals.rst +++ b/development/db/structuredConditionals.rst @@ -13,12 +13,6 @@ If done correctly, incompatibilities between extensions that use the same SQL qu This is not magic thought It will definitely reduce the probability of inter-incompatibilities between extensions but it will not solve them by any means. -Why use -============= - - - - Main use-case ideals ============= From 454cfe1d67f2a81dc2bc11f60ad3622e3616782d Mon Sep 17 00:00:00 2001 From: brunoais Date: Sun, 11 Oct 2015 17:48:16 +0100 Subject: [PATCH 014/242] Typo --- development/db/structuredConditionals.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/db/structuredConditionals.rst b/development/db/structuredConditionals.rst index 4994fde8..37a28237 100644 --- a/development/db/structuredConditionals.rst +++ b/development/db/structuredConditionals.rst @@ -22,7 +22,7 @@ Main use-case ideals Why not... ============= -1. Doctrine dbal -> The issue with Doctrine dbal is that it's query builder is not ready for the 2nd major use case listed above. There is no way of altering an SQL query. If you want to alter something, you have to rebuild the whole SQL query. +1. Doctrine dbal -> The issue with Doctrine dbal is that its query builder is not ready for the 2nd major use case listed above. There is no way of altering an SQL query. If you want to alter something, you have to rebuild the whole SQL query. 2. Linq -> I didn't know the assistance of Linq until today. From what I searched, not only it has the same issue as Doctrine, while also its interface is unnecessarily complex for the common folk who just wants to change a small amount of information. From e974c2d37d3e185f3aa9cf7bf108fc3f81ca95a8 Mon Sep 17 00:00:00 2001 From: brunoais Date: Sun, 11 Oct 2015 17:48:30 +0100 Subject: [PATCH 015/242] Fix code blocks --- development/db/structuredConditionals.rst | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/development/db/structuredConditionals.rst b/development/db/structuredConditionals.rst index 37a28237..dad56a38 100644 --- a/development/db/structuredConditionals.rst +++ b/development/db/structuredConditionals.rst @@ -430,14 +430,7 @@ In phpBB's code ------- -.. code-block:: php - - array('f.forum_id', '=', 'ANY', 'SELECT', array( - 'SELECT' => array(/*...*/), - 'FROM' => array(/*...*/), - ) - ) - +.. code-block:: php $db->sql_build_query('SELECT', array( 'SELECT' => array('f.forum_id', 'f.forum_title'), @@ -474,6 +467,7 @@ In phpBB's code array('t.topic_poster', '<>', 5), ), +.. code-block:: php array('AND', array('t.forum_id', '=', 3), From 17c2fa93e776aac85684f91f3a31cf79beb89f80 Mon Sep 17 00:00:00 2001 From: brunoais Date: Sun, 11 Oct 2015 18:01:22 +0100 Subject: [PATCH 016/242] Typo fixing --- development/db/structuredConditionals.rst | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/development/db/structuredConditionals.rst b/development/db/structuredConditionals.rst index dad56a38..387d2336 100644 --- a/development/db/structuredConditionals.rst +++ b/development/db/structuredConditionals.rst @@ -114,7 +114,7 @@ Essentially, what this does is that it will call sql_build_query() recursively w Why arrays? ============= -De motivation to use arrays comes from the needs: +The motivation to use arrays comes from the needs: 1. This is information that is going to be used quite a lot. 1.1. In the ideal case, every SQL query with either an ON or a WHERE clause (just about all) will use this. @@ -125,12 +125,12 @@ Why not Objects? ------- 1. Tranversing Objects forming a tree is **seriously slow** in php. - 1.1 This wouln't much be noticed on vanilla phpBB but, as you add extensions, it would easily be dead slow. + 1.1. This wouldn't much be noticed on vanilla phpBB but, as you add extensions, it would easily be dead slow. 2. Doing this with immutable objects is completely unviable. - 2.1 It would require the code that manipulates it to know how to rebuild everything related for almost any change. + 2.1. It would require the code that manipulates it to know how to rebuild everything related for almost any change. 3. Mutable objects with an easy-enough-to-use API is hell to design. - 3.1 How would a script know how to specify the changes that are required to make without using a complex API? - 3.2 How would a user script swiftly test if a query has the correct format? + 3.1. How would a script know how to specify the changes that are required to make without using a complex API? + 3.2. How would a user script swiftly test if a query has the correct format? Mostly due to those reasons above arrays was decided as the medium. @@ -139,7 +139,7 @@ How to use This system is used when building queries using the db's sql_build_query() method. -While building the array to send to it as the 2nd parameter, when writting the WHERE clause, you may use this system instead of simply typing a string or making your own accumulator of conditionals. +While building the array to send to it as the 2nd parameter, when writing the WHERE clause, you may use this system instead of simply typing a string or making your own accumulator of conditionals. For the sake of the examples below, I will simulate an execution that exists in phpBB and assume that the query has to go through an event that does a small change to it. @@ -396,7 +396,7 @@ Or to protect yourself slightly: $event['sql'] = $sql; } -I've shown you the above one first because I wanted you to experience the wilness to do everybody's work the easiest and most flexible way. +I've shown you the above one first because I wanted you to experience the will to do everybody's work the easiest and most flexible way. **Example 2:** @@ -424,7 +424,7 @@ As a bonus, if what you write follows basic rules on how SQL is written, it is g Usage examples ============= -Here I present code samples that examplify how to use this system. +Here I present code samples that exemplify how to use this system. In phpBB's code ------- From 2beefa3c643cc041ad15d27db244020f336b6b88 Mon Sep 17 00:00:00 2001 From: brunoais Date: Sun, 11 Oct 2015 18:04:30 +0100 Subject: [PATCH 017/242] In phpBB's extensions code extra note --- development/db/structuredConditionals.rst | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/development/db/structuredConditionals.rst b/development/db/structuredConditionals.rst index 387d2336..ef301f3d 100644 --- a/development/db/structuredConditionals.rst +++ b/development/db/structuredConditionals.rst @@ -489,4 +489,16 @@ In phpBB's code In phpBB's extensions code ------- - \ No newline at end of file + +.. code-block:: php + + function myEventListener($event){ + $sql = $event['sql']; + $sql['WHERE'][2][0][1] = array_slice($sql['WHERE'][2][0][1], 1); + $event['sql'] = $sql; + } + + + + +More will come as people submit more useful examples From 0800943fba33c03f606c54555068d49881647c71 Mon Sep 17 00:00:00 2001 From: brunoais Date: Wed, 14 Oct 2015 18:53:46 +0100 Subject: [PATCH 018/242] Fixing the titles markup. The markup must be of same size of the text.... for some reason --- development/db/structuredConditionals.rst | 36 +++++++++++------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/development/db/structuredConditionals.rst b/development/db/structuredConditionals.rst index ef301f3d..33b8f5bd 100644 --- a/development/db/structuredConditionals.rst +++ b/development/db/structuredConditionals.rst @@ -1,9 +1,9 @@ -=========================== +============================ The boolean structure system -=========================== +============================ Intro -============= +===== This feature helps extension authors to edit SQL queries in an easy and quick way without the need to parse the SQL queries, most likely, using regex and complex text editing. Instead of a single string, this allows editing the WHERE clause in an SQL query by adding, removing and editing php arrays. Using this method, finding the portion of the query to edit @@ -14,27 +14,27 @@ This is not magic thought It will definitely reduce the probability of inter-inc Main use-case ideals -============= +==================== 1. To flexibly the build of the WHERE clause in SQL queries 2. To ease, simplify and prevent errors when doing SQL query editing by phpBB's extensions Why not... -============= +========== 1. Doctrine dbal -> The issue with Doctrine dbal is that its query builder is not ready for the 2nd major use case listed above. There is no way of altering an SQL query. If you want to alter something, you have to rebuild the whole SQL query. 2. Linq -> I didn't know the assistance of Linq until today. From what I searched, not only it has the same issue as Doctrine, while also its interface is unnecessarily complex for the common folk who just wants to change a small amount of information. The Data structure -============= +================== This builder uses a tree-like information organization for the boolean comparisons in SQL queries. Each node of such tree is a php array. Each node can have one of 3 formats: type1 -------- +----- The 1st type contains 3 elements: @@ -63,7 +63,7 @@ All of them are special because they call the dbal's methods to process the data For example, if you use the **IN** operator, it calls $db->sql_in_set() with the right hand data. type2 -------- +----- The 2nd type is variable length. It is identified by having the string 'AND', 'OR' or 'NOT' in the first position of the array. @@ -89,7 +89,7 @@ which outputs (after reindenting) type3 -------- +----- The 3rd type has 5 elements Left hand, operator, sub query operator, sub query SELECT type, the sub query. @@ -112,7 +112,7 @@ Essentially, what this does is that it will call sql_build_query() recursively w ) Why arrays? -============= +=========== The motivation to use arrays comes from the needs: @@ -122,7 +122,7 @@ The motivation to use arrays comes from the needs: 3. Editing arrays is a quite trivial task for any piece of code. Why not Objects? -------- +---------------- 1. Tranversing Objects forming a tree is **seriously slow** in php. 1.1. This wouldn't much be noticed on vanilla phpBB but, as you add extensions, it would easily be dead slow. @@ -135,7 +135,7 @@ Why not Objects? Mostly due to those reasons above arrays was decided as the medium. How to use -============= +========== This system is used when building queries using the db's sql_build_query() method. @@ -145,12 +145,12 @@ For the sake of the examples below, I will simulate an execution that exists in How to use in phpBB -============= +=================== In the ideal situation, all DB queries that may use multiple stages where SQL data is manipulated or changed should use this, specially if they also go through an event. Translate SQL to the structured conditional ----------- +------------------------------------------- Here's a step-by-step guide to transform a query made using a string into the format that this feature uses. Now imagine you want something like this (source: viewforum.php:277): @@ -264,7 +264,7 @@ Just for the last piece of code in this section, here's how the full SQL query s Modify the structured conditional in an extension ----------- +------------------------------------------------- One of the major reasons why this feature is designed in this very way is mostly because of what is exemplified in this section. Same as the sub-section above, I will present you practical example(s) on how to use this feature. Piking up the code above as an example: @@ -423,11 +423,11 @@ The short way is about as much as this: As a bonus, if what you write follows basic rules on how SQL is written, it is guaranteed that the output will be valid SQL. Usage examples -============= +============== Here I present code samples that exemplify how to use this system. In phpBB's code -------- +--------------- .. code-block:: php @@ -488,7 +488,7 @@ In phpBB's code In phpBB's extensions code -------- +-------------------------- .. code-block:: php From 752030d642e7a89897731b10758c4c2574db3d18 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Thu, 14 Jan 2016 00:35:11 +0100 Subject: [PATCH 019/242] Add basic file for upload class and add warnings to overview --- development/files/overview.rst | 14 +++++++++++--- development/files/upload.rst | 29 +++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 development/files/upload.rst diff --git a/development/files/overview.rst b/development/files/overview.rst index de198777..09a72cb1 100644 --- a/development/files/overview.rst +++ b/development/files/overview.rst @@ -7,6 +7,11 @@ These have been refactored and are based on the previously available filespec and fileupload classes. In addition to that, there is also a factory class which can be used for easy access to the files classes. +.. warning:: + The previously used file ``functions_upload.php`` no longer exists. + Instead, the newly added classes should be passed to your classes, + controllers, etc. using the container infrastructure. + Overview of available classes ============================= @@ -45,6 +50,11 @@ The files classes can easily be retrieved using the container: The filespec and upload classes are defined with the prototype scope. This results in the container returning a new instance of these classes every time one calls the get() method. +.. warning:: + If a class outside the prototype scope gets passed an instance of the upload or filespec class, + the class will always use the same instance. As a result of that, it is recommended to use the + factory for retrieving a new instance of the required class(es) during runtime. + Using the factory to retrieve the classes ========================================= @@ -68,6 +78,4 @@ Once the factory is available, the other class can be retrieved using the ``get( .. code-block:: php - $filespec = $files_factory->get('filespec'); - -The main classes ``filespec`` and ``upload`` do not need to be prefixed with ``files.``. + $filespec = $files_factory->get('files.filespec'); diff --git a/development/files/upload.rst b/development/files/upload.rst new file mode 100644 index 00000000..639eeb57 --- /dev/null +++ b/development/files/upload.rst @@ -0,0 +1,29 @@ +================ +The upload class +================ + +The newly introduced files ``upload`` class replaces the previously existing ``fileupload`` class. + +Passing settings to upload class +================================ + +In phpBB versions prior to 3.2, the settings like maximaum image dimensions were +passed to the ``fileupload`` class via the constructor. Since these are now retrieved via the container +infrastructure, this is no longer possible. Instead, the new ``upload`` class incorporates several +methods for easily setting the necessary upload requirements: + +- ``set_allowed_extensions($allowed_extensions)`` +- ``set_allowed_dimensions($min_width, $min_height, $max_width, $max_height)`` +- ``set_max_filesize($max_filesize)`` +- ``set_disallowed_content($disallowed_content)`` +- ``set_error_prefix($error_prefix)`` + +Each of these methods return the instance of the ``upload`` class allowing for chained calls: + +.. code-block:: php + + $upload->set_allowed_extensions(array('png', 'jpg')) + ->set_allowed_dimensions(20, 20, 90, 90) + ->set_max_filesize(65536) + ->set_error_prefix('AVATAR_'); + From cf78ba81648103ce2ff00a67933e819b89d679bd Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Thu, 14 Jan 2016 10:25:14 +0100 Subject: [PATCH 020/242] Add instructions on how to use upload class and convert fileupload --- development/files/upload.rst | 60 +++++++++++++++++++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) diff --git a/development/files/upload.rst b/development/files/upload.rst index 639eeb57..26888bcb 100644 --- a/development/files/upload.rst +++ b/development/files/upload.rst @@ -18,7 +18,7 @@ methods for easily setting the necessary upload requirements: - ``set_disallowed_content($disallowed_content)`` - ``set_error_prefix($error_prefix)`` -Each of these methods return the instance of the ``upload`` class allowing for chained calls: +Each of these methods returns the current instance of the ``upload`` class allowing for chained calls: .. code-block:: php @@ -27,3 +27,61 @@ Each of these methods return the instance of the ``upload`` class allowing for c ->set_max_filesize(65536) ->set_error_prefix('AVATAR_'); +Uploading files +=============== + +The previously existing ``form_upload()``, ``remote_upload``, and ``local_upload`` methods no longer exist. Instead, the ``upload`` class now contains the ``handle_upload`` method. + +.. code-block:: php + + $files_upload->handle_upload('files.type.local', $source_file, $filedata); + +The method expects the upload type as the first argument. Types that are available by default are + +- ``files.types.form`` +- ``files.types.local`` +- ``files.types.remote`` + +Extensions can of course add new upload types and use them provided that they implement ``phpbb\files\types\type_interface``. +Any arguments after the type will passed on to the upload type class. These have to implement the upload method and retrieve the passed arguments with ``func_get_args()``. + +Converting uses of ``fileupload`` class +======================================= + +It is recommended to use the ``files`` factory for retrieving the ``files`` classes. In this example we will +however use the phpBB container. + +In phpBB 3.1, the basic use of the ``fileupload`` class looked as follows: + +.. code-block:: php + + include_once($phpbb_root_path . 'includes/functions_upload.' . $phpEx); + $upload = new fileupload(); + $upload->set_disallowed_content(array()); + $extensions = $cache->obtain_attach_extensions((($is_message) ? false : (int) $forum_id)); + $upload->set_allowed_extensions(array_keys($extensions['_allowed_'])); + $file = ($local) ? $upload->local_upload($local_storage, $local_filedata, $mimetype_guesser) : $upload->form_upload($form_name, $mimetype_guesser, $plupload); + +As of phpBB 3.2, this is changed to: + +.. code-block:: php + + $upload = $phpbb_container->get('files.upload'); + $upload->set_disallowed_content(array()); + $extensions = $cache->obtain_attach_extensions((($is_message) ? false : (int) $forum_id)); + $upload->set_allowed_extensions(array_keys($extensions['_allowed_'])); + $file = ($local) ? $upload->handle_upload('files.types.local', '$local_storage, $local_filedata) : $upload->handle_upload('files.types.form', $form_name); + +.. note:: + Services like ``phpbb\mimetype\guesser`` and ``phpbb\plupload\plupload`` are no longer passed to the upload methods. + + +The calls can of course also be chained: + +.. code-block:: php + + $extensions = $cache->obtain_attach_extensions((($is_message) ? false : (int) $forum_id)); + $file = $phpbb_container->get('files.upload') + ->set_disallowed_content(array()) + ->set_allowed_extensions(array_keys($extensions['_allowed_'])) + ->handle_upload('files.types.local', '$local_storage, $local_filedata); From ceec95b7d34c96d2be042379b719a22aa49d4462 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Thu, 14 Jan 2016 10:26:00 +0100 Subject: [PATCH 021/242] Add upload class to index --- development/files/index.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/development/files/index.rst b/development/files/index.rst index a8ce9a1f..bdd8b6f1 100644 --- a/development/files/index.rst +++ b/development/files/index.rst @@ -5,3 +5,4 @@ File uploads :maxdepth: 2 overview + upload From 02b05c317cfb45a5f0fe0fb4fc01efc53bdfd33a Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Thu, 14 Jan 2016 12:21:57 +0100 Subject: [PATCH 022/242] Add instructions on how to convert direct pass of settings to constructor --- development/files/upload.rst | 48 +++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/development/files/upload.rst b/development/files/upload.rst index 26888bcb..b23b37a6 100644 --- a/development/files/upload.rst +++ b/development/files/upload.rst @@ -51,6 +51,9 @@ Converting uses of ``fileupload`` class It is recommended to use the ``files`` factory for retrieving the ``files`` classes. In this example we will however use the phpBB container. +Empty constructor +***************** + In phpBB 3.1, the basic use of the ``fileupload`` class looked as follows: .. code-block:: php @@ -73,6 +76,7 @@ As of phpBB 3.2, this is changed to: $file = ($local) ? $upload->handle_upload('files.types.local', '$local_storage, $local_filedata) : $upload->handle_upload('files.types.form', $form_name); .. note:: + Services like ``phpbb\mimetype\guesser`` and ``phpbb\plupload\plupload`` are no longer passed to the upload methods. @@ -84,4 +88,46 @@ The calls can of course also be chained: $file = $phpbb_container->get('files.upload') ->set_disallowed_content(array()) ->set_allowed_extensions(array_keys($extensions['_allowed_'])) - ->handle_upload('files.types.local', '$local_storage, $local_filedata); + ->handle_upload('files.types.local', $local_storage, $local_filedata); + +Settings passed to constructor +****************************** + +phpBB 3.1 also allowed passing the settings directly to the constructor of the ``fileupload`` class: + +.. code-block:: php + + $upload = new fileupload( + $error_prefix, + $allowed_extensions, + $max_filesize, + $min_width, + $min_height, + $max_width, + $max_height, + $disallowed_content + ); + +Since the ``upload`` class is retrieved with the container or the factory, passing these settings to the +constructor is no longer possible. Instead, these should be passed with the accompanying ``set_`` methods: + +.. code-block:: php + + $upload = $files_factory->get('files.upload') + ->set_error_prefix($error_prefix) + ->set_allowed_extensions($allowed_extensions) + ->set_max_filesize($max_filesize) + ->set_allowed_dimensions($min_width, $min_height, $max_width, $max_height) + ->set_disallowed_content($disallowed_content); + +This can also be chained to directly call the ``handle_upload()`` method: + +.. code-block:: php + + $upload = $files_factory->get('files.upload') + ->set_error_prefix($error_prefix) + ->set_allowed_extensions($allowed_extensions) + ->set_max_filesize($max_filesize) + ->set_allowed_dimensions($min_width, $min_height, $max_width, $max_height) + ->set_disallowed_content($disallowed_content) + ->handle_upload('files.types.local', $local_storage, $local_filedata); From 7d3ce3b3b4890083fd1a7fdd681395c916e6fce0 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Thu, 14 Jan 2016 15:33:46 +0100 Subject: [PATCH 023/242] Add documentation for filespec and improve doc of upload class --- development/files/filespec.rst | 69 ++++++++++++++++++++++++++++++++++ development/files/index.rst | 1 + development/files/upload.rst | 37 +++++++++++++++++- 3 files changed, 105 insertions(+), 2 deletions(-) create mode 100644 development/files/filespec.rst diff --git a/development/files/filespec.rst b/development/files/filespec.rst new file mode 100644 index 00000000..15334fe4 --- /dev/null +++ b/development/files/filespec.rst @@ -0,0 +1,69 @@ +================== +The filespec class +================== + +The newly introduced files ``filespec`` class replaces the previously existing ``filespec`` class. + +Passing settings to filespec class +================================== + +In phpBB versions prior to 3.2, the ``$upload_ary`` and ``$upload_namespace`` were +passed to the ``filespec`` class via the constructor. Since these are now retrieved via the container +infrastructure, this is no longer possible. Instead, the new ``filespec`` class incorporates 2 +methods for easily setting the necessary data: + +- ``set_upload_ary($upload_ary)`` +- ``set_upload_namespace($namespace)`` + +Each of these methods returns the current instance of the ``filespec`` class allowing for chained calls: + +.. code-block:: php + + $filespec->set_upload_ary($upload_ary) + ->set_upload_namespace($namespace); + +Retrieving property values +========================== + +Values of ``filespec`` properties can easily be retrieved with the ``get()`` method. +Simply pass the name of the property to retrieve and it will returns its value. + +.. code-block:: php + + $filename = $filespec->get('filename'); + +.. note:: + + ``get()`` will return false if the specified property does not exist or if the class was not properly initialized. + +Clean file name +=============== + +``filespec`` supports several ways of cleaning the filename depending on the specified mode. +Possible modes are: + +- avatar + Builds name based on specified prefix and ID +- real + Creates a lowercase name and removes some possibly troublesome characters +- unique + Creates unique filename without extension +- unique_ext + Creates unique filename with extension + +Move file to location +===================== + +It is possible to move the uploaded file to a specified location with the ``move_file()`` method. + +.. code-block:: php + + move_file($destination, $overwrite = false, $skip_image_check = false, $chmod = false) + +``$destination``: Path to move file to + +``$overwrite``: Whether existing files should be overwritten + +``$skip_image_check``: Whether to skip if the image is valid + +``$chmod``: Permission mask file should be set to with ``chmod()`` diff --git a/development/files/index.rst b/development/files/index.rst index bdd8b6f1..bc8e92b9 100644 --- a/development/files/index.rst +++ b/development/files/index.rst @@ -5,4 +5,5 @@ File uploads :maxdepth: 2 overview + filespec upload diff --git a/development/files/upload.rst b/development/files/upload.rst index b23b37a6..06b7fba6 100644 --- a/development/files/upload.rst +++ b/development/files/upload.rst @@ -7,8 +7,8 @@ The newly introduced files ``upload`` class replaces the previously existing ``f Passing settings to upload class ================================ -In phpBB versions prior to 3.2, the settings like maximaum image dimensions were -passed to the ``fileupload`` class via the constructor. Since these are now retrieved via the container +In phpBB versions prior to 3.2, the settings like maximum image dimensions could be passed directly +to the ``fileupload`` class via the constructor. Since these are now retrieved via the container infrastructure, this is no longer possible. Instead, the new ``upload`` class incorporates several methods for easily setting the necessary upload requirements: @@ -131,3 +131,36 @@ This can also be chained to directly call the ``handle_upload()`` method: ->set_allowed_dimensions($min_width, $min_height, $max_width, $max_height) ->set_disallowed_content($disallowed_content) ->handle_upload('files.types.local', $local_storage, $local_filedata); + +Reset settings +============== + +The settings like maximum file size, allowed dimensions, and error prefix can easily be reset using the +``reset_vars()`` method. + +Perform common checks on upload +=============================== + +The ``common_checks()`` method can be used to perform common checks on the ``filespec`` object returned +by the ``handle_upload()`` method. These include checks for the file size of the uploaded file, the file's +name and extension, and disallowed file content. +This can be performed by simply passing the ``filespec`` object: + +.. code-block:: php + + $upload->common_checks($filespec); + +.. note:: + + ``common_checks()`` does not have a function return. Instead, please check the ``$filespec->error``` + property after running ``common_checks()`` + +Check form for validity +======================= + +One can check if a form is valid for file uploads by simply passing the form name to the ``is_valid()`` method. +It will return true on valid forms and false if the form does not exist or contains invalid content. + +.. code-block:: php + + $valid_form = $upload->is_valid('acme_form'); From 9059ffe93bbb9b3767414a499e5be4dbdb4bb5bf Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Tue, 19 Jan 2016 10:39:33 +0100 Subject: [PATCH 024/242] Add single quotes to yaml example --- development/files/overview.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/files/overview.rst b/development/files/overview.rst index 09a72cb1..d8e21963 100644 --- a/development/files/overview.rst +++ b/development/files/overview.rst @@ -66,7 +66,7 @@ It can be passed as a service to a class: myclass: class: some\namespace\myclass arguments: - - @files.factory + - '@files.factory' Of course, the class can also be instantiated manually: From 0ca90cd84cddc88dbcb14574d79e88f9780b39f4 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 17 Apr 2016 15:12:29 +0200 Subject: [PATCH 025/242] Remove extra quote --- development/files/upload.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/files/upload.rst b/development/files/upload.rst index 06b7fba6..1279fa2c 100644 --- a/development/files/upload.rst +++ b/development/files/upload.rst @@ -73,7 +73,7 @@ As of phpBB 3.2, this is changed to: $upload->set_disallowed_content(array()); $extensions = $cache->obtain_attach_extensions((($is_message) ? false : (int) $forum_id)); $upload->set_allowed_extensions(array_keys($extensions['_allowed_'])); - $file = ($local) ? $upload->handle_upload('files.types.local', '$local_storage, $local_filedata) : $upload->handle_upload('files.types.form', $form_name); + $file = ($local) ? $upload->handle_upload('files.types.local', $local_storage, $local_filedata) : $upload->handle_upload('files.types.form', $form_name); .. note:: From 19d8aa502b8e648b439554fb77554a829bf31a56 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 5 Jun 2016 00:26:50 +0200 Subject: [PATCH 026/242] Minor corrections to files documentation Removed extra accent mark and state clean_filename() method. --- development/files/filespec.rst | 3 ++- development/files/overview.rst | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/development/files/filespec.rst b/development/files/filespec.rst index 15334fe4..24e2c2cf 100644 --- a/development/files/filespec.rst +++ b/development/files/filespec.rst @@ -39,7 +39,8 @@ Simply pass the name of the property to retrieve and it will returns its value. Clean file name =============== -``filespec`` supports several ways of cleaning the filename depending on the specified mode. +``filespec`` supports several ways of cleaning the filename depending on the specified mode with +the ``clean_filename()`` method. Possible modes are: - avatar diff --git a/development/files/overview.rst b/development/files/overview.rst index d8e21963..214ca96c 100644 --- a/development/files/overview.rst +++ b/development/files/overview.rst @@ -24,7 +24,7 @@ themselves. filespec ******** -``\phpbb\files\filespec``` +``\phpbb\files\filespec`` Responsible for holding all file relevant information, as well as doing file-specific operations. From 6012d66373d4b554a9a849f4d3c48fcb55b3dce5 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 5 Jun 2016 10:52:50 +0200 Subject: [PATCH 027/242] Update references to 3.1 and Ascraeus to 3.2 and Rhea --- development/conf.py | 4 +- development/development/coding_guidelines.rst | 1 + development/extensions/tutorial_basics.rst | 14 +++---- development/extensions/tutorial_testing.rst | 10 ++--- development/testing/functional_testing.rst | 4 +- development/testing/unit_testing.rst | 2 +- .../content/en/chapters/admin_guide.xml | 38 +++++++++---------- .../content/en/chapters/glossary.xml | 10 ++--- .../content/en/chapters/moderator_guide.xml | 2 +- .../content/en/chapters/quick_start_guide.xml | 24 ++++++------ .../content/en/chapters/user_guide.xml | 8 ++-- documentation/create_docs.sh | 4 +- documentation/create_pdf.bat | 4 +- documentation/create_pdf.sh | 4 +- .../{ascraeus_doc.xml => rhea_doc.xml} | 4 +- documentation/style.css | 2 +- .../xsl/{ascraeus_pdf.xsl => rhea_pdf.xsl} | 0 .../xsl/{ascraeus_php.xsl => rhea_php.xsl} | 2 +- ...subsection.xsl => rhea_php_subsection.xsl} | 2 +- ...pbb_dot_com.xsl => rhea_phpbb_dot_com.xsl} | 4 +- .../{ascraeus_xhtml.xsl => rhea_xhtml.xsl} | 0 readme.md | 2 +- 22 files changed, 72 insertions(+), 73 deletions(-) rename documentation/{ascraeus_doc.xml => rhea_doc.xml} (89%) rename documentation/xsl/{ascraeus_pdf.xsl => rhea_pdf.xsl} (100%) rename documentation/xsl/{ascraeus_php.xsl => rhea_php.xsl} (99%) rename documentation/xsl/{ascraeus_php_subsection.xsl => rhea_php_subsection.xsl} (99%) rename documentation/xsl/{ascraeus_phpbb_dot_com.xsl => rhea_phpbb_dot_com.xsl} (99%) rename documentation/xsl/{ascraeus_xhtml.xsl => rhea_xhtml.xsl} (100%) diff --git a/development/conf.py b/development/conf.py index f1c9c8e6..23818242 100644 --- a/development/conf.py +++ b/development/conf.py @@ -56,9 +56,9 @@ # built documents. # # The short X.Y version. -version = '3.1' +version = '3.2' # The full version, including alpha/beta/rc tags. -release = '3.1.4' +release = '3.2.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/development/development/coding_guidelines.rst b/development/development/coding_guidelines.rst index daa8ca60..75d131a7 100644 --- a/development/development/coding_guidelines.rst +++ b/development/development/coding_guidelines.rst @@ -7,6 +7,7 @@ latest versions on area51: * Rules for `Olympus (3.0.x) code `_ * Rules for `Ascraeus (3.1.x) code `_ +* Rules for `Rhea (3.2.x) code `_ These documents are automatically updated when changes are made to them. diff --git a/development/extensions/tutorial_basics.rst b/development/extensions/tutorial_basics.rst index ab6c4642..f0e9acfd 100644 --- a/development/extensions/tutorial_basics.rst +++ b/development/extensions/tutorial_basics.rst @@ -48,7 +48,7 @@ look at the complete file: { "name": "acme/demo", "type": "phpbb-extension", - "description": "Acme Demo Extension for phpBB 3.1", + "description": "Acme Demo Extension for phpBB 3.2", "homepage": "https://github.com/nickvergessen/phpbb-ext-acme-demo", "version": "0.1.0", "time": "2013-11-05", @@ -60,7 +60,7 @@ look at the complete file: "role": "Lead Developer" }], "require": { - "php": ">=5.3.3", + "php": ">=5.4.0", "composer/installers": "~1.0" }, "require-dev": { @@ -69,7 +69,7 @@ look at the complete file: "extra": { "display-name": "Acme Demo Extension", "soft-require": { - "phpbb/phpbb": "~3.1" + "phpbb/phpbb": "~3.2" } } } @@ -124,8 +124,8 @@ extension. Examples are the ``php`` version, or `third party libraries `_. Since our demo extension does not require any additional library, we only use the PHP version requirement, to make sure people have the right PHP version on their server, and composer -installers for some internal handling. phpBB 3.1 requires PHP 5.3.3 or higher, -so the version comparison is ``>= 5.3.3``. +installers for some internal handling. phpBB 3.2 requires PHP 5.4.0 or higher, +so the version comparison is ``>= 5.4.0``. require-dev ----------- @@ -154,8 +154,8 @@ in this array for extensions: difference is that composer does not know that these requirements exist. This allows us, for example, to compare the phpBB version, although there might not be a phpBB package with the specified version. In this case we - require any 3.1 version. This can be done, by prefixing it with a ``~``: - ``""phpbb/phpbb"": ""~3.1""``" + require any 3.2 version. This can be done, by prefixing it with a ``~``: + ``""phpbb/phpbb"": ""~3.2""``" Enable extension ================ diff --git a/development/extensions/tutorial_testing.rst b/development/extensions/tutorial_testing.rst index e3a2c446..906b30d2 100644 --- a/development/extensions/tutorial_testing.rst +++ b/development/extensions/tutorial_testing.rst @@ -808,10 +808,6 @@ first file is the ``.travis.yml`` file: matrix: include: - - php: 5.3.3 - env: DB=mysqli - - php: 5.3 - env: DB=mysqli # MyISAM - php: 5.4 env: DB=mysqli - php: 5.4 @@ -826,6 +822,8 @@ first file is the ``.travis.yml`` file: env: DB=mysqli - php: 5.6 env: DB=mysqli + - php: 7.0 + env: DB=mysqli - php: hhvm env: DB=mysqli allow_failures: @@ -838,7 +836,7 @@ first file is the ``.travis.yml`` file: - SNIFF="1" # Should we run code sniffer on your code? - IMAGE_ICC="1" # Should we run icc profile sniffer on your images? - EPV="1" # Should we run EPV (Extension Pre Validator) on your code? - - PHPBB_BRANCH="3.1.x" + - PHPBB_BRANCH="3.2.x" branches: only: @@ -874,7 +872,7 @@ first file is the ``.travis.yml`` file: - SNIFF="1" # Should we run code sniffer on your code? - IMAGE_ICC="1" # Should we run icc profile sniffer on your images? - EPV="1" # Should we run EPV (Extension Pre Validator) on your code? - - PHPBB_BRANCH="3.1.x" + - PHPBB_BRANCH="3.2.x" Preparing phpBB --------------- diff --git a/development/testing/functional_testing.rst b/development/testing/functional_testing.rst index 50da90eb..d88ca420 100644 --- a/development/testing/functional_testing.rst +++ b/development/testing/functional_testing.rst @@ -100,7 +100,7 @@ class. This method will assign the user's SID to the inherited class property ``$this->sid``. You will need to append this to the URLs that the logged-in user will be navigating to in order to hold the session. For usage examples, view the logout test in -`tests/functional/auth_test.php `_. +`tests/functional/auth_test.php `_. Localisation ------------ @@ -129,4 +129,4 @@ framework. } For more usage examples, please view -`tests/functional/lang_test.php `_. +`tests/functional/lang_test.php `_. diff --git a/development/testing/unit_testing.rst b/development/testing/unit_testing.rst index 5041eaeb..a3044a2c 100644 --- a/development/testing/unit_testing.rst +++ b/development/testing/unit_testing.rst @@ -12,7 +12,7 @@ Running Unit Tests ================== Information on how to run tests is available in the GitHub repository at -``_. You +``_. You can switch the branch to check instructions for a specific version of phpBB. Writing Unit Tests diff --git a/documentation/content/en/chapters/admin_guide.xml b/documentation/content/en/chapters/admin_guide.xml index 24059fd1..095af289 100644 --- a/documentation/content/en/chapters/admin_guide.xml +++ b/documentation/content/en/chapters/admin_guide.xml @@ -12,7 +12,7 @@ Administration Guide - This chapter describes the phpBB 3.1 admin controls. + This chapter describes the phpBB 3.2 admin controls.
@@ -23,7 +23,7 @@ The Administration Control Panel - Even more so than its predecessor, phpBB 3.1 "Ascraeus" is highly configurable. You can tune, adjust, or turn off almost all features. To make this load of settings as accessible as possible, we redesigned the Administration Control Panel (ACP) completely. + Even more so than its predecessor, phpBB 3.2 "Rhea" is highly configurable. You can tune, adjust, or turn off almost all features. To make this load of settings as accessible as possible, we redesigned the Administration Control Panel (ACP) completely. Click on the Administration Control Panel link on the bottom of the default forum style to visit the ACP. The ACP has seven different sections by default with each containing a number of subsections. We will discuss each section in this Admin Guide. @@ -71,7 +71,7 @@ Attachment Settings - One of the many features in phpBB 3.1 is Attachments. Attachments are files that can be attached to posts, like e-mail attachments. Certain restrictions, set by the board administrator, control what users can attach. You can set these restrictions via the Attachment Settings page. + One of the many features in phpBB 3.2 is Attachments. Attachments are files that can be attached to posts, like e-mail attachments. Certain restrictions, set by the board administrator, control what users can attach. You can set these restrictions via the Attachment Settings page. For more information, see the section on configuring your board's attachment settings.
@@ -150,7 +150,7 @@ Private Messaging Private Messages are a way for registered members to communicate privately through your board without the need to fall back to e-mail or instant messaging. You can disable this feature with the Private Messaging setting. This will keep the feature turned off for the whole board. You can disable private messages for selected users or groups with Permissions. Please see the Permissions section for more information. - Ascraeus allows users to create own personal folders to organise Private Messages. The Maximum private message folders setting defines the number of message folders they can create. The default value is 4. You can disable the feature with setting value to 0. + Rhea allows users to create own personal folders to organise Private Messages. The Maximum private message folders setting defines the number of message folders they can create. The default value is 4. You can disable the feature with setting value to 0. Max Private Messages Per Box sets the number of Private Messages each folder can contain. The default value is 50, Set it to 0 to allow unlimited messages per folder. If you limit the number of messages users can store in their folders, you need to define a default action that is taken once a folder is full. This can be changed in the "Full Folder Default Action" list. The oldest message gets deleted or the new message will be held back until the folder has place for it. Note that users will be able to choose this for themselves in their PM options and this setting only changes the default value they face. This will not override the action a user chosen. When sending a private message, it is still possible to edit the message until the recipient reads it. After a sent private message has been read, editing the message is no longer possible. To limit the time a message can be edited before the recipient reads it, you can set the Limit Editing Time. The default value is 0, which allows editing until the message is read. Note that you can disallow users or groups to edit Private Messages after sending through Permissions. If the permission to edit messages is denied, it will override this setting. @@ -183,7 +183,7 @@ Spambot Countermeasures - phpBB 3.1 uses a plugin system to allow easy switching between different spambot countermeasures. Available plugins are automatically loaded from the includes/captcha/plugins directory in your installation. + phpBB 3.2 uses a plugin system to allow easy switching between different spambot countermeasures. Available plugins are automatically loaded from the includes/captcha/plugins directory in your installation. phpBB ships with these plugins installed: GD 3D image: a graphical CAPTCHA using 3D characters on a wave. @@ -711,7 +711,7 @@ Explanation of forum types - In phpBB 3.1, there are three forum types. A forum can be a normal forum where people can post in, a category that contains forums, or it can be a simple link. + In phpBB 3.2, there are three forum types. A forum can be a normal forum where people can post in, a category that contains forums, or it can be a simple link. Forum @@ -742,7 +742,7 @@ Subforums - One of the features in phpBB 3.1 is subforums. Especially bulletin boards with a high number of forums will benefit from this. In the simple flat category and forum approach in phpBB 2.0, all forums and categories were listed on the forum index. In Ascraeus you can now put as many forums, links, or categories as you like inside other forums. + One of the features in phpBB 3.2 is subforums. Especially bulletin boards with a high number of forums will benefit from this. In the simple flat category and forum approach in phpBB 2.0, all forums and categories were listed on the forum index. In Rhea you can now put as many forums, links, or categories as you like inside other forums. If you have a forum about pets for instance, you are able to put subforums for cats, dogs, or guinea pigs inside it without making the parent "Pets" forum a category. In this example, only the "Pets" forum will be listed on the index like a normal forum. Its subforums will appear as simple links below the forum description (unless you disabled this). @@ -818,7 +818,7 @@ BBCodes - BBCodes are a special way of formatting posts, similar to HTML. phpBB 3.1 allows you to create your own BBCodes very easily. On this page, you can see the custom BBCodes that currently exist. + BBCodes are a special way of formatting posts, similar to HTML. phpBB 3.2 allows you to create your own BBCodes very easily. On this page, you can see the custom BBCodes that currently exist. Adding a BBCode is very easy. If done right, allowing users to use your new BBCode may be safer than allowing them to use HTML code. To add a BBCode, click Add a new BBCode to begin. There are four main things to consider when adding a BBCode: how you want your users to use the BBCode, what HTML code the BBcode will actually use (the users will not see this), what short info message you want for the BBCode, and whether or not you want a button for the new BBCode to be displayed on the posting screen. Once you are done configuring all of the custom BBCode settings, click Submit to add your new BBCode.
@@ -936,12 +936,12 @@ General options - Allow sending of private messages to multiple users and groups: In phpBB 3.1, it is possible to send a private message to more than user. To allow this, select Yes. + Allow sending of private messages to multiple users and groups: In phpBB 3.2, it is possible to send a private message to more than user. To allow this, select Yes. Allow BBCode in private messages: Select Yes to allow BBCode to be used in private messages. Allow smilies in private messages: Select Yes to allow smilies to be used in private messages. Allow attachments in private messages: Select Yes to allow attachments to be used in private messages. Allow signature in private messages: Select Yes to let your users include their signature in their private messages. - Allow print view in private messages: Another new feature in phpBB 3.1 is a printer-friendly view. Select Yes to allow your users to view any of their PMs in print view. + Allow print view in private messages: Another new feature in phpBB 3.2 is a printer-friendly view. Select Yes to allow your users to view any of their PMs in print view. Allow forwarding in private messages: Select Yes to allow your users to forward private messages. Allow use of [img] BBCode tag: Select Yes if you want your users to be able to post inline images in their private messages. Allow use of [flash] BBCode tag: Select Yes if you want your users to be able to post inline Macromedia Flash objects in their private messages. @@ -1758,7 +1758,7 @@ Group Management - Usergroups are a way of grouping users. This makes it easier to set permissions to many people at the same time. phpBB 3.1 has six pre-defined groups: Administrators, Bots, Global Moderators, Guests, Registered Users, and Registered COPPA Users. + Usergroups are a way of grouping users. This makes it easier to set permissions to many people at the same time. phpBB 3.2 has six pre-defined groups: Administrators, Bots, Global Moderators, Guests, Registered Users, and Registered COPPA Users.
@@ -1781,7 +1781,7 @@ Pre-defined groups - These are groups that are available by default in phpBB 3.1. You cannot delete them, as the board needs them for various features. You can still change their attributes (description, colour, rank, avatar, and so forth) and group leaders. Users that register to your board are automatically added to the predefined group "Registered Users", for instance. Do not try to remove them manually through the database, or your board will no longer function properly. + These are groups that are available by default in phpBB 3.2. You cannot delete them, as the board needs them for various features. You can still change their attributes (description, colour, rank, avatar, and so forth) and group leaders. Users that register to your board are automatically added to the predefined group "Registered Users", for instance. Do not try to remove them manually through the database, or your board will no longer function properly. @@ -1791,7 +1791,7 @@ Bots - This usergroup is meant for search engine bots. phpBB 3.1 has the ability to overcome the common problems that search engine spiders encounter when spidering your board. For more information on managing settings for each bot, see the Spiders and Bots section. + This usergroup is meant for search engine bots. phpBB 3.2 has the ability to overcome the common problems that search engine spiders encounter when spidering your board. For more information on managing settings for each bot, see the Spiders and Bots section. @@ -1903,7 +1903,7 @@ Permissions - On your board, you will need to control what users can and cannot do, and what they can and cannot see. With the flexible and detailed system that Ascraeus provides, you have an extensive ability to manage permissions. There are five types of permissions in phpBB3: + On your board, you will need to control what users can and cannot do, and what they can and cannot see. With the flexible and detailed system that Rhea provides, you have an extensive ability to manage permissions. There are five types of permissions in phpBB3: Global User permissions Global Moderator permissions @@ -2184,7 +2184,7 @@
Customise - phpBB 3.1 allows you to customise its appearance and interactions in several ways: + phpBB 3.2 allows you to customise its appearance and interactions in several ways: Styles @@ -2235,7 +2235,7 @@ Creating a style is not an easy task and it takes quite a lot of time. Skilled designers from the phpBB community create styles that are available publicly and anyone can download them. This is a good place to start if you want to download and install a new style and you cannot afford to create your own, for any possible reason. The first place where you should stop is the Styles section on phpBB.com, you will find a list of useful links for places like the: - Styles Demo + Styles Demo The styles demo allows you to display each style on a live forum and see how each part of the board looks like using the specified style. You can browse through the styles until you find one that suits you and/or your board. The styles demo provides links to download the style and see its entry in the styles database. @@ -2342,7 +2342,7 @@ Board Maintenance - Running a phpBB 3.1 board is a very important job that is up to the administrator(s). Maintaining the board to make sure it runs as cleanly and properly as possible is the administrator's job. + Running a phpBB 3.2 board is a very important job that is up to the administrator(s). Maintaining the board to make sure it runs as cleanly and properly as possible is the administrator's job. Board Maintenance is a section in the ACP that allows you to keep track of internal phpBB information, such as logs, as well as maintaining your database (which holds your phpBB-related data), such as backing up and restoring data. @@ -2439,7 +2439,7 @@ Search Indexing - phpBB 3.1 provides you with a powerful search system which can be used to search throughout your board. The main controls for the search features are located in the Search settings section. Here you can manage the search index, which is used to hold the data necessary for quick and precise search results, it's something like an giant table of contents. By default, two search backends are available - fulltext native, which is included in the phpBB code and works on all DBMSs, and fulltext mysql, which uses the built-in MySQL fulltext searching feature. The first one offers more flexible configuration, while the second one doesn't take too much space in the database and the index is created much faster. + phpBB 3.2 provides you with a powerful search system which can be used to search throughout your board. The main controls for the search features are located in the Search settings section. Here you can manage the search index, which is used to hold the data necessary for quick and precise search results, it's something like an giant table of contents. By default, two search backends are available - fulltext native, which is included in the phpBB code and works on all DBMSs, and fulltext mysql, which uses the built-in MySQL fulltext searching feature. The first one offers more flexible configuration, while the second one doesn't take too much space in the database and the index is created much faster. Creating a search index can take a very long time, a new window will pop up and refresh itself while creating the necessary search table entries. Please be patient, the process can take several hours on large boards. @@ -2489,7 +2489,7 @@ Checking for updates - The phpBB 3.1.x branch is usually updated every couple of months as necessary. Bugfixes, new features and other changes are included in these updates. The minor version number gets incremented each time. It is strongly recommended to keep your phpBB installation up to date. Updating from older versions is more difficult and you will have a hard time finding solutions to possible conflicts. You can update with the Automatic Update Package, which is able to merge modifications from MODs with the updates or you can use one of the other packages provided. + The phpBB 3.2.x branch is usually updated every couple of months as necessary. Bugfixes, new features and other changes are included in these updates. The minor version number gets incremented each time. It is strongly recommended to keep your phpBB installation up to date. Updating from older versions is more difficult and you will have a hard time finding solutions to possible conflicts. You can update with the Automatic Update Package, which is able to merge modifications from MODs with the updates or you can use one of the other packages provided. You will be notified in your ACP if a new version is released, you will also have a link to the newest release announcement, which will brief you on the added features and the overall changelog. Updating with the Automatic Update Package is very simple. First, you will go to the linked phpBB.com downloads page and download the appropriate file. You will extract the contents on your PC and upload them to the root directory of your board. The board will be offline for normal users for the moment. Then simply go to the install/ directory and select the Update tab, the updater will then give you further instructions.
diff --git a/documentation/content/en/chapters/glossary.xml b/documentation/content/en/chapters/glossary.xml index 56a8ffa1..a06134cd 100644 --- a/documentation/content/en/chapters/glossary.xml +++ b/documentation/content/en/chapters/glossary.xml @@ -122,21 +122,21 @@ Database - A database is a collection stored in a structured, organized manner (with different tables, rows, and columns, etc.). Databases provide a fast and flexible way of storing data, instead of the other commonly used data storage system of flat files where data is stored in a file. phpBB 3.1 supports a number of different DBMSs and uses the database to store information such as user details, posts, and categories. Data stored in a database can usually be backed up and restored easily. + A database is a collection stored in a structured, organized manner (with different tables, rows, and columns, etc.). Databases provide a fast and flexible way of storing data, instead of the other commonly used data storage system of flat files where data is stored in a file. phpBB 3.2 supports a number of different DBMSs and uses the database to store information such as user details, posts, and categories. Data stored in a database can usually be backed up and restored easily. DBAL - DBAL, or "Database Abstraction Layer", is a system that allows phpBB 3.1 to access many different DBMSs with little overhead. All code made for phpBB (including MODs) need to use the phpBB DBAL for compatibility and performance purposes. + DBAL, or "Database Abstraction Layer", is a system that allows phpBB 3.2 to access many different DBMSs with little overhead. All code made for phpBB (including MODs) need to use the phpBB DBAL for compatibility and performance purposes. DBMS - A DBMS, or "Database Management System", is a system or software designed to manage a database. phpBB 3.1 supports the following DBMSs: Microsoft SQL Server, MySQL, Oracle, postgreSQL, and SQLite. + A DBMS, or "Database Management System", is a system or software designed to manage a database. phpBB 3.2 supports the following DBMSs: Microsoft SQL Server, MySQL, Oracle, postgreSQL, and SQLite. @@ -301,7 +301,7 @@ Template - A template is what controls the layout of a style. phpBB 3.1 template files have the .html file extension. These template files contain mostly HTML (no PHP, however), with some variables that phpBB uses (contained in braces: { and }). + A template is what controls the layout of a style. phpBB 3.2 template files have the .html file extension. These template files contain mostly HTML (no PHP, however), with some variables that phpBB uses (contained in braces: { and }). @@ -329,7 +329,7 @@ Usergroup - Usergroups are a way of grouping users. This makes it easier to set permissions to many people at the same time (e.g. create a moderator group and give it moderating permissions to a certain forum instead of giving lots of individual people moderating permissions separately). A usergroup has a usergroup moderator (a leader, essentially), who has the ability to add or delete users from the group. Usergroups can be set to hidden, closed or open. If a usergroup is open, users can try requesting membership via the proper page within the group control panel. phpBB 3.1 has six pre-defined usergroups. + Usergroups are a way of grouping users. This makes it easier to set permissions to many people at the same time (e.g. create a moderator group and give it moderating permissions to a certain forum instead of giving lots of individual people moderating permissions separately). A usergroup has a usergroup moderator (a leader, essentially), who has the ability to add or delete users from the group. Usergroups can be set to hidden, closed or open. If a usergroup is open, users can try requesting membership via the proper page within the group control panel. phpBB 3.2 has six pre-defined usergroups. diff --git a/documentation/content/en/chapters/moderator_guide.xml b/documentation/content/en/chapters/moderator_guide.xml index fe08e4dc..ce4f8471 100644 --- a/documentation/content/en/chapters/moderator_guide.xml +++ b/documentation/content/en/chapters/moderator_guide.xml @@ -12,7 +12,7 @@ Moderator Guide - This chapter describes the phpBB 3.1 forum moderation controls. + This chapter describes the phpBB 3.2 forum moderation controls.
diff --git a/documentation/content/en/chapters/quick_start_guide.xml b/documentation/content/en/chapters/quick_start_guide.xml index 743651f0..08a86f27 100644 --- a/documentation/content/en/chapters/quick_start_guide.xml +++ b/documentation/content/en/chapters/quick_start_guide.xml @@ -12,7 +12,7 @@ Quick Start Guide - A quick guide through the first steps of installing and configuring up your very own phpBB 3.1 forum. + A quick guide through the first steps of installing and configuring up your very own phpBB 3.2 forum.
@@ -103,7 +103,7 @@ Installation - phpBB 3.1 Ascraeus has an easy to use installation system that will guide you through the installation process. + phpBB 3.2 Rhea has an easy to use installation system that will guide you through the installation process. After you have decompressed the phpBB3 archive and uploaded the files to the location where you want it to be installed, you need to enter the URL into your browser to open the installation screen. The first time you point your browser to the URL (http://www.example.com/phpBB3 for instance), phpBB will detect that it is not yet installed and automatically redirect you to the installation screen.
Introduction @@ -121,14 +121,14 @@
Introduction - The installation screen gives you a short introduction into phpBB. It allows you to read the license phpBB 3.1 is released under (the General Public License) and provides information about how you can receive support. To start the installation, click the Install tab (see ). + The installation screen gives you a short introduction into phpBB. It allows you to read the license phpBB 3.2 is released under (the General Public License) and provides information about how you can receive support. To start the installation, click the Install tab (see ).
Requirements - Please read the section on phpBB3's requirements to find out more about the phpBB 3.1's minimum requirements. + Please read the section on phpBB3's requirements to find out more about the phpBB 3.2's minimum requirements. - The requirements list is the first page you will see after starting the installation. phpBB 3.1 automatically checks if everything that it needs to run properly is installed on your server. In order to continue the installation, you will need to have PHP installed (the minimum version number is shown on the requirements page), and at least one database available to continue the installation. It is also important that all shown folders are available and have the correct permissions set. Please see the description of each section to find out if they are optional or required for phpBB 3.1 to run. If everything is in order, you can continue the installation by clicking the Start Install button. + The requirements list is the first page you will see after starting the installation. phpBB 3.2 automatically checks if everything that it needs to run properly is installed on your server. In order to continue the installation, you will need to have PHP installed (the minimum version number is shown on the requirements page), and at least one database available to continue the installation. It is also important that all shown folders are available and have the correct permissions set. Please see the description of each section to find out if they are optional or required for phpBB 3.2 to run. If everything is in order, you can continue the installation by clicking the Start Install button.
Database settings @@ -166,7 +166,7 @@
You don't need to change the Prefix for tables in database setting, unless you plan on using multiple phpBB installations on one database. In this case you can use a different prefix for each installation to make it work. - After you have entered your details, you can continue by clicking the Proceed to next step button. Now, phpBB 3.1 will test and verify the data you entered. + After you have entered your details, you can continue by clicking the Proceed to next step button. Now, phpBB 3.2 will test and verify the data you entered. If you see a "Could not connect to the database" error, this means that you didn't enter the database data correctly and it is not possible for phpBB to connect. Make sure that everything you entered is in order and try again. Again, if you are unsure about your database settings, please contact your host. Remember that your database username and password are case sensitive. You must use the exact one you have set up or been given by your host @@ -176,7 +176,7 @@
Administrator details - Now you have to create your administration user. This user will have full administration access and he will be the first user on your forum. All fields on this page are required. You can also set the default language of your forum on this page. In a vanilla (basic) phpBB 3.1 installation we only include English [GB]. You can download further languages from www.phpbb.com, and add them later. + Now you have to create your administration user. This user will have full administration access and he will be the first user on your forum. All fields on this page are required. You can also set the default language of your forum on this page. In a vanilla (basic) phpBB 3.2 installation we only include English [GB]. You can download further languages from www.phpbb.com, and add them later.
Configuration file @@ -186,8 +186,8 @@
Advanced settings The Advanced settings allow you to set some parameters of the board configuration. They are optional, and you can always change them later if you wish. So if you are unsure of what these settings mean, ignore them and proceed to the final step to finish the installation. - If the installation was successful, you can now use the Login button to visit the Administration Control Panel. Congratulations, you have installed phpBB 3.1 successfully. But there is still a lot of work ahead! - If you are unable to get phpBB 3.1 installed even after reading this guide, please look at the support section to find out where you can ask for further assistance. + If the installation was successful, you can now use the Login button to visit the Administration Control Panel. Congratulations, you have installed phpBB 3.2 successfully. But there is still a lot of work ahead! + If you are unable to get phpBB 3.2 installed even after reading this guide, please look at the support section to find out where you can ask for further assistance. At this point if you are upgrading from phpBB 2.0 or phpBB 3.0, you should refer to the upgrade guide for further information. If not, you should remove the install directory from your server as you will only be able to access the Administration Control Panel whilst it is present.
@@ -290,7 +290,7 @@
Setting permissions - After you created your first forum, you have to decide who has access to it and what your users are allowed to do and what not. This is what Permissions are for. You can disallow guests to post or hand out moderating powers, for instance. Almost every aspect of user interaction with phpBB3 Ascraeus can be adjusted with permissions. + After you created your first forum, you have to decide who has access to it and what your users are allowed to do and what not. This is what Permissions are for. You can disallow guests to post or hand out moderating powers, for instance. Almost every aspect of user interaction with phpBB 3.2 Rhea can be adjusted with permissions.
Permission types @@ -341,7 +341,7 @@
The Forum Permissions page shows you two columns, one for users and one for groups to select (see ). The top lists on both columns labelled as Manage Users and Manage Groups show users and groups that already have permissions on at least one of your selected forums set. You can select them and change their permissions with the Edit Permissions button, or use Remove Permissions to remove them which leads to them not having permissions set, and therefore not being able to see the forum or have any access to it (unless they have access to it through another group). The bottom boxes allow you to add new users or groups, that do not currently have permissions set on at least one of your selected forums. To add permissions for groups, select one or more groups either in the Add Groups list (this works similar with users, but if you want to add new users, you have to type them in manually in the Add Users text box or use the Find a member function). Add Permissions will take you to the permission interface. Each forum you selected is listed, with the groups or users to change the permissions for below them. - There are two ways to assign permissions: You can set them manually or use predefined Permission Roles for a simpler but less powerful way. You can switch between both approaches any time you want. You can skip the manual permission introduction and jump directly into the section on "Permissions Roles", if you are eager to get everything running as quickly as possible. But remember that permission roles do only offer a small bit of what the permission system has to offer and we believe that to be a good Ascraeus administrator, you have to fully grasp permissions. + There are two ways to assign permissions: You can set them manually or use predefined Permission Roles for a simpler but less powerful way. You can switch between both approaches any time you want. You can skip the manual permission introduction and jump directly into the section on "Permissions Roles", if you are eager to get everything running as quickly as possible. But remember that permission roles do only offer a small bit of what the permission system has to offer and we believe that to be a good Rhea administrator, you have to fully grasp permissions. Both ways only differ in the way you set them. They both share the same interface.
@@ -373,7 +373,7 @@
Permissions roles - phpBB3 Ascraeus ships with a number of default permission roles, that offer you a wide variety of options for setting permissions. Instead of having to check each radio button manually, you can select a predefined role in the Rolepull down list. Each role has a detailed description, that will pop up when you hover your mouse over it. Submit your changes with Apply Permissions or Apply All Permissions when you are satisfied with them. That will set the permissions and you are done. + phpBB 3.2 Rhea ships with a number of default permission roles, that offer you a wide variety of options for setting permissions. Instead of having to check each radio button manually, you can select a predefined role in the Rolepull down list. Each role has a detailed description, that will pop up when you hover your mouse over it. Submit your changes with Apply Permissions or Apply All Permissions when you are satisfied with them. That will set the permissions and you are done.
Permission roles diff --git a/documentation/content/en/chapters/user_guide.xml b/documentation/content/en/chapters/user_guide.xml index 3c7cae19..a0d94902 100644 --- a/documentation/content/en/chapters/user_guide.xml +++ b/documentation/content/en/chapters/user_guide.xml @@ -12,7 +12,7 @@ User Guide - This chapter is targeted at the forum users. It explains all user facing functions that are needed to use phpBB 3.1 + This chapter is targeted at the forum users. It explains all user facing functions that are needed to use phpBB 3.2
@@ -432,7 +432,7 @@
Communicate with Private Messages - phpBB 3.1 allows its users to communicate privately by using Private Messages. To visit the Private Messages section, you either can click on the [X new messages] link on the left hand side below the forum header, or you can directly access it through the User Control Panel.. + phpBB 3.2 allows its users to communicate privately by using Private Messages. To visit the Private Messages section, you either can click on the [X new messages] link on the left hand side below the forum header, or you can directly access it through the User Control Panel.. Depending on the communication methods allowed by the board administrator, there can be 3 ways of being notified of a new Private Message's arrival: @@ -479,7 +479,7 @@ Message Folders - Just like in your e-mail client, all private messages are stored in folders. Working with folders is similar to working with forums in phpBB 3.1. The Inbox is your default incoming message folder. All messages you receive will appear in here. + Just like in your e-mail client, all private messages are stored in folders. Working with folders is similar to working with forums in phpBB 3.2. The Inbox is your default incoming message folder. All messages you receive will appear in here. Sent messages will appear in either the Outbox or the Sent messages folder. As long as the recipient(s) have not yet read the message, it will stay in the Outbox. As soon as someone reads the message it will be archived to the Sent messages folder. If the administrator allows it, you can edit messages after sending them as long as they are in the Outbox and the recipients have not yet read them. Each folder, including Sent messages and Outbox, can hold a board-defined amount of messages. This is a global setting that only a board administrator can change. An info text displays the current number of allowed messages and the current percentage of space your messages are using at the top of each folder. If no restriction is displayed, you are allowed unlimited messages in each folder. @@ -496,7 +496,7 @@ Custom Folders - If the administrator allows it, you can create your own custom private message folders in phpBB 3.1. To check whether you can add folders, visit the Edit options section of the private message area. + If the administrator allows it, you can create your own custom private message folders in phpBB 3.2. To check whether you can add folders, visit the Edit options section of the private message area. To add a new folder, enter the folder's name into the Add folder input box. If creation was successful, your new folder will appear at the bottom of the folder list. You can then use it like a normal message folder and move messages into it or set a filter (see the section on Private Message Rules for more information about filters) to automatically do it for you.
diff --git a/documentation/create_docs.sh b/documentation/create_docs.sh index 99540dc4..571a2c2d 100755 --- a/documentation/create_docs.sh +++ b/documentation/create_docs.sh @@ -1,13 +1,13 @@ #!/bin/bash # set this to the correct path -path="/var/www/phpbb.com/htdocs/support/documentation/3.1" +path="/var/www/phpbb.com/htdocs/support/documentation/3.2" echo "Removing build directory" rm -rf build echo "Creating docs" -xsltproc --xinclude xsl/ascraeus_php.xsl ascraeus_doc.xml +xsltproc --xinclude xsl/rhea_php.xsl rhea_doc.xml if [ "$?" == "0" ]; then echo "Successfully created documentation" diff --git a/documentation/create_pdf.bat b/documentation/create_pdf.bat index f6dfde95..bdfd22c5 100644 --- a/documentation/create_pdf.bat +++ b/documentation/create_pdf.bat @@ -4,9 +4,9 @@ set fop_path=C:\fop echo Removing previous PDF -del ascraeus_doc.pdf +del rhea_doc.pdf echo Creating new PDF -%fop_path%\fop -xml ascraeus_doc.xml -xsl xsl\ascraeus_pdf.xsl -pdf ascraeus_doc.pdf +%fop_path%\fop -xml rhea_doc.xml -xsl xsl\rhea_pdf.xsl -pdf rhea_doc.pdf echo Done \ No newline at end of file diff --git a/documentation/create_pdf.sh b/documentation/create_pdf.sh index 8e80aae5..65f987e4 100644 --- a/documentation/create_pdf.sh +++ b/documentation/create_pdf.sh @@ -1,9 +1,9 @@ #!/bin/bash echo "Removing previous PDF" -rm ascraeus_doc.pdf +rm rhea_doc.pdf echo "Creating new PDF" -fop -xml ascraeus_doc.xml -xsl xsl/ascraeus_pdf.xsl -pdf ascraeus_doc.pdf +fop -xml rhea_doc.xml -xsl xsl/rhea_pdf.xsl -pdf rhea_doc.pdf echo "Done" \ No newline at end of file diff --git a/documentation/ascraeus_doc.xml b/documentation/rhea_doc.xml similarity index 89% rename from documentation/ascraeus_doc.xml rename to documentation/rhea_doc.xml index c0855ae3..24e9c733 100644 --- a/documentation/ascraeus_doc.xml +++ b/documentation/rhea_doc.xml @@ -7,9 +7,9 @@ ]> - phpBB 3.1 <emphasis>Ascraeus</emphasis> Documentation + phpBB 3.2 <emphasis>Rhea</emphasis> Documentation - The detailed documentation for phpBB 3.1 Ascraeus. + The detailed documentation for phpBB 3.2 Rhea. diff --git a/documentation/style.css b/documentation/style.css index 54949f92..add12383 100644 --- a/documentation/style.css +++ b/documentation/style.css @@ -1,4 +1,4 @@ -/* phpBB 3.1 Documentation Style Sheet +/* phpBB 3.2 Documentation Style Sheet */ body { diff --git a/documentation/xsl/ascraeus_pdf.xsl b/documentation/xsl/rhea_pdf.xsl similarity index 100% rename from documentation/xsl/ascraeus_pdf.xsl rename to documentation/xsl/rhea_pdf.xsl diff --git a/documentation/xsl/ascraeus_php.xsl b/documentation/xsl/rhea_php.xsl similarity index 99% rename from documentation/xsl/ascraeus_php.xsl rename to documentation/xsl/rhea_php.xsl index 407dbf1b..6f4ae122 100644 --- a/documentation/xsl/ascraeus_php.xsl +++ b/documentation/xsl/rhea_php.xsl @@ -37,7 +37,7 @@ - + diff --git a/documentation/xsl/ascraeus_php_subsection.xsl b/documentation/xsl/rhea_php_subsection.xsl similarity index 99% rename from documentation/xsl/ascraeus_php_subsection.xsl rename to documentation/xsl/rhea_php_subsection.xsl index 4e49a8a6..65d29686 100644 --- a/documentation/xsl/ascraeus_php_subsection.xsl +++ b/documentation/xsl/rhea_php_subsection.xsl @@ -40,7 +40,7 @@ - + diff --git a/documentation/xsl/ascraeus_phpbb_dot_com.xsl b/documentation/xsl/rhea_phpbb_dot_com.xsl similarity index 99% rename from documentation/xsl/ascraeus_phpbb_dot_com.xsl rename to documentation/xsl/rhea_phpbb_dot_com.xsl index 15f3398b..163d6143 100644 --- a/documentation/xsl/ascraeus_phpbb_dot_com.xsl +++ b/documentation/xsl/rhea_phpbb_dot_com.xsl @@ -3,7 +3,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> - + diff --git a/documentation/xsl/rhea_php_subsection.xsl b/documentation/xsl/rhea_php_subsection.xsl index 65d29686..17732eb2 100644 --- a/documentation/xsl/rhea_php_subsection.xsl +++ b/documentation/xsl/rhea_php_subsection.xsl @@ -15,7 +15,7 @@ - + diff --git a/documentation/xsl/rhea_phpbb_dot_com.xsl b/documentation/xsl/rhea_phpbb_dot_com.xsl index 163d6143..d3684196 100644 --- a/documentation/xsl/rhea_phpbb_dot_com.xsl +++ b/documentation/xsl/rhea_phpbb_dot_com.xsl @@ -15,7 +15,7 @@ - + diff --git a/documentation/xsl/rhea_xhtml.xsl b/documentation/xsl/rhea_xhtml.xsl index d097d8c1..999a9624 100644 --- a/documentation/xsl/rhea_xhtml.xsl +++ b/documentation/xsl/rhea_xhtml.xsl @@ -12,7 +12,7 @@ - + From cd81b312ca4527a5c359a67814363a0ad96af50a Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 5 Jun 2016 11:00:32 +0200 Subject: [PATCH 029/242] Update requirements --- documentation/content/en/chapters/quick_start_guide.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/documentation/content/en/chapters/quick_start_guide.xml b/documentation/content/en/chapters/quick_start_guide.xml index 08a86f27..73758800 100644 --- a/documentation/content/en/chapters/quick_start_guide.xml +++ b/documentation/content/en/chapters/quick_start_guide.xml @@ -50,15 +50,15 @@ PostgreSQL 8.3+ - SQLite 2 + SQLite 2.8.2+ - SQLite 3 + SQLite 3.6.15+ - PHP 5.3.3+ (>=5.3.3, >6.0-dev (compatible)) with support for the database you intend to use. + PHP 5.4.0+ (>=5.4.0, 7.0) with support for the database you intend to use. getimagesize() function enabled From 31c1ef5c5de5e8fb26eb08f75e4abf203a1b1fe7 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 5 Jun 2016 15:37:59 +0200 Subject: [PATCH 030/242] Fix minor inconsistencies and form validity check description --- development/files/upload.rst | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/development/files/upload.rst b/development/files/upload.rst index 1279fa2c..fff44316 100644 --- a/development/files/upload.rst +++ b/development/files/upload.rst @@ -30,7 +30,7 @@ Each of these methods returns the current instance of the ``upload`` class allow Uploading files =============== -The previously existing ``form_upload()``, ``remote_upload``, and ``local_upload`` methods no longer exist. Instead, the ``upload`` class now contains the ``handle_upload`` method. +The previously existing ``form_upload()``, ``remote_upload()``, and ``local_upload()`` methods no longer exist. Instead, the ``upload`` class now contains the ``handle_upload()`` method. .. code-block:: php @@ -152,14 +152,15 @@ This can be performed by simply passing the ``filespec`` object: .. note:: - ``common_checks()`` does not have a function return. Instead, please check the ``$filespec->error``` + ``common_checks()`` does not have a function return. Instead, please check the ``$filespec->error`` property after running ``common_checks()`` Check form for validity ======================= One can check if a form is valid for file uploads by simply passing the form name to the ``is_valid()`` method. -It will return true on valid forms and false if the form does not exist or contains invalid content. +It will return true on valid forms and false if the file was not uploaded for the specified form or the upload file was +not properly set. .. code-block:: php From d44b9e9cd823633a87e8ad0c0ee2e8c41c567894 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Tue, 7 Jun 2016 08:57:17 -0700 Subject: [PATCH 031/242] Fix mistake in language usage docs --- development/language/usage.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/language/usage.rst b/development/language/usage.rst index 72a3b99b..b3fe0ec9 100644 --- a/development/language/usage.rst +++ b/development/language/usage.rst @@ -21,7 +21,7 @@ We generally refer to the name of the word in the dictionary as Using the Language System in php ================================ -The object holding the language dictionary for the current user is the ``$user`` +The object holding the language dictionary for the current user is the ``$language`` object (``phpbb\language\language`` class). To get the translation of a language entry inside of php code, call the ``phpbb\language\language::lang()`` method: From bc9ff55056684ec3c172b92fc835ffe3c771a729 Mon Sep 17 00:00:00 2001 From: brunoais Date: Mon, 29 Aug 2016 06:51:51 +0100 Subject: [PATCH 032/242] Incomplete line at line 9 Ups. --- development/db/structuredConditionals.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/db/structuredConditionals.rst b/development/db/structuredConditionals.rst index 33b8f5bd..0b4b1772 100644 --- a/development/db/structuredConditionals.rst +++ b/development/db/structuredConditionals.rst @@ -6,7 +6,7 @@ Intro ===== This feature helps extension authors to edit SQL queries in an easy and quick way without the need to parse the SQL queries, most likely, using regex and complex text editing. -Instead of a single string, this allows editing the WHERE clause in an SQL query by adding, removing and editing php arrays. Using this method, finding the portion of the query to edit +Instead of a single string, this allows editing the WHERE clause in an SQL query by adding, removing and editing php arrays. Using this method, finding the portion of the query to edit should be much more straightforward. If done correctly, incompatibilities between extensions that use the same SQL query can either much easily be averted (and warned) or where a regex match could fault while finding the wanted content the fact they are only arrays, they can be come automatically compatible. From a1662340d1e2564218a9b9a12389d713b666438b Mon Sep 17 00:00:00 2001 From: brunoais Date: Mon, 29 Aug 2016 07:00:42 +0100 Subject: [PATCH 033/242] Revisited the Intro section Based on @marc1706 and @hanakin's comment --- development/db/structuredConditionals.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/development/db/structuredConditionals.rst b/development/db/structuredConditionals.rst index 0b4b1772..2aac3b5a 100644 --- a/development/db/structuredConditionals.rst +++ b/development/db/structuredConditionals.rst @@ -8,9 +8,9 @@ Intro This feature helps extension authors to edit SQL queries in an easy and quick way without the need to parse the SQL queries, most likely, using regex and complex text editing. Instead of a single string, this allows editing the WHERE clause in an SQL query by adding, removing and editing php arrays. Using this method, finding the portion of the query to edit should be much more straightforward. -If done correctly, incompatibilities between extensions that use the same SQL query can either much easily be averted (and warned) or where a regex match could fault while finding the wanted content the fact they are only arrays, they can be come automatically compatible. +If done correctly, incompatibilities between extensions that use the same SQL query can be averted. Where a regex match could easly force the author into making very complex matches. With this, finding the correct placement of the replacing content is just tree-like transversal as they are only arrays. Compatibility between extensions becomes much easier. -This is not magic thought It will definitely reduce the probability of inter-incompatibilities between extensions but it will not solve them by any means. +Althought this will definitely reduce the probability of inter-incompatibilities between extensions, it is not magic. This is just a tool that helps solving this same issue. Main use-case ideals From 588217c44a9ccf7a042681698de487e4538d35ed Mon Sep 17 00:00:00 2001 From: brunoais Date: Mon, 29 Aug 2016 07:10:54 +0100 Subject: [PATCH 034/242] Had forgotten the coding guidelines --- development/db/structuredConditionals.rst | 73 +++++++++++++++-------- 1 file changed, 47 insertions(+), 26 deletions(-) diff --git a/development/db/structuredConditionals.rst b/development/db/structuredConditionals.rst index 2aac3b5a..67c98dea 100644 --- a/development/db/structuredConditionals.rst +++ b/development/db/structuredConditionals.rst @@ -330,7 +330,8 @@ In your function: .. code-block:: php - function eventGrabber($event){ + function eventGrabber($event) + { You will have an $event['sql'] which will contain the query. Below, I use nesting of "if", if you prefer, you may use exceptions instead. @@ -341,11 +342,15 @@ In order to access what we want, we can do it like this: // May be required by PHP $sql = $event['sql']; // Is the element I expect there? - if(isset($sql['WHERE'][2][0])){ - if(is_array($sql['WHERE'][2])){ - if($sql['WHERE'][2][0] === 'OR'){ + if(isset($sql['WHERE'][2][0])) + { + if(is_array($sql['WHERE'][2])) + { + if($sql['WHERE'][2][0] === 'OR') + { // This should be the array with the OR I wanted - if(isset($sql['WHERE'][2][0][1]) && $sql['WHERE'][2][0][1][0] === 'topic_last_post_time'){ + if(isset($sql['WHERE'][2][0][1]) && $sql['WHERE'][2][0][1][0] === 'topic_last_post_time') + { // Confirmed to be what I want it to be! // this array_slice() will remove the elements after the above-mentioned topic_last_post_time $sql['WHERE'][2][0][1] = array_slice($sql['WHERE'][2][0][1], 1); @@ -353,14 +358,21 @@ In order to access what we want, we can do it like this: $event['sql'] = $sql; return; } - } else { + } + else + { // For example, write code to log this happened so that an admin can help you making your // extension compatible with other extensions or even for you to be warned about phpBB changes. - } else { + } + } + else + { // For example, write code to log this happened so that an admin can help you making your // extension compatible with other extensions or even for you to be warned about phpBB changes. } - } else { + } + else + { // For example, write code to log this happened so that an admin can help you making your // extension compatible with other extensions or even for you to be warned about phpBB changes. } @@ -385,11 +397,15 @@ Or to protect yourself slightly: .. code-block:: php - function myEventListener($event){ + function myEventListener($event) + { $sql = $event['sql']; - if(!empty($sql['WHERE'][2][0][1]) && is_array($sql['WHERE'][2][0][1])){ + if(!empty($sql['WHERE'][2][0][1]) && is_array($sql['WHERE'][2][0][1])) + { $sql['WHERE'][2][0][1] = array_slice($sql['WHERE'][2][0][1], 1); - } else { + } + else + { // For example, write code to log this happened so that an admin can help you making your // extension compatible with other extensions or even for you to be warned about phpBB changes. } @@ -408,11 +424,15 @@ The short way is about as much as this: .. code-block:: php - function myEventListener($event){ + function myEventListener($event) + { $sql = $event['sql']; - if(!empty($sql['WHERE'][2][0][1]) && is_array($sql['WHERE'][2][0][1])){ + if(!empty($sql['WHERE'][2][0][1]) && is_array($sql['WHERE'][2][0][1])) + { $sql['WHERE'][2][0][1][] = array('topic_type', '=', POST_STICKY); - } else { + } + else + { // For example, write code to log this happened so that an admin can help you making your // extension compatible with other extensions or even for you to be warned about phpBB changes. } @@ -461,22 +481,22 @@ In phpBB's code .. code-block:: php array('AND', - array('t.forum_id', '=', 3), - array('t.topic_type', '=', 0), - array('t.topic_id', '>', 5), - array('t.topic_poster', '<>', 5), - ), + array('t.forum_id', '=', 3), + array('t.topic_type', '=', 0), + array('t.topic_id', '>', 5), + array('t.topic_poster', '<>', 5), + ), .. code-block:: php array('AND', - array('t.forum_id', '=', 3), - array('NOT', - array('t.topic_type', '=', 0), - ), - array('t.topic_id', '>', 5), - array('t.topic_poster', '<>', 5), + array('t.forum_id', '=', 3), + array('NOT', + array('t.topic_type', '=', 0), ), + array('t.topic_id', '>', 5), + array('t.topic_poster', '<>', 5), + ), .. code-block:: php @@ -492,7 +512,8 @@ In phpBB's extensions code .. code-block:: php - function myEventListener($event){ + function myEventListener($event) + { $sql = $event['sql']; $sql['WHERE'][2][0][1] = array_slice($sql['WHERE'][2][0][1], 1); $event['sql'] = $sql; From 934afb9951131dcd159a824678e0ef174dd7b92f Mon Sep 17 00:00:00 2001 From: brunoais Date: Mon, 29 Aug 2016 19:17:38 +0100 Subject: [PATCH 035/242] Changed a sentence to make it easier to read "finding the correct placement of the replacing content" -> "finding and replacing the content" --- development/db/structuredConditionals.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/db/structuredConditionals.rst b/development/db/structuredConditionals.rst index 67c98dea..8a0a36a9 100644 --- a/development/db/structuredConditionals.rst +++ b/development/db/structuredConditionals.rst @@ -8,7 +8,7 @@ Intro This feature helps extension authors to edit SQL queries in an easy and quick way without the need to parse the SQL queries, most likely, using regex and complex text editing. Instead of a single string, this allows editing the WHERE clause in an SQL query by adding, removing and editing php arrays. Using this method, finding the portion of the query to edit should be much more straightforward. -If done correctly, incompatibilities between extensions that use the same SQL query can be averted. Where a regex match could easly force the author into making very complex matches. With this, finding the correct placement of the replacing content is just tree-like transversal as they are only arrays. Compatibility between extensions becomes much easier. +If done correctly, incompatibilities between extensions that use the same SQL query can be averted. Where a regex match could easly force the author into making very complex matches. With this, finding and replacing the content is just tree-like transversal as they are only arrays. Compatibility between extensions becomes much easier. Althought this will definitely reduce the probability of inter-incompatibilities between extensions, it is not magic. This is just a tool that helps solving this same issue. From d940881242f664693faa73b97aecfd808c23ba7f Mon Sep 17 00:00:00 2001 From: brunoais Date: Wed, 31 Aug 2016 07:27:06 +0100 Subject: [PATCH 036/242] Darn'it! There was one missing mate! --- development/db/structuredConditionals.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/development/db/structuredConditionals.rst b/development/db/structuredConditionals.rst index 8a0a36a9..c2cb92cc 100644 --- a/development/db/structuredConditionals.rst +++ b/development/db/structuredConditionals.rst @@ -387,7 +387,8 @@ If you don't feel like it, however, then this is enough: .. code-block:: php - function myEventListener($event){ + function myEventListener($event) + { $sql = $event['sql']; $sql['WHERE'][2][0][1] = array_slice($sql['WHERE'][2][0][1], 1); $event['sql'] = $sql; From 3322191c390811bbe39ad57926aa948355a2258b Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Mon, 28 Nov 2016 14:14:31 -0800 Subject: [PATCH 037/242] Add ext documentation for 3.2 updates --- development/extensions/new_in_rhea.rst | 457 +++++++++++++++++++++++++ 1 file changed, 457 insertions(+) create mode 100644 development/extensions/new_in_rhea.rst diff --git a/development/extensions/new_in_rhea.rst b/development/extensions/new_in_rhea.rst new file mode 100644 index 00000000..edcff9bd --- /dev/null +++ b/development/extensions/new_in_rhea.rst @@ -0,0 +1,457 @@ +======================== +What's New for phpBB 3.2 +======================== + +Introduction +============ + +phpBB 3.2 (rhea) introduces many new and updated components that extensions can take advantage of. Some of these changes may require extensions to make updates to maintain compatibility with phpBB 3.2 (some changes provide a layer of backwards compatibility with 3.1). Extension authors should review the changes documented below to see how their extensions may be affected. + +This documentation explains: + + * `New Language Object`_ + * `New BBCode Engine`_ + * `New Text Reparser`_ + * `New File Uploader`_ + * `New Font Awesome Icons`_ + * `Updated Notifications`_ + * `Updated Twig Syntax`_ + * `Updated Symfony Services`_ + * `Updated INCLUDECSS`_ + * `Additional Helpers`_ + +New Language Object +=================== + +.. warning:: + The following applies to phpBB 3.2 and later versions. If you must maintain backwards compatibility with phpBB 3.1, continue using the deprecated language methods from the User object. + +A new Language object has been introduced that decouples language functions from the User object. That is to say, the following language functions now belong to the ``\phpbb\language\language`` class: + +.. csv-table:: + :header: "Function", "Description" + :delim: | + + ``lang`` | "Advanced language substitution." + ``add_lang`` | "Add Language Items." + ``get_plural_form`` | "Determine which plural form we should use." + ``set_user_language`` | "Function to set user's language to display." + ``set_default_language`` | "Function to set the board's default languageto display." + +The Language object is available as a service from the DI container, and can be added to an extension's services as an argument: + +.. code-block:: yaml + + arguments: + - '@language' + +Language keys can be translated by calling the ``lang()`` method from the Language object: + +.. code-block:: php + + $language->lang('SOME_LANGUAGE_KEY'); + +Language files can be added by calling the ``add_lang()`` method from the Language object: + +.. code-block:: php + + // Load a core language file + $language->add_lang('posting'); + +Extension developers should note that the ``add_lang()`` method now supports adding language files from extensions, replacing the deprecated ``add_lang_ext()`` method from the User object: + +.. code-block:: php + + // Load an extension's language file + $language->add_lang('demo', 'acme/demo'); + +.. note:: + Note the argument order of the ``add_lang()`` method. It takes as its first argument the name of the language file, and the optional second argument is the packaged name of an extension. This is the reverse order of arguments that the deprecated ``add_lang_ext()`` from the User object used. + +New BBCode Engine +================= + +.. warning:: + The following applies to phpBB 3.2 and later versions. It is not backwards compatibile with phpBB 3.1. + +As of phpBB 3.2, a new and more powerful BBCode formatting engine has been integrated. The new engine is the third-party `s9e/TextFormatter `_ library. Its integration classes can be found in ``phpBB/phpbb/textformatter``. + +The new engine has already been equipped with many PHP events making it even easier than before for extensions to configure BBCodes and BBCode formatted text. The following are the new PHP events: + +.. csv-table:: + :header: "Event", "Description" + :delim: | + + ``core.text_formatter_s9e_configure_before`` | "Modify the s9e\TextFormatter configurator before the default settings are set." + ``core.text_formatter_s9e_configure_after`` | "Modify the s9e\TextFormatter configurator after the default settings are set." + ``core.text_formatter_s9e_parser_setup`` | "Configure the parser service, Can be used to: toggle features or BBCodes, register variables or custom parsers in the s9e\TextFormatter parser, configure the s9e\TextFormatter parser's runtime settings." + ``core.text_formatter_s9e_parse_before`` | "Modify a text before it is parsed." + ``core.text_formatter_s9e_parse_after`` | "Modify a parsed text in its XML form." + ``core.text_formatter_s9e_renderer_setup`` | "Configure the renderer service." + ``core.text_formatter_s9e_render_before`` | "Modify a parsed text before it is rendered." + ``core.text_formatter_s9e_render_after`` | "Modify a rendered text." + +Fortunately, the integration is pretty seemless and most existing extensions that handle messages processed by the BBCode engine should continue to work without needing any changes. For example, the following phpBB functions will continue to work as they did in phpBB 3.1: + + * ``decode_message()`` + * ``generate_text_for_display()`` + * ``generate_text_for_edit()`` + * ``generate_text_for_storage()`` + * ``strip_bbcode()`` + * ``smiley_text()`` + +Some simple examples of what can be done with the new library include: + +.. code-block:: php + + // Lets get the parser from the container in this example + $parser = $container->get('text_formatter.parser') + ->get_parser(); + + // Disable or enable a BBCode + $parser->disable_bbcode($name); + $parser->enable_bbcode($name); + + // Disable or enable BBCodes in general + $parser->disable_bbcodes(); + $parser->enable_bbcodes(); + + // Lets get the text formatter utils from the container in this example + $text_formatter_utils = $container->get('text_formatter.utils'); + + // Remove a BBCode and its content from a message + $text_formatter_utils->remove_bbcode($message, $bbcode) + + // Unparse text back to its original form + $text_formatter_utils->unparse($message) + +A major change introduced by the new engine is how text (in posts, PMs, signatures, etc.) is stored. In phpBB 3.1, text is stored as HTML, with BBCodes and some other features being replaced at rendering time. As of phpBB 3.2, text is stored as XML and transformed into HTML at rendering time. phpBB 3.2 has a `New Text Reparser`_ class which will convert all posts, PMs, signatures, etc. to the new format shortly after updating to 3.2 (this is handled mostly by incremental cron jobs). + +.. note:: + Messages stored in the old HTML format will still display as normal, even before being converted to the new XML format. This ensures a seemless experience for a board's users. + +Extensions that are storing their own messages with BBCodes and smilies should consider adding a TextReparser class to ensure their messages are updated to the new XML format. See `New Text Reparser` for more information. + +.. seealso:: + The s9e/TextFormatter library `documentation and cookbook `_. + +New Text Reparser +================= + +.. warning:: + The following applies to phpBB 3.2 and later versions. It is not backwards compatibile with phpBB 3.1. + +phpBB 3.2 introduces the ``\phpbb\textreparser`` class to reparse stored text in the database. By reparsing, it will rebuild BBCodes, smilies and other text formatting in posts, private messages, signatures and anywhere else BBCodes are used. + +The class was conceived to provide a means to reparse BBCodes into the new XML storage format introduced by the `New BBCode engine`_. When a board is updated from 3.1 to 3.2, the reparser is called into service in two ways. First, migrations are used to reparse some of the smaller database items (forum descriptions, for example). Second, cron tasks are used to incrementally reparse the larger database items (posts & PMs). + +Extensions that store their own text with BBCodes, smilies, etc. should consider using the text reparser to ensure they are also updated to the new XML format. Extensions can extend the text reparser. The minimum that is required is the ``get_columns()`` method which returns an array mapping the column names of the table storing text to be reparsed, for example: + +.. code-block:: php + + 'demo_id', + 'text' => 'demo_message', + 'bbcode_uid' => 'demo_message_bbcode_uid', + 'options' => 'demo_message_bbcode_options', + ); + } + } + +Notice that the table name has not been identified yet. The table name is actually defined as an argument in the service definition of the extension's reparser class: + +.. code-block:: yaml + + acme.demo.text_reparser.demo_text: + class: acme\demo\textreparser\plugins\demo_text + arguments: + - '@dbal.conn' + - '%acme.demo.tables.demo_messages%' + tags: + - { name: text_reparser.plugin } + +Notice that the service is tagged as a ``text_reparser.plugin``. This ensures that it will be added to phpBB's cron tasks queue along with any other reparser plugins. + +.. tip:: + In some cases you may want to run your reparser from a migration. For example, you need your stored text reparsed immediately during the extension update and do not want to wait for it to go through the cron task queue. + + If the volume of rows that need to be reparsed is high, it must reparse incrementally, in chunks, to minimise the risk of a PHP timeout or database corruption. The following is an example of a custom function in a migration acting in incremental chunks, processing 50 rows at a time: + + .. code-block:: php + + /** + * Run the Acme Demo text reparser + * + * @param int $current A message id + * + * @return bool|int A message id or true if finished + */ + public function reparse($current = 0) + { + // Get our reparser + $reparser = new \acme\demo\textreparser\plugins\demo_text( + $this->db, + $this->container->getParameter('core.table_prefix') . 'demo_messages' + ); + + // If $current id is empty, get the highest id from the db + if (empty($current)) + { + $current = $reparser->get_max_id(); + } + + $limit = 50; // Reparse in chunks of 50 rows at a time + $start = max(1, $current + 1 - $limit); + $end = max(1, $current); + + // Run the reparser + $reparser->reparse_range($start, $end); + + // Update the $current id + $current = $start - 1; + + // Return the $current id, or true when finished + return ($current === 0) ? true : $current; + } + +New File Uploader +================= + +.. warning:: + The following is a **required** change for phpBB 3.2 and later versions. It is not backwards compatibile with phpBB 3.1. Extensions making this change must release a new major version dropping support for 3.1. + +phpBB 3.2 introduces two new classes for uploading files: ``filespec`` and ``upload``. These have been refactored and are based on the previously available ``filespec`` and ``fileupload`` classes. + +For information about the new classes, read :doc:`../files/overview` documentation. + +To update an extension to use the new class, read the `Converting uses of fileupload class <../files/upload.html#converting-uses-of-fileupload-class>`_ documentation. + +New Font Awesome Icons +====================== + +.. warning:: + The following applies to phpBB 3.2 and later versions. It is not backwards compatibile with phpBB 3.1. + +phpBB 3.2 includes the Font Awesome toolkit. It is used by the default style Prosilver, and has replaced almost every gif/png icon with a font icon. + +The result of this is significant template changes to Prosilver, including some new CSS classes. Extensions written for phpBB 3.1 that make use of any of Prosilver's icons may need to be adjusted to be compatible with phpBB 3.2. + +The benefit of the new `Font Awesome icons `_ is they make it easy to improve GUI elements of your extension. For example, if an extension has a "Delete" link or button, you can easily add a nice little Trash Can icon to the link or button: + +.. code-block:: html + + + Delete + + +Updated Notifications +===================== + +.. warning:: + The following is a **required** change for phpBB 3.2 and later versions. It is not backwards compatibile with phpBB 3.1. Extensions making this change must release a new major version dropping support for 3.1. + +Extensions that make use of the phpBB's built-in notification system must make the following updates to their notification classes, if necessary. The notable changes have been made to the ``find_users_for_notification()`` and ``create_insert_array()`` methods. + +find_users_for_notification() +----------------------------- + +This method must return an array of users who can see the notification. While it is the extension authors responsibility to determine how to build this array of users, an example usage in phpBB 3.1 may look like: + +.. code-block:: php + + public function find_users_for_notification($data, $options = array()) + { + // run code to query a group of users from the database... + + while ($row = $this->db->sql_fetchrow($result)) + { + $users[$row['user_id']] = array(''); + } + + // do any additional processing... + + return $users; + } + +As of phpBB 3.2 a new helper to get the list of methods enabled by default is available from the manager class, to assign as the array values in the user array: + +.. code-block:: php + + public function find_users_for_notification($data, $options = array()) + { + // run code to query a group of users from the database... + + while ($row = $this->db->sql_fetchrow($result)) + { + $users[$row['user_id']] = $this->notification_manager->get_default_methods(); + } + + // do any additional processing... + + return $users; + } + +.. note:: + Notice that we simply replaced the empty ``array('')`` value assigned to each user with the new ``$this->notification_manager->get_default_methods()`` method call. + +create_insert_array() +--------------------- + +In phpBB 3.1, this method returned an array of data ready to be inserted into the database from the parent class: + +.. code-block:: php + + public function create_insert_array($data, $pre_create_data = array()) + { + // prepare some data... + + return parent::create_insert_array($data, $pre_create_data); + } + +In phpBB 3.2, the data is now added the the class data property, so it is no longer necessary to use a ``return``, just call the method from the parent class at the end: + +.. code-block:: php + + public function create_insert_array($data, $pre_create_data = array()) + { + // prepare some data... + + parent::create_insert_array($data, $pre_create_data); + } + +Updated Twig Syntax +=================== + +.. warning:: + The following applies to phpBB 3.2 and later versions. If you must maintain backwards compatibility with phpBB 3.1, please disregard this section. + +If you are already using Twig template syntax, and you have been using loop structures in your templates, you are probably familiar with the odd usage of the ``loops`` prefix required in phpBB 3.1: + +.. code-block:: twig + + # phpBB 3.1 and 3.2 compatible + {% for item in loops.items %} + item.MY_VAR + {% endfor %} + +As of phpBB 3.2, this requirement has been removed, allowing you to use natural Twig syntax for looped structures (i.e. the ``loops`` prefix is no longer needed): + +.. code-block:: twig + + # phpBB 3.2 or later only + {% for item in items %} + item.MY_VAR + {% endfor %} + +If you want to maintain backwards compatibility with phpBB 3.1, you must continue using the ``loops`` prefix. + +Updated Symfony Services +======================== + +The following changes are due to deprecations introduced in Symfony 2.8 (which is used in phpBB 3.2). These deprecations are being removed from Symfony 3.0 (which is used in phpBB 3.3). + +Deprecated usage of @ at the beginning of unquoted strings +---------------------------------------------------------- + +.. warning:: + The following is recommended for phpBB 3.1 and later versions. It will be required from phpBB 3.3 and later. + +According to Yaml specification, unquoted strings cannot start with ``@``, so you must wrap these arguments with single or double quotes: + +.. code-block:: yaml + + vendor.package.class: + class: vendor\package\classname + arguments: + - '@dbal.conn' + - '%custom.tables%' + calls: + - [set_controller_helper, ['@controller.helper']] + +.. note:: + In phpBB, we have decided that to maintain consistency, we also quote strings that begin with ``%``. We also prefer using single quotes instead of double quotes. + +Deprecating Scopes and Introducing Shared Services +-------------------------------------------------- + +.. warning:: + The following is a **required** change for phpBB 3.2 and later versions. It is not backwards compatibile with phpBB 3.1. Extensions making this change must release a new major version dropping support for 3.1. + +By default, all services are shared services. This means a class is instantiated once, and used each time you ask for it from the service container. + +In some cases, however, it is desired to *unshare* a class, where a new instance is created each time you ask for the service. An example of this is the Notifications classes. + +In phpBB 3.1, this was defined in the ``services.yml`` by setting the ``scope`` option to ``prototype``: + +.. code-block:: yaml + + vendor.package.class: + class: vendor\package\classname + scope: prototype + +For phpBB 3.2, instead of ``scope``, service definitions must now configure a ``shared`` option and set it to ``false`` to get the same result as in the previous prototype scope: + +.. code-block:: yaml + + vendor.package.class: + class: vendor\package\classname + shared: false + +Updated INCLUDECSS +================== + +.. warning:: + The following applies to phpBB 3.2 and later versions. If you must maintain backwards compatibility with phpBB 3.1, please disregard this section. + +As of phpBB 3.2, the ``INCLUDECSS`` template tag can now be called from anywhere in a template, making it just as easy and flexible to implement from any template event or file as the ``INCLUDEJS`` tag. + +Previously, in phpBB 3.1, extension's could only use this tag in the ``overall_header_head_append`` template event, or before including ``overall_header.html`` in a custom template file. + +Additional Helpers +================== + +New Group Helper +---------------- + +phpBB 3.2 adds a new helper to simplify the job of displaying user group names. + +In phpBB 3.1, displaying a user group name required verbose code similar to: + +.. code-block:: php + + // phpbb 3.1 and 3.2 compatible: + ($row['group_type'] == GROUP_SPECIAL) ? $user->lang('G_' . $row['group_name']) : $row['group_name']; + +This is simpler in phpBB 3.2 with the ``get_name()`` method of the ``\phpbb\group\helper\`` class: + +.. code-block:: php + + // phpBB 3.2 only: + $group_helper->get_name($row['group_name']); + +BBCode FAQ Controller Route +--------------------------- + +phpBB 3.2 now has a built-in routing definition for the BBCode FAQ page. Linking to this page is common for extensions that have their own BBCode message editor. + +In phpBB 3.1, linking to the BBCode FAQ looked like: + +.. code-block:: php + + // phpBB 3.1 and 3.2 compatible: + $u_bbcode_faq = append_sid("{$phpbb_root_path}faq.{$phpEx}", 'mode=bbcode'); + +In phpBB 3.2, linking to the BBCode FAQ can be handled using the routing system: + +.. code-block:: php + + // phpBB 3.2 only: + $u_bbcode_faq = $controller_helper->route('phpbb_help_bbcode_controller'); From 1dafc1b1dfe2473290d44e3494f53668e587d986 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Mon, 28 Nov 2016 16:41:32 -0800 Subject: [PATCH 038/242] Fix reparser docs --- development/extensions/new_in_rhea.rst | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/development/extensions/new_in_rhea.rst b/development/extensions/new_in_rhea.rst index edcff9bd..f54da9ee 100644 --- a/development/extensions/new_in_rhea.rst +++ b/development/extensions/new_in_rhea.rst @@ -130,7 +130,7 @@ A major change introduced by the new engine is how text (in posts, PMs, signatur .. note:: Messages stored in the old HTML format will still display as normal, even before being converted to the new XML format. This ensures a seemless experience for a board's users. -Extensions that are storing their own messages with BBCodes and smilies should consider adding a TextReparser class to ensure their messages are updated to the new XML format. See `New Text Reparser` for more information. +Extensions that are storing their own messages with BBCodes and smilies should consider adding a TextReparser class to ensure their messages are updated to the new XML format. See `New Text Reparser`_ for more information. .. seealso:: The s9e/TextFormatter library `documentation and cookbook `_. @@ -170,7 +170,7 @@ Notice that the table name has not been identified yet. The table name is actual .. code-block:: yaml - acme.demo.text_reparser.demo_text: + text_reparser.acme_demo_text: class: acme\demo\textreparser\plugins\demo_text arguments: - '@dbal.conn' @@ -178,7 +178,23 @@ Notice that the table name has not been identified yet. The table name is actual tags: - { name: text_reparser.plugin } -Notice that the service is tagged as a ``text_reparser.plugin``. This ensures that it will be added to phpBB's cron tasks queue along with any other reparser plugins. +To ensures that it will be added to phpBB's cron jobs queue, we must also define a cron task service for our reparser: + +.. code-block:: yaml + + cron.task.text_reparser.acme_demo_text: + class: phpbb\cron\task\text_reparser\reparser + arguments: + - '@config' + - '@config_text' + - '@text_reparser.lock' + - '@text_reparser.manager' + - '@text_reparser_collection' + calls: + - [set_name, [cron.task.text_reparser.acme_demo_text]] + - [set_reparser, [text_reparser.acme_demo_text]] + tags: + - { name: cron.task } .. tip:: In some cases you may want to run your reparser from a migration. For example, you need your stored text reparsed immediately during the extension update and do not want to wait for it to go through the cron task queue. From 862d03cf236b775d7241c305f6d019c5f03daedf Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Tue, 29 Nov 2016 00:27:42 -0800 Subject: [PATCH 039/242] Need to add migration info for cron too --- development/extensions/new_in_rhea.rst | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/development/extensions/new_in_rhea.rst b/development/extensions/new_in_rhea.rst index f54da9ee..f50f5805 100644 --- a/development/extensions/new_in_rhea.rst +++ b/development/extensions/new_in_rhea.rst @@ -178,7 +178,7 @@ Notice that the table name has not been identified yet. The table name is actual tags: - { name: text_reparser.plugin } -To ensures that it will be added to phpBB's cron jobs queue, we must also define a cron task service for our reparser: +The next step is to add our reparser to phpBB's cron jobs queue. To do so, we simply define a cron task service for our reparser in the following way: .. code-block:: yaml @@ -196,6 +196,22 @@ To ensures that it will be added to phpBB's cron jobs queue, we must also define tags: - { name: cron.task } +Notice that the service is using phpBB's reparser cron task class, then uses the ``calls`` option to include our reparser. Be sure to set the calls options to your cron and reparser services we just defined. + +Finally, to complete setting up the cron jobs, we must add two new configs to the config table using a migration: + +.. code-block:: php + + public function update_data() + { + return array( + array('config.add', array('text_reparser.acme_demo_text_cron_interval', 10)), + array('config.add', array('text_reparser.acme_demo_text_last_cron', 0)), + ); + } + +Note that these configs are the name of the our cron.task ``text_reparser.acme_demo_text`` plus ``_cron_interval`` and ``_last_cron``. The ``cron_interval`` should be a value in seconds to wait between jobs, in this case "10", and the ``last_cron`` should always be set to "0". + .. tip:: In some cases you may want to run your reparser from a migration. For example, you need your stored text reparsed immediately during the extension update and do not want to wait for it to go through the cron task queue. From 5ea08fd2fd4af8b959a9fe7f9b3818950eefac63 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Thu, 1 Dec 2016 08:20:23 -0800 Subject: [PATCH 040/242] Spelling and typo corrections --- development/extensions/new_in_rhea.rst | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/development/extensions/new_in_rhea.rst b/development/extensions/new_in_rhea.rst index f50f5805..1f2cd0ca 100644 --- a/development/extensions/new_in_rhea.rst +++ b/development/extensions/new_in_rhea.rst @@ -5,7 +5,7 @@ What's New for phpBB 3.2 Introduction ============ -phpBB 3.2 (rhea) introduces many new and updated components that extensions can take advantage of. Some of these changes may require extensions to make updates to maintain compatibility with phpBB 3.2 (some changes provide a layer of backwards compatibility with 3.1). Extension authors should review the changes documented below to see how their extensions may be affected. +phpBB 3.2 (Rhea) introduces many new and updated components that extensions can take advantage of. Some of these changes may require extensions to make updates to maintain compatibility with phpBB 3.2 (some changes provide a layer of backwards compatibility with 3.1). Extension authors should review the changes documented below to see how their extensions may be affected. This documentation explains: @@ -26,7 +26,7 @@ New Language Object .. warning:: The following applies to phpBB 3.2 and later versions. If you must maintain backwards compatibility with phpBB 3.1, continue using the deprecated language methods from the User object. -A new Language object has been introduced that decouples language functions from the User object. That is to say, the following language functions now belong to the ``\phpbb\language\language`` class: +A new Language object has been introduced that decouples language functions from the User object. That is to say, the following language functions now belong to the ``\phpbb\language\language`` class: .. csv-table:: :header: "Function", "Description" @@ -36,7 +36,7 @@ A new Language object has been introduced that decouples language functions from ``add_lang`` | "Add Language Items." ``get_plural_form`` | "Determine which plural form we should use." ``set_user_language`` | "Function to set user's language to display." - ``set_default_language`` | "Function to set the board's default languageto display." + ``set_default_language`` | "Function to set the board's default language to display." The Language object is available as a service from the DI container, and can be added to an extension's services as an argument: @@ -72,7 +72,7 @@ New BBCode Engine ================= .. warning:: - The following applies to phpBB 3.2 and later versions. It is not backwards compatibile with phpBB 3.1. + The following applies to phpBB 3.2 and later versions. It is not backwards compatible with phpBB 3.1. As of phpBB 3.2, a new and more powerful BBCode formatting engine has been integrated. The new engine is the third-party `s9e/TextFormatter `_ library. Its integration classes can be found in ``phpBB/phpbb/textformatter``. @@ -91,7 +91,7 @@ The new engine has already been equipped with many PHP events making it even eas ``core.text_formatter_s9e_render_before`` | "Modify a parsed text before it is rendered." ``core.text_formatter_s9e_render_after`` | "Modify a rendered text." -Fortunately, the integration is pretty seemless and most existing extensions that handle messages processed by the BBCode engine should continue to work without needing any changes. For example, the following phpBB functions will continue to work as they did in phpBB 3.1: +Fortunately, the integration is pretty seamless and most existing extensions that handle messages processed by the BBCode engine should continue to work without needing any changes. For example, the following phpBB functions will continue to work as they did in phpBB 3.1: * ``decode_message()`` * ``generate_text_for_display()`` @@ -122,13 +122,13 @@ Some simple examples of what can be done with the new library include: // Remove a BBCode and its content from a message $text_formatter_utils->remove_bbcode($message, $bbcode) - // Unparse text back to its original form + // Un-parse text back to its original form $text_formatter_utils->unparse($message) A major change introduced by the new engine is how text (in posts, PMs, signatures, etc.) is stored. In phpBB 3.1, text is stored as HTML, with BBCodes and some other features being replaced at rendering time. As of phpBB 3.2, text is stored as XML and transformed into HTML at rendering time. phpBB 3.2 has a `New Text Reparser`_ class which will convert all posts, PMs, signatures, etc. to the new format shortly after updating to 3.2 (this is handled mostly by incremental cron jobs). .. note:: - Messages stored in the old HTML format will still display as normal, even before being converted to the new XML format. This ensures a seemless experience for a board's users. + Messages stored in the old HTML format will still display as normal, even before being converted to the new XML format. This ensures a seamless experience for a board's users. Extensions that are storing their own messages with BBCodes and smilies should consider adding a TextReparser class to ensure their messages are updated to the new XML format. See `New Text Reparser`_ for more information. @@ -139,7 +139,7 @@ New Text Reparser ================= .. warning:: - The following applies to phpBB 3.2 and later versions. It is not backwards compatibile with phpBB 3.1. + The following applies to phpBB 3.2 and later versions. It is not backwards compatible with phpBB 3.1. phpBB 3.2 introduces the ``\phpbb\textreparser`` class to reparse stored text in the database. By reparsing, it will rebuild BBCodes, smilies and other text formatting in posts, private messages, signatures and anywhere else BBCodes are used. @@ -258,7 +258,7 @@ New File Uploader ================= .. warning:: - The following is a **required** change for phpBB 3.2 and later versions. It is not backwards compatibile with phpBB 3.1. Extensions making this change must release a new major version dropping support for 3.1. + The following is a **required** change for phpBB 3.2 and later versions. It is not backwards compatible with phpBB 3.1. Extensions making this change must release a new major version dropping support for 3.1. phpBB 3.2 introduces two new classes for uploading files: ``filespec`` and ``upload``. These have been refactored and are based on the previously available ``filespec`` and ``fileupload`` classes. @@ -270,7 +270,7 @@ New Font Awesome Icons ====================== .. warning:: - The following applies to phpBB 3.2 and later versions. It is not backwards compatibile with phpBB 3.1. + The following applies to phpBB 3.2 and later versions. It is not backwards compatible with phpBB 3.1. phpBB 3.2 includes the Font Awesome toolkit. It is used by the default style Prosilver, and has replaced almost every gif/png icon with a font icon. @@ -288,7 +288,7 @@ Updated Notifications ===================== .. warning:: - The following is a **required** change for phpBB 3.2 and later versions. It is not backwards compatibile with phpBB 3.1. Extensions making this change must release a new major version dropping support for 3.1. + The following is a **required** change for phpBB 3.2 and later versions. It is not backwards compatible with phpBB 3.1. Extensions making this change must release a new major version dropping support for 3.1. Extensions that make use of the phpBB's built-in notification system must make the following updates to their notification classes, if necessary. The notable changes have been made to the ``find_users_for_notification()`` and ``create_insert_array()`` methods. @@ -388,7 +388,7 @@ If you want to maintain backwards compatibility with phpBB 3.1, you must continu Updated Symfony Services ======================== -The following changes are due to deprecations introduced in Symfony 2.8 (which is used in phpBB 3.2). These deprecations are being removed from Symfony 3.0 (which is used in phpBB 3.3). +The following changes are due to deprecations introduced in Symfony 2.8 (which is used in phpBB 3.2). These deprecations are being removed from Symfony 3 (which is used in phpBB 3.3). Deprecated usage of @ at the beginning of unquoted strings ---------------------------------------------------------- @@ -415,7 +415,7 @@ Deprecating Scopes and Introducing Shared Services -------------------------------------------------- .. warning:: - The following is a **required** change for phpBB 3.2 and later versions. It is not backwards compatibile with phpBB 3.1. Extensions making this change must release a new major version dropping support for 3.1. + The following is a **required** change for phpBB 3.2 and later versions. It is not backwards compatible with phpBB 3.1. Extensions making this change must release a new major version dropping support for 3.1. By default, all services are shared services. This means a class is instantiated once, and used each time you ask for it from the service container. From 8c5a05a38d3c2a24bc7fe6986957eb663fa8a9c9 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Fri, 2 Dec 2016 09:15:02 -0800 Subject: [PATCH 041/242] Small fixes --- development/extensions/new_in_rhea.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/extensions/new_in_rhea.rst b/development/extensions/new_in_rhea.rst index 1f2cd0ca..1486dcfb 100644 --- a/development/extensions/new_in_rhea.rst +++ b/development/extensions/new_in_rhea.rst @@ -348,7 +348,7 @@ In phpBB 3.1, this method returned an array of data ready to be inserted into th return parent::create_insert_array($data, $pre_create_data); } -In phpBB 3.2, the data is now added the the class data property, so it is no longer necessary to use a ``return``, just call the method from the parent class at the end: +In phpBB 3.2, the data is now added to the the class data property, so it is no longer necessary to use a ``return``. Just call the method from the parent class at the end: .. code-block:: php From 87754a3e4365a18f66f08505d535791f061b822f Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Mon, 5 Dec 2016 11:25:04 -0800 Subject: [PATCH 042/242] Update language docs for 3.2 --- development/extensions/tutorial_key_concepts.rst | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/development/extensions/tutorial_key_concepts.rst b/development/extensions/tutorial_key_concepts.rst index fda8aca6..8d4f2e1f 100644 --- a/development/extensions/tutorial_key_concepts.rst +++ b/development/extensions/tutorial_key_concepts.rst @@ -234,18 +234,24 @@ The Acme Demo extension's language file looks like: )); Loading language files in an extension is simple enough using the -``add_lang_ext()`` method of the ``$user`` object. It takes two arguments, the first being the vendor/package -and the second being the name of the language file (or an array of language file names). +``add_lang()`` method of the ``$language`` object. It takes two arguments, the first being the name of the language file (or an array of language file names) +and the second being the extension vendor/package. + +.. note:: + + The Language object was introduced in 3.2 to provide a dedicated class of language methods, + extracted from the User object. The previous method of using ``add_lang_ext()`` + from the User object has been deprecated in 3.2, and will eventually be removed in the future. .. code-block:: php // Load a single language file from acme/demo/language/en/common.php - $user->add_lang_ext(‘acme/demo’, ‘common’); + $language->add_lang(‘common’, ‘acme/demo’); // Load multiple language files from // acme/demo/language/en/common.php // acme/demo/language/en/controller.php - $user->add_lang_ext(‘acme/demo’, array(‘common’, ‘controller’)); + $language->add_lang(array(‘common’, ‘controller’), ‘acme/demo’); For performance reasons, it is preferred to use the above method to load language files at any point in your extension’s code execution where the language keys are needed. However, if it is absolutely necessary to load an extension's From cb9778476bd83d03c4ad0f5bf7e5a0d3ce612544 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Mon, 5 Dec 2016 12:53:43 -0800 Subject: [PATCH 043/242] Change version to 3.2.x --- development/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/conf.py b/development/conf.py index 14084387..bfecd3ea 100644 --- a/development/conf.py +++ b/development/conf.py @@ -58,7 +58,7 @@ # The short X.Y version. version = '3.2' # The full version, including alpha/beta/rc tags. -release = '3.2.0' +release = '3.2.x' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. From 8908598572478a2fedf97e69fd5b5675111dec20 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Tue, 6 Dec 2016 10:21:51 -0800 Subject: [PATCH 044/242] Replace user->lang with language->lang --- development/extensions/tutorial_controllers.rst | 16 ++++++++-------- development/extensions/tutorial_modules.rst | 8 ++++---- development/extensions/tutorial_testing.rst | 14 +++++++------- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/development/extensions/tutorial_controllers.rst b/development/extensions/tutorial_controllers.rst index a549e776..e38991e9 100644 --- a/development/extensions/tutorial_controllers.rst +++ b/development/extensions/tutorial_controllers.rst @@ -56,26 +56,26 @@ Every controller should contain at least two methods: /* @var \phpbb\controller\helper */ protected $helper; + /* @var \phpbb\language\language */ + protected $language; + /* @var \phpbb\template\template */ protected $template; - /* @var \phpbb\user */ - protected $user; - /** * Constructor * * @param \phpbb\config\config $config * @param \phpbb\controller\helper $helper + * @param \phpbb\language\language $language * @param \phpbb\template\template $template - * @param \phpbb\user $user */ - public function __construct(\phpbb\config\config $config, \phpbb\controller\helper $helper, \phpbb\template\template $template, \phpbb\user $user) + public function __construct(\phpbb\config\config $config, \phpbb\controller\helper $helper, \phpbb\language\language $language, \phpbb\template\template $template) { $this->config = $config; $this->helper = $helper; + $this->language = $language; $this->template = $template; - $this->user = $user; } /** @@ -93,7 +93,7 @@ Every controller should contain at least two methods: } $l_message = !$this->config['acme_demo_goodbye'] ? 'DEMO_HELLO' : 'DEMO_GOODBYE'; - $this->template->assign_var('DEMO_MESSAGE', $this->user->lang($l_message, $name)); + $this->template->assign_var('DEMO_MESSAGE', $this->language->lang($l_message, $name)); return $this->helper->render('demo_body.html', $name); } @@ -118,8 +118,8 @@ The complete ``services.yml`` file should look like: arguments: - '@config' - '@controller.helper' + - '@language' - '@template' - - '@user' acme.demo.listener: class: acme\demo\event\main_listener tags: diff --git a/development/extensions/tutorial_modules.rst b/development/extensions/tutorial_modules.rst index d453ccd8..f8edae7b 100644 --- a/development/extensions/tutorial_modules.rst +++ b/development/extensions/tutorial_modules.rst @@ -118,10 +118,10 @@ For this tutorial, we will use ``ext/acme/demo/acp/main_module.php``: public function main($id, $mode) { - global $user, $template, $request, $config; + global $language, $template, $request, $config; $this->tpl_name = 'acp_demo_body'; - $this->page_title = $user->lang('ACP_DEMO_TITLE'); + $this->page_title = $language->lang('ACP_DEMO_TITLE'); add_form_key('acme_demo_settings'); @@ -133,7 +133,7 @@ For this tutorial, we will use ``ext/acme/demo/acp/main_module.php``: } $config->set('acme_demo_goodbye', $request->variable('acme_demo_goodbye', 0)); - trigger_error($user->lang('ACP_DEMO_SETTING_SAVED') . adm_back_link($this->u_action)); + trigger_error($language->lang('ACP_DEMO_SETTING_SAVED') . adm_back_link($this->u_action)); } $template->assign_vars(array( @@ -178,7 +178,7 @@ submitted value and display a success message to the user: .. code-block:: php $config->set('acme_demo_goodbye', $request->variable('acme_demo_goodbye', 0)); - trigger_error($user->lang('ACP_DEMO_SETTING_SAVED') . adm_back_link($this->u_action)); + trigger_error($language->lang('ACP_DEMO_SETTING_SAVED') . adm_back_link($this->u_action)); At the end of the method we assign two template variables. The first contains the current value of the config value. diff --git a/development/extensions/tutorial_testing.rst b/development/extensions/tutorial_testing.rst index 17757ad2..bb9acb69 100644 --- a/development/extensions/tutorial_testing.rst +++ b/development/extensions/tutorial_testing.rst @@ -57,8 +57,8 @@ require no changes for extensions, we only add a quick example here. protected $config; protected $helper; + protected $language; protected $template; - protected $user; public function setUp() { @@ -73,7 +73,7 @@ require no changes for extensions, we only add a quick example here. $this->template = $this->getMockBuilder('\phpbb\template\template') ->disableOriginalConstructor() ->getMock(); - $this->user = $this->getMockBuilder('\phpbb\user') + $this->language = $this->getMockBuilder('\phpbb\language\language') ->disableOriginalConstructor() ->getMock(); @@ -81,7 +81,7 @@ require no changes for extensions, we only add a quick example here. $this->config, $this->helper, $this->template, - $this->user + $this->language ); } @@ -123,7 +123,7 @@ require no changes for extensions, we only add a quick example here. ->with('acme_demo_goodbye') ->willReturn($config); - $this->user->expects($this->once()) + $this->language->expects($this->once()) ->method('lang') ->with($expected_language, $name) ->willReturn($language_return); @@ -240,19 +240,19 @@ argument) for the ``acme_demo_goodbye`` config variable. ->willReturn($config); If we have a short look at our controller again, we see that the value of the -config influences the ``\phpbb\user::lang()`` call: +config influences the ``\phpbb\language\language::lang()`` call: .. code-block:: php $l_message = empty($this->config['acme_demo_goodbye']) ? 'DEMO_HELLO' : 'DEMO_GOODBYE'; - $this->template->assign_var('DEMO_MESSAGE', $this->user->lang($l_message, $name)); + $this->template->assign_var('DEMO_MESSAGE', $this->language->lang($l_message, $name)); This is what we check with the third argument ``$expected_language`` of our test method: .. code-block:: php - $this->user->expects($this->once()) + $this->language->expects($this->once()) ->method('lang') ->with($expected_language, $name) ->willReturn($language_return); From 17ac218be702569189cbdcf344fd5995b81c6cc3 Mon Sep 17 00:00:00 2001 From: Patrick Webster Date: Mon, 2 Jan 2017 17:24:42 -0600 Subject: [PATCH 045/242] Minor updates to the 3.2 Quickstart Guide --- .../content/en/chapters/quick_start_guide.xml | 57 +++++++++++------- .../quick_start_guide/installation_intro.png | Bin 24832 -> 18618 bytes .../quick_start_guide/settings_features.png | Bin 9096 -> 11233 bytes 3 files changed, 34 insertions(+), 23 deletions(-) diff --git a/documentation/content/en/chapters/quick_start_guide.xml b/documentation/content/en/chapters/quick_start_guide.xml index 3947235d..fd9355b5 100644 --- a/documentation/content/en/chapters/quick_start_guide.xml +++ b/documentation/content/en/chapters/quick_start_guide.xml @@ -38,10 +38,7 @@ MariaDB 5.1 or above - MS SQL Server 2000 or above (via ODBC) - - - MS SQL Server 2005 or above (via the native adapter, SQLSRV) + MS SQL Server 2000 or above (via ODBC or SQLSRV PHP extensions) Oracle @@ -49,16 +46,13 @@ PostgreSQL 8.3+ - - SQLite 2.8.2+ - SQLite 3.6.15+ - PHP 5.4.0+ (>=5.4.0, 7.0) with support for the database you intend to use. + PHP 5.4.0+ with support for the database you intend to use. getimagesize() function enabled @@ -69,6 +63,9 @@ json + + XML support + Corresponding PHP module for the database system you intend to use @@ -83,9 +80,6 @@ Remote FTP support - - XML support - Imagemagick support @@ -131,7 +125,11 @@ Please read the section on phpBB3's requirements to find out more about the phpBB 3.2's minimum requirements. - The requirements list is the first page you will see after starting the installation. phpBB 3.2 automatically checks if everything that it needs to run properly is installed on your server. In order to continue the installation, you will need to have PHP installed (the minimum version number is shown on the requirements page), and at least one database available to continue the installation. It is also important that all shown folders are available and have the correct permissions set. Please see the description of each section to find out if they are optional or required for phpBB 3.2 to run. If everything is in order, you can continue the installation by clicking the Start Install button. + The requirements list is the first page you will see after starting the installation if you are missing any necessary PHP extensions or have a server setting misconfigured. phpBB 3.2 automatically checks if everything that it needs to run properly is installed on your server. In order to continue the installation, you will need to have PHP installed (the minimum version number is shown on the requirements page), and at least one database available to continue the installation. It is also important that all shown folders are available and have the correct permissions set. Please see the description of each section to find out if they are optional or required for phpBB 3.2 to run. If everything is in order, you can continue the installation by clicking the Start Install button. +
+
+ Administrator details + Now you have to create your administration user. This user will have full administration access and he will be the first user on your forum.
Database settings @@ -169,17 +167,12 @@ You don't need to change the Prefix for tables in database setting, unless you plan on using multiple phpBB installations on one database. In this case you can use a different prefix for each installation to make it work. - After you have entered your details, you can continue by clicking the Proceed to next step button. Now, phpBB 3.2 will test and verify the data you entered. - If you see a "Could not connect to the database" error, this means that you didn't enter the database data correctly and it is not possible for phpBB to connect. Make sure that everything you entered is in order and try again. Again, if you are unsure about your database settings, please contact your host. + After you have entered your details, you can continue by clicking the Submit button. Now, phpBB 3.2 will test and verify the data you entered. + If you see a "Could not connect to the database" error, this means that you didn't enter the database information correctly and it is not possible for phpBB to connect. Make sure that everything you entered is in order and try again. Again, if you are unsure about your database settings, please contact your host. Remember that your database username and password are case sensitive. You must use the exact one you have set up or been given by your host If you installed another version of phpBB before on the same database with the same prefix, phpBB will inform you and you just need to enter a different database prefix. - If you see the Successful Connection message, you can continue to the next step. -
-
- Administrator details - Now you have to create your administration user. This user will have full administration access and he will be the first user on your forum. All fields on this page are required. You can also set the default language of your forum on this page. In a vanilla (basic) phpBB 3.2 installation we only include English [GB]. You can download further languages from www.phpbb.com, and add them later.
Configuration file @@ -188,11 +181,29 @@
Advanced settings - The Advanced settings allow you to set some parameters of the board configuration. They are optional, and you can always change them later if you wish. So if you are unsure of what these settings mean, ignore them and proceed to the final step to finish the installation. - If the installation was successful, you can now use the Login button to visit the Administration Control Panel. Congratulations, you have installed phpBB 3.2 successfully. But there is still a lot of work ahead! + The next several sections allow you to set some more advanced parameters of the board configuration. They are optional, and you can always change them later if you wish. So if you are unsure of what these settings mean, ignore them and proceed to the final step to finish the installation. +
+
+ Final Steps + At the end of the installation, you can set the default language of your board, a title for your board, and a short description of it. In a vanilla (basic) phpBB 3.2 installation we only include English [GB]. You can download further languages from www.phpbb.com, and add them later. + After clicking Submit, a progress bar will appear and will be updated with the status of the board installation. Please be patient as this may take a few moments. + If the installation was successful, you can now use the ACP link to visit the Administration Control Panel. Congratulations, you have installed phpBB 3.2 successfully. But there is still a lot of work ahead! If you are unable to get phpBB 3.2 installed even after reading this guide, please look at the support section to find out where you can ask for further assistance. At this point if you are upgrading from phpBB 2.0 or phpBB 3.0, you should refer to the upgrade guide for further information. If not, you should remove the install directory from your server as you will only be able to access the Administration Control Panel whilst it is present.
+
+ Supporting the phpBB organization + When visiting the ACP for the first time after installing phpBB, a screen will be presented which provides ways for you to assist the phpBB organization. + + + Send Statistics - Sends us information about your server, such as PHP version, selected database type, some PHP settings, etc... All sensitive information has been removed. Clicking the Show details link shows exactly what information will be sent. This information helps up make design decisions for future versions of phpBB. + + + VigLink - This option adds referral codes to certain links which are posted on your board by your users. When certain actions are taken on these links (such as purchasing an item from a posted Amazon link), VigLink receives a commission, of which a share is donated to the phpBB project. These funds will be used to further the development of phpBB. You can also choose to use your own VigLink account by clicking Convert account under VigLink settings in the Board Configuration section of the Administration Control Panel. + + + Both of these actions are optional and will not be enabled without your explicit consent. Clicking away from this page without pressing Submit will deactivate the options. If you wish to enable or disable these options at a later time, this can be done through the Help support phpBB page of the Administration Control Panel under Server Configuration. +
@@ -220,7 +231,7 @@ This form also holds the options for changing things like the main site URL as well as the date format used to render dates/times (Date format). - There you can also select a new style (after having installed it) for your board and enforce it on all members ignoring whatever style they've selected in their "User Control Panel". The style will also be used for all forums where you haven't specified a different one. For details on where to get new styles and how to install them, please visit the styles home page at phpbb.com. + There you can also select a new style (after having installed it) for your board and enforce it on all members ignoring whatever style they've selected in their "User Control Panel". The style will also be used for all forums where you haven't specified a different one. For details on where to get new styles and how to install them, please visit the styles home page at phpbb.com. If you want to use your board for a non-English community, this form also lets you change the default language (Default Language) (which can be overridden by each user in their UCPs). By default, phpBB3 only ships with the English language pack. So, before using this field, you will have to download the language pack for the language you want to use and install it. For details, please read Language packs .
@@ -467,7 +478,7 @@
Obtaining support - The phpBB Team provides many options for users to find support for their phpBB install. In addition to this very documentation, the support forum on www.phpbb.com has many answers that users like you are searching for. Therefore, we highly recommend the use of the search feature before asking a new question. If you are unable to find an answer, feel free to post a new topic asking for help. Be sure to be descriptive when explaining your problem! The more we know about what is happening, the faster we can provide you with the answer you are looking for. Be sure to fill out the Support Request Template with the information it asks for. + The phpBB Team provides many options for users to find support for their phpBB install. In addition to this very documentation, the support forum on www.phpbb.com has many answers that users like you are searching for. Therefore, we highly recommend the use of the search feature before asking a new question. If you are unable to find an answer, feel free to post a new topic asking for help. Be sure to be descriptive when explaining your problem! The more we know about what is happening, the faster we can provide you with the answer you are looking for. Be sure to fill out the Support Request Template with the information it asks for and provide it in your post. In addition to the support forum on www.phpbb.com, we provide a Knowledge Base for users to read and submit articles on common answers to questions. Our community has taken a lot of time in writing these articles, so be sure to check them out. diff --git a/documentation/content/en/images/quick_start_guide/installation_intro.png b/documentation/content/en/images/quick_start_guide/installation_intro.png index 4128bd70bba8f499688936ba0b218b2d95674c0d..8abf8d2267e5d0c49dadf70fc249b84d5bc9c67e 100644 GIT binary patch literal 18618 zcmaHSby!4_xmIu79NjsUspL-rU@L8Lbwj&4gudnyZxELk z^G77zstkOt-oL-qribB+{=+tm_tXQXhH~Tr(4jtNllQ z+r>{yZ!8Lre9(3&?s4DpN{MouHPoTK^pBNVBKA#%j*;i~j8R9{va-s;#j2m1iomc6 z{(*=$%Xg^ERjsi1LxWCkI~~*WjLzj4Gcw-MU}5&G@P}Pr$>@&j>ufJj6;9TcSKjlC zQJ=XL{uA;+T8kAX_w!=R`1y!m8MgCz0qK??A%jUM0lH_th=A}AC*av_hU~6L(5!_= zA5E%^MnFN4<&V2aqGz$Erhd1wnY^4n;l956-5dsYRZ1F>ZheN?mDrgiO`+%DVk-Cj$<$ z+kr4Fc)5T_bg@Fn>3%3{d@!riwL98$aR_IA^piaRHyunG{ay3}Tg!?JYggYjnAb=t z7cBi}U8|o$G(o^{Qrb`@LSMdOUf`TYF{ zRgke?*PU+2Q<~_fgvpsNTdC)9+gaac4yl=4J+ajpIn1f)6E0c@k<&LKur(lWAIY@O zXS^;m-AdziFxbl1-P|nas7T5nyhyO4><54OR09i0hj& z_}B^oG$wSQ%K{?}_*I80i!3y>sXTj{r#dN6&BXNhSnS&+_1>2IuLeLyIMWH>%;+O= zheLy?byuSDh)%tMsE;n&HxM{L>$auvL}>1gZnuvX9_VYN{PDe}beK&VskP>$IA{DHs!JTSTZk_E(`8U7REZjZ;}N(0 z7WEr|OX=M9Rc;K+2;SItSG}Deog^uf7|W}ij`N`yz@3dgmyX%d-JhzaRVrkB86XZd z!yi>Spy1lP6t^4#hNe_}YvbG$F?xzWif^|e zAvsg;OG@Z#w2ONQs-k; zEvXzCO!xBwKE9pA@iApestU$~1V+-->%imU7ZwB}D=fP;F*r_E1wr0K8cg8R(9bo`&<6%5 zpmH7e6%|q*8U6-QH|;z_*bqcst6-r1A{Na zQ${V8B%%4J$5|fWmG?M+zP_WlREIxxdCG}G)Y3#|bqdR5>c@7Ip`DR@fwgFZ)t!CN zD$CAmaMP?Tuo^``)9Hy`R$s0bWnnvZ_yeGPPtOUb{fkyZ*wsi}yD4H<813?VV6sfN z&QMacgBBhk{!^ozIF@$zTOawKj(4Y_&AX)Y8tATFmV*ZIJr~I)2bNOMgzL1FBW@E` zsi_}=lg4}T(?k!P!f6w5gUx~t69M_cYTD2ZJazAv~SO-gUgB|zzBy5cJ6nG>*Q zcGjXMxAfvXi-&A0)*LUFt)1*JBJ@FLLLO>_I+ZmRsiqW;#4NfNsP{H2!1ziY%4CE8 z)#9BMSS>6X0{6#}3slBuYwO2dQc)4rr&|t}Twzwh-kFYTI}W-#;J+|cu3oq}PVio*wUT7XXnT1pi@$o|cXBqwwc|9=nzv3?vR4)T9-1S*d9JCx@U zf`3q>_%~*mNly^CVU!Qmznlye|FO*LFMvU=qX2<={(=q|zl#6=3g$Rj$9Io+yStbKCkrK`w@tcT%UL;|XBz}O zH7ew6Er%L>^bE2uOPVQ|mnHB2dx>W2xiZc@vs%$AWH8s2AIZZsX4n2(U=}7(5d8lS> z-IAhmYU~fEJya7KQl1M!HJ7$rqe@>C7ZjbFE|2y=6Db8$_tt*yN)6&1=v$XZy?jWB|?x@v6VUb5o}hsevz zw;P^R<-@UevhVgDkikGp2Vi1qY6^hQ7n)vPyHO>-9mYDp?eO?G?5x7ImK1)_bW&DJA`3 z)Ryj6vI6}4)PI1TtZMJ1 zZ*+i%de5=lQ2*bsHI~DCetf+69N@8QsePe}_s0WvMIglF6?Zm@x9%bo-x8Zua1kRr zYJC?^OG~>O)@i%;@3{FL_!QQqV0^yPyA9USud}NlV5o|P4x#R@T*AJh;QMrtnfBg z7xc(Om$4k-TfHvBdP8`>>nyYG(2AVw7oqM>Dbw?E^ZapbHT;f-h9+8(7q}{yNQq<7 zV|?BBxkv2(SrR--_7OzvyR1k^g}_{E^@NhTg6fR-_8!IROTXD`C? zHuyCK7}+VMOzaUS2q8B@8sIe27^nN@O@Gh34+0-Q4rL%9Af@K-*^BA~n^(WJH*%BO zYsegS&rm7=V3G?T9vsJIb1wnw6ssT6g+iUVxdAWs^#6GS5f2;9=;Vp<+k#s2H{uRy`ur#F*g8|h%q#y>(LMy zJx*3>xy(>c-zE4nQxwd6Gxr#<@Fh!BBS!c~CUOLhl1ws6yCRvlv%cQ-V!+l1+z@DS zHY6-+riFz`f7N#|X=Rtw5NUK)ZA(ChM*YkT%7_F|PFQ+c+|{I}2SH-2Vx8R@d!@!otkl;zXnGiGF?SPOqvAh6htdY`hj7 z@bC-Q3{NGV)6o98)q_fBX zG*q2eei^4H=pIb)JY`I5j2&7?fdS>n^Y6L$Z?|pK@F&XJG`zVVg1Saq)6ZA4S*z!U z4`6on!J_?>{nz;G*)^@-L)~nFcY7s$eNxHraSdWVh|voRv$^t-FttE{ZAes3Y#_@o z1Lu!fqRexj*${0xtvRPPSF^LOl$eJ%2V(7iX|x79ShtkFGgdMj?3`Z1{T<~PcQd1% zD&lh+H&+s?DrCD;n}_6iaI(*Ydbv8aj1;lEmsHp`McrtVFwv9##%+MRPI`J60f8Z8Id%qk-!1l!#AMwnwFe0w$ z`TO@;NciB9%YH+80H(Vn6o4Xsh%>w4`!nTuu>~hc`^%o4W1w3fZ)R4O@AD%)BZUcO z_&I_N3hH^#doTsFG46At9=QGL#3Q-y$X&$il3^Y-m)h(f`v-f8^q)U}R{jny#=EPa zX$`a-&pty3rJcRT_LkN(=fBjDW#;)ihbM79ZTGfIck2lGTo>b9qaw622T_-ZINf(i z^R$5L_T~&`?E_c)nWKp+nCb@mW{EsqChF^c@uQSeI<4!;L|&m0U%kJ1xINnh!><)) zDr(B9Z`2fskSGhf7gkrN&V{|fjTZDg2VQxl$$pa(i?D{CJ0ak(-VUrzsn(fDS*&h@Z8i-_dk*Bl&9( zSPFjzO=o9!cQ97wji)4qt3Cr3wr27gin}{E7_U_h-2SPeVn=NyYybRucE|hX_^c{h zwEv?3wGdxp&3`w10-!VQ#>^#FIK(d?$`R?3L&(0Ynh_J^DFsFO%U0+*Q(;=e%=UP; z(5Ai^*X4(sVNqh+|5zRB2Ye1Azq@UM0+3ao5^l~wO?&$YFW9Y!caTQo6HF=Yec$d+?_(xLKpy_t=~ThQX4w9v{c@sq3YF}5 zt!um~Nc6Y5Md&43N!Ruami8Yy>~kLDF5%b@Z{Xpo0x;qz)*{=jt7{BfZCm~;N6y;h zN+v8{2=C{&kJ#7z}$u`KH7O*8VJ)n)iCmV5qq_xbu8cO~tfoNdlP&ni2j<@%a%bysuq zH)lF6y^7Z?)u9mazeJS=__S=Pyud01(*npqsX-hwv3)_+}obo95G!z zxGLslw6tje)dTQCp;kD^j`aPPc;aGFN~*r_o>OK4V5HliIW#4p#%Ax^C#*L_l z^S8h}+(4|K|I=c!TCXTOe#~EK&(l^~4#9Do(}ooF@s1UjWRLQ}52MWz3b?&I`vNu5 zuiW@`st=!rk72gwnd78Er6h8{f-UwqfHtFIr;2~MT{4AAAtt$#fb6cPnPyFdQ+&CD>!DjhMRz(28$N9GH%^y;q-w1~RrtJB+1F@p9cXQv}8+b#q*OAg- z7EBF#FQ;1wsBAdH(6@k0FA%}6%JH3!)=-B9hJH6QGB}&X)2(R0>lT}HVf~;xNp1ya z5f}i+6H(fvNKyKFG<|3ZuPKU_{7c|^H{%3{)f}YZ9pzu2ECU=*4q4+d8CKLYMYwBm zTGliw*t1?rsdDNMCdq%-RrZaFuB|t6r)%CXULp?tlG_tel z06X@Vydmf2XUCtXYN{q#kmJ=)w^F)PGOtBm9v{~?g!r1>xetsspJVswvzpSIh^b&c z7*r_5`~819c(n=`F(`*17>FNIlh?c%#1-AR2z?4!o(UmHm zrZgC0@aq%^}CdR@2f|#iUsTC_=WPI$)V6FeXnF$n)yMcSg3E!0ls`s@? zv76R{hWZKZbAU6eXlZ78<{JdnjO<33``QZY4g0qHDT~wz|FOM|eE?~A+eHk$8GYbx zuKH=aVr8qzDU-+EpY5zFr=2hEYmjbma8jZiQ$x>lXFxAvs^9(Idj|jW!I$8efO{d< zbB*XVU+*~GZ&}Wp2ryqpt6=*pt8TAsMhj25IuwP&P2H|Y0X`JLcCN=57O1vPD;Ef1&qj{661UFu7A*y9L<0j&6irRzvKpFr#FfnZ?01m8 zL1fdftf68$mI5Ra`V(fX2-KC6lkqXLZeN8s2;q@_OBDBGk9H<>@9*v9@7XJBrA5QY+PBz-{X8-mv*eI;Ipx&BH5b|dHw z>q;In-4~?f-z+p%6FT$YnK>mB213$36OdmrxQNJ4-?pwE`|Ue6d&eGdN!CYXgZ@i3 z)i}s31q4DV6hDFudz&p<|ft_>|bv0>0rk*7RMsXiET}d&5*U3npcyr_@!% zR?+2(G(TUt;2TcBn6|}tr_U~8IUM!{TqRPavkAY{C1IZ58=X9$as}4ey`b83K3oU5 z8s(6(Q>$XaAr21@lad~(`qLe8RW3EA^s|#(d&s#2c+QCVv&rly3Hf)2(rJ~4_D0Jl zW4)1^o!2ePE9@7U{Vn2Cswn6#$qB~|6a70)<@{XONz|vn-?Co53_m38GD!ZWYiy&0 z?U2RZM{!ax^>i_ypy1%6z^?yw|6j%bRR8}fR1xl3)EfRn^h4v{g{J;9>mD#E0epOE$nV zO$d32keP9j7c{%8t--_rHq*eoo>zf&g?zSoGAHGY`2i z3kpk`IN&Xj#uOC|V3G;@oc>dKuR3*hyV zo-xvwtAZa4AhGYRH>*!=9w!~kIhcIVsXZCv1;;fN8bA_|u2KdSQhu`P-y%XlE|^3O zctX;>Te`+YM*SNjrJO^d9d{vZY&W|b`HDcVUIxI!(L)3{1m^F#Mf?f=4(R#v49`!? z6`hdWWiJvBQ8h`09IqHjf?%FN{d$rMQ@-|b_ zKZs;tx5P$P-_p15;4EaWKPYD7`ALc&N<@up^i6>HXxLW9Nf+;HvF9QuH1)r+)lG^4B02*G~vPoZoG zTEW}ab9f&VFfBW3l17nUX*ItJQbp)q{qAe@qU3|CQE;qsGFok87O%?BkC$~UH-ruG z2GjIcRG)F@s=H0ZI@JBBKzTn{K`R{|YrF#Fnp|!#xcT2$%lh@5nNF^Pt4y5)hSSIs5Df=tn1pI%&rQq^LjBpFWBrE6iw9 z0cwgF4<-U7cG=8Db5oXBY*4^Ob_)0MfJ4;%w{2kmf+^Txk@-CcIo+36CBcXN z%tub*C49QE?(|Iwe7pPmTc!%<=(v@d_D0p^cX53||Afg7Vp+bp-)a9)_gX~80UOHX zQEpS7zO}hQQm{Am+-_8IxfDL83b!7^SVZ~>Za~11tn%J@VjJBeFBwZ)ykY{yN_G#g z=EYrkcyFaXwWqjg^Fn1UKgU;0=5>xB2t76$lUONGgb|cg9kTiMcN%U;7WXbDDPNoy z)BAF^>7VJX*XNlUB5|({AG1KSDL5&GAJh@zXD~fkoD48W-1sUYX67{Ne24sWjne<0 zvI?&10;d8+yiY{szqD$UJExXxb#!)FhiA=ji;>+J>dkncc|H)WXv$Ckib(Zz1-IRl zlZ)Q9ceb@#hzlM#!o=E=3}x1zoNS--*nJtl4N`ztHGQ*lKd^$(oyScnEhb*+%?S!I z1`7}%fmYVPndfdKK@zid3uaH+FkS;)oH48R0E!82XdawNOQ&JA8Nr`5MDbDY|C)<7 zFgGvET+}aZqMq}o`4b}Lms>y&uD?V#Y`-9lO#Oa0p3Zt~>8#=THF$=6ArJH`)t*5N9_!F?N z3l3)KP3n7Y_>!;(BrbnOq;2TNmxQ`ZYBOnwe*T_PZq)0%`05w0PD;CSf~3YDwUM#4 zZRBA-8;nOrtQ1`;Y;{K~3QtP*nB20KEayz&S*PE>BbM(e^Xzrh5=sl&5E!>=4vrGG zLz%$~;|GXto`zWcSb5!}2w2he5sDZhReVHzlz!*j9rKa}ziJ*^{;w?mfqs^I5B@ z51%dE4V95W+Zl9CC-gY@u%uJU9Ixf)FLoF=!%urxgJ1+(KYdi#14Z1F8H|d>Cl`M& zi=8h}q5@|BjQ?6A&-Oa)HrvG=uND!Z4|O=8uU}Q{ZDDVfMBqV*X0LQ~bPT()2mA={ zwB;B9JA~MThvu*&AUk#451{u~!MqO3kR?(D1qJ^isS4s4QfN@mGal?vC_~dw*Vax; zRrPeEFRCTPn!lsIbGav?SZ*L2E zo=e)DG|n&os^$Mz5AZRs;(bH;RdPrs9BaL}n;qFUT>*gom&`}@L!@E*bvsJQa4gU} zV<6bv^6N?v<-cwyXo-;GyJZ|oaWGN=TrXv%b)%!BM^xy)@rl?4VH)85)nUlf;a_VE zG!INvzVYL1x*XR3R2ZC);n#&=!MdvjtRI7FuHBok8vhNn1!~4lF;@6ei~5iDtKLY6 ztjS)=l)`^03DCNt=1jeYjf*W!_}vt9_}Jn--M?Rm-$iI$ssB#a^|u$&u({TvR5%tT zG#u&%!@RI-GSLZXxO}-6#waE9Pd9`L5Vj=mudm4-_HQ16pklB#lW|Cz#NX!(-A*?U zk|5-Wmwzlxu|Fb3@&2b_z<~mCi^{+0aG}LQ1b<=V2{ruVWinu0XqMt|{(}Te zgsdP&kG_8dP}rAuA%!d)O#hxB5Nd;I1%GT)LSz1k`kehy2#^5$So)tuK|vFN=3@>= zWq|%NiSb_AnFs4THSHD}r6i&CPb5@J>VD7{@V45bcsTpUL@dO~#RNN40?31?1VC`6 zmLx=wMTWJRUB6csm+B710=>y20j=9rzW&%YT&|q@r{5?AJ0uGSrQTAbmO>ni9b^K= z6W6_XYFqHXaPUj<8;<$uYK{5j+mo+C{XMC5w71Tmv+ZWW*`}~qC|w8q;FIrR1pxK+1jGE_WMK;ooNKV3V}A} zhp!^ZTIog!QIv|%{CfHUyNaM_Ny$9_I^&`HlL+MtT3;ZkGnl)1r%`-P*9+y!_XKBN z4KJG*i5CM7R8?4sjcjY5g6OaVAMv=p1Kg4^8%jX7g=eV?Ox5n|?!$5bZ_|9WSLV>% z{Jr)IXA4jO4}1w+id3bm#3Bs|A^}y^u#6|$o)Cb3P((nqRkg8Z_gNIccz4)?jO(F# zDaZ#!U4&2-WP4@IRKp=vipp--0lRwl>@TUKE_%eTYje7lF%gwq{8-e5)N!)J8o?rs zElnrG8t9I3L!oO%hql~xF$TR~KRHJf&YY-lhud!}Gn)$snQkPv=v??p_c~h1IMOt( zvfsN^SrJzng?PKZ)99f?1kJ}4fhm(8lDvTq8J)+NCl)6aHTp7MD&!*%N94%5kJsaU zsa_?0jp9EG;(igW+bNX28in7**m(-g>^S$0(%=)|bUFsEil}Bdwx?dK4_Y*nJ+`OY zbm%@l+>|be7~Y+lU9En4B*WjV_8}S@wntYwjzb z89g49Vd;~bUO8ix<`-_YRHMf*OoVE`rY^1~kA$2-d8^yqMX~``Te-ck{Kc^M9sMj$ z9AMwn35m3Edp9pQacO-&OV}Bu@zPh0)P|-952ws|Et#Yu_OJ$X)e%}|Zf7T_^0t|M zGDo|$*9M=}1Tfy}-n-WpxQtla+od86GbP4^Q3IN0_^?#G?AQWV&FNc^U}%cG&?p{) zl56Dr?uwEg5kweg-x{X5Lk;lKHo9S*K4e>c09~&=wK%Qq)w10fcm@Ny9u3w{1a#Ak z8a>AGfQbUvNp#t))at?jpaUbN?GoomR$Y*;f= zF}eI?*RbpBQVTdU>p6L5U`LWeju<1P224c~PX>qrP4gKQw)aSEUgVcKHr7)gs$Y3O z_wK#^kV$H#BKYan+k}TL`_8{Lq$*ql1%`4 zM?tlN#nU^$HAn9AV^FUuQOTsc?wi*zBOJ+fXd@>WS&L zDllXhVdGbJ_;Tasr`HKnhfQeo$4$FK;)=l`rZ&SSr{`gc9lDc~6UaCo1`BiSjEpz$ zc5sygyCqfY=5pvrJ8DY4%h)jAN>BsT2RGV$&P*;Co;c1@*5S zk%)(gGYrRaGa%WjtWZ=h>()q=7uuT#sp?vQuMDL+YN<`7UYD({*=aU|1aIh}CiEW} zNvxmaen|GwT69*`?~O@}f!ssZwvcRFZF5HGdP2u*67B&iK(dS${_O6cWwns9Y=ej& zLO7rZWzMu#XI0%6IRc4hmDY>KBvmC~WF0fEHmw?&fJcJe+pJ?Z-Q;M|+{|>(AJcY7 zCZ_t1HzKMD`_9cHZbu{_^j|wHEz+s>(Zzuy@9I9+7TApR@iThZYk1;S8p+5)QTTO` zbTC7dZd8XzK**_)vcPuEaT5$$u~Gmmu2`tp54TWUaOS1gbbz=$v(ge-TzvgSWUhbA z4|pF5rcK9rY_X<-6h*&rXxsM^SBfDA4O)h1BtM2HP2zq5`cD}*+SW= z0Tl_4+6XhT++Yg8xH0-t_uHvSv~vNY%Sx9E{a>c$qzihE^^Ymq{YBg^;O%`z+XvDW zjF;L{f$R@O%dU=XAR1xjR&6i5!ZkdqN~ax^JaSE3?N{bfU~?^LU>?#i8&n-DCDJuh zerg@?LBKJSEG~t29&JHe4ya5Enrs}QyTx*Gfs+KjMvl_GCdPieDE@ptz=^M*osGfX z-3`XOilQ7rib_9~_r8U>KB7oQ5E6{Ilm^s`5t@)}4#ioFe8cg*5rC6YOU+uP(K?x! zLywc9Ls6Mg9B1E>6!(D^i@_eYIHiN}NW(9H92_stdyQ`iNW+w2k>#(ME`BJr{qKuZ*f1l{$>-)Cl;2-7Ns&m-E3|tW_=i5Gv|G6Hj;ue8w_4?X*#wds$R!J_LH!+ON9Wn+m*GIRDiQe z$ev&2aHW&!?;qah#ceIcw~kvGq32{NK@bw$78HhWHlri)1s|+4d}w}bK>~m2f7!2l z&ASq%P>feh*nyI9j6uuGAA~ha_X+LbE96lASt6WWJT4Xz#DEG;Cgp_IGBY1d_4CjY zc>hFF;1j62%XZQj!({ojQMNa$*cwQS!1gPh{Le+cbBly@OV#sb4%mEL5n0i>)As~dhzEDnwjp@PA*A6zhOeVBlpN&rKl zq7;BkbTG)Fb*V2&eMPXdKS0 z?7NTRgp3R_Kt5s)v|d`k>}nAg0Z~l!qe5%m$8KF?TnX-A>2is&^q4|hk2S8x59kB# zYiT&1VHK4P>>9YiG)}?kFYc30-XlsZxS{gp?2o8c7O{^&(J^&w0Tf3hBwox&?AcJg z*|kN29K+Hj_qxe!B7eaK4t%yy7@`*=7LdfP2)*8iJ6g*oy}y)^usHhi@J&Kc0Xd3M z16uAJxjb!_7SJfs?=LsE#uZ#^U_JNVLwuW0Gd*$4CboWwL^-ul@1<#hTF)fX%1=*- zo3WX)5Nvz%eqB2-8WP0Rw9|joy2>c3uXKLaJng<-S;fI2%xy$aTJ>F$s?zFfsgTlE zy4yFL=t^bR(gBO~w9N|{;of14nE z#vJZh&_i`qiB_8B`dau@8pg2KA&)A=jEgS`5-^8S$&uI#WMx$eO);O2nNxp|V)kYj zFema3iBVir#ZTlSB>_24w8cKB7t@InJ!rG+ z3yO{NapYb9&eI#ywtpQ5Ed+T9{Y5S&6iD<_9lB1GN`k9qu5c}7pCD~qGfX}5t|HSp zIvgyes0QVX8kH&Z)0$}GkPs!5lD&cXYLz5%{%oK<^?l} z$y<~}jZNU8s<7hXejk#8=XG1VFluJjersIZ8*b;EqMWJ^lQBpdk8!$}D`YsqKj^jH zT~lZx2R`m3=Mw}E?WSn*f6w!I{dC?D{eT{K{jKOQM4N6$i_TAisMEhtQ6@=XDk9kaMKRW6bpYH$FkjCm`x z#b6SN1#{?BF}m06;Rh%S{CiM{Dp_+nPU<8AVn6iqWQhJFXCi}t{3R9zc+2V3*=CrJ z0TWK8Xa_SATtu&fbV{1Zy+{H4kYrRf*P^I;;c1atn&Z-_U>q5nc;J@HgTS$J)+`}K zy2<+Rg_NYEG5)2%ucOrGm|{sq35Nu88dXGeYIC=YrBEh=Rb>5kS10V9!~8w#Aqf8P zH&>XXQkv`G_lT5{>DUjg#Rl?F_32?;fmN+~wrok@oBeGhTNqA&AfrM*Oc~~PC+98r zw20oQScW{E#5$yh9v)V)C3-bM%g3p=LS=R4uHijzZDdAZHx zwZ0r?a)P7-4NyzW5Ljw#YFV|`4nSQ3c3NGE^Ll(55yn4xwKC!Np5R+4@y2~ghvv68 z)mCiO@;TP>^E6QGJc2>y{SP9d;u6+WJ!!+^M}nF>`A)%-_DNpvQU=P3CyVAQ7T@Q% zP*n6WNUKEND^y7rC90|rX10iFh(F=O0$eem15VyxBM)IDCKbcjRFV@{{u9-5J}eN# z8Zsk3FzDlB*JK@Z2oUIGoIFtITy*P@`1yQG>*ZrKSt>yVaB*q~X|ls=OnW~~P;{bb zpNbrH$?OQvzf1+XyMY52ou)a7rAq>b{3yLw(iZbbjAe*qfH6B20?5v%4h%>Njc5zx zlUrGt&hw#uf`#GjKgy`Dj0{NC6#<%bqK6hZ7QytDqiuxHR)s(6Q-+chOW)PAV1F!V zS96AknJPF?hHKgg4LV-0NRRz-ENvj1@OV&&!&rrE67tq**CdykCrLQ@|jI z@&J0M$5Bb?PgKhtBD_1SPgN^Qzq?v@yz$|mNmR#OeFj4j(($>bAGaKv#H zZlv~}KXpX7(-ePl;6Miu<#j~0zq-;GGQ78Aq8}Y?G4hcfBV*u3esZ~?dU`AC^+-ke zhZW@Y(?<`TKi*cm&`d;^j7RU>Z@oJ?>FY$2e3Pg(XSISb&n zatK4hNvbsM?`dCPGi7AJ(jGzYl2}gDQ)|gWZ8KaPMCPS+Wj5vci)xTTeH*9SRhP+0 zc%B=u7hhqSEM-dBj64n)sK5>rg*j%VUKQjl2S#HUeB6K~8(^Lqqn8p;;w`<5799Nk zFF3IN>*^2K4WKxVyl}g)ArTlHS~vfLMlzGGzft^6E8YCX8Kj|7K-Ym)#sw7e7;+`v zX}f4fFdM&_2eR{D4AQc9{LX$-)jk>PPlV4BU1cMZDQUvrl+_MsKI7OVv%l^)N*vZ~ z^5p3vRkRy}U|0wYVX*r^anL+1w9#P*e_VW&T>&|(*VO0}Rdx6s8^KlDld`%g$-_QX z1&6^Le;MQX_O4@Oh)1ixfoWcGB{#2|zl!bi-Tk*1UDOF4!5nM{Jchq4)}ZxL1IWXB zd(rN+(cgp4EJu?duavV#rpb;V0xPRE&++v;*7RkQpC((vYgd~u64WFP13KM3>da9V zuZdq6eVdWTuF+puGTm-7F}yVvtf*^9AogE`sh62xfisLgMlTg0b|RZ>q>?C|7B=x( zq~To>(uFks{PpBKx=;6I#OE7AIN@^m;puzCc}IV|vFuk!822-$bvt^NLU%tvtKi=M zg=BnaH#KiftomuCZ7YJs<$q?uGUTN&5<7r5s!SR|2vYidwhivC8Q+(upQ>GbC%-@% zk(zkl{S|5>XdWA%dn@IqBe!ZKq_7T3mNINF?1`@~p7ColYwBxuVA6zA!jBs!77eFa z8%Cyr3=MH`kyS;PDc=GIx{dPgR+^%{%Zp-M`vK3i@*k=+PiD%QpHw&=r~o$D8>W|{KZGT+&OMFg|oQTL288ElAaYwKq7#)5Fmj6VHILs_%LlPP7SZvDV`-N})1 zmv$+@j58Zq%nlX5brG#?jWJ8jo>vIUy2aJ%HQA0h(4xOir1wLRUKJReY=t`Pfr9WUL=puNc04pWmZ? zy3|D-7+3c_FQ09LElH{Qli@f}Wv^(6V>`SsS2~ouWLo3pA??K>7BA&&z}h}>!Uk!i z7$2?7Lc(VIvkGt4t6DyTWdtGR>0XYr2>~_F%Uc2f4h_Eg*wyVf({3r%96vrAjNh$n zgwvH{{K#R>P#rP*hMkfDwyblA#j2x}Y+g_WenL~$&R+6tUj9)8&Rx##SI5aqXvi{2 z=b}x5i_AJ>L|(9`Gm) ziUCJ?}1z zY~V=Iw+sE8@({<;9de=+tQ#3EIopvGtWM5H5=_BJyyWuBT+CYzr;cmPCs0{b!>MZ2fQjt|4#!eQ21w9>#JPD!&uLzz;VszfG*=oHt&DS-PM>w+mc{vgOTK~&mYkL_2} za_k5(C5rj}NBZI~7|9phlkY@CS;dp`rA*ds+U8H3obQz>jHwZWJi*r=I7+3(|eRUK#)|wcttR z(t$*{6RN0nGL9_%`eZp{waF4NT($WMZAiM95hulLfdOEe1~D71CsT(yuq{>5=LOc> zE+d91G{l97slzko4aqrZ=(2AUepi&sFTTZ&a5kY}xK-Jp298r&1e53TvBvrUq=Dl4 zl+Xl4{?Ljy16#LaUDV+v8)NvNmQ+mTWa(q^cS)66W>v=JvGMo9-)PiV@g+{bd<>hi zWQ0;pAoFhq;x3RMvJssh@RC4-x}$dz!FS=XlOta8sjQtPd^q~Wu|r{H_s(rW=M;NP z1+d%J^*d{UNqKJjb0L6*r}$^NfTSqnaQac>dzEfUcXNmz32-A1S>=G)@ zL>HdlI`Nag*_)qLU!q}9@CN><0cF5{tmWby04^Q$cmGoUvddR!=PIM(Z|^vT*jC+8 zSGQqI`57>eiBF+=rF4}v7(!j0Y_jP@{sPBOh$Bd2dvBGe+v{nY== zEh>@OGB^;|s{Lt1cU#SkeHam*@VqkFC^bVCtz0Jwi_9Bz*UX zxV_i2ku-g?&}$S{t$ihsR7XjhP$a zqLM2_R0Z4r2)Ri@Riz{Ju?I(Ug+5M~(qZpk7!JZD_{)qYWN079L*Ij(LoHy8!>O(w z>&od$+4H&SqhDvP`F^*fI$gNJ!XM-OdmM|>tB5RQY-KS^tta;1qfF|`_a=QGs5#01 z9h8#609?|w;B-nDk@$ZbAPrMbWuHc1t!sxtr5`NXINYOzfmq)eKSs``ZpTsy@7EMJ zg0N?!+tH< zR+Uj#$F%oX0Aq(gv+GfpM#q|Yzub-www_X^ypsnTx`b)5+cC4&- z5QSuO*@RzMd)}aI?9#6o|MY?q%O&N$l2vvT=fq2sGR&A1;z8Y#0Z)mD>0PH!xKj{PVs)kul zfAOcg^LxbgM!vu1ob?DVma=%f6LmSIJrf>?H6R9w6PB)+b_M82G~$@`OgFRlO!Z89 zJQEG%JyV^tvO%wxGdNLAzqmIAMx5-OP!QnQ*gK&}rSMKD)ri7=S3M~xH>XL_kkqfjjj1Z~(ynpA0l_OFPEmL@J5_a_YAW`s=C8Ann1~)ig6Qp>%%RR(6*Vp^`YORbW-%E%WwYq2#f1T zu2lTVq{#_~u)H&~UecI|mk2_Hn-4qA9zRqyt;Rl3niUfMMxa)B^jVHCVqa~?rc?1=U2)ZaYJA{}9GOHg(iXuV$S*WP;} zHSTb!-swMl(sg>P2w5+5XdR-@Fy}kdI=xCKnde5Olk6XcSN_v{SggB9lu(*DS=RLfW$_Q&N(7dVt zWYXk>nGzDh^N~;HD?)^u4^6@wn(PFU4Do~A*E+O=vsSmQFP7Qtl}XVX{9< zfO0*xOkeLsprt+~<>Qp*@u2fex;|PqP2eQyCFzdMGb3!zSwLCb!(vW?KeSYP`S zu52xsvh9ylEScF9f!-6zo4k5xV0fD4o zdAJzVlQ%RqJA|{HQcB_#_fWhuw%%;v{aHz8vp*Fwk=dy>@r_hv6UvTAUUR069g8I8 zla3*$v-Mn78XTd@#`44LolqA`)AtJ*nU~%rl->zdJ>XQ1Nb!2Fq+8l4->gVj!gxi( zB3^NtLl$yY`MedW@3)BAtEyhI%%`X{ujJ>sQ`w8w!p_=yviQ4%zJQu!M2>+{@x@qe zw^HcTjR?V%7gAC6A42gbBgy9BDl?s&u=cQgb1a`^2M7@&+-NB8VXdT0HQOTXmEg}R zl<96)+XlMfs!utd)aY8r9+r=q^9lQ52oWOOXeciGm6ciC7iq7AP4`tOccqJ)?i=Jr zSNiTBdqf!Krn`4WV!>I22oWNT4qQh{=u-x72oWMg7-1MbVR?O=AVi1|VdP=hgf*|U ug%BY^gb|0~5!Sqy-^@pd5Fx^-!2b`kUdr%u9^ZKY0000i&6a zYifFCXS&av?mqIIC+xG5GztHjRpX6Kvv?Ty64hyyGI6p^tdGJq4sF$PeJ5j*#L-{DIx{T6W0sm6^q3|)zOF(MC zFldodziMQyWe?sd@ci*&aYC&;`-1{UGHnYgAOT0BPI8DBz=!7VaY;aK0wen>b46x< zq~Nf8=jMCx3eFRKUQ&#`Q}{k?-6+pApCWV~D5?bFSN6Fr^}BG}9sM~BbTz{hI%X0n zaUB2xjwH0l=#X#Vp@2V_mjZ+J9sYui2vT3V&bXq%6llat-n-)>@~Wvaep^IG%5Mx; zm43N5zE3lLLN7)?(Wm$iy6PXi1VqU2=DDW$b#Vj4$QfYafT=|oUZK>`BCGgn{ zYmm>ZgQyn+v$;i6mX(!5fg3nFm}u>V`e|&_H2bA)UHFADFerEGMG{vEqLq>`K6+@e zmx{Aief3Nfa5vvJpzgbG-tO0UGBmbu5Jo_~cT#1$R4uwOCb2yodttPC@8CkL6o3w& zasHJ40HbK^Ip|uTN(0|Ho#CD1c6g((w#?z>Fgmj6dQLR%;kS^8bM{(g18K|8&aB*( z9C!IGB;7S)QzHB3r@mF$NtTC*l?_k9-uQ1!ryL)slIO>&rxj_ChD9UXik@_itl_?= z;zApjco!pb@sQJ7&+K+&79XQV0vNN9kL|CWR<&Pe_RV#^Yx7LGpJRREX+%6#R+ufb z35kL7KRLe&8wY7=R8@V=E1mCdAD)oc>?tG>xqU5vE=8jcw}SG&Gq625X9pj|nt|u7 zOGl2ro_<4duj2KiZ?%Jw(Z3Po#{Y6A`XKoI*ochqd318s@}$Wzs0<>qECoE^|E1g~ za7npI3P(fZX5Fv)1oVNmQ8^4nQQS0kPpy*H5_J;RTr;VOQQv>z2PAGnf* ztW;P!zPBR)4X;|5?GAczBb?%MNkcX*7k4z}fevMVba>sgwOw^D8eqEic%XoxVo;78 z1xsF0^O?p{H~G4AB5UwTCN%K8yMLaTq2vZln303_kueH+&jK(2!SUwCIZGcYW}+iVl@H z)XCa@oRK%v1eraTZ&at(`-g+yPWZqvkvfQ*?T$nZsJbHqN9p;j=Xh^sk24{Mysd&Z zO=GEeUD{Pv^b@OJR*XO=2N(vLn6j5-9chp44w9E?S$Gay(X2~W(=6&%Q+}^aSU`r- z1FJ*B+qnGoY5EBZBb2}2ea}s{PZq8nd+FwB$^uZh%#-gP^+BO`rfweGeNMt;2a z7Q~&c35U@>;~>!3>(#@~nGd7$*;%Xaoi6yo$*$J`s%;!S^fCtkkbT*kPZ!jjgwx=2 zG$XtxcVj{8K9_rpJ|2EK?KT#b*jWnUYq8sboSZ91*hNz6sF?mhB$TPxLeDr08*pG_ zVbtz$zTV;YyLV9J1@+^s+D=39G5+H1Wqa4&))4KQz^y2&!m?7w&U@Z-w4i8o|NMSxo;=Q%I9cdR7_IB3p zDC3(UHh`CiGsu zNmXkUap7N;;xdL+ufQ-K+i@Sa^Sh}$)v9=$CG#O(B4X~@p|9WWIsPyVekC8J&ThJr zUNR>OijH78!i3t0UVasCJ8M+2PAH#W2fC55;y7%UeUy@+~>F9SncD82IFzI@N(Wo@;_H_=+ ze-S3DRGDcip8{J&t(tcO=MSsgAKdPa^c?8s2HQ>=JGPbVEd3Lg0`nBw+IGL*-k#rd~g zV^Vgv!<9xve%e&j`kpDuFYplN~jvHSFA{!OMc@0XYC0haDIp87NS1`>3 z2c|22GHbz07VP8qccUhb)(C&C*@+UElBiRN@VohFqZ?2WtUP#E3sJh%HeEudx za!z)E*?wSfzTwue62ZH;Xx%TPVi%a6B;rYpNH`kG zUde8@$6B4ICgl@)!1H?*Jxa_Tspa1y_7A1e_Ms@GIOs~fO4$y#3_k#pb`C9Fo(TWycKVu)#YqUO zgdufxn_O9b&>du#C?K+IMQuG3Ggvw@LFMUN#V0W~(xNO!(X6OoM+GsnRu(ucsZIivv_V;~94kuUMqz4|%S9cCJ zoema6?&K*x*Y!7c*xEV9N@t}%A0_*hbbu#%f-lRGSJ!yU92|=Ld_l{sULLJZJK5_u zx1GX=()A%SQ6r$KI_G6>KdQxbP)Ta9NsF}`p4ydo`CJ{QT??S8S%`;+SzOR^_jInE!87N$>eqv=ZY zBcJ3Bji#h~Bejlglc{kPkCcVIWYRD=quTd+!`*krJL{Xu&JQ?E{VvF06qi{ahjuTs zzWv2}B_lq_G9~wC9jxdW7rYe@!D>Tw93ub2C1M>$d=cGA@iT^TI8@5@V@(l>qV+P) zVQ@tKBeR4v;13TAg!Vv*Z3Dn%z7f3tY{)ATz$D7h!5mDxc=e`pUDWKjGxVkANgBv8 zx=2qg3|joq{KoCPp`-1=p5e<`)IiDFd++2s{WPQ}I(eF0`0n5UgYSi=tW|r}wVq*l zl-HncTGikW?BaHitNwjIX!dTc0OIAC2|M?imV@Ra#%ls64}G*O+RFFr@_Amu*QrWA zxxdM@zAE)^GM6aR3rCPrDxyurw|;qUT8#7x!Ex_f$TxUu4R4*U;_ti`KWrHHEc$?M z9@cb%a&Y-$MyU;21{2t{{zd;GE~_vVVN(E)x@tBcKUVvNdK>V8LdQVk{b-@0cuiV zC3uAgU_!uuf-jinUrHcF5j~I_eL0NyYeE0{W0fO3+a0q?m`fCTq07g2fKz~7vl7DY z_t)BSiS*?#NIEm2f*yW4OMs&2Z>HNJt%!kR%)*jEaaD}~YzzkpiJLs)IeSo`hq_=8 zdwJfF`A%!sF!?0$)0({^816X688Nb|Nmk#=#FhuKZeIjFdaccgk67#dL7?3Wtf`Ov zvE=#1D~|hEC)L^hWGSkqRWh*Jeyl1n0zTNzv(ZJ%Uuc% zmNHtN>hizvhlE#H8b0=D_r(lV2H=Te!M#xKDh}rU5DeBbt=6Yz6zo`#H2mAMtIS9b zl2@HV4vL_ zf+0s~E}KJl+qYcRI3t|lYJA>O6n>YAwnz-mk1+~^*eX%Uqn|c|Ud9>Jslsv=>I7J= z{2fnSTk@u5CYW4u34dazP|!y7?z&3mVa&LGUxbbNk>t5q*(p!suOCQ(ijr+mFv2J5^eQo4F z;VCjbt(;{CHk@ZWYMPoYl2=gymJlDwY+IHPN-Zeq+x1K7iYmJ`+G_UDRca3n0Frx2!U(vI(k$nOoSTPTaHM)3zB%W^ zvJ_dq4ox{5)SW&E^cFVgSF{9$NK=JM1pdhkjSB61ZciI48uHS06|k*$s-DRb-(_iK z##A;l?Q6ETjlw35qDH>acmGC3$~)tfWR`h_-S%lZ?32JmG(b^}pZYc|QUAV-L`OtR zfGB~@^Ly45Kfp)A5@<;|{RgAPnLpz_mCZ3PhU=|X(Tw?V*qGL?a}zRXd1K4gcw($) zw7*klB1)oHN{}U45EEtcX>`SSjcLC{zwp3L(cuC&m{OlbImvIed3uxStwrB$s6W*F zy(0G1h^i>kS5(C^k&ONy{lR!`5=INglT5uyTU&C_ggPA)Ed$)Gz4bvf8A@77L8Bty zG78etDc806r1dpfDuV0f$A4?MTTtd6KgW*hB=19ZkNk(N=i%{;ulr@j`hJBv3RsHC zdNz6Jd&8q`Ob90SajegJDY{+n_X0=D+PfmCrOb*Oo@={iw@uz%G8o44hR*ThMThpT zj5$~DU>O>}J!DGOpgJdQ4OK>A>)CbLE)nNr6Jv!*>GNX*KkvNj+0R(#-(NZ$spe0O z&}t%Pp)5&vE5Q4NwO6Z`QvLbYJLm{PhBFSfBU&mVqX|SsY+R-i<#`by(U}jlBVULo z@hWsD9x{G>uXYXWX{{9dXn1X%x~#UN$`ntf>Y9pSD6pUF*&q{}5b%R&=6B3t1G9|# zkCC(An7DdB9l{go4h+9Mehw?3M~br>0UOYizC&P=C#|0G)%0T(#*Ans=64E%c9_T# z9@`i!5bTe59Mwn;AJA8lrt*fTd7+q=;VEhTDc7?{6>>mu8T!Sy#X)k#ZY*D{Ou{Pf zyZQ&Bj}`ol-9p@WQG@vxO*8ha(@7{v++jUAOH68&nru{-g)F7wT(}VfCW}V-jJ*wo z4|UCdPAR@AOnmiX;n~|Q+1=U=SCXLkl00fhqvIlOu{6HetROEem6yAMC}xiuh)?td z8J!aM23(5~yfrElCnxkwD30}+>tlNy@%2_IGVayudv6UI$?w%)l%}gqhB0t;%=}fo zCDhF3lpXo^RyX@OF6A?M4Nn-RC5uZoB$F>kf8w%a$sn!i57k>9N+OK@q{(^YuEHa5 zP8P9^btBrR9I6nY#2+7ZZR^t$HD~>3s0&IP9Qy3pnPN!0nfQ|?T;0faRl)GSN8P+q zE1}?np@wnZcPo=>qNeMk!q1D)mDHySxphw#%-0IZGanfdtR%Ka&r)$aIxvK>y!yOI zFOFUS?s(*%t+5qOqZKEUzLK5Sg8@O@BLX_zf0b+ z((6@mbS7zC6EoX{_ee%CfCL>P65LKlSqU^wihS-VZsv9_cJ;-~{`MYXH+2|Y^E!eRJl@`n}2SW?Cz7FjT zs$AQr5=a`3D~-frRGeaLFTKw+AfZg2%+e2sN;W_-Jg%Vk>rAw%9xB&na%qwIWZtb+ z=-h#zaruz&R9q5gBtwxnEw_0UjLmdZH#E$Y<}w=LS{(X{gYRA)m03#AjS3IhUrZDVQS6 znRF^q$GMH*o^3panOqs1peNi=8o!#XgNNFkY3-eb>0V*s)gR>NKiuYI9-b3cN}OGp z8|V`FNtla|)hPozpQ8IjXKfzJZ!}BA;!9qK z_djjZPt@YFSOoSg>Ke?zzY8|gsaddvE8yD~iXTQsL2an7AE|+T(7~nNZ^F|Z%Y;?x zH|_ks^BU0YKmG;Izu4Fs6d!Z;9Ci28#_Tx8k*5bRPYQTyupo znqgS*)-MEojiq&CtR0aeJg=lA1eIj5saiRXxpd}0TmNZ{lM{3^=W`Q4sAM8bjb8%CEezmrJFXU|vJGcW z&Ax-gB#eLVu=JI>R5+0Xyf=JLmNVJk89Zg69<=njufboJRD2amhSDy3GGrup9?LOW@q zU(^QVzkR>Fc&}f6X0rqjL7B2Y7ND$8o!y1>Zki58*Vl3J^6*sXyU1$1?Zk8Xx!Hwe zp2L{3hwX-NjI9?am3lWyw|KR?n6_(_&fzH)sD|h5TsSnG{Y2-)Yiy{W+rTT@ng)^i zQ4xoOmWvGCa)z=-dpIx)>O-AQ0um}Rey`#Dh0s?Z|P&o#Gu5Bm5Or-(G zJp6z^!J(ZZ*IV1BmFu(LFK8@H)fK&|XaPRB2L*aX1ook!6LDP9oe8skT27p-wF{ub%-uZ##CBMyw(W4tV2rloiJvc z#7ELubxc$=cLx_TPjScLv=WY7+|H)bQp(oMVY)af3yxGrD#D0wzm{$I2&{S#8Jt`?YQ$}h3(in&YxXvl7xx@{>Ec)yV1V; zuQ3e8F(geOxxUG3{Xv9btD}`O*jM|j5J{R~&gy`Bv$YX8G}N>Ck47o&tept*P%7p# zIA%Jhhllj_e8lfa!zAN}e-~Q+L|4JamgILm|Lox4aPiBjS?g`I{ONN29VN(35WZKA zt(@Z%Aci?KQ$(3-b`-5-UP}!JNUJ5i5e`L4bLv50a@i>;u1rpnIEMX_k&h4orbCk+(AOiE@Y~Z0l1W zxN}e6=0JBcfIL z(Xi7&E&+Sf#E11?)}qoC6st23BN9O&$$h=O)x_Ris5WhH7Y-t0t{`ZIr|A5qu`R}y z_&ESG2liG`LOgb1-Qag4@BH!!WV?n^lMx?c00Hnn^9R48EhbpGdHwy(fs{g>(1!QyVF92ujMqc1fv^!SlVH-(^8{^Bv`* zCK`beAoA3#!J&v;oK={95qVu^zd85Y$xE9;J`7R5DsV^qq`_RnZg}AhBDbApHb&at zglwfYdR1#nT-2`pRb9ysHUNV>FM)Ty!eg^o^66(>UEPsoPxt}-TMHL_zNm1Mya6T z+b(HTV4mjR@WQWB58F8%!3Y<#a}oA61&t@DM}?~L3OPu5q)m7?yO2>X!SW%#6#--YY7gxWPPw!5sU}On zPhECLNW;Hxc5ISn9X(YHiq2m_3^0a8@JEsWsY=lAV}P1ng7dpS=R|IDq(-KiAbhCS zX3A9J96+WhOh^mU2D!<`(G{qv&BV$;DtpWY3~x(sFD*K4U>85_BS^$M>Y5fq!xe@} zPDP@u$9;2|HP7_k?}(Oi8_~eZ{iA?5Vm+Hl0Xeh;B^%qgSb1nDO3Z@)bpB^L?3lsj zrDZ@2Taps?mr~K)=`y2i+_=SzTPAzqS6x2hidp(!JHyk}ksD2WkLxJ{K4V}fXtrT% zS?c(onB1B3ZYch$NIz_Ao7)w0&|-eCJx#|vAHPGRdVFVld-NCfeb~Zo-K3WUY#~f7 zj<>egM8e`SL&g}>nTTbhyq$V$XWK-zx5>DHGF^`zs2`&zGpaF8ZGO&0*iP{(%IzbFoE z4(*@muh1pukHIFRLn*OEpgB*88VsYuf*M?iw@afqQ$sT2CY-8(^h1okAW~Hh@dIq= z7eZ6=N&aLideWHmc*plnp#4|2(SCDneBf``bqaLvS5#!WfLYtWC5*VED|%FK)r{l} zsrIrVhwS8lz~q2gJh9)mqD#-oq;0 z^2G_l{GUj|TfvHWF#hFlHv_k8X2uDedzYS^;S|dT0QoZR7XNfAqLGdCFEJmcT#n7H zQ4hY>MoiUJ=gm}oiX;iAQ(FvZfUxqqklD3T&Mtd#({l49&D`-yx!_Sl<|0v4OAe(g zf>eJP%Uor>K`1a8O=3qFz!kpP_1U+c^!1``zr1R4bz%P0XLQhfk^VC2^Q868VU5&q zeT6f%hJ6a~$8cs~C(@Wv8X?BEg)M`nf~J5%>O%M<5c(_ch~hUovLeXqc~@s)N-$9_ zHH?omhI0VlREJ`M13NV&k1jqwzJ{q>52VrI8yGQK%La@o{EQ<6`BUNeE5N6a_sto9 zDy|I!9QDY)|1lUFD8BMG7E)rMGSSe83T&Q;nvyUu$Q;~ekDF_nK>Uzw=zVw?FtazB z$3U@Gm5T`572{x-hT=p*UhT*oo?G--wB-jBW-YGU6(q$3XU=5IO#?(5 zb!Sp7A+G7Uxf`$LC%@^=r_DxRpG~v#7d!_(oJz_Z`L0{Z5RwFbdOrFEL~S~402X@8 zvo#Xq-83HcmZZ<7?WBf=2DbS`z+Wy(V>x>BNDR5lV@U*AD$D?}oa*Y_>gwr3SEi-D zJSJqoK0sV(yB;CG8rcjxN8MxL^tn80bitc_V8?3<=Yb{qKtG%g@!(19oM+IZD zIfgl?Qq0&?K&{}Aw*I{9)Lf552~uZWO_fYkML`^5Z6z%m0~-Uv7~5P=Cjg)$1?9)e zSW369pT(OKxT1{k)GhoKbLn)rshK)ZP!oSSP$1@ew~l?xu358}CtK2ItWzsz!zU@$Bo)M7fmw>`IdOAkcC zXMNfukk%$O?ccu8MwA}2uIJ(5Nh@a)5veG)_P7)1Tu=4^nd+RMz85z7=Drc9mv%HD z^BIa<;vM1A{MFI@b;p~~Uy!XDmvF&(*3FFp__;cA0uGQ;uNX!Cv1w)$k)L;kLWPg4 z%Y>_;!M}fVa}&&(Ay;sFwtjZ^gca6zeO*_b&2G`h9(fT^_;nX%%S)zk3jkUQi@z$q zqfUee6z5X9U_b77Lj$govW!UPOz}!EAk2#)4ud%}dVAxfZuxPW#K}4doNSCAr%oh2W?$ zr@@V3Bv(QJ^(QSLVq$YR7{JDHQ27zp}*-tQB+h` zvWoXfRjL-x&dw%`TYwLB_MHW^Om9viA3Gm5r%&2%$X4d>w<$TvG37q)lH0WO z+BFU*Kr-4$j*T2Fa_qPZ1wQPv(+l-Ks^Wp!Fv!Tr&8sXrNqqaJrly;YO&uLs>=r^H z1g67g&bGFYpycVh2xXxVJNxFQG#^MK(ZxWqfJ+0)U!7vp!Tw8R`(^4_ zlo9L{wxR}NZcB-?qCB+?)mE~hC;%xB?M?k8II**9Y^^wRyzh9}i&vYOU#`5)ywK4b z(5Av5+%YjlLJ5n&YC01i@@KLRWr^-qo-*Nw+}Z9Wcy z7K_qBaD&EfZhDjF)V7lzQ20djSu0pW49mI1GYVm=%x$|8rXw+H?p@4Tv^!bsh z)?-1?*?!Z}E)`~R2estrj0YHC@7Gcz{_Hh&W&+BHEe$=ElE#J3rv2%ev=U2D4Sh$b z@~|1A;d2;!=f}(Ry**-XQ~;7+;pexvgTHrp%l%=`g>dXt!wzI_w;jw${`8=|hXVY2 zzqD`W1!sBR&&wCxwQ<+k$)^&enUhz&;oKy2XP85`9SpvBA}6HN+`$Tcd#alVip!sj8t3AdYLw~ z%2}_2KBCQcNt1Y{iQzT#BWyDi63771>e1P3Z?L~IOFT(^*dOW{OXrSAk#$AQZRhE^ z<0|HJs9oasNtP}H;}`xAv|SmNyX$hJoA!}G&GJcMf+i8ea7h7pX?FJd{QOVh*C1=6 zh#!wH9Sse8pNvwprh5GRF4Pj~;{ugeuQD$sp3l*;yO$9Iw5ch0?(NOY>dMPc6fm5q zFr6%l_B3NdQK;gFKl2gCP`esHA{lhKFv%nm)Yjh3oU36MZY*{H*$k=-dsYFopw)(mINkP;)gqfaw1R6fNf zF|_HqxumWWM@2)HqT-n%=r1xP)xoQx#bk&4E^44UH3I*K7t8zyAAdNndGEojkTHoy z9IAw5g3vGb>j!?nNrd3oM^<5p(HFzZyuh}MP-%1Vo1V?DUy|UA%!J}aDQFUdIOLG) zF6FU_0=0hYP2)bqh1h*Qyf23=L?P^aEslo$UHI{~F}QB8L$y3SDUNVMum0eQpz25@ zN=)z6iqv@}hL^9^NcmFzO5)Qj8jYIB=SUN{3AI?~H8;tqWfvJuDqroq+-S{m;d|ac z`O~3J{e$q)ElpCz!^x((LPgLrSlSzF_)0V6}&1yP8KJEi&)1#k{e;r zu_Jdp{4gR%hAin-=o-J9|K}%OR%0HTbWPLR=%q&WU$muK_=wNzNL;X^7`nnmV>+i* zNGC=co);#`oUAF&t|F)*`qWLVHz<_7&JASN2~CY#rUOLTWnI* zOZ^i2bT?~UaFl|Wwtd8KFLH+Y`w?(ZaWvam&G-7`JaOk9Jh(-rhyF6FY-*=xmnS1Z z0beFC{Qsrq|Df<+ zp%CEYzp68ODe|W6=RA*X9#e4@j$uzGKF$I<0wLai|9d9pl)N`$#gUY~_9Ri7oa%DA zvE4NpNtxUGMJ0=E{xN|Gm&jZa9yiQWL4#x1jDqw%k&&F?t^lNSOs4{wf*Ig^D8>&S z;7Kp9uYc%aPPapyoV~B=r^wbAxO~*hU`eKvOC+|f6$H9=FQDrrKh*{tUgXU-W4cj5 zq~1EpDJBFy%kl3Io7Hr_VZ+pX@wr>$H99i{x!r2ZftnlF-T?#}>1kQfgWF*e6u2?( z#4#jQkYXIpL4wEbjmxX^OGlUg1n*lAqaf8g{7ZY3+y9ZxoZJMGLsGfj zb~&o36>}A66r~aKyHgN{m4OegdF!+Jyu~ns5=*iE=^cb%L1EHMFgxn2aHjB+=2}R& zcFEd$;Q3H=0DtOxuac4y)+g2*yJTi}?s&7viqDz1YrNIkz}#Z_cplfkJK*WbAryeQh*{+UAsE?f{-mRvzC>Y4Lg zm=-5=HEx)8jdr@O0F^Af|8&@}HdB&JLH_igygz_(t!^f2>*%4?SNoDX-er>0;^Aop z2Aw*F0qr$XkIcr>Z&>DB_|cKkQIo-+r0Q9UdabLQGNR#)+Q(0=&W_Tv2qS_mwTzTU z=n7`7tNDm;+j_Ya8?~7($B=ieGY3i7`Kw9_>E)zU5|}VpwKCHRO;hj#wDlyIbjr$4 z!1!3f(u2~pG^)j}q|c1FAc-&^Pg5urI_%C|4>Te46R zrgLMb)dG9>thd9=gkq7$;FVEOJ?a`0l>8llAKSq%Aw>FI~PBUMWKx13vHX=cA= zUPvfuloX~HQ6!ftO}Oa`!3OZ*scic&hQ@W<(<-4LBgfE%kI0Fu%m!@6Vim#TW2L1n zdsSP}nEq%UTG*-UH{o}(Hg+^CQy9<3igzFp5)#2Ves1f=Rnef7`^Szg9RRN4i1r!>nL zTks^w{EjQO-TnD1Z!ATwu&@wj9Hm3R!N<`;H}1E_jLS5i|Ek8mbMrf?fpJB~VhIk? zcxtaja9=4wfVTKQJ-Ub3c)AL)5pjKUt3I#uPF7HfwL$QWFxB6 zE@zHXpvvJwESzQTdvt;j=HUatD!{AzWEOuJQ!+7s^+?vR-;zQ#;inF$ZUwMOR2c%DUO1(S{4>Bf{qD8L8W_&ySM)wqX(ltQ!+FT7_P-olaiI(0m%T=se zKz=<%cw#N zsVP^6;diO+li-uG?*|lMUi3;w+qW9a%gaY-BtePI)eT6PFra(dOjeXuK1CfaPW=!k zM0T%lM9C2OO2apTu+J~FRkcX^?f&6?gZ=5TRkC@iO39(OKxS4d$}O2-+to;^s+>}s z4jW-Tf5r@!>CMgB+%#vtwPyONbuAvZIva5+VsKuywr0T8^-gK!b4^jvsMZ-b+5hZh z=v8Vcvu1k5;ie3eV5ia9&GYkMjC&>c2z*kn&Ge%S;X_)XAc=eFoB&BmY8HMYpK$8f zinGb4jDiYw#9S7{?E8{Y&mN;KmnG#t-9dJQ{Zdo6MLog~8Tx6rimz#_7U`&CurO+h zcA3))J-YmmGMu#w4JKk>sMbei4VCB&zQfYeQBD=zVF^>GeA4_I389v^C=d+|E$Ghm z&fVkvj}-Af#?Sw>=l}s&`O(?aWYA|QxRE^>Qdc_cN>}YCqoWD(BZni|6+tjFSa|Mb zMA@ij5fWR7MWfu@B1czqlP4oSxxL`>^t802<6}nw;>8C>ImCh=y_-|6%-Bft-&n(` zaSdRK3B6|RBZ_=q3ae0E4jQ%&+AZaxu zouEkMX|=$jgmH5t{YYn+$TX~(&Ky5Hge&iEF0U~osF%L(`2s4u@In;~&$FssWWtqq zDu7c-+7&Y%IX*uk2E>NVG}V*=1UQ--Xi_(j*W&jw@>CUgsev}q#-a(EYV83jrTxxN z?f)Em=v88;4}PKqJ29$kbj$JnA?7eP(1+!Og@?lg z^`S~twmt##qj3UeNN=nR)kIE~qVKxj+hFI?$!(icU&}-0**O3QwaIJt2e19D{EJk$k zzWkpLoYS0;{eg_l;|-0Yp^n$u zMfu;Vo1gjE_}A)vO@;UyyZRN_Y-7z!#|e-X_%fq+%hhBh*|j6Z%AjIWu7uE(G&JNw zHE(SQf8ui*^RI!s4%IB6OQJp^qKQ^43nQ$XkDbgdTIKpSXpau7g8d^@Hi9$;0SMi}?h{Nh7{2u5AW1?_H zqnQc?H3j~^y1SvKcRFJAXY=Gf7IRk6nvR{gt4WPZaw*CesO~A}v;1?I+i+208E?5^ zW$%(#l`OFVD_i?HxB6K@IHe*rY)Q$v8n_cpc`D)wFSnHWYnhy~9?#Q}!(muWT_{zp z^*`2W&DaI5Cf_4dT(v6%xJft{&_lToF|a;SRC`W7MwOH#IC3_37Bk1nxlGhb!hVEs z1R7E~>a4Fq2|$e3p;}6lQA9ims*{Je?ym0Car7=2rF6&;V_2`9+^&>SEKWZEM;aNp zFdNyessyici3ohY*A3__UbXO0m<%2(P`V+*!*@&B%ZGHxZ<=6TT4+hfm#$TmN2k|l zgozrY8Wy^!oJ=)*>Zn)N;K_lbTsT(1qzSGz9pt&bVfmJse6|vR#|2%j8Ok?#_1Bd& ziZ;{zo8?{b)UoUB_6SdF@3vjlBFTjrL;0UYRriSJ(Z<{R7hhAA!8|w3-So=1EZ9%E zzs3!+*~i2BF^dHnXY|ejy^V6AA#bF~d==oeafSejEfpXyp;5yk@(l>fr;qS5^s1RP zO$P9vu`j>l1wEx-g;Eknq(>-3Mky%2^Y(7}s+3WOOHueUfxhY3dtw5%?Nv%c@191D zBVKm$=P|BM94=EaIH$y#Bc6S2iW5YSdHFYj)poUp|LOLYV?OMC)dzH&5lR+JsZeUQ zVTA$v*z!2DvZPWvIiW<^Le9NydXSOtMRU?TZt_gC*pCao58OV&F;g6H$y&-%iw6s# zlk4P5tNfc76Q;x1RCrqc&M&#|I>4oO4GmmG4i1$Pkbu~PIhY0-%e12q7npJ*Rs5Y- zSU`V;iVJt!Gt&t{a!F3?-fvq$-U3K(fDYGqudrizKzmS0ZwVcsN|FIv>MHGmTt zE4}crcCDjukrhN9?v>#J>{h0d4K7Wnk0c;$Xku&c+`wPQ*^-!p(ji8EyVN?ydoMwL zEhR!X_c2Ph*$Y!3useTkUy;q@X5bT@<5hRWQ4ZMq?ZR~0>bFAi?wlHW%JPXt!t1pk zsfgFHv|fZYB!o=q<$4;-DjET+WaPQXiAoc9wq zNIXo-Hsqah=k@VSs)9E-X&hoO_IRDBbu=|@Xk$d`e0%riqm_!5O^=leIL%#unTN68 z9>>S<*4H_#)YMx+WQa#MsnyZbOG7MhI9e z&+QE%dVW2@vpqS2I4zRArka12nHw{0$f?6j*2>-*0bcyh@2t~%{;uA`tQk+KJ}xxbA&WL&W2Lx0%5Y{8`@3OK8%ca5KmZFM;-7wXm}~Po557KdM^R z)lJJ#l9v9K9{ZZ81rdvjJp9MZVS@Sai8J^8_ru6Mx^P`v#P>RJRI&-oxas{S)kAr7 ziE`)KVUSd^FOAY9qF?o_yjG{&(7{0ZTPX&aaYA^WF~p9~Sy$^a)#zK>v8iCMur!Wa zt7&M=aBpZTikZXW3E5;w#bIkEY*lJ3+b(}ZmIYx01DVo59MHB z3t+eSUQqYlNHb3f_J0QB$vc^8^ar_aIj+VWm*RF8;)h6%kH(SJlF61_B3p=`4fgz1 zD;&Qk9ChHH1sO&Fgh15QYDt3&1~Qf6`Zj&20^eSsxNu4z9!3(^%7_wPz}DM&$w zDlELjI!y{Okt(*jHhSZ~4)O+qHqCWJo(Av#_q0hAOneK3U;iJx@gLIh|BQ*4*nL^- z=o7(0R#t$A=HyH(%qA<0rJDZI=;2o9xx&)+8A2^wRO$=tHLdn^2E##CkZzeK_~A>M zr;rFcyVL#orX$t-;#%Bl_5@w5woszxWUe%-=`6#0)Yessh`pD66C;LWLg?y-P(I?Q zY$0LSWxGax;%GAtf+(p;w3*Lx-@Luk($YvhH=r6v51j;~CZx6rWE%uB{x(meKm%QF z6(w@y_$~rW_95KgwkE1O)K|D+O~x@Us<&w?TTcZ-dNEL?CunC5T5wUNSL{J^raQ*mCsvo z`5F?+sBy2%Fx;Lmx+r`dATKCVm7iZUj0n6ztX%dnsrQzjkwbitgs#t|R@OsT z0g0dUc9PBO9-_-)^6Rbeo-kQc-FEz$zL90}2;L;4Irj7LX)f8@qMMuhSB{LwaX+uk z^iGfdJ)W56W6Y@Y^T0c(E@_9Clxn9d=1%Hx6L(92L;>IDgH7>wfbmt*`^QI~5!{H2 zQUbE}8`FV-fR}Gkfl=OLH+Xigi>%Sb!(p4b-LJ3PfaBo=qpsevSp*zlVF3+Oq;z{n zc6M?C)>+@bm^Ggp0$&of8iCJ5?T^*5cdMnzj!sTmcm9rEdS}+B1gx!fl;hd5IuQQ@ zis&$s&9*jE?=$Z@yeFBLMejPsC&`H4W_kVG*2xU!3?0_jbnfC;#Z9{Be&f1-aff$?GrQ#ziW29LofP*V;c`UT8Ah4)wR; z1F}Bb;pm{%153UgcVfm33J=)#2OiZC=j-x*{Di^sC4%1CKrx(dcINNP7dZ=rgR<3! zRr~=CYdv|xy@P=#sD+DG#$*r^L@~?%B9b2oK90>yCM713I!2)Od~b0xH4KIY#e_wV zPnpGzG&z=lp`pn{r-@nQHq%S(o3$^v!E&@HbQGseavEj^UF>c6TLCUpKC-wCjxEeU z*1T9ZhU66q@E|4DH7I!F0pNbd*lhS|O8T`C5R|=3TbAzylHN);16*9h5f~(Kp}@kV zVG0%l0|~~Di?;^6*KR+HXU$I@U|Ct^t!7?x$6^6w6^0M%Z%%rI=DfY%v~MG~9RUCg z0^b9E4`8b>zP4Y>RS`6{_Oc@b=;-M2F_M2l^}QC3cmcb2PMp}r#wHjR3rB@IW?=Xn zKo%K_AN+~~T@6qV|2{A!9nXO&cN>WkaVHBl+)^OQNWOsYtt0>z2@hP}Cp-XVPyZ?} zG*3BU1o>lC|2S_AHUjLxCRLAPJp&e%QO>NJ?cO{|I6>*)8X@E6iY(D`VxaY4bXY;9 z5ltn#@lB`ZDN(rPhO?9h6)@dg7jM=JTdE42vH}1#lr><_LLGw~Mw! z>qb1dn8TXX_a+P3%YQb|=1%~;Z_2-pb?~8i2&&17GaGY53TevRtl|O9r@3{`QvTae zD_vl}ve@UfW!bRFUV0|Jbyw1O9jV`b(#DU`g&!N{x0@>t$YXj4MExb9V&0eGFN+TI zu9-YhCUx(hxw{0iG1X7)*xnu|PS|Ku`A#^m%ep%LLa${_hAp$Uc04eB!*RXr7lW&I z+*aF){d+Tlh;+(eCRgH|$aukn9Rm+6IjK^Yg@YPQpx%7U>8hr*m;?YxKEVKHnl@uH zKT*^9X2I9O;IhpR$yAkeRXDo{x2ERxaRH>?#pD{Yt&6XErhM~8R`wY-KtE$@b5uUX z^-qE$x>q^1lbN|y*1Bp8c->4Ds89=M^dy7)cJDax`kJHV0xgeuXi`rb7n*xX{qpCH z!#3~ON?5ld@F0!UJ<<7S9C?F)I=4xts`04cIBQ^296V9vS}>!j0e+NGVhp^Qhy;M< zt&sbuf)gKjdkioHau!piBoPZt@Q3Y?&E zNnhG)H!H--XK60@@aSm9+#<1|Qk0+yuR%G^D@bv}nv4y&Oo?`wuo8)1&_H(2H zn&7^w9;swYuD-xRshB5LP|pr8%nht*U{K%xcII-GNngKshh=^+qLwL*=TJq-q~+Ko zyY=coOtJN9^5)ch7vdeCszwMdv8fwcTS%5ZJQGK$=v!PJ^u_1ebqiht6{pf3>U}{ zoVbHUQuct($5gj2MVn9k#U#wibj$`e%^RG?B{UZy^z~QU1#!g0S-TrMohDS3_vJJg zrs@%VS%KaY1+v#0e?I1|6+^~7>H;ojkgX@1zi<`5T|r9Md_2E#E5WDf2I5+&cF@5Y z@93YC9@nr4FQ?|km~wIS=6wY>po{kI?1(w;f&ATxk*i|lnV<0&`fz+a?4=A2%Z^}5 z7T{_YDLA1Xb5}TD9ULLQ*gMqgC467Azzr102K-n9oypeMN0W~p3hiMA=@w{Y;@Zxw zcbyL>=bFj03_LFXJ}tG>zF4WCGS%$urmLGU_Z~MWp&)!B1m-hdi&_am58tfBK%j*F zSdH}ADkTYLPgU!-tc={SxbeD?qQ0yiOs^d_r_xq%9Ybuc!q8~uzB{!f;i%<}#o?bn z5blqh#pBqbcyc2wYb`w#7^1nSXJ*g^pV{TT3-0J{C!Ve52?vn zrZjcFM%?u={Aj2;j{Uf0@ON-R#vVn^zrakxUvR<N75uxTrhzQvVX@k+DTC#H6ZdcMerizsVq-am3Qa8%ZbZK)OO|1TRHBXo>Q zje-9w71cX+DYXyWyZ?1ILx0*APfq$z$SA|ZCn*`rWKaH8fk>1{d8^{8pTqmn(0_%7 zEKzW6dF^%}{u7#GT-d0`jltpnL>4zvs)|wjm$+$sL%#F)qBZv&wWX1+>Aw*)t6TrQ z%Qdtb$HuiB==@JLZ!5n&sQlvcI6L%T{h~E7Ez6XKviMgl!(u~|3p!T9|Cftx{NhE= z72KQQUsb{)Ys*F6^o7Wicdd|r%waLc>Js4@Z+he>dX9+~#Uq%GXGcsmk=u|+BZ+SQ zV_+JGX!5nPC;!f)B?^SGw53ckQ8-)FFJ4Szt7F6*H|DclAHUN`z!()1Ez-KAwyGl( zlPXK4ZOZi6*S}Oj{@L!uc`Q62Aj!l^1loLv^u+j)dD}`T)bUhsyzYW-jnMoPmu;!n zPfybAv)$loQ)R0Dr4G(I9pd&|qz6>Tshy$@IWFDv&To{*2>ufE7WJG_=Sd~3VbpH8E9GTXIv zdo-Y=n@-GA^0uDr=G<8fb?d?1jQV~PMgrc8o7)tvEPIO!Ffe-k0?|oGAy%r1^}$B5 z!=0VLqe-oeH@&zaX^x@jy(D7cy`6wh!np#_D$!ZKJ+O;D`~7?3p_@c}k9+KemwSJ_ z<;u4rr%yX6k6FG;o;P%Rpr}2psL&Igu4?C) zdmpWBpqAYUpId3^rIG8hG<2vmUYl28T4oL=O7=8`5h4O5@ zHOSbGhPJrDv|m*IBzWIDd-zd(+}-gunqI8b#K(TU*xxw|D=6(DKgi4e7)y24ZR*vZ znUbf%j8+fluS@jOb^=b20f(1m=9zI$CWn8`OHiwt2&SV&Nl;n~v>-z7`{QCD{Ull|93qR=vI_?y+GIgzt5{A_ezd~ilH z+q8D6^1yUMtf~Qzha?c-@bTjL;AQ7xJ7ysdYZQL|+yAD+!j`Dy zS#i+F`r=}54r|Hpu5lmzw6Avi?7td=aKNRNH;;{iH6A58K4M?rD<5 zWiv22&sW|QXqNpYc%H^f56XmlnH@>FExo{zCJk>e=yA&vUyt_oeRiB+6TP~AQxe99 z^_Ug=cU?Zk_{6q_+nWNNtwBNjsm%v_oUe^~cT3_GUBdgC9a6J#Me>*Pqs{hA-__)# zo^;Sx)sS~R=C5<=-<|HOikF}iyG5@Z*?xw$eRF2Bse{RDp7iULr(X<^I6>P&+0?BZ z0$4`73B_$U;iWLb-OPq_Y5SYaZgqxVBx25m#*KJAeG~KNc7yb`VkLsS{HftZH!HHT z-Q;eU-=aqDodTaxjlkps^HFx|XtUKdp=PO|nTwG9{C$%1Utv>QAF@H{x!!u(7+(KL{&4NLqF9}ifLNHX zIjhUnLN)#GLn!Cj`Sgd~bDQDfH759J>-tc6ay% z@^-PMejUv~_dyTZMGzjw*8NcA&3VVwY?BEITX?uY{oj(Xh6ocIQuw_=Xmtg3Zh+!>D^#A}mz(e&jP`8|sRG!lv5H_( zmWR2lh1wa@y%~F{;TR1*HpSa8Bb^ob@n$`k&LQ2AhcXUc&Lhyq4FlDfITYc^Y&UB7 zDAbY;QG!Bkc2vq2d{YRLFfu(eUPF1y4=n-1OQop%VQwpb}7v8{Etu@ zPSAebefHM|f>=SMLS}Y0lA zdVcy8mGi*p_evJLmm=6%uSy6#ah5m^&ZZvALMz=nHz@$|zv+WAOqX|{j|Hjw5s z(0sahhVZO+U648a30;hypnf6ev@UU<*vvA^>WhD*uIEC?*Civ$?gSORyl%|gnkyr0 z`GrW5szDj!;lPWLtO++?&>)7~VeGMx)bZE)oT_;5Ik>0@qZIqx!sdMKyVT0ah7#-D zo8%5O9vX}SL#07Re?Q;X zd~^`r7rR{+>tymPyo()PT+GZz$$#rD?r!br;kZQyT0>(-gQP3m=L4^1^o+UYjPf0EsO` z#(CW#tm%duj&>PF-|PG#6nz7K^65m-?xB?_lNj=pU<}8yWAH628btBjRvty9Q2TKa zUDE2Nf z`Bk8wIw{FVIKc4DV}zr+x4T75afkg>+F!fdWU$fbHdpaNwIT!>kI04*k_TIh*dKj*)VY11YR91duiRtx z7kG5qAU!F6$mR2oUp1%Je@t39y((eYVYb04hHqOqdDjH~e%~8c(oOpb%{J~doym+Z zX-yY{Y8P#W6Y`r;aB|ci7@DW=d~b#+RSjVr`rky^=5mJ(E&&6iLzY+;g?13q5T{r&Ib zlx~g$imO59rOk&1@um2#`i>7olDGi7IxeaWW)T{Go*V@)cFC1;sgUp54^2#B!x(JF z{LlvEsdGLMCY*qqMzP899FnSX zlE?z?XQ!8>4bttAEPqV%GqJv3^R3^3soDI*4!ZNIJ0GNE7sP+>2jLj1pC)9E_^Drd z5y_Twh+I)K8-?CtjcYs@stV;_dv_gFWnWNU+0skJ-Q zE@jr+tJcnLRLN9w0qN4UdM9=Kro2231~&C8>(!byGt|TCD?__T_%oXzKSpwX~c)$h%vwIVoX?i9g~Q#BngRjyke@e_b|_D>G&Hr!U5{ zTI!As->;_qa5Tl;2QFO~*rL*YqZfQk6i~m6UFBd+lrKuLQ&)Ey6{%ixN`Z{@_!TC6 z)R;FJn1SVF8OeX3X0wI!FG_9?#!+%vbuVA4ar z-(cTZrCkC$n(tA|2c3J^wmo%ZEO?TiEONCZ+IMv&8nj>OFRktVRIah5+OE1*0ZLIVk4$Phqn5Pt^k`x7%>uC z*R9YrQPr^Vb?VJ&;rG6bEhGQBGzWK@pUffoQKeB{1tcur`CKczma^apirpbo)W@n2 zHhnjuAx*BAR3?pi58p;dTqA3rdU?D6RP;bl_l;LL0K zpKFBHjaQDlAm#goHDkNJo$I$!ZB#zFyXZH{&1nB3Ef1D&*gTKp-2R{gW5kRYx(hCt ziyr-hW6M7n;cBT4fd`^(0|aNkf>r0Z;w%b`xlT6FJTFv)e0p*Cz5?wCQ$wru!rxe} zG2VGtg8poiJBLb9#QYII(Ky!q&v#cJD^a{XNP)+XCZ4kM&9o* z2a`!-zO)X%LfSP13XF(JD(gSr(SWc*5}xyS^G2>pXTM{6bN1L8oda_H6DwA2NcbWHd)YyNNfr z8V+G_4L2KK!7@CNcp36p~R&m};A|&we%aaWa?Hg!gd( zfCtOv%SoKnZnuT#23cO-*R1wM0;KvHZNk!U+6S8WghgqL_sO=w?IQHz^#sddJ0oa6 zPKyG0e6tKDlK9mm_FYV8&{1m;p#mdWr)Zt%CDVdx8ucKG7>P84bfk(yhJfC20wQ63 z+BU}+Aub2r_D2FRMg9<&o|a9L4z3=_b1PSJ3j$&I32`O6k$!Fd)6AbKk2~9+OK6Hw zav7J@&`yYvW2F6|wS{Z6WO_OeL$1h;Z2F6TN6qrrxi8Fot}apf=#xj)$}Y({o-^wE z*_D}xE3dDh#L99Ete#TvTI&V=adhK_*4cW5cYUc$D6H{<;J_`Qo(pY@*^pv6ec*>f zRw-f5s;OC*BB;6*lSi{+qkF1psJm5L8)}S47ag^-;O}>gRKmTZ>_N29{?x z>;%F`kNA@ndpmiaoWMLEhdkImw2-L9pJiYEc0{ zb=xmYy_r_Ub2;>ttO5*o8KmDNGz#gDQAC7D+ym}1)_>B|7=>CGJ_^L1g9eb@<*P9Y zT`+u0qj9v0e&mH5`6v5jxtnUj_M={6Z>lQ`RAwtylV| z-)o$_3L{JXYfW12D7L%~wb7(XQ39pNhVt6zN+=};h!BF$fhh3#+FYTyrU1G;EL(?g z0ji|HRM^Qj9}>$Nk=d>eb>lji=_rI~#ZB@wv%f)B7?S_p{=(4paS6%o-n6x(@U$JZ1k0vzIXo-pzHc5_S18OJVlzW^jx7C z&y01iD2xPLuoO?PUdU8tRN@Ga4f6do@et4g6PpkZfRq#LBWVdw@2=@tPA>CT~B>Nog2 z??1n_-nHI;=H7G9+57Hu*SULt&i78Jnu;7gE;%j=3JSi0yv%zP6jTf3c^Nhu@|Vk% zJRNyJw~~A(iGorc4Y)PIKtW+kR*;d@^qSrG+tYYH-Ew&gxTY=_((*1-$$)rYUdNrX zZiU}ynl$LY}2?Z4`LF&mR@9+OP?M>DEcTu{lDy^FtL5hKmG!SL! zrYG-vg0w^l%8^_r=w-nt5c}i3AH=bHOnrkJwcu|$5jS!~{^OwRYqeGBTvNdW^?`{U!bD%mTLY2i3q6+8HE@5io!kOc> z?+F^7oV@I1WEn6W6%vT!0hRvR7z(y?J?$o-le+Yf%TOl*XSJ#zQR*@zF9*`c-=-$s zzC>;4rDf9C2{Zu+b6@6|dg~zAOoR75sA^1x9JWe5scC-j1$Va}E&nzlxRj`aNV=uD zIxTnes0IQmUp-%qeGL^Z^CY}+U^5Hu2iggdqo7vsn;-XASt&=pw-yPUN+bT^)%$96 z>qwUF`GNiSqqULf(7kG#tw_-#+dU(4ElODQPYM$ZwU1RB@_#tyvI(C?a)U9)V#>}t zW7FP*%*45s|LmIEuWa|TI#tp38!f>)#+vk!G2;nRQDj-o;Xv5HAV-1=(=)F7d43pu z!w!_>T0h6<2tCnbieGrTgK#7y5}z%4&Iujwwlwv!L_ z^KbLCAFU@KSX2;ovyw9mg>HCk_$#HXZf+GF6r{hpGEb92rRC?D(MkQPxOs;IY`wlt z@hx5m)MoU|J{!h2U4KWftt+3h-Q`r4)>Nv!Dhz2VT2?Z={Q30#hl!P4?J2@3>Ht!W zt*ocOBEq{8#;2B;8+vV5vSrT$30E@AtQ@ne{}M;fjXY<2xy9|cxTSweHPI3TvrceU zG+dds|Ka9kv}28e-ZcE{)AbYTyj_q{S1P^LX$s~`HtF#Cg4O1xA~++-=o76RW9n^f-s8@3WVwE$ov|dUG2P^L zsEACKd;V%C<2UtnT~(UhcB#_=kk>O7O|V2;i)5T$lW5lBUN(HHG|8-#3s>gjZT4cp zPT+^k_c~moB~g>`8lT0AvOkW1eKCnoY?vf)8e=SjuAcEN`Yejt7}h9)zPmtznL*&* zcw}$-?_e%1SaHgd{gB9PgGZ7kCdonRLeOEI=P;*wqQ;+g>@jwUUSN-f>A?px5f4>d z*H&}rWuidy20xES|K9tWH{drxfbioGxyqsE@6m{NUv0YEj;IZH{XKMe|Fi2O^0god zTEA1_(waG}Q{N_YnaMP#qQA*-*@#wHsp0WjIA~gUso9v2AK)`Lph;_4&BtOun&z$QNPAk+-h0-(# zY8I9#w_c_i)*L)RZ!-P$fO}AOyNo8Pk{Vn1*uIs*892+*_@}NWzlN!in0FB=PU=Bp7MS_2a`u(d~py*f>YyqUdNARc$@a!%@x(7ev z&ANF6lFrI*G6ruw!nptohxv9lmWA(rwKWBFj2jUg{@RaYYTPE;L3p-w9e9p|bzof9 zPx$IM4eCZrD}q7j4``>BYOS=sg!v1YdA&JauI$zzZQD#?d#v*Y_XVP93~XlwwKZ^r z^7|f29@`63*(`_?t|%< z?V__f`bL<>NKMusAOh**+DT>)d4RltNZ()SI>hVFOzK-wnpB0ikq+Jg;^vgW-V!fL zOIbkOIHRn(CN-NlFHbt73|mwwrrJrzQm5H3dXNXDz{8pyV2g%4y_l*jTmXiHSC;jtfkvZWLMuyu6Qn2qvw@jX82=#qZf**E7Jnv z_s2h}EF)BhfH_9kW>l>9Y)j?qnWl%q2P}vrL&;AlI+){L-Eu54txn7oSCea}?pGV( z*_{`bD|)Pc)P{M3lZMw86mz2wXZ=AnoYXBQg=@fPCBXfOUV43=qd_N?yNg~q#QBy% z-!T4;tqAdZ-Fn4ikdzx%+Cdq}Fy4Ps+rt|}>$}C)sdf0eyM61>n%%4Bpcl*my3(4> z_9+NGg7>a#Gz)nh%}>su2#gDY%b3PyQPsG~V$@0eKuIG~drlng%8HtyE?2D9FtOs0I^hX?V&;A^Xbt2Fvm5ufYHnhJal7ldrZ-I|}7QZCoo-cJ_J$Cr09f7R*krz>S zC4y2{CX=3!vO*FZMPiNfM(WenBDZkofMs@Uvsr30r33EInKDB_2nri!azvSFufC*h zrYOs|kNG}~v-{>|FYVvj46Zygh-3h4y6IXw#|O-djP9?P4Q5w0?EgNJy|GQMwv2HxRXfP5{Q}a?HsWuXonMTjR_RWg&DE@T zeOqB?oo(fqsKg8T{IvB4kQRzs3ebvwS)*p*K6mnL{8T^4byD!VzGXS(IwWVLhf>hs zJMli|DaL?w8)M0(0A_Q5qzTw=W#^2t_nASvylV49`fmq` zF27krPuk=4r;z=-1OIB}ui0b*ydRod=u3WgEcbU!FkgV3=u=;UOz@dKAT9@iJtfwK z0F;iFkC9r#mN~FPr-n1%uLgk1g9o&mB>B;TEG&5wh>eD0QX#{KyViiF>53hYI%9Rp zZ|=}~HIwp(Pr2>>pOQZ-F@gCsvZj*XhbeKZ3eU)kSSz-2$i8*|;C)Gub+b#eQ?gp- zD+;rmDp|n!c0&I3+aElBa#~nFXJc1-bE2`BzxvZ(L%`B>yjCHuSqpw-Ve?U!66&mo zeIxB7Z?Z7NQ5SCS3(@0gFzTG_gErO#y?DBdU86WLXfckv`=(O1h>_853PVhXUXQ%S zgupm%4?Av)-uNLTZg=tosoXK#>+Nsl_jgm0ul=;7fdj?bCBw(YeyY>`N-{p;T4MBL59 zUda7Ln@r~?NY065Jf8gCIqxFwb{5i|uUB{DR6}*&@SIlAYF&_DuAM+#KyXT}WHfA^eU4;?& zGDWY`67MDNxY`gjD5XawxAd#~7wb(3%-Z_)#&NA#De~v%?5CX3WQHV81>iCE_W3UB z@rjnZZY_jNa~p$}R!YU9Yof`wxp~eLs4GTdBx(CN(N}KiE52F3YR0%BQK`O$3@K!> zh7lK%?Z}75Z)gXrko361VkN6MPYQ^H5XKqTZDKTA;pzx476=jecMt6;2!Y_X^O7M; zsO4MzWIKdisw+JMYx+yLAVjQU>?JeXQ~%mQgXbtp;cp(z$Q3zyiO)~lP$TF1giIAh z9{&zeWec>)ny1`wwVN`l+8@BYSKzZR+n&+<=_D^oTQ7vDI4w*?zu}QP0^dEan|UkU zO5F)u{LFMfaHuj2+dbnbBHR6i&szpdR$~+THn-)U&?uZ!oJfdu((G)M5lZ{Cb$)XT zxdegGN>N-p*Q0%00hjM8>G3=Gv4#gkLJi71TY%%;@CoH9BF#5-i67|e)z-s%lHT@L z`TEf+xl&37&6O2AbNWUaoo&cR)j<(G)vP;H*-Sv+KXf#o-T8dA^Y-IV0JP6k`tu=SYs|0d2xhuRJ%PKPBjtwSC9SXLeK%Zy2$vCzFdTgUc zU8X1n=ag55lYcwM*zql9z7rYd)dyipQAJ4ghYA()E>v6r7c+^U<7QUWt?6;wS2nwM zM1=7<6Bj62lZE@ufD+VQy`{ys_W3ife$IEzG1iao8EvP_6*)RlD~dSRlT5nur3Sny zt`55uvVp0Xk2?DvYlUYFmqJ8r+AeN%JZoWMiJO9lA93y`Yp-KxK-x-^hdAR8LCpkZ zyCvejM>2y!sEsXS+s`o_zOV&E1jfcuS?I)SbZ&R#X@z1+nV3n% z+p5P`zmF|SSfc}A1bQD{Nf%|Jcqx-)&y_ z_;7uzMep{z1WFE8->%FY!7qQo+GU5oy(1nYKOV{4-oCg?uH|_j8Y?*{H!uF+Ctz$Z zb(yuaCd!xfjz+YAJd<8)vdD&7ovmnO%R7;;4pI(OBuo$3!d-eUs!d_))YfEmK4-*SwZa~GD`0(zdjFX=N={_>&(X7`e+tS*Ob>mgde1S+ zqp~8%>-F{yqVy!=3iTi85W|M`0y09VkN!A#y}I+c#Q%YgWH)ea+c|nH-{rp^MoER~nf?FMSoeOV za^l-O{SUU@%OjbYx3miT(N2*jTCUd%^FOTA31qPuR#p8kg|R>hUmsY^y+j6t&hi-( zq7 z2dOt%``s4zx91}dn%8KQ-vz;C@L_P64_2o3{eF1*yZq2m=V$(U&rJ-Z;NT_OF+^vlYC#uwY$O&kppu%<3mH|smg)yAZuL4`1%-y?;iXJ$W zUGeBwGnZS-x=+8zvv>eoW#PZEg$vG^%DKxS$dVOZRYa*SJ>v8c{X->vB;r>ss{^Fk zCqR5~wgz&A|1w_4IC7gz*oOolw)5#=L3U<|t zMKR?RXNMSzL_W?#5?(ct(vhbCz8j#m-~ERDGksY;pex~RT8|R$oa#P<-TUI3?vFu# zu_G*=YU?h%`KDEVv>M#)^<{EnXinfh!TPE&m<3Tj{u;nq&c71=2~=k(qMiV-Ob&H; zNHkPGoB1QkO?9V>ihgC>;du(`eLJYSMpDmOuye0Rp8TtmmrlasuU%M}+2z8ObsD(_ zI>)(db#C6PhyY0?+oy)_r)1Xep;HkbHlk8z9BdWsW1k(oMiFQTSV_yaN|uK_Gh0Kg zoSvJW-WrdELKjcHj^|r|xI3O!8wY)w%rP*bWuLy-N4(MNUBUop^rQ-<{llPaleHy_1F`Xf|XP z;S>ijU$xt%;-iZbZXkAlF9~wzX375b@eex3he6=OgA0?f<%6FY zDQo~{P;ob>cQXWqe%rU8&g(9FGFq`Z=L%U9S67(RicbK&@F`PUiRQ^@GS#_$*gox% z%JyEmuzR>z81-`^yqX>|w!3BBqqlh$Q5CkgNJ#0F*-OtD0NbZmgeM$BHNCa`kM}D= z!5cD|Xf-R{5*d-|x5A%)5twX`>TZ${rAP>7dx z0Raz);r8=@#x+y0y5_(%4qPoMg)(PZh& zAJBw>A>5xp5)u+;*PQ|@j9BOYX>}g;G=0OMCyYi8W#0s|n4=zJV`IxRKspTZmH~u> zG0w;Rq;!CXZqg$RZ0!Ekdnh$ePcrot8ag_I2$*oxG~%e|Uza>7oOCS{;|fSaLlb@s z1$&DHvOf7YEFysDM{Ef7p=reRlOK=WE4P3K?-i_vM<2xSY-3CW`0?(Y!23@p00=4? zTJ8`~?BNRm4~7_|Dgd=+r2q!Q$D~F2S;l%CiUMYT5&Z#ZM)A;jN<X`)@%)2ZjEQljXU|pOYm7)m$TApd(tm|^EamIlI%4^foSdAQ`^}rHvmK3u zriO$ZtK2y6#K2Q$q0dw`_*b&dzR)X64oE=VS!a@%o*N~>B!lMLPDp;J0T=A+ctzIB8=I%dWndz1CsJQ7-*VlgLb!{&`jtmfQc#Km~zOK*l5LQm>I)U1zRreP} z1m|-e^$2Z*@9x^J&wUM*Q~RtYTFa5bWy4VmaCDQ>$H^Ft=h%ir4=Zs5NyPqYRi!lC z*6m+;#F2VdGwQ3T<4uIinFkXE9=TgkW^)D)0?!)44ij(+lYlJ{t^om1?kWHt;6g*+ zYW7xs)F%GdpsoTMInl@aQrdUNP=B(T7Zjqd5FK_6Sqgr9@bHwS{fk-Rq@;+p?(a{0 zRB(q9)ubd3dUGP`a(((3n!UzlQZh8RE^Z~$5AjBUXY-jIqvv~pr~%~ukKOd~J! zf~<9mw@G`k(PS~Zd(^Hv6CIQXcO@i;DboM zx$;CSa8jqH6-h=?fnz=}qnUM{$cDsS<5+#)G3_-bx9cVbNhGn<$7do6PHE`iYX1$? z>*fMBX$z~YBruA%Zq8+2IK*EQjwyLp3#_1k;z_agukGScSK)=8)+&FB1UjkEFwohalt_)rHJa-5pFhFD zm>>Jzs`!J5J_gb#%ILMU9Eq$ep=3;a;+5aD3{GzdyNxiaPQeG|HfWE&mU$r*T!M=2 z!ljtE9*%=BB!vHHXX^n1PC0-$Fec};#U|wea{_MueVNowAmAB?xo6CwSeu6d&-*yj z1gl1iis`WvsPaJZc^EO+UbUZB7)-=0A6IO)1(Hr0Hex_Th{usrg14tI;JWRQkIuae54Tt6p*et*e$7!f?u1Tj?bz!X+nYJ=h`@&+w!} zg@SQjrqA@qhlIYOIyOuFfpyHywBiS2u~@Y0IL26VFs^T*DH{ZaJw#8@`h6zO*bb(3 zg@3roSYLFzEw&&W>rRgrZT+O_~1 zT;dtp2+w(wCD;j4ZODE>HRN?Z7Ow}Z{N|4G8N`nQjsX0W?S>q4DgmxcGn$x(=D^G0 zk*i?k(!Q&>Ycxhn^Ay+iPR@gY=R+(C>3^?>2S!5(YM8ky-4$7{Cz|c`Pm1b-$3DQ1 zrZa9Zb*>R<^Se1<3z$-wm0_#zOW_&0p(loO_WK*6Ok(cfDaL^FXfevN77*(JF&91B z%lDiXW-l+Sl2e6BN39^i04s6rVA))gLC3-QptLvFlh=ixRKo1LH66f|BQrt5q;+D_ za>n|yB=zkKdn0Os9Od7YS7X9*J@vYdpk97M(N(9v4wU*h`ib>8mcu94!(Ci|#TWF_ zvmCEC2dm$1DjY7{_0G+bomQ^gW{C|QY)*PBsO}K0ZS;Y9uGhK!;;(;6GvN-tW2cO- zQ5wab5uy{yQlMw`U0-2>*dh?(N)|| zsxW8o!fG3xjOQV@vbaJum9BBb;_q&e9jrJM+FUpfBZgyBdfSkQjvsD9A4rNv?v*D& zPfIidF<&dfV?Kg~PV|*J@yU;RY>%PhLhzWsKt)r77s&5&Fi(xB`?G8RPWEp?Qi{1O zf4l2BO~h6P7~*0-ZYq?8GqKj5PEVaO|E$lw7C3p$wU+bM0%WSC$v<}x3VyYEQVM_rl$7Cu=3 z`Rpk7Fmr0QfKc1=_wBz#1w_c*d}L@AJ~@ugx?Ap#M83ApUYhan2_p3fj(k6 z6Tz#n`sisFzC{~^Fy?e&L#llsL=wDQ(2VdO2?5^MXyE&~g>Lscs|N<<@`#(vfSg(Z zn0Hp~HElONIOC1$w>Md*dC}pi=Fg1EGryjHT>&8U%nQ?RL%qmwDZl7X`i)#^bPz_% zy=bIm2lw-$+ny@J7;KY0NgzQsoV>D*FQZChzD2d%+Wl}9q=U!kgz{63tpFB=$b&)s zM;FAtiz%s(O z?rtlzNa~87>DMf!$Tv(}Smn>Vj|^Nqy$Fyl+rphZzd}3oah#m5&)3eG^iM(LE*wPl z2OmLb$6gC)_GqXuZF#oG7Ht3FpG%Ot)E>m{~9u6e$hLm6`-GH^M}z78uZ^{%J7H6=^7@pY1#MIPX&C-(+u ze~OlYj9z+YXloP{y|{m~rKp993J>`LDr9nIkkX|`c?dv9qU!v8&u{dih*0rQ0Z2xz zDTHvT+=a_u3QI~z@V^2p(>w%H%(SDxQBYC!hTCZpxVSLxACZ~v9^;&S8}*TEi9ZJr zp*&)*IoAUkb^K#;`^5eeIPs5)V~=~*d5a=!{!#Z4go|YPCkEZqWk3u*=aHBf`Z4z3 zjBa%tB!wSg;7K)kF}xn=r$a%)`VmwN>?M-9xw)xGw~gMhA-VC}l|`hD_#+y5IDCxX!8 z$F6`*`cZM92&Yj`2W)t9c{I4rE|vSx5u)F-9;U5_Gqj`%FNVSV?r#P4eG3W-TmorA zh{qf#NOYfRkaXqO5F=wrXJv7b=?B(MMT~p_@%L@k4Sx=(CjP4v3zFzO=~-y?y!re0 z7p}5`0?{>{s3;}l#l=M~+AR5L)O>yux4_r-I-_@Cl}7i`Y^=cwvX-P-uXbx>Ux(S` ziBRX16VZZ^csqtrj#O2VN{GF%_g9B|?N_KO$wzbqGxZvkQ_}?$O(sT{QP(ZIq!+)F z-jXvgUU5?@)#iA4mNT3F#tdzvWdCcJ(TaZlmQGFhctc~n_H8!FO})qZEpHmZ zReJ#~?f5d-$7C)@ug=LTUFH-ent6;M$(xPJ^|F`v$HkgV&Hhr{4YxGS<6{QzN#3$C zb5b$uy&o#bqoov>a!fiE-3nh_T|I)B@TW;rI2-7*8+>*98E7=H@r><5>HkN_xZn?| z$)@I?Rp?d$U>k~50i1%xdpeP|34LQEW3M0N^2Mu(eAzVpilY_UY~6==TL!Kh;b^m! zSDNwNej}LW)Ex54lHXdVXTFv~B#1}fSgy{jGl@<6Bv*_m<7K#^k0KJPWjD#*IXFr2 z)k+TnB?sN{oq>m1gTHcwC1!VDJ0u;+hSX*Y_$Zao>GJ7Of$9zU$%TU2)vt0}TF9?2 zOje0BC02tP&3p6fhdG-@aBLV6Ep;@+eeCHm8Y_8?T`3I^pJ~auMPiO3mf)QpdhRZ4 z$*Y!{r)ogy4S-K{$7K+@#!$HIYAnkw!0C@me!@{a+sh?4Zd>pdgYUKVWadR?uk-Or zs0@~MtE>=%#l?I*-MMFy>B&>XxBJeDoUO#3l!NkYrJl+^<$eIqMATfrR5GRz!@MQg zUKcqKnGz@LB}smd$A|LJ!GBSIXVlc2cfGdm#|p^nrdKJdt*D6Nl?$ zi)So9!qAUU(4*`JWM)-a_R1GBZU8!(Lx$V4DRKnSm)?E@UDT*g4139OM%gKr%gzxb z`fSI$`mZasi{^8DE-ML|ROmxy&QhcIImzOI0wigIU;kh&RGt zN_TPcKOZ}Semu*qtZCX1LN2M>$WEZs61-j?c7A@IV@J%PlK{o-cQ?u8tGD4#Oq6!{ z9#4F__fiOxc{7*aT_M;dFgcGC^J{;cbipkj=;PO+1Y^@~AWs4-p@s6>PT-k#{0}X= z4++QEo*&g2h~ww#vt<~=(KUnqU?qI&NhBF!z60!q#!MX-xB~k^F~7db*`$o=rC+(C zlkrAh-{4$?3Zlu?79R>hBy~<);)PGV7&>2(E3GFD$w>=cy=0{7crGG5_v_cEgPHz; zL&iWALYYt&HbfA!81$E5_0MB}z*18oUY{cG+sJ`AOn6~B@momOYNVqx@jg{$A zlhbM2iLQa>ZnTm!h=PN+?>z$6Z!)yqcTBVBBo}rV8o_^v^^@z3|Bwt_&JlBusBC^x zt~30j#Q%K4HeC9O&PCV-YU(9YSR@nB&VvU=XNw;Gb8XQd*Bstmb}aY)Tu69K%0ofn zz&?2_yal(Ofi=p!hl15MUYC;$Kf`5C;(zDzoLR3SQl^7ui6D$aZDrkee<)Fxci}2r_B+yw_pW4ohrO{F)Hi&{17^7w*Z+Ek zq4+WPWpMv>;Jzm@vAF+l?vVDl9Sv(y*6RLqpAvpKv*gXs*v-;%wM(J>rg5=7ct<^h zL&^@g(H~rvZL^Ffr#^!gLqQVOBHZu3M=1Okz?~r-DRiF#to|uVNDXOt{S40}(&p$< zV0y6z*fmuS`d1|1fQQxK$!L#75vLD05yAeW9eEns-<}-k^;lEs9!$w^A7v(_JR=Cy zn3z}xK59lXS)js%5tT>51vT_FRZ1%6Ke4DSfJ;=kX8`Td!i!o&1WdDKs%?V*FDBA2 z&Jf9`%4G5XdgmNhpilX-ypNf`43wO{rWhl`fT^ ze)}zvGz>fvl}Q8@h8l2*b~T8s_=X6Txnu+o5IvNbpC8@@va=yA22bz zDUaRlaFzaA?6$`l8JR9Tx#J$=Ix-oAbQOR&qz&Flh&pcV-w!bcoqP|xyaI$GXW|?{ zo!(8)K$_Bl1tCyxMOzv=q~)At<(S6G&ag#Ua48bB z_&njJZ>Z;#XOcE1+wUY2`h(*Cu$ zh1o<7L;-H=1IvFw#uX`-dyd?Y%T2BOhR`Uj19~2o9_Po))#VRH!c$fG{w1O0<2u2c zsEuGf8esniDo3)U@E@5yfWLr86q0`fPc~7OlqUX%I92yO!|a0c@@W4QKjsHOHy?(v VKo8p;@;|#M3bHCP6;dAp{~t}?v5o)$ literal 9096 zcmb_?Wn7eB6y{5hfHYDHL$`DY(%qdRA>APjLkUQuf*>UgA_yoALrJ4_OLv0|F*N() z{`bRv*!}H?{Q$g|d*Xl=&oeX8n(7J_u0C=dRD60(sD5c5?ck zB6S3a^QBZ7D7C6$df!G85-|Ki*VHn|_oa>Q_99LyGkBQM^vvgUCBETve1N_|m6NBy zrWNuj;erA2Ytyr`D|xYQj_&x<^KWmktY{4w!f03={u1YZGDIe(ACzoYY*R#{Y;XE_ z;I7n+hGJc_Y(lfQ3@2_)73y2Pm6~d@O=|# zh;kmZZY-?#_al+yzka5QuXaIJ7OA~rGLkyF3bQ2c`k6LWq3R$=JlUKv`5j}7xiA^x`P0O;a=dNQv$Zb2P`q%i3`4Nx|(ef+b3-b+nL zfcR~ua=D3wyI#ixnf}4X0Y2b=T8UxM9UWPE*Su;qW%m#~BBuI2Vi<~o+V+WCd&@Yr zV|%2L-Sv8T*bFJua+4>+=WfRuQqf7}orM~rS5c&@M9~Wv9|qExP`sYn#|jZD>hcPm zlmySYluRTI-%up3AY;rd>N-OU8MvZ4C3^d*fB5-q;67fW1#>apifxDgpEv9>PMPYi z|Mphh4~&GO0o@@4=0BTWMI+kWZMrq(R`^nlB}DzpeQlorzq5%%dF;*Sa>Nlcv7Cz= z*O!MszPl%&=xAdWcb)FeUeS&qKAF|`oQhxcOgYw#|IT=P<@)RhF*E6UxL?t1vLVu1 z+~_CYJ*?D+whqzEO&c4J$nIn8PwDF96q-HLH#5;P?sDX3^)okil4#{GemXZeRCN3E zrsuoYvuh5T{N$3nFzol`USmQxtGhKX95ytfVU`Z?z}mvog#}`l2tMA(Tf39C>Q6zh zNc&CHtVuVKx1L8tw{g@Wl|>0sOT01e4ai$*(Y(Pn%Ybk}vn1o%D^HC7GG zTi(%_I!M)dlsZA0I`Pe)(;BfAIyWBDB4%rad$W5h|Jhu_>-h7|26*V!%q$YZ1sQG( zpbdrs;3ndxTAMWcA%zO{5IJjL!1^aYiN=xgtLUN}?e!fC1tFT65hY+8gbrOZg&5D` zOWcF(CIP}oCaFSfez|_Vgaq8wp-F*x5>f;k=<}7l`tzX|`XkjR`Pf0VR<`q}leKkb zo^~cuV4kGscuPZkshu{87I^T0vH&q>#XE($?_{)O6+yq|7bE2;^7AfH+xm{D?y6VU zM&n79I+*0o_Pf+Lv(^no97*ct{5P*)0s|^S)Y;lT*2?{ohaR~r<3eU-*IKfNZ(ke+ zGXG+^yj}xODmNr1z`5TSwSeD{eHTv(NRFpJKmn$%o&n+PKFtzY_{fbzNS`afn zoLjYhaTvtK8n^Ln-lKGXC_sZOb)vA#J)*7jZkwwIe|zz2Wx{pH)PABR3@k7KsgjfE zN)kBta9qKoAYae1gE7QR|Cj;Fl7@uFCRkM~m=c#s?j69=ut92#>if#K`(SpWNv7?> z8*{SNViUJ+xPkD~>f9e zHHydwxkT zYHyaEvo?E~R2IZ3!kU1~7}@O$lS7S7+QBrHZ@aaVATSV1)N2@biF?QU9*_1-)GZY^heQ@-bIrp0{6hG>M8;uCt9t7*zFnOhgwh#)-$kCmv1#=6giW5qGC6Eb`{_yY@H| z&l}g5(r6g*{R>jFJ~`djzJpfNS?cQra)j)3@Sx{jiHo>CQVnzt+NRL&3!&d!uP~9b zrS&oP%DwBNrlF@AmH4gtDq9agWwiD(N8KOU^LgcJ46hn2E-4E~IsB~-)^SZ<^-gLP zF>@j{$yw$6VK)fHC9`PCt3d~@8&TXjT*INTfFp%upZ>Pp__B9XI_S^*cMxEvu0BTF zxMg7y`JrK`LB)L`_caenQ?%Ck*@B;Qpxdt*^@ZOn0^f-`dVWX7$#1AY{lXntBAZr0 z0Q#Hfn~y(GF9sW|M}T+s(ZK9-U4w}Jr$2cOrgnj%7mJsKjcg!GbCX-=tRoSC%EuRp zD!H3=*a_#X`!knh12!3&Mt{d5OI_W?%FlvHDeG0BD?rY=enwiSGBzcKy9H>7i>TG9 zvS~1mt|^7G!gs5}-V-*1>2tR|a3VHAb_YjRC*A{a30~m>O@_ThZ`;!Eb^Syi%XdV_ z!oYZD1CvdOYaEt3!6m>0t06RZm|nG}+!pfhooc`gwpq5H7^9uqXzg2+w$0 z&ZkfUpZNWu8kziMT)=g!Sn=-Q;u3{Azsb!E4IYZ5cJ?ds*;PIFq73f_ zRIh}sp+%|GyQ+r5n)qxnV;_vpg z-~ou@ZdRh$>Md7h6lkyme8uSyWLe?8)9tX9tJ|Pe#)XQ+bUxb4G{Tzz*Pc11kX5jZ=tflk(%!ihS2rZEI6@G0<@I2&E5j!x^*N&BbhFtWIY9iS92e52F!UlK zrO9+^eEs@%tdG~&S6od4-9#e%yHO};KX+A;kl+r{JEE^ z=_OAJxE{JlH|zJ=E)a%o7<h@97iZ)9COuSoaM zdDZZPJ1BJB!}=>h$z)kC`#g`TPNc#&pI0-$Fu#3iHlh`u9S#wP#9 z`wy%qQl1ptK&68<9OZQ|4{D{&OyF(O!NiP(Dq)ApYe!$hzE8H@v?SM!(@i)7{5aZc zdJHKgCImyJIjXJDW8U$v*8`<46np}_EWNr7+EQTfxd<*dz`)erM|Y;aXWQ;JaL3GL zpmS%pX}a@ev7amXTpq6;xdDF}>sLmZV$qF(i zRcgdX8|{vC>*I)L5z+>2$KQE~gG$y)-l|qW58*imPYDrhU(`*zuW)|Ep_Xjsea&fX z!PFZb{MGc#V0_%<~bP>>-xo?d`^};R2ojAH8uMVJsrq7#x>5; zw#b97sxT}1#HbeD$gPQ`6jWV%zh|2E9ePG$*N%8~Smp8yZo3vVRl=g!I)~~9QPp6e zJs|SZ3r)PF)RSW7@--m%J*C)`1N!M0B%q;F(1gMNYu{Xta=^uI=Jnf8^>e0mNrvy9 zVm#EdA(jatORkG_ufjqUY%L_or_N?P;^5*r6{aWs^0E;>I)KY-IB!&nr}6B%|Hw*u z0Zd`i>&8yUwV$chnsSGEu%r4-S67_{`;8K77Fo)PsR}l3q(=EypZvh}uTDI{*hEPU zj{R^`PCJTiL%n|XuDJ3Xv(y(_@95G}3BT2jmZh7}L{eo1t0)f z2O9@_g6ng(X67@gq{TT*R5poTzU-+_VN+xQalo?pNE1g@3S)5kl)4`1?SA(-Ubt^2 zeuyiZa7%$u9aD3Io=4bH9V_RrovM#CYY#F^u=1hz-Y}w*Pj^knawEy;nM%xYJ_H>^ zPqE#->miPn%G~2e$=P`W@62{3O^hmnW1|lFa0HQd(kg^`GxJmalhK)3Ky%4b_IAd_h! z3PDF5S+_`)crSx|D+w(lL-TJC4pczkHUpND_Q#$@=T79Il2DFe zoRmk2Ho_!Ppxq|Q`t~q6DjfktrG1dxmn$v=+#uyB5$}eV&N= z-HGEgf5>|K)nha=uw|#mZ@Z)QxiJ+bqxUu=_oX=cPwDd?dF8&2e#>DG(h_KswKE0; z1>FtLwm#W!(+eI5;{r+Dovc6BHaE#gNhxR^sP?_hJ}?sS+2eblq3uvLvu6}7Q>7EB zp^~^*x%%!i5%4b7B@ve`A}9{%m}-ZF%Zaq&V5^w*#-z^E6bjxRp091CGBI+oa5PVQ z=)5oe@+GS2Gqh2neC;C6aOP&lNw8_&rD~>|QK6NeM@dJ?EucLd&^a(pkc2jJ^|S9X z7t6m!`XtWH!d7WsYy6(~_nxg=3|3(sP>=2#@Ju$CEamH0*Id3uFtX4IoJ!SvP-4|` zKq{2PYl{SVs=COBeJAqr-Kx?&H04IIuM)1pMMAkekXNE`HPLF;09+`&aw;V7cXYnA5>^77mF$c>2CP*h#C!@vdm>S$~f>! z&(&6lFmo!8-5dqK&ZL)EFv=~F9lN=h6(|ZMc^7&j-N`S0WhD^&l@w2lFaBd_e8`rA zu;Dy6QxE}CAY;(wvZ%1|^lV?$=kS|2g1Ru7V8v7RNtp|`t0osFe?EhNch2Xl{A5a& z5gfFeuq*?W0jV+nO2?QYz;`12>Y)xTvfnbp#UU~V8iLSUu z6ze=5Cn>AlGdOn==RzF`TC)*pam(7E-kf31eo0;xweX|jdbz2J$VN-~LGCR6I5>}5 zSqAA3Jd=6N_asx5N7TJDe89PoztRs*TTS!5(wT^yWuC#p@D$ zOqIyAMa)1GLMa9P(Z6-K_0GnZQAd3v%V&QLh)iM5;~IV^3Xpl&^>_;6E8}Y>5XG#8 z81OpM+`~S6ICt+GaX{8x`NFO~e)=0ijnyl1u)GG-u36;YV(`vX(3~Y~`u*H@Ty!hd z96b+*j+ZX*=EDq?&*NIH7v9RaG*?OUi$%OsmyA^pTY83fk1t7YqLl^rgss5TO-#_L zmk?vjbC;94RUiJ2L&Yej_}aoMm_$|-Q^qT6ecSCZ!HCqScSJY{gI=dYiaIiqldMWf>{Dr{)DoA`nu#w_!WPyJ!gHo0F^?nQA)vZQE`mU_x>PzZZieGealQO-7oKU_+nR*-C=4A zm`uT~YNn7RcsF86AyoBq%c=0RHqWgM%B^V*a6KeDHO)|=~ z*4n7*o`HK-=`%yl?NrQTFMdJl z%;TO_T5N{|8&Bk`WR)5vV3Ga|d_=Od{4{SS?(3PO<_pa_jY?yVPDqNP*Xckt+~%pQ0YLg-*Wbsv7z-~e z&*%vdY4~Pn>gG{!94tXIqc1|otx*=YS4JY(0K!lHU0%%knx=ajuM`vf?QZ!g>jl?FlupYxzx1j~+sZxp%2| z%~o#NWNrv^`c8n>8p9WZazRF`jZcnLQ$PL!`|5p5F$}J*+p7)|- z-NS-@t0yEJunZK3azDnFg>r<)ati%o->us(6*rt;@|0b-5&7{UQb9iag~9`jZUY5t z^i9y+l=hn|r>XBrgV!}pcm|t=3Wxr#gE(p5n_ikdJDxfa@kZRj9{Dqh;_Iy!JiG{; zNIV{W8|+st$gjNj(L=Lo{#whuJeoxO#31HZDWb*n`Wtr#N!C7Y+F zAPEV6gv+2ST0~C}rG9w*l!XIE%Wmo&oc!m!bu}s9EIk>XQ+e|0mzrF8ULM_nf7sS- z{fAAySJp^dut$404cJhnKE4_4WKd&l-@_nwtB4{X*-Sk~tYoH=mEOslXFwbA{y(+B%l&ZTEf2GA{Y({Ody1IIy1-5z6JfX0V z4}Q*+neYWfUk4{^qcQqhdn$VYo+BHSZE8P#~yrsP!?{KtS!BDh9&^c103vOyxBLybE-Xyi9%Zq63W|WXf>G1e`qip zTVq}iJ?Na_z7;+xAA8fy9`+Z;S1 zOH+QQ*@*+m^Y4UlZMz>RE3fo0DwNJI9;}}38?1oumG7=)WZ~vVDWB6!`r$qFFN1WV zh4x1MJyo%BopYa-cb;M83Ea~FA*bJDH}$vRIkim1(5}G=GusTvAHg)05RqTLJxPx0 zCdIfAmFmHRs)Zj_VU-D;Y*Y}sGklN5wf9ofvw6;oYC%M-{R+ig%EI2I$g=Tu0eJoO zMHW|~>746&;L01eGT#{JX?vcHZbyk|&sN?@I@={{A_L4vm&Gx{XWUSpm#05E!KEZ) z*m&3mV~-Kc=Vr;xGi`v#LN&x0LDKt#!#FvO{6;H{-R~g%VK$AQjqZ4Ro*X!%r7R+) zH2OEuM?da%YSH!l+O9YG-G+(*WSKq$7cee23Ccm@)GA7byVLx9Zt~Q?!GW#zjW^fy z4W+Cx4a$pxT~YBa7If55I|W?d3v9*XT#8C8F-%z~0Yu_*X_Nqp83IB7`JveySaQr? zN!bPm#yrqf6sXkQy)M~Ai4LeR4_kZ#+W+#Cgd)7#>*e`DKupIvsTcDM2F?Ac--Z5_ z{wGh?QQG%0+%pJ3Q01KNqUIL4hu3f9@3@itI0F^_1aQ424_h?$H_tf$Z z{ABCp;ea14pLg9Z`@J0LQD0~slCH4Y%>9~KO`BbD>27-Ymn(5HQa(B$LRb24lllK9 zJ`hFQmc(zZ6BE)>#9yr@bO7A;s+n}L{&#&jPU*MSa`XRFca*^$-Sk(6_mY>#MpuRQ zgbRw%;Rb8?hL|5OTjEf}70BBVA-v#);st=X#oLZW5GzN%3`7-~p6Oa>f zsi}_Y63v0vLfGxOZBNnXD9J~p{?7_yQD_h>4a0f!1@jj40k_|VN)CIHVn_v60nO3dfiN*1 z=<#ut@U!QHNL@Y(zA%UEXD$jyZ*5GQv)I%q`KPzE)l0~{FOt7bTAJ3{s5+PFS6PU< zfLb;SM7bvwuGAUAzip}pd;>QQ9k36p=bPPc{`40wuFu*~m)pCEX+70 zTAwobLG*UVIX$RgQiAa|EDTI=;8wc+jp&<4H3xl`ZCOl=sa4Io9K=Pcz{K3C%~SSE;*U<# z?!7iu@ib4srsuCLyBZUAot3kC%Z4|{mv<9|BGA){3eoF)-&y|L{}fQdc#I``{xdw; z5HQp7X1N6~75^zl#}7_CCd4_XJOoyo7N Date: Sat, 7 Jan 2017 13:34:08 +0100 Subject: [PATCH 046/242] Changes validation section to new 3.2.x guidelines --- development/language/validation.rst | 47 +++++------------------------ 1 file changed, 8 insertions(+), 39 deletions(-) diff --git a/development/language/validation.rst b/development/language/validation.rst index a4b58958..e38341e3 100644 --- a/development/language/validation.rst +++ b/development/language/validation.rst @@ -47,9 +47,9 @@ Package Validation * Language packages must include all files that are included in the folders for the English language. This includes the following folders: + + `ext/phpbb/viglink/language/en/` + ``language/en/`` + ``styles/prosilver/theme/en/`` - + ``styles/subsilver2/theme/en/`` * Language packages must contain 1 additional files: @@ -57,10 +57,10 @@ Package Validation * Language packages may contain 4 more additional files: - + ``language/{iso}/AUTHORS`` or ``language/{iso}/AUTHORS.md`` - + ``language/{iso}/CHANGELOG`` or ``language/{iso}/CHANGELOG.md`` - + ``language/{iso}/README`` or ``language/{iso}/README.md`` - + ``language/{iso}/VERSION`` or ``language/{iso}/VERSION.md`` + + ``language/{iso}/AUTHORS.md`` + + ``language/{iso}/CHANGELOG.md`` + + ``language/{iso}/README.md`` + + ``language/{iso}/VERSION.md`` * No other additional files are allowed! * All folders must contain an ``index.htm`` file. @@ -113,41 +113,10 @@ contains the default html body: -language/{iso}/search_ignore_words.php --------------------------------------- - -* The file must must only contain 1 array named ``$words``. No other variables - are allowed. -* The array must only contain entries of type ``string``, integers or nested - entries are not allowed. -* If you do not wish to use this file, you can either use the english - ``search_ignore_words.php`` or you just use an empty array: - - .. code-block:: php - - $words = array( - ); - -language/{iso}/search_synonyms.php ----------------------------------- - -* The file must must only contain 1 array named ``$synonyms``. No other - variables are allowed. -* The array must only contain ``string`` to ``string`` pairs, anything else is - not allowed. -* If you do not wish to use this file, you can either use the english - ``search_synonyms.php`` or you just use an empty array: - - .. code-block:: php - - $synonyms = array( - ); - -language/{iso}/help_*.php +language/{iso}/help/*.php ------------------------- -* The file must must only contain 1 array named ``$help``. No other variables - are allowed. +* The file must must only contain 1 array named `$lang`. No other variables are allowed. * The array must only contain arrays with the following structure: .. code-block:: php @@ -159,7 +128,7 @@ language/{iso}/help_*.php + If TextA is ``--`` the entry is a headline. + If both, TextA and TextB, are ``--`` the entry causes a column switch for - the 2 column page layout. A ``help_*.php`` file must contain exactly one + the 2 column page layout. A ``help/*.php`` file must contain exactly one of these entries. * For TextA and TextB normal `Key Validation`_ applies. From 5b665d48970a91acbf3c14a599ce70e5a56a3de2 Mon Sep 17 00:00:00 2001 From: JoshyPHP Date: Thu, 12 Jan 2017 11:59:18 +0100 Subject: [PATCH 047/242] Fixed example. enable_bbcode() and the other functions described are part of the parser service's API. get_parser() retrieves the underlying s9e\TextFormatter\Parser instance, which has a different API. --- development/extensions/new_in_rhea.rst | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/development/extensions/new_in_rhea.rst b/development/extensions/new_in_rhea.rst index 1486dcfb..e8682887 100644 --- a/development/extensions/new_in_rhea.rst +++ b/development/extensions/new_in_rhea.rst @@ -104,9 +104,8 @@ Some simple examples of what can be done with the new library include: .. code-block:: php - // Lets get the parser from the container in this example - $parser = $container->get('text_formatter.parser') - ->get_parser(); + // Lets get the parser service from the container in this example + $parser = $container->get('text_formatter.parser'); // Disable or enable a BBCode $parser->disable_bbcode($name); @@ -120,10 +119,10 @@ Some simple examples of what can be done with the new library include: $text_formatter_utils = $container->get('text_formatter.utils'); // Remove a BBCode and its content from a message - $text_formatter_utils->remove_bbcode($message, $bbcode) + $text_formatter_utils->remove_bbcode($message, $bbcode); // Un-parse text back to its original form - $text_formatter_utils->unparse($message) + $text_formatter_utils->unparse($message); A major change introduced by the new engine is how text (in posts, PMs, signatures, etc.) is stored. In phpBB 3.1, text is stored as HTML, with BBCodes and some other features being replaced at rendering time. As of phpBB 3.2, text is stored as XML and transformed into HTML at rendering time. phpBB 3.2 has a `New Text Reparser`_ class which will convert all posts, PMs, signatures, etc. to the new format shortly after updating to 3.2 (this is handled mostly by incremental cron jobs). From 1f0a4701fdb2a8f3ba2d72ef0f395743efb9a02d Mon Sep 17 00:00:00 2001 From: JoshyPHP Date: Thu, 12 Jan 2017 11:56:10 +0100 Subject: [PATCH 048/242] Removed smiley_text() from the list of 3.2 functions smiley_text() is specific to the 3.1 formatting. --- development/extensions/new_in_rhea.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/development/extensions/new_in_rhea.rst b/development/extensions/new_in_rhea.rst index e8682887..a12d89e3 100644 --- a/development/extensions/new_in_rhea.rst +++ b/development/extensions/new_in_rhea.rst @@ -98,7 +98,6 @@ Fortunately, the integration is pretty seamless and most existing extensions tha * ``generate_text_for_edit()`` * ``generate_text_for_storage()`` * ``strip_bbcode()`` - * ``smiley_text()`` Some simple examples of what can be done with the new library include: From 15514021703167054e10b3f5ff7014731a1f0745 Mon Sep 17 00:00:00 2001 From: Patrick Webster Date: Mon, 16 Jan 2017 01:00:35 -0600 Subject: [PATCH 049/242] Updating the upgrade guide for 3.2 --- .../content/en/chapters/upgrade_guide.xml | 108 +++++++++++++++--- 1 file changed, 94 insertions(+), 14 deletions(-) diff --git a/documentation/content/en/chapters/upgrade_guide.xml b/documentation/content/en/chapters/upgrade_guide.xml index 49fbe0dd..0cbeac07 100644 --- a/documentation/content/en/chapters/upgrade_guide.xml +++ b/documentation/content/en/chapters/upgrade_guide.xml @@ -12,7 +12,7 @@ Upgrade Guide - Do you want to upgrade your phpBB2 forum to version 3.1? This chapter will tell and show you how it is done. + Do you want to upgrade your phpBB2 forum to version 3.2? This chapter will tell and show you how it is done.
@@ -22,10 +22,10 @@ - Upgrading from 2.0 to 3.1 + Upgrading from 2.0 to 3.2 In order to allow administrators of phpBB2 boards to use phpBB3 and all of its features. There is a convertor packed with the default installation. The conversion framework is flexible and allows you to convert other bulletin board systems as well. Read more if you need help with converting your board to phpBB3 - The process is in the form of a PHP file, similar to the update file found in phpBB 2.0.x. The file will take you through wizard-like screens until your phpBB is running 3.1.x. Basic instructions and troubleshooting for doing this conversion are here. + The process is in the form of a PHP file, similar to the update file found in phpBB 2.0.x. The file will take you through wizard-like screens until your phpBB is running 3.2.x. Basic instructions and troubleshooting for doing this conversion are here. Warning: Be sure to backup both the database and the files before attempting to upgrade.
@@ -38,18 +38,20 @@ - Upgrading from 3.0 to 3.1 + Upgrading from 3.0 to 3.2 - Upgrading to phpBB 3.1 will render previously installed MODifications and styles unusable. + Upgrading to phpBB 3.2 will render previously installed MODifications and styles unusable. - phpBB 3.1 is not compatible with 3.0 and most of the previous files will need to be removed prior to upgrading to 3.1. + phpBB 3.2 is not compatible with 3.0 and most of the previous files will need to be removed prior to upgrading. To upgrade, perform the following steps: - Ensure that your server meets the requirements for running phpBB 3.1: + Ensure that your server meets the requirements for running phpBB 3.2: Make a backup of the original files Make a backup of the database - Download the phpBB 3.1 Full Package archive + Deactivate all styles except for prosilver + Set British English as the only language pack + Download the phpBB 3.2 Full Package archive Extract the contents of the archive to your computer and open the phpBB3 directory Delete the following files from the package: @@ -69,21 +71,99 @@ Upload the contents of the phpBB3 directory from your computer to your forum's directory. You may be prompted to overwrite the remaining files. If prompted to merge or overwrite directories, choose to merge them. - Using your web browser, visit install/database_update.php in your board's root. (e.g. http://www.example.com/yourforum/install/database_update.php) + Update the database: + + + For large boards, you may wish to update via the command line instead of using a web browser. From your board's root, execute the following command: php ./bin/phpbbcli.php db:migrate --safe-mode + + Using your web browser, visit install/ in your board's root. (e.g. http://www.example.com/yourforum/install) + Click the Update tab + Click the Update button + Select "Update database only" and click Submit + Wait for the progress bar to reach 100% and for a message indicating that the update has completed + + + Delete the install/ directory + + + Ensure that the root level .htaccess file is included in the upload. Some FTP clients do not show files whose names start with a period and you may need to enable the display of hidden files. + + + If your board made use of language packs other than British English, you will need to download a version that is compatible with phpBB 3.2 from https://www.phpbb.com/languages/ + + + When uploading the 3.2 files to your server, do NOT overwrite your config.php. + + + When backing up your files, ensure that your FTP client is in binary mode or transfers files without extensions in binary mode. + For more information, see: Knowledge Base: Transferring attachment files with Filezilla + +
+ +
+ + + + Noxwizard + + + + Upgrading from 3.1 to 3.2 + + Upgrading to phpBB 3.1 may cause some extensions to no longer work. All styles will need to be updated, even if they give the appearance of working. + + + phpBB 3.2 is not completely backwards compatible with 3.1 and custom edits may no longer work. The easiest upgrade method is to remove all existing files prior to upgrading and re-applying custom changes after verifying their correctness. + To upgrade, perform the following steps: + + Ensure that your server meets the requirements for running phpBB 3.2: + Make a backup of the original files + Make a backup of the database + Deactivate all styles except for prosilver + Deactivate any extensions which are not compatible with phpBB 3.2. Check with the extension author to find out if an extension is compatible or not. + Set British English as the only language pack + Download the phpBB 3.2 Full Package archive + Extract the contents of the archive to your computer and open the phpBB3 directory + Delete the following files from the package: - For large boards, you may wish to update via the command line. From your board's root, execute the following command: php ./bin/phpbbcli.php db:migrate --safe-mode + The config.php file + The images/ directory + The files/ directory + The store/ directory + On your website, delete all files from your board EXCEPT for: + + The config.php file + The images/ directory + The files/ directory + The store/ directory + + + Upload the contents of the phpBB3 directory from your computer to your forum's directory. You may be prompted to overwrite the remaining files. If prompted to merge or overwrite directories, choose to merge them. + + Update the database: + + + For large boards, you may wish to update via the command line instead of using a web browser. From your board's root, execute the following command: php ./bin/phpbbcli.php db:migrate --safe-mode + + Using your web browser, visit install/ in your board's root. (e.g. http://www.example.com/yourforum/install) + Click the Update tab + Click the Update button + Select "Update database only" and click Submit + Wait for the progress bar to reach 100% and for a message indicating that the update has completed + + Delete the install/ directory Ensure that the root level .htaccess file is included in the upload. Some FTP clients do not show files whose names start with a period and you may need to enable the display of hidden files. - If your board made use of language packs other than British English, you will need to download a version that is compatible with phpBB 3.1 from https://www.phpbb.com/languages/ + If your board made use of language packs other than British English, you will need to download a version that is compatible with phpBB 3.2 from https://www.phpbb.com/languages/ - When uploading the 3.1 files to your server, do NOT overwrite your config.php. + When uploading the 3.2 files to your server, do NOT overwrite your config.php. When backing up your files, ensure that your FTP client is in binary mode or transfers files without extensions in binary mode. @@ -141,7 +221,7 @@ You will need specific convertor files for the board software you are converting from. The phpBB2 specific convertor files are included with the phpBB3 installation files. For other board softwares, you will need to get the convertor files from the appropriate phpBB3 convertor topic. These topics can be found in the [3.1.x] Convertors forum on phpBB.com - For converting from phpBB2, you only need to point your browser to {phpBB3_root_directory}/install/index.php, click the Convert tab and follow the instructions. For other board softwares, you will need to upload the convertor files to the appropriate directories. The convertor files you get will consist of two or three files, convert_xxx.php, functions_xxx.php and, optionally, auth_xxx.php. The xxx will generally be the name of the software you are converting from. + For converting from phpBB2, you only need to point your browser to {phpBB3_root_directory}/install, click the Convert tab and follow the instructions. For other board softwares, you will need to upload the convertor files to the appropriate directories. The convertor files you get will consist of two or three files, convert_xxx.php, functions_xxx.php and, optionally, auth_xxx.php. The xxx will generally be the name of the software you are converting from.
@@ -160,7 +240,7 @@ Install phpBB3. The old message board and the phpBB3 board need to be installed on the same server. If you are converting from a board other than phpBB2, upload the convertor files which you downloaded from the appropriate topic in the [3.1.x] Convertors forum. - Point your browser to {phpbb_root_directory}/install/index.php, click the Convert tab and select the appropriate convertor from the list of available convertors. + Point your browser to {phpbb_root_directory}/install, click the Convert tab and select the appropriate convertor from the list of available convertors. Next you will be asked for database information. The database information you are being asked for, is for the database that holds the tables for the board software you are converting from. You will be presented with an option for Refresh page to continue conversion The default is set to Yes. Normally, you will want to leave it at Yes. The No option is mainly for test purposes. After entering the database information and pressing the Begin conversion button, the convertor will verify that you have entered the correct information. If the information is confirmed, you will have another Begin Conversion button. After you click the Begin Conversion button, the convertor will check the convertor files. From e77969bea2dea5be8a9149a4a6e46394b8d12d3b Mon Sep 17 00:00:00 2001 From: JoshyPHP Date: Tue, 17 Jan 2017 01:55:54 +0100 Subject: [PATCH 050/242] Fixed typo --- development/extensions/new_in_rhea.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/development/extensions/new_in_rhea.rst b/development/extensions/new_in_rhea.rst index a12d89e3..c23e56fd 100644 --- a/development/extensions/new_in_rhea.rst +++ b/development/extensions/new_in_rhea.rst @@ -103,7 +103,7 @@ Some simple examples of what can be done with the new library include: .. code-block:: php - // Lets get the parser service from the container in this example + // Let's get the parser service from the container in this example $parser = $container->get('text_formatter.parser'); // Disable or enable a BBCode @@ -114,7 +114,7 @@ Some simple examples of what can be done with the new library include: $parser->disable_bbcodes(); $parser->enable_bbcodes(); - // Lets get the text formatter utils from the container in this example + // Let's get the text formatter utils from the container in this example $text_formatter_utils = $container->get('text_formatter.utils'); // Remove a BBCode and its content from a message From dfe2da2b07622b0888d0e49132bcaba905316a1d Mon Sep 17 00:00:00 2001 From: kasimi Date: Fri, 3 Feb 2017 23:15:02 +0100 Subject: [PATCH 051/242] Fixed description for text_reparser config names --- development/extensions/new_in_rhea.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/extensions/new_in_rhea.rst b/development/extensions/new_in_rhea.rst index c23e56fd..8e73ea0f 100644 --- a/development/extensions/new_in_rhea.rst +++ b/development/extensions/new_in_rhea.rst @@ -208,7 +208,7 @@ Finally, to complete setting up the cron jobs, we must add two new configs to th ); } -Note that these configs are the name of the our cron.task ``text_reparser.acme_demo_text`` plus ``_cron_interval`` and ``_last_cron``. The ``cron_interval`` should be a value in seconds to wait between jobs, in this case "10", and the ``last_cron`` should always be set to "0". +Note that these configs are the name of our text_reparser.plugin ``text_reparser.acme_demo_text`` plus ``_cron_interval`` and ``_last_cron``. The ``cron_interval`` should be a value in seconds to wait between jobs, in this case "10", and the ``last_cron`` should always be set to "0". .. tip:: In some cases you may want to run your reparser from a migration. For example, you need your stored text reparsed immediately during the extension update and do not want to wait for it to go through the cron task queue. From 10b5b9240c94e878539fc8ac8bf5c2c80f8c9a55 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Thu, 2 Feb 2017 22:40:38 -0800 Subject: [PATCH 052/242] Add Text Formatter BBCode extension documentation --- development/extensions/index.rst | 1 + development/extensions/tutorial_bbcodes.rst | 354 ++++++++++++++++++++ 2 files changed, 355 insertions(+) create mode 100644 development/extensions/tutorial_bbcodes.rst diff --git a/development/extensions/index.rst b/development/extensions/index.rst index e3b98517..8e69ad6f 100644 --- a/development/extensions/index.rst +++ b/development/extensions/index.rst @@ -15,6 +15,7 @@ Welcome to phpBB's extension development tutorial and documentation. tutorial_modules tutorial_permissions tutorial_authentication + tutorial_bbcodes tutorial_advanced tutorial_testing * diff --git a/development/extensions/tutorial_bbcodes.rst b/development/extensions/tutorial_bbcodes.rst new file mode 100644 index 00000000..c8fa980a --- /dev/null +++ b/development/extensions/tutorial_bbcodes.rst @@ -0,0 +1,354 @@ +============================== +Tutorial: Working With BBCodes +============================== + +Introduction +============ + +phpBB 3.2 introduced an all new BBCode engine powered by the s9e/TextFormatter +library. This tutorial explains several ways extensions can tap into the new +BBCode engine to manipulate and create more powerful BBCodes. + +This tutorial explains: + +* `Toggle BBCodes On / Off`_ +* `Executing PHP Code With BBCodes`_ +* `Template Parameters`_ +* `Registering Custom Variables`_ +* `Enable Text Formatter Plugins`_ + +Toggle BBCodes On / Off +======================= + +BBCodes and other tags can be toggled before or after parsing using any of the following events: + +.. csv-table:: + :header: "Event", "Description" + :delim: | + + ``core.text_formatter_s9e_parser_setup`` | Triggers once, when the text Parser service is first created. + ``core.text_formatter_s9e_parse_before`` | Triggers every time text is parsed, before parsing begins. + ``core.text_formatter_s9e_parse_after`` | Triggers every time text is parsed, **after** parsing has completed. This can be used to restore values to their original state, for example. + +Most common operations are available through the Parser service using the ``phpbb\textformatter\parser_interface`` API. +This includes the functions: + +.. csv-table:: + :header: "Function", "Description" + :delim: | + + ``disable_bbcode($name)`` | Disable a BBCode + ``disable_bbcodes()`` | Disable BBCodes in general + ``disable_censor()`` | Disable the censor + ``disable_magic_url()`` | Disable magic URLs + ``disable_smilies()`` | Disable smilies + ``enable_bbcode($name)`` | Enable a specific BBCode + ``enable_bbcodes()`` | Enable BBCodes in general + ``enable_censor()`` | Enable the censor + ``enable_magic_url()`` | Enable magic URLs + ``enable_smilies()`` | Enable smilies + +For more advanced functions, the instance of ``s9e\TextFormatter\Parser`` can be retrieved via ``get_parser()`` to access its API. + +The following sample code shows how BBCodes can be toggled and manipulated using a PHP event listener: + +.. code-block:: php + + class listener implements EventSubscriberInterface + { + public static function getSubscribedEvents() + { + return array( + 'core.text_formatter_s9e_parse_before' => 'toggle_bbcodes', + ); + } + + public function toggle_bbcodes($event) + { + // Get the parser service: \phpbb\textformatter\parser_interface + $service = $event['parser']; + + // Disable the [color] BBCode through the parser service + $service->disable_bbcode('color'); + + // Set the [url] BBCode to only parse the first occurrence. + // Note this requires an instance of \s9e\TextFormatter\Parser + $service->get_parser()->setTagLimit('URL', 1); + } + } + +.. seealso:: + + https://area51.phpbb.com/docs/code/3.2.x/phpbb/textformatter/parser_interface.html + http://s9etextformatter.readthedocs.io/Getting_started/Runtime_configuration/ + + +Executing PHP Code With BBCodes +=============================== + +Extensions can configure BBCodes to execute PHP functions. This makes it possible to create BBCodes that do a lot +more than just generically format text. + +In the following simple example, we re-configure the ``QUOTE`` tag (which handles the ``[quote]`` BBCode) to run a PHP +method to read and change its attributes during parsing based on who is being quoted in the BBCode. + +.. code-block:: php + + class listener implements EventSubscriberInterface + { + public static function getSubscribedEvents() + { + return array( + 'core.text_formatter_s9e_configure_after' => 'configure_quotes' + ); + } + + public function configure_quotes($event) + { + // Add self::filter_quote() to filter the QUOTE tag that handles quotes + $event['configurator']->tags['QUOTE']->filterChain + ->append(array(__CLASS__, 'filter_quote')); + } + + static public function filter_quote(\s9e\TextFormatter\Parser\Tag $tag) + { + if (!$tag->hasAttribute('author')) + { + // If the author is empty, we attribute the quote to Mark Twain + $tag->setAttribute('author', 'Mark Twain'); + } + elseif (stripos($tag->getAttribute('author'), 'Gary Oak') !== false) + { + // If the author is Gary Oak we return FALSE to disallow the tag + return false; + } + + // We return TRUE to indicate that the tag is allowed + return true; + } + } + +.. seealso:: + + http://s9etextformatter.readthedocs.io/Filters/Attribute_filters/ + http://s9etextformatter.readthedocs.io/Filters/Tag_filters/ + http://s9etextformatter.readthedocs.io/Filters/Callback_signature/ + + +Template Parameters +=================== + +Some of phpBB's template variables can be used in BBCodes to produce dynamic output. For example, to create a BBCode +that will only show its content to registered users. + +Default phpBB template parameters: + +.. csv-table:: + :header: "Variable", "Description" + :delim: | + + ``S_IS_BOT`` | Whether the current user is a bot. + ``S_REGISTERED_USER`` | Whether the current user is registered. + ``S_USER_LOGGED_IN`` | Whether the current user is logged in. + ``S_VIEWCENSORS`` | Whether the current user's preferences are set to hide censored words. + ``S_VIEWFLASH`` | Whether the current user's preferences are set to display Flash objects. + ``S_VIEWIMG`` | Whether the current user's preferences are set to display images. + ``S_VIEWSMILIES`` | Whether the current user's preferences are set to display smilies. + ``STYLE_ID`` | ID of the current style. + ``T_SMILIES_PATH`` | Path to the smilies directory. + +In the following example, we will use the Configurator to create a custom BBCode dynamically that only registered +users can see the contents of: + +:: + + [noguests]{TEXT}[/noguests] + +.. code-block:: php + + class listener implements EventSubscriberInterface + { + public static function getSubscribedEvents() + { + return array( + 'core.text_formatter_s9e_configure_after' => 'configure_noguests', + ); + } + + public function configure_noguests($event) + { + // Get the BBCode configurator + $configurator = $event['configurator']; + + // Let's unset any existing BBCode that might already exist + unset($configurator->BBCodes['noguests']); + unset($configurator->tags['noguests']); + + // Let's create the new BBCode + $configurator->BBCodes->addCustom( + '[noguests]{TEXT}[/noguests]', + ' + +
{TEXT}
+
+ +
Only registered users can read this content
+
+
' + ); + } + } + +.. note:: + + Notice in the code above, a test is used to check the value of the template variable ``S_USER_LOGGED_IN`` + and the appropriate BBCode HTML output is generated. + +Template parameters can also be set using any of the following events: + +.. csv-table:: + :header: "Event", "Description" + :delim: | + + ``core.text_formatter_s9e_renderer_setup`` | Triggers once, when the renderer service is created. + ``core.text_formatter_s9e_render_before`` | Triggers every time a text is rendered, before the HTML is produced. + ``core.text_formatter_s9e_render_after`` | Triggers every time a text is rendered, *after* the HTML is produced. It can be used to restore values to their original state. + +In the following simple example, we set a template parameter to generate a random number in every text. +The number changes every time a new text is rendered. Although this serves no practical application, it +does illustrate how this can be used in conjunction with the events and techniques above to pragmatically create +your own template parameters, in addition to the default one's already available in phpBB. + +.. code-block:: php + + class listener implements EventSubscriberInterface + { + public static function getSubscribedEvents() + { + return array( + 'core.text_formatter_s9e_render_before' => 'set_random' + ); + } + + public function set_random($event) + { + $event['renderer']->get_renderer()->setParameter('RANDOM', mt_rand()); + } + } + + +.. seealso:: + + http://s9etextformatter.readthedocs.io/Templating/Template_parameters/ + http://s9etextformatter.readthedocs.io/Plugins/BBCodes/Use_template_parameters/ + + +Registering Custom Variables +============================ + +It is possible to register custom variables to be used during parsing. For instance, phpBB uses +``max_font_size`` to limit the values used in the ``[font]`` tag dynamically. Callbacks used during parsing +must be static and serializable as the parser itself is cached in a serialized form. However, custom variables +are set at parsing time and are not limited to scalar types. For instance, they can be used to access the +current user object during parsing. + +In the following example, we add an attribute filter to modify URLs used in ``[url]`` BBCodes and links. In +addition to the attribute's value (the URL) we request that the custom variable ``my.id`` be passed as the +second parameter. It's a good idea to namespace the variable names to avoid collisions with other extensions +or phpBB itself. + +The ``core.text_formatter_s9e_parser_setup`` event uses ``$event['parser']->set_var()`` to set a value for +``my.id`` variable once per initialization. The ``core.text_formatter_s9e_parse_before`` event could be used to +set the value before each parsing. + +.. code-block:: php + + class listener implements EventSubscriberInterface + { + public static function getSubscribedEvents() + { + return array( + 'core.text_formatter_s9e_configure_after' => 'configure_links', + 'core.text_formatter_s9e_parser_setup' => 'set_random_id' + ); + } + + static public function add_link_id($url, $my_id) + { + return $url . '#' . $my_id; + } + + public function configure_links($event) + { + // Add self::add_link_id() to filter the attribute value of [url] BBCodes and links + $event['configurator']->tags['url']->attributes['url']->filterChain + ->append(array(__CLASS__, 'add_link_id')) + ->resetParameters() + ->addParameterByName('attrValue') + ->addParameterByName('my.id'); + } + + public function set_random_id($event) + { + // We set my.id to a random number in this example + $event['parser']->set_var('my.id', mt_rand(111, 999)); + } + } + +.. seealso:: + + https://area51.phpbb.com/docs/code/3.2.x/phpbb/textformatter/parser_interface.html + http://s9etextformatter.readthedocs.io/Filters/Callback_signature/ + http://s9etextformatter.readthedocs.io/Filters/Attribute_filters/ + http://s9etextformatter.readthedocs.io/Filters/Tag_filters/ + +Enable Text Formatter Plugins +============================= + +The Text Formatter library has a collection of plugins that can be enabled through an extension, +such as MediaEmbed, Pipe Tables, etc. + +Plugins can be toggled via the ``configurator`` var available through the ``core.text_formatter_s9e_configure_before`` +and ``core.text_formatter_s9e_configure_after`` events which respectively trigger before and after the default +settings are configured. + +.. code-block:: php + + class listener implements EventSubscriberInterface + { + public static function getSubscribedEvents() + { + return array( + 'core.text_formatter_s9e_configure_after' => 'configure' + ); + } + + public function configure($event) + { + $configurator = $event['configurator']; + + // Disable the Autolink plugin + unset($configurator->Autolink); + + // Enable the PipeTables plugin + $configurator->PipeTables; + + // Do something if the MediaEmbed plugin is enabled + $is_enabled = isset($configurator->MediaEmbed); + if ($is_enabled) + { + // ... + } + + // Get the names of all loaded plugins + $names = []; + foreach ($configurator->plugins as $plugin_name => $plugin_configurator) + { + $names[] = $plugin_name; + } + } + } + +.. seealso:: + + http://s9etextformatter.readthedocs.io From 8065696f0da389c2b4fc31bf1db6a4706cb0af5b Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Sun, 5 Feb 2017 09:26:32 -0800 Subject: [PATCH 053/242] Update 3.1 to 3.2 instructions --- documentation/content/en/chapters/upgrade_guide.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/documentation/content/en/chapters/upgrade_guide.xml b/documentation/content/en/chapters/upgrade_guide.xml index 0cbeac07..a9a61b7c 100644 --- a/documentation/content/en/chapters/upgrade_guide.xml +++ b/documentation/content/en/chapters/upgrade_guide.xml @@ -135,6 +135,7 @@ On your website, delete all files from your board EXCEPT for: The config.php file + The ext/ directory The images/ directory The files/ directory The store/ directory From 1bbe7a2f0f6f75ced73c2ad49c49d013ace7b3fd Mon Sep 17 00:00:00 2001 From: Christian Schnegelberger Date: Thu, 16 Feb 2017 21:10:30 +0100 Subject: [PATCH 054/242] Adds missing ticks to ext/... list-item --- development/language/validation.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/language/validation.rst b/development/language/validation.rst index e38341e3..f55f4b56 100644 --- a/development/language/validation.rst +++ b/development/language/validation.rst @@ -47,7 +47,7 @@ Package Validation * Language packages must include all files that are included in the folders for the English language. This includes the following folders: - + `ext/phpbb/viglink/language/en/` + + ``ext/phpbb/viglink/language/en/`` + ``language/en/`` + ``styles/prosilver/theme/en/`` From 686f3ff986277f6c440ddfaade6df15fc1b9254b Mon Sep 17 00:00:00 2001 From: stevemaury Date: Thu, 16 Mar 2017 05:54:08 -0500 Subject: [PATCH 055/242] Update upgrade_guide.xml --- documentation/content/en/chapters/upgrade_guide.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/documentation/content/en/chapters/upgrade_guide.xml b/documentation/content/en/chapters/upgrade_guide.xml index a9a61b7c..34138d7a 100644 --- a/documentation/content/en/chapters/upgrade_guide.xml +++ b/documentation/content/en/chapters/upgrade_guide.xml @@ -50,6 +50,7 @@ Make a backup of the original files Make a backup of the database Deactivate all styles except for prosilver + Remove all MOD-related changes from the database. The Support Toolkitcan be used for this. Set British English as the only language pack Download the phpBB 3.2 Full Package archive Extract the contents of the archive to your computer and open the phpBB3 directory @@ -78,7 +79,7 @@ Using your web browser, visit install/ in your board's root. (e.g. http://www.example.com/yourforum/install) Click the Update tab - Click the Update button + Click the Update button< Select "Update database only" and click Submit Wait for the progress bar to reach 100% and for a message indicating that the update has completed
From 74acb9112b4f1ee6f00f360e8036616e9150c87c Mon Sep 17 00:00:00 2001 From: stevemaury Date: Sun, 19 Mar 2017 08:29:49 -0500 Subject: [PATCH 056/242] Update upgrade_guide.xml --- documentation/content/en/chapters/upgrade_guide.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/content/en/chapters/upgrade_guide.xml b/documentation/content/en/chapters/upgrade_guide.xml index 34138d7a..87a7ba53 100644 --- a/documentation/content/en/chapters/upgrade_guide.xml +++ b/documentation/content/en/chapters/upgrade_guide.xml @@ -50,7 +50,7 @@ Make a backup of the original files Make a backup of the database Deactivate all styles except for prosilver - Remove all MOD-related changes from the database. The Support Toolkitcan be used for this. + Remove all MOD-related changes from the database. The Support ToolkitDatabase Cleaner can be used for this. Set British English as the only language pack Download the phpBB 3.2 Full Package archive Extract the contents of the archive to your computer and open the phpBB3 directory From 2ce2bde7fc81636d114cd8f57214fcfbf0ffadd2 Mon Sep 17 00:00:00 2001 From: stevemaury Date: Sun, 19 Mar 2017 16:15:37 -0500 Subject: [PATCH 057/242] Update upgrade_guide.xml --- documentation/content/en/chapters/upgrade_guide.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/content/en/chapters/upgrade_guide.xml b/documentation/content/en/chapters/upgrade_guide.xml index 87a7ba53..5d461c5a 100644 --- a/documentation/content/en/chapters/upgrade_guide.xml +++ b/documentation/content/en/chapters/upgrade_guide.xml @@ -79,7 +79,7 @@ Using your web browser, visit install/ in your board's root. (e.g. http://www.example.com/yourforum/install) Click the Update tab - Click the Update button< + Click the Update button Select "Update database only" and click Submit Wait for the progress bar to reach 100% and for a message indicating that the update has completed From 9bfcad17eaa6af0b6b2be39155f514223f07de4c Mon Sep 17 00:00:00 2001 From: Patrick Webster Date: Sun, 19 Mar 2017 22:43:20 -0500 Subject: [PATCH 058/242] Minor adjustments --- documentation/content/en/chapters/upgrade_guide.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/content/en/chapters/upgrade_guide.xml b/documentation/content/en/chapters/upgrade_guide.xml index 5d461c5a..ab93e510 100644 --- a/documentation/content/en/chapters/upgrade_guide.xml +++ b/documentation/content/en/chapters/upgrade_guide.xml @@ -50,7 +50,7 @@ Make a backup of the original files Make a backup of the database Deactivate all styles except for prosilver - Remove all MOD-related changes from the database. The Support ToolkitDatabase Cleaner can be used for this. + Remove all MOD-related changes from the database. The Support Toolkit's Database Cleaner can be used for this. Set British English as the only language pack Download the phpBB 3.2 Full Package archive Extract the contents of the archive to your computer and open the phpBB3 directory From 8ae3bcc2169699ffecb5d485aed774c146afe9e1 Mon Sep 17 00:00:00 2001 From: Patrick Webster Date: Sat, 3 Jun 2017 11:31:18 -0500 Subject: [PATCH 059/242] Missed a version number in the upgrade guide --- documentation/content/en/chapters/upgrade_guide.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/content/en/chapters/upgrade_guide.xml b/documentation/content/en/chapters/upgrade_guide.xml index ab93e510..9b2ea788 100644 --- a/documentation/content/en/chapters/upgrade_guide.xml +++ b/documentation/content/en/chapters/upgrade_guide.xml @@ -111,7 +111,7 @@ Upgrading from 3.1 to 3.2 - Upgrading to phpBB 3.1 may cause some extensions to no longer work. All styles will need to be updated, even if they give the appearance of working. + Upgrading to phpBB 3.2 may cause some extensions to no longer work. All styles will need to be updated, even if they give the appearance of working. phpBB 3.2 is not completely backwards compatible with 3.1 and custom edits may no longer work. The easiest upgrade method is to remove all existing files prior to upgrading and re-applying custom changes after verifying their correctness. From 388666f7d7d310984e9eddbd24ba30426dbc012e Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Wed, 2 Aug 2017 17:19:19 -0700 Subject: [PATCH 060/242] Symfony changes --- development/extensions/new_in_rhea.rst | 29 ++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/development/extensions/new_in_rhea.rst b/development/extensions/new_in_rhea.rst index 8e73ea0f..378e7d1c 100644 --- a/development/extensions/new_in_rhea.rst +++ b/development/extensions/new_in_rhea.rst @@ -388,13 +388,13 @@ Updated Symfony Services The following changes are due to deprecations introduced in Symfony 2.8 (which is used in phpBB 3.2). These deprecations are being removed from Symfony 3 (which is used in phpBB 3.3). -Deprecated usage of @ at the beginning of unquoted strings ----------------------------------------------------------- +Deprecating special characters at the beginning of unquoted strings +------------------------------------------------------------------- .. warning:: The following is recommended for phpBB 3.1 and later versions. It will be required from phpBB 3.3 and later. -According to Yaml specification, unquoted strings cannot start with ``@``, so you must wrap these arguments with single or double quotes: +According to Yaml specification, unquoted strings cannot start with ``@``, ``%``, `````, ``|`` or ``>``. You must wrap these strings with single or double quotes: .. code-block:: yaml @@ -406,9 +406,6 @@ According to Yaml specification, unquoted strings cannot start with ``@``, so yo calls: - [set_controller_helper, ['@controller.helper']] -.. note:: - In phpBB, we have decided that to maintain consistency, we also quote strings that begin with ``%``. We also prefer using single quotes instead of double quotes. - Deprecating Scopes and Introducing Shared Services -------------------------------------------------- @@ -435,6 +432,26 @@ For phpBB 3.2, instead of ``scope``, service definitions must now configure a `` class: vendor\package\classname shared: false +Deprecating Route Pattern +------------------------- + +.. warning:: + The following is recommended for phpBB 3.1 and later versions. It will be required from phpBB 3.3 and later. + +Older versions of Symfony and phpBB have allowed routes to be defined using the keyword ``pattern``: + +.. code-block:: yaml + + vendor.package.route: + pattern: /{value} + +For phpBB 3.2, route paths must instead be defined using the keyword ``path``: + +.. code-block:: yaml + + vendor.package.route: + path: /{value} + Updated INCLUDECSS ================== From 8c4aba025a7cb4ed6ee8d51a97531e282cb75e11 Mon Sep 17 00:00:00 2001 From: brunoais Date: Sat, 9 Sep 2017 17:42:35 +0100 Subject: [PATCH 061/242] Removed the unnecessary large indentations --- development/db/structuredConditionals.rst | 26 +++++++++++------------ 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/development/db/structuredConditionals.rst b/development/db/structuredConditionals.rst index c2cb92cc..1653d479 100644 --- a/development/db/structuredConditionals.rst +++ b/development/db/structuredConditionals.rst @@ -100,16 +100,14 @@ Essentially, what this does is that it will call sql_build_query() recursively w .. code-block:: php array('f.forum_id', '=', 'ANY', 'SELECT', array( - 'SELECT' => array(/*...*/), - 'FROM' => array(/*...*/), - ) - ) + 'SELECT' => array(/*...*/), + 'FROM' => array(/*...*/), + )) array('f.forum_id', '', 'IN', 'SELECT', array( - 'SELECT' => array(/*...*/), - 'FROM' => array(/*...*/), - ) - ) + 'SELECT' => array(/*...*/), + 'FROM' => array(/*...*/), + )) Why arrays? =========== @@ -180,10 +178,10 @@ According to the manual for this transformation, it should look like this: TOPICS_TABLE => '', ), 'WHERE' => "forum_id = $forum_id - AND (topic_last_post_time >= $min_post_time - OR topic_type = " . POST_ANNOUNCE . ' - OR topic_type = ' . POST_GLOBAL . ') - AND ' . $phpbb_content_visibility->get_visibility_sql('topic', $forum_id), + AND (topic_last_post_time >= $min_post_time + OR topic_type = " . POST_ANNOUNCE . ' + OR topic_type = ' . POST_GLOBAL . ') + AND ' . $phpbb_content_visibility->get_visibility_sql('topic', $forum_id), ); $db->sql_build_query('SELECT', $sql_ary); @@ -200,8 +198,8 @@ Hum... Let's see... There's a set of AND's to join in. Let's start there. 'WHERE' => array('AND', "forum_id = $forum_id", "(topic_last_post_time >= $min_post_time - OR topic_type = " . POST_ANNOUNCE . ' - OR topic_type = ' . POST_GLOBAL . ')', + OR topic_type = " . POST_ANNOUNCE . ' + OR topic_type = ' . POST_GLOBAL . ')', $phpbb_content_visibility->get_visibility_sql('topic', $forum_id) ), // ... From 5fdd1b2276fca4532c6a0c5cc77ebbc9ddb00e03 Mon Sep 17 00:00:00 2001 From: Alfredo Ramos Date: Thu, 28 Sep 2017 23:59:56 -0500 Subject: [PATCH 062/242] Fix document link for phpBB 3.2.x --- development/testing/functional_testing.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/testing/functional_testing.rst b/development/testing/functional_testing.rst index d88ca420..7dd2b3d7 100644 --- a/development/testing/functional_testing.rst +++ b/development/testing/functional_testing.rst @@ -10,7 +10,7 @@ Running Functional Tests ======================== Information on how to run tests is available in the GitHub repository at -``_. You +``_. You can switch the branch to check instructions for a specific version of phpBB. Writing Functional Tests From c7faf697efa7956318c88ef89462155198efa3c5 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Tue, 17 Oct 2017 12:23:12 -0700 Subject: [PATCH 063/242] Update note about INCLUDECSS in 3.2 --- development/extensions/tutorial_key_concepts.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/development/extensions/tutorial_key_concepts.rst b/development/extensions/tutorial_key_concepts.rst index 8d4f2e1f..7b4a8cb2 100644 --- a/development/extensions/tutorial_key_concepts.rst +++ b/development/extensions/tutorial_key_concepts.rst @@ -288,8 +288,7 @@ for the supplied JS file in the footer of the HTML document. .. note:: - The INCLUDECSS tag will only work inside the ``overall_header_head_append`` template event. However, the INCLUDEJS - tag can be used in any template event or custom template file. + The INCLUDECSS and INCLUDEJS tags can be used in any template event or custom template file. When including JavaScript/CSS libraries and frameworks such as jQuery-UI or Font Awesome, the potential for resource overlap between extensions can be mitigated using a simple work-around endorsed by the phpBB From c0cf9c724e1d1c81d0fc5fa6f0d36ac416fe3aeb Mon Sep 17 00:00:00 2001 From: Christian Schnegelberger Date: Sat, 27 Jan 2018 16:40:53 +0100 Subject: [PATCH 064/242] Update for 3.2.x files and links --- development/language/guidelines.rst | 61 +++++++++++------------------ development/language/validation.rst | 3 +- 2 files changed, 23 insertions(+), 41 deletions(-) diff --git a/development/language/guidelines.rst b/development/language/guidelines.rst index 27411636..1db325fc 100644 --- a/development/language/guidelines.rst +++ b/development/language/guidelines.rst @@ -14,12 +14,21 @@ If your language pack is denied and then resubmitted, it is placed at the end of 2) Submissions have to be complete. Partial translations are not allowed and will be automatically denied. E-mails, text files and theme-images must also be fully translated. -3) Language packs can contain five additional files (one mandatory and four optionals) that are not present in the British English language pack: ``LICENSE`` (mandatory), ``README`` / ``README.md`` (optional), ``AUTHORS`` / ``AUTHORS.md`` (optional), ``VERSION`` / ``VERSION.md`` (optional) and ``CHANGELOG`` / ``CHANGELOG.md`` (optional). You are free to write whatever you want in the ``README`` file, you can list all the authors and contributors of your language pack in the ``AUTHORS`` file, you can put the version of your language pack in the ``VERSION`` file and you can list the entire version history in the ``CHANGELOG`` file. The ``LICENSE`` file is automatically added during the upload process so you do not have to manually add the file. Its purpose is to inform the user what license is used. Language packs inherit phpBB's license of GNU General Public License 2.0_ and no additional or alternative licenses are allowed. All of these additional files must be placed in the ``language/{iso}/`` directory, next to the ``iso.txt`` file. Any other additional file(s) will be detected and your submission will be denied. +3) Language packs can contain five additional files (one mandatory and four optionals) that are not present in the British English language pack: ``LICENSE`` (mandatory), ``README.md`` (optional), ``AUTHORS.md`` (optional), ``VERSION.md`` (optional) and ``CHANGELOG.md`` (optional). You are free to write whatever you want in the ``README`` file, you can list all the authors and contributors of your language pack in the ``AUTHORS`` file, you can put the version of your language pack in the ``VERSION`` file and you can list the entire version history in the ``CHANGELOG`` file. The ``LICENSE`` file is automatically added during the upload process so you do not have to manually add the file. Its purpose is to inform the user what license is used. Language packs inherit phpBB's license of GNU General Public License 2.0_ and no additional or alternative licenses are allowed. All of these additional files must be placed in the ``language/{iso}/`` directory, next to the ``iso.txt`` file. Any other additional file(s) will be detected and your submission will be denied. 4) Submissions must have the following files and structure: +.. code-block:: text + languagename_versionnumber.zip languagename_versionnumber/ + ext/ + phpbb/ + viglink/ + language/ + {iso}/ + info_acp_viglink.php + viglink_module_acp.php language/ {iso}/ acp/ @@ -56,6 +65,7 @@ If your language pack is denied and then resubmitted, it is placed at the end of quote.txt report_pm.txt report_post.txt + test.txt topic_approved.txt topic_disapproved.txt topic_in_queue.txt @@ -100,16 +110,17 @@ If your language pack is denied and then resubmitted, it is placed at the end of user_resend_inactive.txt user_welcome.txt user_welcome_inactive.txt + help/ + bbcode.php + faq.php app.php - AUTHORS (optional) + AUTHORS.md (optional) captcha_qa.php captcha_recaptcha.php cli.php - CHANGELOG (optional) + CHANGELOG.md (optional) common.php groups.php - help_bbcode.php - help_faq.php index.htm (optional) install.php iso.txt ( @@ -119,10 +130,10 @@ If your language pack is denied and then resubmitted, it is placed at the end of migrator.php plupload.php posting.php - README (optional) + README.md (optional) search.php ucp.php - VERSION (optional) + VERSION.md (optional) viewforum.php viewtopic.php styles/ @@ -132,36 +143,8 @@ If your language pack is denied and then resubmitted, it is placed at the end of icon_user_online.gif index.htm (optional) stylesheet.css - subsilver2/ - theme/ - {iso}/ - button_pm_new.gif - button_pm_reply.gif - button_topic_locked.gif - button_topic_new.gif - button_topic_reply.gif - icon_contact_aim.gif - icon_contact_email.gif - icon_contact_icq.gif - icon_contact_jabber.gif - icon_contact_msnm.gif - icon_contact_pm.gif - icon_contact_www.gif - icon_contact_yahoo.gif - icon_post_delete.gif - icon_post_edit.gif - icon_post_info.gif - icon_post_quote.gif - icon_post_report.gif - icon_user_offline.gif - icon_user_online.gif - icon_user_profile.gif - icon_user_search.gif - icon_user_warn.gif - index.htm (optional) - stylesheet.css -5) Submissions should follow the recommendations in the `3.1 Translation (i18n/L10n) Guidelines`_ as closely as possible, especially the `3.1 Writing style`_. +5) Submissions should follow the recommendations in the `3.2 Translation (i18n/L10n) Guidelines`_ as closely as possible, especially the `3.2 Writing style`_. 6) All PHP and text files must be encoded in UTF-8 without BOM and a new line at the end of the file. Many modern text editors use this as a default setting, but we recommend checking it in your editor's settings. We recommend you use `Notepad++`_ or `PSPad`_, both lightweight and free. @@ -179,11 +162,11 @@ If your language pack is denied and then resubmitted, it is placed at the end of 13) The Demo URL in the Customisations Database must be empty, unless you want to put a link to an international community (`officially`_ listed or not) related to the language of the contribution. For example, http://www.phpbbarabia.com/ as Demo URL concerning the `Arabic language`_ is allowed. -.. _Customisations Database: https://www.phpbb.com/go/customise/language-packs/3.1 +.. _Customisations Database: https://www.phpbb.com/go/customise/language-packs/3.2 .. _Language Packs Database: https://www.phpbb.com/languages/ .. _GNU General Public License 2.0: http://www.opensource.org/licenses/gpl-2.0.php -.. _3.1 Translation (i18n/L10n) Guidelines: https://area51.phpbb.com/docs/31x/coding-guidelines.html#translation -.. _3.1 Writing style: https://area51.phpbb.com/docs/31x/coding-guidelines.html#writingstyle +.. _3.2 Translation (i18n/L10n) Guidelines: https://area51.phpbb.com/docs/32x/coding-guidelines.html#translation +.. _3.2 Writing style: https://area51.phpbb.com/docs/32x/coding-guidelines.html#writingstyle .. _Notepad++: https://notepad-plus-plus.org/ .. _PSPad: http://www.pspad.com/en/ .. _officially: https://www.phpbb.com/support/intl/ diff --git a/development/language/validation.rst b/development/language/validation.rst index 0254b288..5d0b1362 100644 --- a/development/language/validation.rst +++ b/development/language/validation.rst @@ -239,5 +239,4 @@ License * All translations must be released under `GNU General Public License 2.0 `_ - -.. _Customisation Database: https://www.phpbb.com/go/customise/language-packs/3.1 +.. _Customisation Database: https://www.phpbb.com/go/customise/language-packs/3.2 From 0b5c394abeefdd7df891cd913b716d32231ffa23 Mon Sep 17 00:00:00 2001 From: Christian Schnegelberger Date: Sat, 27 Jan 2018 16:16:22 +0100 Subject: [PATCH 065/242] Add code:: to the list of files --- development/language/guidelines.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/development/language/guidelines.rst b/development/language/guidelines.rst index 27411636..718f55e3 100644 --- a/development/language/guidelines.rst +++ b/development/language/guidelines.rst @@ -18,6 +18,8 @@ If your language pack is denied and then resubmitted, it is placed at the end of 4) Submissions must have the following files and structure: +.. code-block:: text + languagename_versionnumber.zip languagename_versionnumber/ language/ From 05e42c53ab81802fe799075a27b40ec4aa2b73d8 Mon Sep 17 00:00:00 2001 From: Christian Schnegelberger Date: Thu, 8 Feb 2018 21:43:17 +0100 Subject: [PATCH 066/242] Add .md to README; DavidQ Feedback 08-02-2018 --- development/language/guidelines.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/language/guidelines.rst b/development/language/guidelines.rst index 1db325fc..9235577d 100644 --- a/development/language/guidelines.rst +++ b/development/language/guidelines.rst @@ -14,7 +14,7 @@ If your language pack is denied and then resubmitted, it is placed at the end of 2) Submissions have to be complete. Partial translations are not allowed and will be automatically denied. E-mails, text files and theme-images must also be fully translated. -3) Language packs can contain five additional files (one mandatory and four optionals) that are not present in the British English language pack: ``LICENSE`` (mandatory), ``README.md`` (optional), ``AUTHORS.md`` (optional), ``VERSION.md`` (optional) and ``CHANGELOG.md`` (optional). You are free to write whatever you want in the ``README`` file, you can list all the authors and contributors of your language pack in the ``AUTHORS`` file, you can put the version of your language pack in the ``VERSION`` file and you can list the entire version history in the ``CHANGELOG`` file. The ``LICENSE`` file is automatically added during the upload process so you do not have to manually add the file. Its purpose is to inform the user what license is used. Language packs inherit phpBB's license of GNU General Public License 2.0_ and no additional or alternative licenses are allowed. All of these additional files must be placed in the ``language/{iso}/`` directory, next to the ``iso.txt`` file. Any other additional file(s) will be detected and your submission will be denied. +3) Language packs can contain five additional files (one mandatory and four optionals) that are not present in the British English language pack: ``LICENSE`` (mandatory), ``README.md`` (optional), ``AUTHORS.md`` (optional), ``VERSION.md`` (optional) and ``CHANGELOG.md`` (optional). You are free to write whatever you want in the ``README.md`` file, you can list all the authors and contributors of your language pack in the ``AUTHORS.md`` file, you can put the version of your language pack in the ``VERSION.md`` file and you can list the entire version history in the ``CHANGELOG.md`` file. The ``LICENSE`` file is automatically added during the upload process so you do not have to manually add the file. Its purpose is to inform the user what license is used. Language packs inherit phpBB's license of GNU General Public License 2.0_ and no additional or alternative licenses are allowed. All of these additional files must be placed in the ``language/{iso}/`` directory, next to the ``iso.txt`` file. Any other additional file(s) will be detected and your submission will be denied. 4) Submissions must have the following files and structure: From 4d474fd6c996b6bce5d3f89687164471ebdbf3db Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Sun, 18 Mar 2018 09:42:08 -0700 Subject: [PATCH 067/242] Add note about changing migrations --- development/extensions/tutorial_migrations.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/development/extensions/tutorial_migrations.rst b/development/extensions/tutorial_migrations.rst index ee4465b7..0912b18f 100644 --- a/development/extensions/tutorial_migrations.rst +++ b/development/extensions/tutorial_migrations.rst @@ -112,6 +112,17 @@ the specified config value already exists in the database: return isset($this->config['acme_demo_goodbye']); } +.. warning:: + + As a general rule, migrations should never be changed once they have been + installed. Changing a migration in an extension that has already been + installed could prevent it from reverting database changes or uninstalling + successfully. In order to make subsequent changes to the database, new + migrations should be created to implement the additional changes or updates. + The only exceptions to this rule are to fix SQL and logic errors or bugs, + as long as they do not alter the database changes that have already been + made or the dependencies listed in the migration's ``depends_on()`` method. + Once you are familiar with how Migrations work, continue on to the next section to learn how to create and install an ACP module that will allow us to configure some settings for From c27898fe55979bc8af580cadf8c86b920303e7f0 Mon Sep 17 00:00:00 2001 From: stevemaury Date: Sun, 8 Apr 2018 11:02:33 -0500 Subject: [PATCH 068/242] Update quick_start_guide.xml --- documentation/content/en/chapters/quick_start_guide.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/content/en/chapters/quick_start_guide.xml b/documentation/content/en/chapters/quick_start_guide.xml index 1fb4e0ef..be3c37d1 100644 --- a/documentation/content/en/chapters/quick_start_guide.xml +++ b/documentation/content/en/chapters/quick_start_guide.xml @@ -52,7 +52,7 @@
- PHP 5.4.0+ with support for the database you intend to use. + PHP 5.4.7+ with support for the database you intend to use. getimagesize() function enabled From e56c5f673e5bec917b23688bbcb627248554edbc Mon Sep 17 00:00:00 2001 From: Christian Schnegelberger Date: Thu, 12 Apr 2018 20:48:00 +0200 Subject: [PATCH 069/242] Remove no longer existing language-keys from HTML-exeptions --- development/language/validation.rst | 2 -- 1 file changed, 2 deletions(-) diff --git a/development/language/validation.rst b/development/language/validation.rst index 5d0b1362..dc0585e4 100644 --- a/development/language/validation.rst +++ b/development/language/validation.rst @@ -199,11 +199,9 @@ HTML all HTML it has opened. Exceptions here are: + ``language/{iso}/install.php`` - * ``INSTALL_CONGRATS_EXPLAIN`` * ``INSTALL_INTRO_BODY`` * ``SUPPORT_BODY`` * ``UPDATE_INSTALLATION_EXPLAIN`` - * ``OVERVIEW_BODY`` + ``language/{iso}/ucp.php`` * ``TERMS_OF_USE_CONTENT`` * ``PRIVACY_POLICY`` From a256ecc764ace70a4ac92b76dfe560a201e5ba24 Mon Sep 17 00:00:00 2001 From: stevemaury Date: Wed, 6 Jun 2018 11:51:06 -0500 Subject: [PATCH 070/242] Update upgrade_guide.xml --- documentation/content/en/chapters/upgrade_guide.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/content/en/chapters/upgrade_guide.xml b/documentation/content/en/chapters/upgrade_guide.xml index 3d279e64..1c7a140e 100644 --- a/documentation/content/en/chapters/upgrade_guide.xml +++ b/documentation/content/en/chapters/upgrade_guide.xml @@ -40,7 +40,7 @@ Upgrading from 3.0 to 3.2 - Upgrading to phpBB 3.2 will render previously installed MODifications and styles unusable. + Upgrading to phpBB 3.2 will render previously installed MODifications and styles unusable. If you have a custom logo, it will need to be redone after the upgrade. See Knowledge Base: How to Change your Board Logo. phpBB 3.2 is not compatible with 3.0 and most of the previous files will need to be removed prior to upgrading. @@ -111,7 +111,7 @@ Upgrading from 3.1 to 3.2 - Upgrading to phpBB 3.2 may cause some extensions to no longer work. All styles will need to be updated, even if they give the appearance of working. + Upgrading to phpBB 3.2 may cause some extensions to no longer work. All styles will need to be updated, even if they give the appearance of working. If you have a custom logo, it will need to be redone after the upgrade. See Knowledge Base: How to Change your Board Logo./para> phpBB 3.2 is not completely backwards compatible with 3.1 and custom edits may no longer work. The easiest upgrade method is to remove all existing files prior to upgrading and re-applying custom changes after verifying their correctness. From d16f973ad0f07834e32237c664d07f0d111de210 Mon Sep 17 00:00:00 2001 From: Crizzo Date: Thu, 13 Sep 2018 11:35:55 +0200 Subject: [PATCH 071/242] Set index.htm in each folder mandatory --- development/language/guidelines.rst | 16 +++++++--------- development/language/validation.rst | 4 +++- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/development/language/guidelines.rst b/development/language/guidelines.rst index 9235577d..d9793f4d 100644 --- a/development/language/guidelines.rst +++ b/development/language/guidelines.rst @@ -42,7 +42,7 @@ If your language pack is denied and then resubmitted, it is placed at the end of extensions.php forums.php groups.php - index.htm (optional) + index.htm language.php modules.php permissions.php @@ -56,7 +56,6 @@ If your language pack is denied and then resubmitted, it is placed at the end of email/ short/ bookmark.txt - index.htm (optional) newtopic_notify.txt post_approved.txt post_disapproved.txt @@ -65,7 +64,6 @@ If your language pack is denied and then resubmitted, it is placed at the end of quote.txt report_pm.txt report_post.txt - test.txt topic_approved.txt topic_disapproved.txt topic_in_queue.txt @@ -82,7 +80,7 @@ If your language pack is denied and then resubmitted, it is placed at the end of forum_notify.txt group_added.txt group_request.txt - index.htm (optional) + index.htm installed.txt newtopic_notify.txt pm_report_closed.txt @@ -121,7 +119,7 @@ If your language pack is denied and then resubmitted, it is placed at the end of CHANGELOG.md (optional) common.php groups.php - index.htm (optional) + index.htm install.php iso.txt ( LICENSE @@ -148,7 +146,7 @@ If your language pack is denied and then resubmitted, it is placed at the end of 6) All PHP and text files must be encoded in UTF-8 without BOM and a new line at the end of the file. Many modern text editors use this as a default setting, but we recommend checking it in your editor's settings. We recommend you use `Notepad++`_ or `PSPad`_, both lightweight and free. -7) The translation is mostly your work and you have a right to hold a copyright on the translation and put your name or the names of those on your team in the ``AUTHORS`` / ``AUTHORS.md`` file. +7) The translation is mostly your work and you have a right to hold a copyright on the translation and put your name or the names of those on your team in the ``AUTHORS.md`` file. 8) A maximum of 3 links can be included as an author credit in the footer, customisable via the ``'TRANSLATION_INFO'`` key in ``common.php``. Please note that the Translations Manager has complete discretion on what is acceptable as an author credit link. @@ -158,9 +156,9 @@ If your language pack is denied and then resubmitted, it is placed at the end of 11) The contribution screenshot in the Customisations Database should only be the flag of the country where the primary spoken language is that of the language pack. For example, the flag of France for the French language. -12) Revision name in the Customisations Database should be left blank, contain the phpBB package version, and/or package release name (e.g. "**3.0.12 / Richard 'D¡cky' Foote**" for 3.0.12). +12) Revision name in the Customisations Database should be left blank, contain the phpBB package version, and/or package release name (e.g. "**3.2.2 / Bertie’s New Year Resolution**" for 3.2.2). -13) The Demo URL in the Customisations Database must be empty, unless you want to put a link to an international community (`officially`_ listed or not) related to the language of the contribution. For example, http://www.phpbbarabia.com/ as Demo URL concerning the `Arabic language`_ is allowed. +13) The Demo URL in the Customisations Database must be empty, unless you want to put a link to an international community (`officially`_ listed or not) related to the language of the contribution. For example, https://www.phpbb.nl/ as Demo URL concerning the `Dutch language`_ is allowed. .. _Customisations Database: https://www.phpbb.com/go/customise/language-packs/3.2 .. _Language Packs Database: https://www.phpbb.com/languages/ @@ -170,4 +168,4 @@ If your language pack is denied and then resubmitted, it is placed at the end of .. _Notepad++: https://notepad-plus-plus.org/ .. _PSPad: http://www.pspad.com/en/ .. _officially: https://www.phpbb.com/support/intl/ -.. _Arabic language: https://www.phpbb.com/customise/db/translation/arabic/ +.. _Dutch language: https://www.phpbb.com/customise/db/translation/dutch_casual_honorifics/ diff --git a/development/language/validation.rst b/development/language/validation.rst index 5d0b1362..2a3e4a01 100644 --- a/development/language/validation.rst +++ b/development/language/validation.rst @@ -63,7 +63,8 @@ Package Validation + ``language/{iso}/VERSION.md`` * No other additional files are allowed! -* All folders must contain an ``index.htm`` file. +* All folders within the language-directories must contain an ``index.htm`` file (e.g. ``language/en/acp/index.htm``, ``language/en/index.htm``, ``styles/prosilver/theme/de/index.htm``, see the `Language Pack Submission Policy`_ for a complete list.). +* An exception from this rule are the the directories for the viglink-translation and the directories which belong the phpBB package (e.g. ``language/``, ``styles/``). File Validation =============== @@ -240,3 +241,4 @@ License * All translations must be released under `GNU General Public License 2.0 `_ .. _Customisation Database: https://www.phpbb.com/go/customise/language-packs/3.2 +.. _Language Pack Submission Policy: https://area51.phpbb.com/docs/dev/3.2.x/language/guidelines.html#language-pack-submission-policy \ No newline at end of file From 3817d6ce9db9cb6e6ebee3e8735611faf4148a87 Mon Sep 17 00:00:00 2001 From: JoshyPHP Date: Fri, 28 Sep 2018 12:24:21 +0200 Subject: [PATCH 072/242] Update the BBCodes example for forward compatibility The return value is not used in TextFormatter 1.x and tag invalidation must be explicit --- development/extensions/tutorial_bbcodes.rst | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/development/extensions/tutorial_bbcodes.rst b/development/extensions/tutorial_bbcodes.rst index c8fa980a..f5016d45 100644 --- a/development/extensions/tutorial_bbcodes.rst +++ b/development/extensions/tutorial_bbcodes.rst @@ -119,11 +119,14 @@ method to read and change its attributes during parsing based on who is being qu } elseif (stripos($tag->getAttribute('author'), 'Gary Oak') !== false) { - // If the author is Gary Oak we return FALSE to disallow the tag + // If the author is Gary Oak we invalidate the tag to disallow it + $tag->invalidate(); + + // Return FALSE for backward compatibility return false; } - // We return TRUE to indicate that the tag is allowed + // We return TRUE for backward compatibility, to indicate that the tag is allowed return true; } } From ae8c6720550418d643afea7c7b02c2cf14b11340 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Sat, 29 Dec 2018 21:19:29 -0800 Subject: [PATCH 073/242] Skeleton documentation updates --- development/extensions/skeleton_extension.rst | 37 +++++++++++-------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/development/extensions/skeleton_extension.rst b/development/extensions/skeleton_extension.rst index 7f04ed0d..1857914d 100644 --- a/development/extensions/skeleton_extension.rst +++ b/development/extensions/skeleton_extension.rst @@ -5,13 +5,13 @@ phpBB Skeleton Extension The Skeleton Extension is a tool for extension developers. Its purpose is to kick start your extension development projects. -What is a skeleton? It's a working extension, based off the phpBB -Acme Demo extension. When you want to develop an extension, creating -a skeleton will generate most of the initial files you would need, +What is a skeleton? It's a working boiler-plate extension. When +you want to begin development on an extension, creating a +skeleton will generate most of the initial files you would need, so you don't have to. This means you can jump straight into writing code for your extension, -and bypass the boring task of creating the initial files, methods +and bypass the mundane task of creating the initial files, methods and docblocks yourself. If you've never written an extension before, a skeleton provides an ideal way @@ -42,7 +42,7 @@ installed into a phpBB board just the same as any other. Requirements ------------ -- A phpBB board, version 3.1.4 or newer (from the 3.1.x branch) or 3.2.0-b3 or newer (from the 3.2.x branch). +- A phpBB board, version 3.2.0 or newer. - PHP version 5.4 or newer. - PHP ZipArchive module enabled. @@ -59,13 +59,20 @@ Installation Create an extension =================== -.. note:: +.. important:: + + The Skeleton Extension generates working classes and methods + which are intended to make the skeleton nominally functional and, + more importantly, instructional. + + This documentation will assume we are creating the Acme Demo + extension, with the vendor/package naming structure: ``acme/demo``. + Most file, function, class, table and variable names will be + populated with the vendor and package names specified. - The Skeleton Extension is based on the Acme Demo extension. As a - result, some of its files will have working classes and methods - already. These are provided to make the skeleton both functional and - educational. You will want to remove any Acme Demo code you do not - need from the skeleton and replace it with your own custom code. + The skeleton generated is only a starting point! You should always + review the skeleton code you generate and update, edit or remove any + of the code you do not need as you begin to develop your extension. phpBB Web interface ------------------- @@ -576,7 +583,7 @@ necessary language and config files: │ │ └── ... │ ├── console # Dir containing CLI related classes │ │ ├── command # Dir containing CLI command classes - │ │ │ ├── demo.php # A sample CLI command class + │ │ │ ├── sample.php # A sample CLI command class │ │ │ └── ... │ │ └── ... │ ├── language # Dir containing language files @@ -605,7 +612,7 @@ necessary migration and config files: │ │ └── ... │ ├── cron # Dir containing cron related classes │ │ ├── task # Dir containing cron task classes - │ │ │ ├── demo.php # A sample cron task class + │ │ │ ├── sample.php # A sample cron task class │ │ │ └── ... │ │ └── ... │ ├── migrations # Dir containing migration files @@ -641,7 +648,7 @@ extension's enable, disable and purge steps: │ │ └── ... │ ├── notification # Dir containing notification related classes │ │ ├── type # Dir containing notification types - │ │ │ ├── demo.php # A sample notification type class + │ │ │ ├── sample.php # A sample notification type class │ │ │ └── ... │ │ └── ... │ └── ... @@ -673,7 +680,7 @@ functional tests: │ │ │ ├── simple_test.php # A simple test (tests a database interaction) │ │ │ └── ... │ │ ├── functional # Dir containing functional tests - │ │ │ ├── demo_test.php # A simple functional test + │ │ │ ├── view_test.php # A simple functional test │ │ │ └── ... │ │ └── ... │ └── ... From 21a0e8cd9b6c4c3003a342051ddfadfa50be8607 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Mon, 31 Dec 2018 09:51:29 -0800 Subject: [PATCH 074/242] Skeleton Controller Updates --- development/extensions/skeleton_extension.rst | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/development/extensions/skeleton_extension.rst b/development/extensions/skeleton_extension.rst index 1857914d..deb4e147 100644 --- a/development/extensions/skeleton_extension.rst +++ b/development/extensions/skeleton_extension.rst @@ -352,6 +352,9 @@ files: │ │ │ ├── acp_demo_body.html # Sample ACP HTML template file │ │ │ └── ... │ │ └── ... + │ ├── controller # Dir containing controller files + │ │ ├── acp_controller.php # A sample ACP controller class + │ │ └── ... │ ├── language # Dir containing language files │ │ ├── en # English language files (required) │ │ │ ├── common.php # A language file used by the extension @@ -382,6 +385,9 @@ files: vendor ├── package + │ ├── controller # Dir containing controller files + │ │ ├── mcp_controller.php # A sample MCP controller class + │ │ └── ... │ ├── language # Dir containing language files │ │ ├── en # English language files (required) │ │ │ ├── info_mcp_demo.php # An auto-loaded lang file for MCP modules @@ -422,6 +428,9 @@ files: vendor ├── package + │ ├── controller # Dir containing controller files + │ │ ├── ucp_controller.php # A sample UCP controller class + │ │ └── ... │ ├── language # Dir containing language files │ │ ├── en # English language files (required) │ │ │ ├── info_ucp_demo.php # An auto-loaded lang file for UCP modules @@ -518,8 +527,8 @@ language file, and the config and routing YAML files: │ │ ├── routing.yml # A routing YAML file │ │ ├── services.yml # A config YAML file │ │ └── ... - │ ├── controller # Dir containing controller files - │ │ ├── main.php # A sample controller class + │ ├── controller # Dir containing controller files + │ │ ├── main_controller.php # A sample controller class │ │ └── ... │ ├── event # The event dir contains all PHP event listeners │ │ ├── main_listener.php # A sample PHP event listener From d978476d76d234d7727e51851bd2ade90c49875d Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Tue, 5 Feb 2019 10:07:38 -0800 Subject: [PATCH 075/242] Minor update/fixes --- development/extensions/skeleton_extension.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/development/extensions/skeleton_extension.rst b/development/extensions/skeleton_extension.rst index deb4e147..224e7a69 100644 --- a/development/extensions/skeleton_extension.rst +++ b/development/extensions/skeleton_extension.rst @@ -438,7 +438,7 @@ files: │ │ └── ... │ ├── migrations # Dir containing migration files │ │ ├── install_ucp_module.php # A migration installing the UCP module - │ │ ├── install_user_schema.php # Contains changes used in the new module + │ │ ├── install_sample_schema.php # Contains changes used in the new module │ │ └── ... │ ├── styles # The styles dir │ │ ├── prosilver # Dir containing prosilver style files @@ -476,7 +476,8 @@ The Skeleton Extension will generate all of its sample migration files: │ │ ├── install_acp_module.php # A migration installing the ACP module │ │ ├── install_mcp_module.php # A migration installing the MCP module │ │ ├── install_ucp_module.php # A migration installing the UCP module - │ │ ├── install_user_schema.php # Sample schema changes to the database + │ │ ├── install_sample_schema.php # Sample schema changes to the database + │ │ ├── install_sample_data.php # Sample data changes to the database │ │ └── ... │ └── ... └── ... From 3d9a5291a863182e1bf26fb68a9b00a8889c56ce Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Tue, 5 Feb 2019 10:10:36 -0800 Subject: [PATCH 076/242] Add doc about new permissions component --- development/extensions/skeleton_extension.rst | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/development/extensions/skeleton_extension.rst b/development/extensions/skeleton_extension.rst index 224e7a69..11f063b8 100644 --- a/development/extensions/skeleton_extension.rst +++ b/development/extensions/skeleton_extension.rst @@ -664,6 +664,40 @@ extension's enable, disable and purge steps: │ └── ... └── ... +Permissions +------------- + +Permissions can be used to grant users, groups and roles access to +specific extension features and functionality. + +The Skeleton Extension will generate a migration file showing the +installation of admin, moderator and user level permissions and assign +then to some roles and user groups. Additionally, the required +permissions language file is created as well as a PHP event that +shows how permissions are assigned to their respective language +keys and permission categories: + +:: + + vendor + ├── package + │ ├── config # The config dir contains all service config files + │ │ ├── services.yml # A config YAML file + │ │ └── ... + │ ├── event # The event dir contains all PHP event listeners + │ │ ├── main_listener.php # A sample PHP event listener + │ │ └── ... + │ ├── language # Dir containing language files + │ │ ├── en # English language files (required) + │ │ │ ├── permissions_demo.php # A language file specifically for permissions + │ │ │ └── ... + │ │ └── ... + │ ├── migrations # Dir containing migration files + │ │ ├── install_sample_data.php # Sample data changes to the database + │ │ └── ... + │ └── ... + └── ... + Tests (PHPUnit) --------------- From 72b08239f481ae8526daca925791217ea411eb77 Mon Sep 17 00:00:00 2001 From: Christian Schnegelberger Date: Mon, 8 Apr 2019 17:21:51 +0200 Subject: [PATCH 077/242] Add information for CLI install and update to docu --- development/cli/getting_started.rst | 82 +++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/development/cli/getting_started.rst b/development/cli/getting_started.rst index 8da62f67..89870c57 100644 --- a/development/cli/getting_started.rst +++ b/development/cli/getting_started.rst @@ -72,3 +72,85 @@ Common options that can be used with any of phpBB's CLI commands. --no-ansi | Disable ANSI (colors) output --no-interaction (-n) | Do not ask any interactive question --safe-mode | Run in Safe Mode (without extensions) + +Install phpBB using the CLI +=========================== + +You need to use the ``install/phpbbcli.php``. Open the file ``docs/install-config.sample.yml`` and copy its content in a new file ``install/install-config.yml``. Change the parameters to your needs. For example a mysql database with ``mysqli`` interface, ``localhost`` and with an database user ``bertie`` with the password ``bertiepasswd`` into the database named ``bertiedb``: + +.. code-block:: console + + installer: + admin: + name: admin + password: mypassword + email: admin@example.org + + board: + lang: en + name: My Board + description: My amazing new phpBB board + + database: + dbms: mysqli + dbhost: ~ + dbport: ~ + dbuser: bertie + dbpasswd: bertiepasswd + dbname: bertiedb + table_prefix: phpbb_ + + email: + enabled: false + smtp_delivery : ~ + smtp_host: ~ + smtp_port: ~ + smtp_auth: ~ + smtp_user: ~ + smtp_pass: ~ + + server: + cookie_secure: false + server_protocol: http:// + force_server_vars: false + server_name: localhost + server_port: 80 + script_path: / + + extensions: ['phpbb/viglink'] + +You can add more settings like the admins username, admins email-address and board-name. Make sure the file is readable by the CLI. + +Now run in the command line: + +.. code-block:: console + + $ php install/phpbbcli.php install install-config.yml + +The installer will start now and show its progress during the installation. + +Update phpBB using the CLI +========================== + +You will need the ``install/phpbbcli.php`` and a update-config.yml. Open the example file ``docs/update-config.sample.yml`` and copy its content into a new file ``install/update-config.yml``, this file will update your phpBB database and the files. Change the config file, if you have additional extensions: + +.. code-block:: console + + updater: + type: all + extensions: ['phpbb/viglink'] + +The recommended update method replaces all files with the latest ones, so the file update is not necessary but the database still needs an update. Therefor use this ``update-config.yml``: + +.. code-block:: console + + updater: + type: db_only + +In the next step, please run the command line: + +.. code-block:: console + + $ php install/phpbbcli.php update update-config.yml + +The updater will start and show its progress. \ No newline at end of file From 56751996705ae2acfce17b260c689846f7ffafed Mon Sep 17 00:00:00 2001 From: Christian Schnegelberger Date: Wed, 10 Apr 2019 19:58:42 +0200 Subject: [PATCH 078/242] Feedback von VSE from the 10.04.19 --- development/cli/getting_started.rst | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/development/cli/getting_started.rst b/development/cli/getting_started.rst index 89870c57..608bd595 100644 --- a/development/cli/getting_started.rst +++ b/development/cli/getting_started.rst @@ -76,7 +76,7 @@ Common options that can be used with any of phpBB's CLI commands. Install phpBB using the CLI =========================== -You need to use the ``install/phpbbcli.php``. Open the file ``docs/install-config.sample.yml`` and copy its content in a new file ``install/install-config.yml``. Change the parameters to your needs. For example a mysql database with ``mysqli`` interface, ``localhost`` and with an database user ``bertie`` with the password ``bertiepasswd`` into the database named ``bertiedb``: +The phpBB CLI installer uses a YAML file populated with the data needed to configure a database for a new phpBB installation. You can find a sample configuration file in ``docs/install-config.sample.yml``. Copy this file to ``install/install-config.yml``. Adjust the sample parameters to your needs. For example, a MySQL database using the ``mysqli`` interface hosted on a ``localhost`` server with the root user ``bertie`` and password ``bertiepasswd`` and named ``bertiedb`` would look like: .. code-block:: console @@ -119,9 +119,9 @@ You need to use the ``install/phpbbcli.php``. Open the file ``docs/install-confi extensions: ['phpbb/viglink'] -You can add more settings like the admins username, admins email-address and board-name. Make sure the file is readable by the CLI. +You can adjust additional settings like the admin's username, email address and the board info. Make sure the file is readable by the CLI. -Now run in the command line: +To install the board, run the following command: .. code-block:: console @@ -132,7 +132,7 @@ The installer will start now and show its progress during the installation. Update phpBB using the CLI ========================== -You will need the ``install/phpbbcli.php`` and a update-config.yml. Open the example file ``docs/update-config.sample.yml`` and copy its content into a new file ``install/update-config.yml``, this file will update your phpBB database and the files. Change the config file, if you have additional extensions: +Much like installing from the CLI, phpBB can also be updated from the CLI using a YAML file with update instructions. You can find a sample update configuration file in ``docs/update-config.sample.yml``. Copy this file to ``install/update-config.yml``. .. code-block:: console @@ -140,14 +140,16 @@ You will need the ``install/phpbbcli.php`` and a update-config.yml. Open the exa type: all extensions: ['phpbb/viglink'] -The recommended update method replaces all files with the latest ones, so the file update is not necessary but the database still needs an update. Therefor use this ``update-config.yml``: +In this state, the updater will update your phpBB database and it will also replace all phpBB files with the updated files, giving you a complete upgrade. + +However, if you have already replaced the files via the filesystem or FTP, you can choose to update the database only by changing the ``type`` from ``all` to ``db_only``: .. code-block:: console updater: type: db_only -In the next step, please run the command line: +To update the board, run the following command: .. code-block:: console From b037f03afb3c9e3005a692eb4d03875a08690879 Mon Sep 17 00:00:00 2001 From: Frank Jakobs Date: Fri, 10 May 2019 14:36:54 +0200 Subject: [PATCH 079/242] adding ssl-flag info for version check --- development/extensions/tutorial_advanced.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/development/extensions/tutorial_advanced.rst b/development/extensions/tutorial_advanced.rst index 087a771c..902232d0 100644 --- a/development/extensions/tutorial_advanced.rst +++ b/development/extensions/tutorial_advanced.rst @@ -471,7 +471,8 @@ file: "version-check": { "host": "my.site.com", "directory": "/versions", - "filename": "acme_version_file.json" + "filename": "acme_version_file.json", + "ssl": false } } @@ -482,6 +483,7 @@ file: ``host`` | "Full URL to the host domain server." ``directory`` | "Path from the domain root to the directory containing the file, starting with a leading slash." ``filename`` | "A JSON file containing the latest version information." + ``ssl`` | "true or false depending on the host domain server running ssl" Notice that a JSON file is required, hosted from your own server. In the example above it would be: ``http://my.site.com/versions/acme_version_file.json`` From 79eb74a990f78a825cc8b55ec53f746e296495bf Mon Sep 17 00:00:00 2001 From: Frank Jakobs Date: Fri, 10 May 2019 15:07:29 +0200 Subject: [PATCH 080/242] Changing php version for EPV from 5.5 to 5.6 EPV minim version has changed from 5.5. to 5.6: "require": { "php": ">=5.5.9", --- development/extensions/tutorial_testing.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/development/extensions/tutorial_testing.rst b/development/extensions/tutorial_testing.rst index bb9acb69..1ff5ca9f 100644 --- a/development/extensions/tutorial_testing.rst +++ b/development/extensions/tutorial_testing.rst @@ -852,7 +852,7 @@ first file is the Travis CI configuration file, ``.travis.yml``: - cd ../../phpBB3 - travis/prepare-extension.sh $EXTNAME $PHPBB_BRANCH - travis/setup-phpbb.sh $DB $TRAVIS_PHP_VERSION - - sh -c "if [ '$EPV' != '0' -a '$TRAVIS_PHP_VERSION' = '5.5' -a '$DB' = 'mysqli' ]; then cd phpBB; composer require phpbb/epv:dev-master --dev --no-interaction; cd ../; fi" + - sh -c "if [ '$EPV' != '0' -a '$TRAVIS_PHP_VERSION' = '5.6' -a '$DB' = 'mysqli' ]; then cd phpBB; composer require phpbb/epv:dev-master --dev --no-interaction; cd ../; fi" before_script: - travis/setup-database.sh $DB $TRAVIS_PHP_VERSION @@ -861,7 +861,7 @@ first file is the Travis CI configuration file, ``.travis.yml``: - sh -c "if [ '$SNIFF' != '0' ]; then travis/ext-sniff.sh $DB $TRAVIS_PHP_VERSION $EXTNAME; fi" - sh -c "if [ '$IMAGE_ICC' != '0' ]; then travis/check-image-icc-profiles.sh $DB $TRAVIS_PHP_VERSION; fi" - phpBB/vendor/bin/phpunit --configuration phpBB/ext/$EXTNAME/travis/phpunit-$DB-travis.xml --bootstrap ./tests/bootstrap.php - - sh -c "if [ '$EPV' != '0' -a '$TRAVIS_PHP_VERSION' = '5.5' -a '$DB' = 'mysqli' ]; then phpBB/vendor/bin/EPV.php run --dir='phpBB/ext/$EXTNAME/'; fi" + - sh -c "if [ '$EPV' != '0' -a '$TRAVIS_PHP_VERSION' = '5.6' -a '$DB' = 'mysqli' ]; then phpBB/vendor/bin/EPV.php run --dir='phpBB/ext/$EXTNAME/'; fi" .. note:: From fa56ef3846edbecee895f52d6de468b5d7e79999 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Wed, 22 May 2019 16:50:43 -0700 Subject: [PATCH 081/242] Update sample travis file --- development/extensions/tutorial_testing.rst | 28 +++++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/development/extensions/tutorial_testing.rst b/development/extensions/tutorial_testing.rst index 1ff5ca9f..d4899629 100644 --- a/development/extensions/tutorial_testing.rst +++ b/development/extensions/tutorial_testing.rst @@ -806,14 +806,15 @@ first file is the Travis CI configuration file, ``.travis.yml``: .. code-block:: yaml - sudo: required - language: php + dist: trusty matrix: include: + - php: 5.5 + env: DB=none;NOTESTS=1 - php: 5.4 - env: DB=mysqli + env: DB=mysqli #myisam - php: 5.4 env: DB=mysql - php: 5.4 @@ -828,10 +829,14 @@ first file is the Travis CI configuration file, ``.travis.yml``: env: DB=mysqli - php: 7.0 env: DB=mysqli - - php: hhvm + - php: 7.1 + env: DB=mysqli + - php: 7.2 + env: DB=mysqli + - php: nightly env: DB=mysqli allow_failures: - - php: hhvm + - php: nightly fast_finish: true env: @@ -845,6 +850,7 @@ first file is the Travis CI configuration file, ``.travis.yml``: branches: only: - master + - develop - /^\d+(\.\d+)?\.x$/ install: @@ -852,16 +858,16 @@ first file is the Travis CI configuration file, ``.travis.yml``: - cd ../../phpBB3 - travis/prepare-extension.sh $EXTNAME $PHPBB_BRANCH - travis/setup-phpbb.sh $DB $TRAVIS_PHP_VERSION - - sh -c "if [ '$EPV' != '0' -a '$TRAVIS_PHP_VERSION' = '5.6' -a '$DB' = 'mysqli' ]; then cd phpBB; composer require phpbb/epv:dev-master --dev --no-interaction; cd ../; fi" + - sh -c "if [ '$EPV' == '1' -a '$NOTESTS' == '1' ]; then cd phpBB; composer remove sami/sami --update-with-dependencies --dev --no-interaction; composer require phpbb/epv:dev-master --dev --no-interaction --ignore-platform-reqs; cd ../; fi" before_script: - - travis/setup-database.sh $DB $TRAVIS_PHP_VERSION + - travis/setup-database.sh $DB $TRAVIS_PHP_VERSION $NOTESTS script: - - sh -c "if [ '$SNIFF' != '0' ]; then travis/ext-sniff.sh $DB $TRAVIS_PHP_VERSION $EXTNAME; fi" - - sh -c "if [ '$IMAGE_ICC' != '0' ]; then travis/check-image-icc-profiles.sh $DB $TRAVIS_PHP_VERSION; fi" - - phpBB/vendor/bin/phpunit --configuration phpBB/ext/$EXTNAME/travis/phpunit-$DB-travis.xml --bootstrap ./tests/bootstrap.php - - sh -c "if [ '$EPV' != '0' -a '$TRAVIS_PHP_VERSION' = '5.6' -a '$DB' = 'mysqli' ]; then phpBB/vendor/bin/EPV.php run --dir='phpBB/ext/$EXTNAME/'; fi" + - sh -c "if [ '$SNIFF' != '0' ]; then travis/ext-sniff.sh $DB $TRAVIS_PHP_VERSION $EXTNAME $NOTESTS; fi" + - sh -c "if [ '$IMAGE_ICC' != '0' ]; then travis/check-image-icc-profiles.sh $DB $TRAVIS_PHP_VERSION $NOTESTS; fi" + - sh -c "if [ '$EPV' != '0' -a '$NOTESTS' = '1' ]; then phpBB/vendor/bin/EPV.php run --dir='phpBB/ext/$EXTNAME/'; fi" + - sh -c "if [ '$NOTESTS' != '1' ]; then phpBB/vendor/bin/phpunit --configuration phpBB/ext/$EXTNAME/travis/phpunit-$DB-travis.xml --bootstrap ./tests/bootstrap.php; fi" .. note:: From 5b45f944f080370367bf6f7d216c3c5eb9cec5f5 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Thu, 23 May 2019 10:06:47 -0700 Subject: [PATCH 082/242] Stay with Python 2.7 --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index ca898ff1..a9024468 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,6 @@ language: python +python: + - "2.7" install: - pip install sphinx From 01539d50cd66db987a8b5f35564830a313382135 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Thu, 23 May 2019 10:21:14 -0700 Subject: [PATCH 083/242] Fix some errors in language docs too --- development/language/guidelines.rst | 2 +- development/language/validation.rst | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/development/language/guidelines.rst b/development/language/guidelines.rst index d9793f4d..85718f05 100644 --- a/development/language/guidelines.rst +++ b/development/language/guidelines.rst @@ -14,7 +14,7 @@ If your language pack is denied and then resubmitted, it is placed at the end of 2) Submissions have to be complete. Partial translations are not allowed and will be automatically denied. E-mails, text files and theme-images must also be fully translated. -3) Language packs can contain five additional files (one mandatory and four optionals) that are not present in the British English language pack: ``LICENSE`` (mandatory), ``README.md`` (optional), ``AUTHORS.md`` (optional), ``VERSION.md`` (optional) and ``CHANGELOG.md`` (optional). You are free to write whatever you want in the ``README.md`` file, you can list all the authors and contributors of your language pack in the ``AUTHORS.md`` file, you can put the version of your language pack in the ``VERSION.md`` file and you can list the entire version history in the ``CHANGELOG.md`` file. The ``LICENSE`` file is automatically added during the upload process so you do not have to manually add the file. Its purpose is to inform the user what license is used. Language packs inherit phpBB's license of GNU General Public License 2.0_ and no additional or alternative licenses are allowed. All of these additional files must be placed in the ``language/{iso}/`` directory, next to the ``iso.txt`` file. Any other additional file(s) will be detected and your submission will be denied. +3) Language packs can contain five additional files (one mandatory and four optionals) that are not present in the British English language pack: ``LICENSE`` (mandatory), ``README.md`` (optional), ``AUTHORS.md`` (optional), ``VERSION.md`` (optional) and ``CHANGELOG.md`` (optional). You are free to write whatever you want in the ``README.md`` file, you can list all the authors and contributors of your language pack in the ``AUTHORS.md`` file, you can put the version of your language pack in the ``VERSION.md`` file and you can list the entire version history in the ``CHANGELOG.md`` file. The ``LICENSE`` file is automatically added during the upload process so you do not have to manually add the file. Its purpose is to inform the user what license is used. Language packs inherit phpBB's license of `GNU General Public License 2.0`_ and no additional or alternative licenses are allowed. All of these additional files must be placed in the ``language/{iso}/`` directory, next to the ``iso.txt`` file. Any other additional file(s) will be detected and your submission will be denied. 4) Submissions must have the following files and structure: diff --git a/development/language/validation.rst b/development/language/validation.rst index 481f47a0..8957886d 100644 --- a/development/language/validation.rst +++ b/development/language/validation.rst @@ -114,8 +114,8 @@ contains the default html body: -language/{iso}/help/*.php -------------------------- +language/{iso}/help/\*.php +-------------------------- * The file must must only contain 1 array named `$lang`. No other variables are allowed. * The array must only contain arrays with the following structure: @@ -238,5 +238,6 @@ License * All translations must be released under `GNU General Public License 2.0 `_ + .. _Customisation Database: https://www.phpbb.com/go/customise/language-packs/3.2 -.. _Language Pack Submission Policy: https://area51.phpbb.com/docs/dev/3.2.x/language/guidelines.html#language-pack-submission-policy \ No newline at end of file +.. _Language Pack Submission Policy: https://area51.phpbb.com/docs/dev/3.2.x/language/guidelines.html#language-pack-submission-policy From 061cd55dea67a695afbd449be7eaf9879cf7f950 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Sat, 1 Jun 2019 08:12:11 -0700 Subject: [PATCH 084/242] Fix composer license --- development/extensions/tutorial_basics.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/extensions/tutorial_basics.rst b/development/extensions/tutorial_basics.rst index 4a976620..07c2d1b8 100644 --- a/development/extensions/tutorial_basics.rst +++ b/development/extensions/tutorial_basics.rst @@ -63,7 +63,7 @@ The details of the meta data are explained below the sample, but for now let's h "version": "0.1.0", "time": "2013-11-05", "keywords": ["phpbb", "extension", "acme", "demo"], - "license": "GPL-2.0", + "license": "GPL-2.0-only", "authors": [ { "name": "Nickv", From dfde25fbaab8f976cb81712f544f585eee2cd348 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 20 Oct 2019 15:36:53 +0200 Subject: [PATCH 085/242] Remove specifier for python 2.7 It's no longer needed. --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index a9024468..ca898ff1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,4 @@ language: python -python: - - "2.7" install: - pip install sphinx From 02b91dcbaf41d97dadd8280b3130a480ecd2a584 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Thu, 31 Oct 2019 17:24:36 -0700 Subject: [PATCH 086/242] Add a Whats New in phpBB 3.3 Doc for Ext Authors --- development/extensions/new_in_rhea_3.3.rst | 128 +++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 development/extensions/new_in_rhea_3.3.rst diff --git a/development/extensions/new_in_rhea_3.3.rst b/development/extensions/new_in_rhea_3.3.rst new file mode 100644 index 00000000..8659fe35 --- /dev/null +++ b/development/extensions/new_in_rhea_3.3.rst @@ -0,0 +1,128 @@ +======================== +What's New for phpBB 3.3 +======================== + +Introduction +============ + +phpBB 3.3 (Rhea) is only a minor version update to 3.2. There are, however, a few changes extension developers need to be aware of. The biggest changes to come in 3.3 are updates to many of phpBB's underlying dependencies, bringing Symfony, Twig, jQuery and PHP up to date. + +This documentation explains: + + * `PHP 7`_ + * `Symfony 3.4`_ + * `Twig 2`_ + * `jQuery 3`_ + * `Extension Installation Error Messages`_ + +PHP 7 +===== + +PHP 7.1 is the minimum version required by phpBB 3.3. It is unlikely that this should cause any problems for extensions. If your PHP code worked in phpBB 3.1 or 3.2, it should work in phpBB 3.3 as well. + +If you intend to start using some of the new language constructs introduced in PHP 7, you must make your extension's minimum PHP requirement known to your users. This can include setting the minimum PHP version in your extension's ``composer.json`` file as well as designating phpBB 3.3 as a minimum requirement. You can also use the ``ext.php`` file to check that the minimum PHP and phpBB version requirements are satisfied in the ``is_enableable()`` method, which will prevent users who do not meet the requirements from accidentally installing your extension. Examples of this can be found `here `_. + +Symfony 3.4 +=========== + +Symfony has been updated to 3.4 (from 2.8). The following changes are due to deprecations introduced in Symfony 2 that have been removed from Symfony 3. The following changes are **required** for phpBB 3.3 and later. + +.. note:: + Although the following changes are required for phpBB 3.3, they are backwards compatible and therefor, will still work with phpBB 3.2 and 3.1. + +Deprecated special characters at the beginning of unquoted strings +------------------------------------------------------------------ + +According to Yaml specification, unquoted strings cannot start with ``@``, ``%``, `````, ``|`` or ``>``. You must wrap these strings with single or double quotes: + +.. code-block:: yaml + + vendor.package.class: + class: vendor\package\classname + arguments: + - '@dbal.conn' + - '%custom.tables%' + calls: + - [set_controller_helper, ['@controller.helper']] + +Deprecated Route Pattern +------------------------ + +Older versions of Symfony and phpBB allowed routes to be defined using the keyword ``pattern``: + +.. code-block:: yaml + + vendor.package.route: + pattern: /{value} + +For phpBB 3.3, route paths must instead be defined using the keyword ``path``: + +.. code-block:: yaml + + vendor.package.route: + path: /{value} + +Twig 2 +====== + +Twig has been updated from version 1 to version 2. This change should not affect any Twig template syntax you may be using in your extensions. + +jQuery 3 +======== + +phpBB 3.3 ships with jQuery 3.4.1, updated from the much older version 1.12.4 that shipped with phpBB 3.2. + +The developers of jQuery are very good about maintaining backwards compatibility, which means that most of your jQuery code should continue to work. The biggest changes introduced by jQuery versions 2 and 3 are dropping support for legacy browsers, in particular, Internet Explorer. + +While it's not always easy to check if an extension's jQuery code is functioning fine, jQuery provides a Migration PlugIn on their web site. You can add the un-compressed version of this PlugIn to your phpBB development board, which will output to your browser's error console any problems it finds in your jQuery code. + +The majority of any issues you may see reported by the Migration PlugIn will be warnings related to using deprecated jQuery functions (usually shortcuts or aliases such as ``click()`` or ``focus()`` which should instead be changed to the ``on()`` delegation event handler). Even if you are using deprecated functions, they will still most likely work just fine, although it is best to make any recommended updates in the event that jQuery does eventually remove deprecated functions. + +Extension Installation Error Messages +===================================== + +One often requested feature by extension authors finally makes its debut in phpBB 3.3: Displaying error messages to users when an extension can not be enabled! + +Typically extension authors use their extension's ``ext.php`` file to set conditional tests to check and see if a phpBB board meets the basic requirements of their extension. If it fails, the extension is not be enabled. However users are only met with an error message that they failed to meet the extension's requirements. + +Now extension authors can finally explain what the specific requirements are that caused the extension to fail to install. + +This can still be done in the same ``ext.php`` file and the same ``is_enableable()`` method as before. Except now, instead of only being able to return either a true or false boolean, the method allows you to return an array of error messages for each reason why an extension can not be enabled/installed; such as in this following example: + +.. code-block:: php + + public function is_enableable() + { + // Only install extension on phpBB 3.3.0 or newer + $enableable = phpbb_version_compare(PHPBB_VERSION, '3.3.0', '>='); + + // If the test failed, return an error message explaining why + if (!$enableable) + { + return array('phpBB 3.3.0 or newer is required to enable this extension.'); + } + + // Return the result of the test, which would be true if we reached this + return $enableable; + } + +The previous example only needs a slight modification to be backwards compatible with phpBB 3.2 and 3.1. In the following example we can check if the board is phpBB 3.3 and if it is, we can use the new message system, otherwise for older phpBB boards we can use the default system returning a simple true/false boolean: + +.. code-block:: php + + public function is_enableable() + { + // Only install extension on phpBB 3.2.0 or newer + $enableable = phpbb_version_compare(PHPBB_VERSION, '3.2.0', '>='); + + // If the test failed and phpBB 3.3 is detected, return error message explaining why + if (!$enableable && phpbb_version_compare(PHPBB_VERSION, '3.3.0', '>=')) + { + return array('phpBB 3.2.0 or newer is required to enable this extension.'); + } + + // Return the result of the test, which could be true (or false for phpBB 3.2 and 3.1) + return $enableable; + } + +Also note that in this one case, we are hard-coding language in the extension. Technically, if your extension could not be enabled, then its language files will not be loaded in the system so using language keys here will not work. There are workarounds to this, however in the interest of cleaner and more elegant code an exception can be made here for allowing hard-coded language strings. From 60953635e0074e89a5060133aedf9216f0ac99a6 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Fri, 1 Nov 2019 21:12:26 -0700 Subject: [PATCH 087/242] Update Doc, removing example of hardcoded language --- development/extensions/new_in_rhea_3.3.rst | 41 +++++++++------------- 1 file changed, 17 insertions(+), 24 deletions(-) diff --git a/development/extensions/new_in_rhea_3.3.rst b/development/extensions/new_in_rhea_3.3.rst index 8659fe35..ef30ea79 100644 --- a/development/extensions/new_in_rhea_3.3.rst +++ b/development/extensions/new_in_rhea_3.3.rst @@ -87,42 +87,35 @@ Typically extension authors use their extension's ``ext.php`` file to set condit Now extension authors can finally explain what the specific requirements are that caused the extension to fail to install. -This can still be done in the same ``ext.php`` file and the same ``is_enableable()`` method as before. Except now, instead of only being able to return either a true or false boolean, the method allows you to return an array of error messages for each reason why an extension can not be enabled/installed; such as in this following example: +This can be done in the same ``ext.php`` file and the same ``is_enableable()`` method as before. Except now, instead of only being able to return either a true or false boolean, the method allows you to return an array of error messages for each reason why an extension can not be enabled/installed; such as in this following example: -.. code-block:: php - - public function is_enableable() - { - // Only install extension on phpBB 3.3.0 or newer - $enableable = phpbb_version_compare(PHPBB_VERSION, '3.3.0', '>='); - - // If the test failed, return an error message explaining why - if (!$enableable) - { - return array('phpBB 3.3.0 or newer is required to enable this extension.'); - } - - // Return the result of the test, which would be true if we reached this - return $enableable; - } +.. note:: -The previous example only needs a slight modification to be backwards compatible with phpBB 3.2 and 3.1. In the following example we can check if the board is phpBB 3.3 and if it is, we can use the new message system, otherwise for older phpBB boards we can use the default system returning a simple true/false boolean: + To be backwards compatible with phpBB 3.2 and 3.1, check for phpBB 3.3 or newer before using the new message system. Otherwise for older phpBB boards you must use the original method of returning a simple true/false boolean. .. code-block:: php + /** + * Check if extension can be enabled + * + * @return bool|array True if enableable, false (or an array of error messages) if not. + */ public function is_enableable() { - // Only install extension on phpBB 3.2.0 or newer - $enableable = phpbb_version_compare(PHPBB_VERSION, '3.2.0', '>='); + // Only install extension if PHP ZipArchive is present + $enableable = class_exists('ZipArchive'); // If the test failed and phpBB 3.3 is detected, return error message explaining why if (!$enableable && phpbb_version_compare(PHPBB_VERSION, '3.3.0', '>=')) { - return array('phpBB 3.2.0 or newer is required to enable this extension.'); + // Import my extension's language file + $language = $this->container->get('language'); + $language->add_lang('my_install_lang_file', 'myvendor/myextension'); + + // Return message 'PHP ZipArchive is required to enable and use this extension.' + return array($language->lang('INSTALL_FAILED_MESSAGE')); } - // Return the result of the test, which could be true (or false for phpBB 3.2 and 3.1) + // Return the boolean result of the test, either true (or false for phpBB 3.2 and 3.1) return $enableable; } - -Also note that in this one case, we are hard-coding language in the extension. Technically, if your extension could not be enabled, then its language files will not be loaded in the system so using language keys here will not work. There are workarounds to this, however in the interest of cleaner and more elegant code an exception can be made here for allowing hard-coded language strings. From 4bb285e37325f712b288ebe167cdea0b471390eb Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Sat, 2 Nov 2019 08:40:54 -0700 Subject: [PATCH 088/242] Fix therefore --- development/extensions/new_in_rhea_3.3.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/extensions/new_in_rhea_3.3.rst b/development/extensions/new_in_rhea_3.3.rst index ef30ea79..57a1747f 100644 --- a/development/extensions/new_in_rhea_3.3.rst +++ b/development/extensions/new_in_rhea_3.3.rst @@ -28,7 +28,7 @@ Symfony 3.4 Symfony has been updated to 3.4 (from 2.8). The following changes are due to deprecations introduced in Symfony 2 that have been removed from Symfony 3. The following changes are **required** for phpBB 3.3 and later. .. note:: - Although the following changes are required for phpBB 3.3, they are backwards compatible and therefor, will still work with phpBB 3.2 and 3.1. + Although the following changes are required for phpBB 3.3, they are backwards compatible and therefore, will still work with phpBB 3.2 and 3.1. Deprecated special characters at the beginning of unquoted strings ------------------------------------------------------------------ From 1bd86695304a2286e237294c0e5905eea471d091 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sat, 2 Nov 2019 19:23:36 +0100 Subject: [PATCH 089/242] Modify documentation for 3.3 --- .../content/en/chapters/admin_guide.xml | 34 +++--- .../content/en/chapters/glossary.xml | 10 +- .../content/en/chapters/moderator_guide.xml | 2 +- .../content/en/chapters/quick_start_guide.xml | 22 ++-- .../content/en/chapters/upgrade_guide.xml | 108 +++++++++++++++--- .../content/en/chapters/user_guide.xml | 8 +- .../content/nl/chapters/user_guide.xml | 2 +- documentation/create_docs.sh | 2 +- documentation/rhea_doc.xml | 4 +- documentation/style.css | 2 +- documentation/xsl/rhea_php.xsl | 4 +- documentation/xsl/rhea_php_subsection.xsl | 4 +- documentation/xsl/rhea_phpbb_dot_com.xsl | 4 +- documentation/xsl/rhea_xhtml.xsl | 2 +- 14 files changed, 140 insertions(+), 68 deletions(-) diff --git a/documentation/content/en/chapters/admin_guide.xml b/documentation/content/en/chapters/admin_guide.xml index a11de70e..0c0c3bb0 100644 --- a/documentation/content/en/chapters/admin_guide.xml +++ b/documentation/content/en/chapters/admin_guide.xml @@ -12,7 +12,7 @@ Administration Guide - This chapter describes the phpBB 3.2 admin controls. + This chapter describes the phpBB 3.3 admin controls.
@@ -23,7 +23,7 @@ The Administration Control Panel - Even more so than its predecessor, phpBB 3.2 "Rhea" is highly configurable. You can tune, adjust, or turn off almost all features. To make this load of settings as accessible as possible, we redesigned the Administration Control Panel (ACP) completely. + Even more so than its predecessor, phpBB 3.3 "Rhea" is highly configurable. You can tune, adjust, or turn off almost all features. To make this load of settings as accessible as possible, we redesigned the Administration Control Panel (ACP) completely. Click on the Administration Control Panel link on the bottom of the default forum style to visit the ACP. The ACP has seven different sections by default with each containing a number of subsections. We will discuss each section in this Admin Guide. @@ -71,7 +71,7 @@ Attachment Settings - One of the many features in phpBB 3.2 is Attachments. Attachments are files that can be attached to posts, like e-mail attachments. Certain restrictions, set by the board administrator, control what users can attach. You can set these restrictions via the Attachment Settings page. + One of the many features in phpBB 3.3 is Attachments. Attachments are files that can be attached to posts, like e-mail attachments. Certain restrictions, set by the board administrator, control what users can attach. You can set these restrictions via the Attachment Settings page. For more information, see the section on configuring your board's attachment settings.
@@ -183,7 +183,7 @@ Spambot Countermeasures - phpBB 3.2 uses a plugin system to allow easy switching between different spambot countermeasures. Available plugins are automatically loaded from the includes/captcha/plugins directory in your installation. + phpBB 3.3 uses a plugin system to allow easy switching between different spambot countermeasures. Available plugins are automatically loaded from the includes/captcha/plugins directory in your installation. phpBB ships with these plugins installed: GD 3D image: a graphical CAPTCHA using 3D characters on a wave. @@ -711,7 +711,7 @@ Explanation of forum types - In phpBB 3.2, there are three forum types. A forum can be a normal forum where people can post in, a category that contains forums, or it can be a simple link. + In phpBB 3.3, there are three forum types. A forum can be a normal forum where people can post in, a category that contains forums, or it can be a simple link. Forum @@ -742,7 +742,7 @@ Subforums - One of the features in phpBB 3.2 is subforums. Especially bulletin boards with a high number of forums will benefit from this. In the simple flat category and forum approach in phpBB 2.0, all forums and categories were listed on the forum index. In Rhea you can now put as many forums, links, or categories as you like inside other forums. + One of the features in phpBB 3.3 is subforums. Especially bulletin boards with a high number of forums will benefit from this. In the simple flat category and forum approach in phpBB 2.0, all forums and categories were listed on the forum index. In Rhea you can now put as many forums, links, or categories as you like inside other forums. If you have a forum about pets for instance, you are able to put subforums for cats, dogs, or guinea pigs inside it without making the parent "Pets" forum a category. In this example, only the "Pets" forum will be listed on the index like a normal forum. Its subforums will appear as simple links below the forum description (unless you disabled this). @@ -818,7 +818,7 @@ BBCodes - BBCodes are a special way of formatting posts, similar to HTML. phpBB 3.2 allows you to create your own BBCodes very easily. On this page, you can see the custom BBCodes that currently exist. + BBCodes are a special way of formatting posts, similar to HTML. phpBB 3.3 allows you to create your own BBCodes very easily. On this page, you can see the custom BBCodes that currently exist. Adding a BBCode is very easy. If done right, allowing users to use your new BBCode may be safer than allowing them to use HTML code. To add a BBCode, click Add a new BBCode to begin. There are four main things to consider when adding a BBCode: how you want your users to use the BBCode, what HTML code the BBcode will actually use (the users will not see this), what short info message you want for the BBCode, and whether or not you want a button for the new BBCode to be displayed on the posting screen. Once you are done configuring all of the custom BBCode settings, click Submit to add your new BBCode.
@@ -936,12 +936,12 @@ General options - Allow sending of private messages to multiple users and groups: In phpBB 3.2, it is possible to send a private message to more than user. To allow this, select Yes. + Allow sending of private messages to multiple users and groups: In phpBB 3.3, it is possible to send a private message to more than user. To allow this, select Yes. Allow BBCode in private messages: Select Yes to allow BBCode to be used in private messages. Allow smilies in private messages: Select Yes to allow smilies to be used in private messages. Allow attachments in private messages: Select Yes to allow attachments to be used in private messages. Allow signature in private messages: Select Yes to let your users include their signature in their private messages. - Allow print view in private messages: Another new feature in phpBB 3.2 is a printer-friendly view. Select Yes to allow your users to view any of their PMs in print view. + Allow print view in private messages: Another new feature in phpBB 3.3 is a printer-friendly view. Select Yes to allow your users to view any of their PMs in print view. Allow forwarding in private messages: Select Yes to allow your users to forward private messages. Allow use of [img] BBCode tag: Select Yes if you want your users to be able to post inline images in their private messages. Allow use of [flash] BBCode tag: Select Yes if you want your users to be able to post inline Macromedia Flash objects in their private messages. @@ -1758,7 +1758,7 @@ Group Management - Usergroups are a way of grouping users. This makes it easier to set permissions to many people at the same time. phpBB 3.2 has six pre-defined groups: Administrators, Bots, Global Moderators, Guests, Registered Users, and Registered COPPA Users. + Usergroups are a way of grouping users. This makes it easier to set permissions to many people at the same time. phpBB 3.3 has six pre-defined groups: Administrators, Bots, Global Moderators, Guests, Registered Users, and Registered COPPA Users.
@@ -1781,7 +1781,7 @@ Pre-defined groups - These are groups that are available by default in phpBB 3.2. You cannot delete them, as the board needs them for various features. You can still change their attributes (description, colour, rank, avatar, and so forth) and group leaders. Users that register to your board are automatically added to the predefined group "Registered Users", for instance. Do not try to remove them manually through the database, or your board will no longer function properly. + These are groups that are available by default in phpBB 3.3. You cannot delete them, as the board needs them for various features. You can still change their attributes (description, colour, rank, avatar, and so forth) and group leaders. Users that register to your board are automatically added to the predefined group "Registered Users", for instance. Do not try to remove them manually through the database, or your board will no longer function properly. @@ -1791,7 +1791,7 @@ Bots - This usergroup is meant for search engine bots. phpBB 3.2 has the ability to overcome the common problems that search engine spiders encounter when spidering your board. For more information on managing settings for each bot, see the Spiders and Bots section. + This usergroup is meant for search engine bots. phpBB 3.3 has the ability to overcome the common problems that search engine spiders encounter when spidering your board. For more information on managing settings for each bot, see the Spiders and Bots section. @@ -2184,7 +2184,7 @@
Customise - phpBB 3.2 allows you to customise its appearance and interactions in several ways: + phpBB 3.3 allows you to customise its appearance and interactions in several ways: Styles @@ -2235,7 +2235,7 @@ Creating a style is not an easy task and it takes quite a lot of time. Skilled designers from the phpBB community create styles that are available publicly and anyone can download them. This is a good place to start if you want to download and install a new style and you cannot afford to create your own, for any possible reason. The first place where you should stop is the Styles section on phpBB.com, you will find a list of useful links for places like the: - Styles Demo + Styles Demo The styles demo allows you to display each style on a live forum and see how each part of the board looks like using the specified style. You can browse through the styles until you find one that suits you and/or your board. The styles demo provides links to download the style and see its entry in the styles database. @@ -2342,7 +2342,7 @@ Board Maintenance - Running a phpBB 3.2 board is a very important job that is up to the administrator(s). Maintaining the board to make sure it runs as cleanly and properly as possible is the administrator's job. + Running a phpBB 3.3 board is a very important job that is up to the administrator(s). Maintaining the board to make sure it runs as cleanly and properly as possible is the administrator's job. Board Maintenance is a section in the ACP that allows you to keep track of internal phpBB information, such as logs, as well as maintaining your database (which holds your phpBB-related data), such as backing up and restoring data. @@ -2439,7 +2439,7 @@ Search Indexing - phpBB 3.2 provides you with a powerful search system which can be used to search throughout your board. The main controls for the search features are located in the Search settings section. Here you can manage the search index, which is used to hold the data necessary for quick and precise search results, it's something like an giant table of contents. By default, two search backends are available - fulltext native, which is included in the phpBB code and works on all DBMSs, and fulltext mysql, which uses the built-in MySQL fulltext searching feature. The first one offers more flexible configuration, while the second one doesn't take too much space in the database and the index is created much faster. + phpBB 3.3 provides you with a powerful search system which can be used to search throughout your board. The main controls for the search features are located in the Search settings section. Here you can manage the search index, which is used to hold the data necessary for quick and precise search results, it's something like an giant table of contents. By default, two search backends are available - fulltext native, which is included in the phpBB code and works on all DBMSs, and fulltext mysql, which uses the built-in MySQL fulltext searching feature. The first one offers more flexible configuration, while the second one doesn't take too much space in the database and the index is created much faster. Creating a search index can take a very long time, a new window will pop up and refresh itself while creating the necessary search table entries. Please be patient, the process can take several hours on large boards. @@ -2489,7 +2489,7 @@ Checking for updates - The phpBB 3.2.x branch is usually updated every couple of months as necessary. Bugfixes, new features and other changes are included in these updates. The minor version number gets incremented each time. It is strongly recommended to keep your phpBB installation up to date. Updating from older versions is more difficult and you will have a hard time finding solutions to possible conflicts. You can update with the Automatic Update Package, which is able to merge modifications from MODs with the updates or you can use one of the other packages provided. + The phpBB 3.3.x branch is usually updated every couple of months as necessary. Bugfixes, new features and other changes are included in these updates. The minor version number gets incremented each time. It is strongly recommended to keep your phpBB installation up to date. Updating from older versions is more difficult and you will have a hard time finding solutions to possible conflicts. You can update with the Automatic Update Package, which is able to merge modifications from MODs with the updates or you can use one of the other packages provided. You will be notified in your ACP if a new version is released, you will also have a link to the newest release announcement, which will brief you on the added features and the overall changelog. Updating with the Automatic Update Package is very simple. First, you will go to the linked phpBB.com downloads page and download the appropriate file. You will extract the contents on your PC and upload them to the root directory of your board. The board will be offline for normal users for the moment. Then simply go to the install/ directory and select the Update tab, the updater will then give you further instructions.
diff --git a/documentation/content/en/chapters/glossary.xml b/documentation/content/en/chapters/glossary.xml index b2f38817..528df848 100644 --- a/documentation/content/en/chapters/glossary.xml +++ b/documentation/content/en/chapters/glossary.xml @@ -122,21 +122,21 @@ Database - A database is a collection stored in a structured, organized manner (with different tables, rows, and columns, etc.). Databases provide a fast and flexible way of storing data, instead of the other commonly used data storage system of flat files where data is stored in a file. phpBB 3.2 supports a number of different DBMSs and uses the database to store information such as user details, posts, and categories. Data stored in a database can usually be backed up and restored easily. + A database is a collection stored in a structured, organized manner (with different tables, rows, and columns, etc.). Databases provide a fast and flexible way of storing data, instead of the other commonly used data storage system of flat files where data is stored in a file. phpBB 3.3 supports a number of different DBMSs and uses the database to store information such as user details, posts, and categories. Data stored in a database can usually be backed up and restored easily. DBAL - DBAL, or "Database Abstraction Layer", is a system that allows phpBB 3.2 to access many different DBMSs with little overhead. All code made for phpBB (including MODs) need to use the phpBB DBAL for compatibility and performance purposes. + DBAL, or "Database Abstraction Layer", is a system that allows phpBB 3.3 to access many different DBMSs with little overhead. All code made for phpBB (including MODs) need to use the phpBB DBAL for compatibility and performance purposes. DBMS - A DBMS, or "Database Management System", is a system or software designed to manage a database. phpBB 3.2 supports the following DBMSs: Microsoft SQL Server, MySQL, Oracle, postgreSQL, and SQLite. + A DBMS, or "Database Management System", is a system or software designed to manage a database. phpBB 3.3 supports the following DBMSs: Microsoft SQL Server, MySQL, Oracle, postgreSQL, and SQLite. @@ -301,7 +301,7 @@ Template - A template is what controls the layout of a style. phpBB 3.2 template files have the .html file extension. These template files contain mostly HTML (no PHP, however), with some variables that phpBB uses (contained in braces: { and }). + A template is what controls the layout of a style. phpBB 3.3 template files have the .html file extension. These template files contain mostly HTML (no PHP, however), with some variables that phpBB uses (contained in braces: { and }). @@ -329,7 +329,7 @@ Usergroup - Usergroups are a way of grouping users. This makes it easier to set permissions to many people at the same time (e.g. create a moderator group and give it moderating permissions to a certain forum instead of giving lots of individual people moderating permissions separately). A usergroup has a usergroup moderator (a leader, essentially), who has the ability to add or delete users from the group. Usergroups can be set to hidden, closed or open. If a usergroup is open, users can try requesting membership via the proper page within the group control panel. phpBB 3.2 has six pre-defined usergroups. + Usergroups are a way of grouping users. This makes it easier to set permissions to many people at the same time (e.g. create a moderator group and give it moderating permissions to a certain forum instead of giving lots of individual people moderating permissions separately). A usergroup has a usergroup moderator (a leader, essentially), who has the ability to add or delete users from the group. Usergroups can be set to hidden, closed or open. If a usergroup is open, users can try requesting membership via the proper page within the group control panel. phpBB 3.3 has six pre-defined usergroups.
diff --git a/documentation/content/en/chapters/moderator_guide.xml b/documentation/content/en/chapters/moderator_guide.xml index afd2897a..7127396c 100644 --- a/documentation/content/en/chapters/moderator_guide.xml +++ b/documentation/content/en/chapters/moderator_guide.xml @@ -12,7 +12,7 @@ Moderator Guide - This chapter describes the phpBB 3.2 forum moderation controls. + This chapter describes the phpBB 3.3 forum moderation controls.
diff --git a/documentation/content/en/chapters/quick_start_guide.xml b/documentation/content/en/chapters/quick_start_guide.xml index be3c37d1..78b74bb6 100644 --- a/documentation/content/en/chapters/quick_start_guide.xml +++ b/documentation/content/en/chapters/quick_start_guide.xml @@ -12,7 +12,7 @@ Quick Start Guide - A quick guide through the first steps of installing and configuring up your very own phpBB 3.2 forum. + A quick guide through the first steps of installing and configuring up your very own phpBB 3.3 forum.
@@ -100,7 +100,7 @@ Installation - phpBB 3.2 Rhea has an easy to use installation system that will guide you through the installation process. + phpBB 3.3 Rhea has an easy to use installation system that will guide you through the installation process. After you have decompressed the phpBB3 archive and uploaded the files to the location where you want it to be installed, you need to enter the URL into your browser to open the installation screen. The first time you point your browser to the URL (http://www.example.com/phpBB3 for instance), phpBB will detect that it is not yet installed and automatically redirect you to the installation screen.
Introduction @@ -118,14 +118,14 @@
Introduction - The installation screen gives you a short introduction into phpBB. It allows you to read the license phpBB 3.2 is released under (the General Public License) and provides information about how you can receive support. To start the installation, click the Install tab (see ). + The installation screen gives you a short introduction into phpBB. It allows you to read the license phpBB 3.3 is released under (the General Public License) and provides information about how you can receive support. To start the installation, click the Install tab (see ).
Requirements - Please read the section on phpBB3's requirements to find out more about the phpBB 3.2's minimum requirements. + Please read the section on phpBB3's requirements to find out more about the phpBB 3.3's minimum requirements. - The requirements list is the first page you will see after starting the installation if you are missing any necessary PHP extensions or have a server setting misconfigured. phpBB 3.2 automatically checks if everything that it needs to run properly is installed on your server. In order to continue the installation, you will need to have PHP installed (the minimum version number is shown on the requirements page), and at least one database available to continue the installation. It is also important that all shown folders are available and have the correct permissions set. Please see the description of each section to find out if they are optional or required for phpBB 3.2 to run. If everything is in order, you can continue the installation by clicking the Start Install button. + The requirements list is the first page you will see after starting the installation if you are missing any necessary PHP extensions or have a server setting misconfigured. phpBB 3.3 automatically checks if everything that it needs to run properly is installed on your server. In order to continue the installation, you will need to have PHP installed (the minimum version number is shown on the requirements page), and at least one database available to continue the installation. It is also important that all shown folders are available and have the correct permissions set. Please see the description of each section to find out if they are optional or required for phpBB 3.3 to run. If everything is in order, you can continue the installation by clicking the Start Install button.
Administrator details @@ -167,7 +167,7 @@
You don't need to change the Prefix for tables in database setting, unless you plan on using multiple phpBB installations on one database. In this case you can use a different prefix for each installation to make it work. - After you have entered your details, you can continue by clicking the Submit button. Now, phpBB 3.2 will test and verify the data you entered. + After you have entered your details, you can continue by clicking the Submit button. Now, phpBB 3.3 will test and verify the data you entered. If you see a "Could not connect to the database" error, this means that you didn't enter the database information correctly and it is not possible for phpBB to connect. Make sure that everything you entered is in order and try again. Again, if you are unsure about your database settings, please contact your host. Remember that your database username and password are case sensitive. You must use the exact one you have set up or been given by your host @@ -185,10 +185,10 @@
Final Steps - At the end of the installation, you can set the default language of your board, a title for your board, and a short description of it. In a vanilla (basic) phpBB 3.2 installation we only include English [GB]. You can download further languages from www.phpbb.com, and add them later. + At the end of the installation, you can set the default language of your board, a title for your board, and a short description of it. In a vanilla (basic) phpBB 3.3 installation we only include English [GB]. You can download further languages from www.phpbb.com, and add them later. After clicking Submit, a progress bar will appear and will be updated with the status of the board installation. Please be patient as this may take a few moments. - If the installation was successful, you can now use the ACP link to visit the Administration Control Panel. Congratulations, you have installed phpBB 3.2 successfully. But there is still a lot of work ahead! - If you are unable to get phpBB 3.2 installed even after reading this guide, please look at the support section to find out where you can ask for further assistance. + If the installation was successful, you can now use the ACP link to visit the Administration Control Panel. Congratulations, you have installed phpBB 3.3 successfully. But there is still a lot of work ahead! + If you are unable to get phpBB 3.3 installed even after reading this guide, please look at the support section to find out where you can ask for further assistance. At this point if you are upgrading from phpBB 2.0 or phpBB 3.0, you should refer to the upgrade guide for further information. If not, you should remove the install directory from your server as you will only be able to access the Administration Control Panel whilst it is present.
@@ -304,7 +304,7 @@ Setting permissions - After you created your first forum, you have to decide who has access to it and what your users are allowed to do and what not. This is what Permissions are for. You can disallow guests to post or hand out moderating powers, for instance. Almost every aspect of user interaction with phpBB 3.2 Rhea can be adjusted with permissions. + After you created your first forum, you have to decide who has access to it and what your users are allowed to do and what not. This is what Permissions are for. You can disallow guests to post or hand out moderating powers, for instance. Almost every aspect of user interaction with phpBB 3.3 Rhea can be adjusted with permissions.
Permission types @@ -387,7 +387,7 @@
Permissions roles - phpBB 3.2 Rhea ships with a number of default permission roles, that offer you a wide variety of options for setting permissions. Instead of having to check each radio button manually, you can select a predefined role in the Rolepull down list. Each role has a detailed description, that will pop up when you hover your mouse over it. Submit your changes with Apply Permissions or Apply All Permissions when you are satisfied with them. That will set the permissions and you are done. + phpBB 3.3 Rhea ships with a number of default permission roles, that offer you a wide variety of options for setting permissions. Instead of having to check each radio button manually, you can select a predefined role in the Rolepull down list. Each role has a detailed description, that will pop up when you hover your mouse over it. Submit your changes with Apply Permissions or Apply All Permissions when you are satisfied with them. That will set the permissions and you are done.
Permission roles diff --git a/documentation/content/en/chapters/upgrade_guide.xml b/documentation/content/en/chapters/upgrade_guide.xml index 1c7a140e..7640f1f4 100644 --- a/documentation/content/en/chapters/upgrade_guide.xml +++ b/documentation/content/en/chapters/upgrade_guide.xml @@ -12,7 +12,7 @@ Upgrade Guide - Do you want to upgrade your phpBB2 forum to version 3.2? This chapter will tell and show you how it is done. + Do you want to upgrade your phpBB2 forum to version 3.3? This chapter will tell and show you how it is done.
@@ -22,10 +22,10 @@ - Upgrading from 2.0 to 3.2 + Upgrading from 2.0 to 3.3 In order to allow administrators of phpBB2 boards to use phpBB3 and all of its features. There is a convertor packed with the default installation. The conversion framework is flexible and allows you to convert other bulletin board systems as well. Read more if you need help with converting your board to phpBB3 - The process is in the form of a PHP file, similar to the update file found in phpBB 2.0.x. The file will take you through wizard-like screens until your phpBB is running 3.2.x. Basic instructions and troubleshooting for doing this conversion are here. + The process is in the form of a PHP file, similar to the update file found in phpBB 2.0.x. The file will take you through wizard-like screens until your phpBB is running 3.3.x. Basic instructions and troubleshooting for doing this conversion are here. Warning: Be sure to backup both the database and the files before attempting to upgrade.
@@ -38,21 +38,21 @@ - Upgrading from 3.0 to 3.2 + Upgrading from 3.0 to 3.3 - Upgrading to phpBB 3.2 will render previously installed MODifications and styles unusable. If you have a custom logo, it will need to be redone after the upgrade. See Knowledge Base: How to Change your Board Logo. + Upgrading to phpBB 3.3 will render previously installed MODifications and styles unusable. If you have a custom logo, it will need to be redone after the upgrade. See Knowledge Base: How to Change your Board Logo. - phpBB 3.2 is not compatible with 3.0 and most of the previous files will need to be removed prior to upgrading. + phpBB 3.3 is not compatible with 3.0 and most of the previous files will need to be removed prior to upgrading. To upgrade, perform the following steps: - Ensure that your server meets the requirements for running phpBB 3.2: + Ensure that your server meets the requirements for running phpBB 3.3: Make a backup of the original files Make a backup of the database Deactivate all styles except for prosilver Remove all MOD-related changes from the database. The Support Toolkit's Database Cleaner can be used for this. Set British English as the only language pack - Download the phpBB 3.2 Full Package archive + Download the phpBB 3.3 Full Package archive Extract the contents of the archive to your computer and open the phpBB3 directory Delete the following files from the package: @@ -90,10 +90,10 @@ Ensure that the root level .htaccess file is included in the upload. Some FTP clients do not show files whose names start with a period and you may need to enable the display of hidden files. - If your board made use of language packs other than British English, you will need to download a version that is compatible with phpBB 3.2 from https://www.phpbb.com/languages/ + If your board made use of language packs other than British English, you will need to download a version that is compatible with phpBB 3.3 from https://www.phpbb.com/languages/ - When uploading the 3.2 files to your server, do NOT overwrite your config.php. + When uploading the 3.3 files to your server, do NOT overwrite your config.php. When backing up your files, ensure that your FTP client is in binary mode or transfers files without extensions in binary mode. @@ -109,21 +109,21 @@ - Upgrading from 3.1 to 3.2 + Upgrading from 3.1 to 3.3 - Upgrading to phpBB 3.2 may cause some extensions to no longer work. All styles will need to be updated, even if they give the appearance of working. If you have a custom logo, it will need to be redone after the upgrade. See Knowledge Base: How to Change your Board Logo./para> + Upgrading to phpBB 3.3 may cause some extensions to no longer work. All styles will need to be updated, even if they give the appearance of working. If you have a custom logo, it will need to be redone after the upgrade. See Knowledge Base: How to Change your Board Logo./para> - phpBB 3.2 is not completely backwards compatible with 3.1 and custom edits may no longer work. The easiest upgrade method is to remove all existing files prior to upgrading and re-applying custom changes after verifying their correctness. + phpBB 3.3 is not completely backwards compatible with 3.1 and custom edits may no longer work. The easiest upgrade method is to remove all existing files prior to upgrading and re-applying custom changes after verifying their correctness. To upgrade, perform the following steps: - Ensure that your server meets the requirements for running phpBB 3.2: + Ensure that your server meets the requirements for running phpBB 3.3: Make a backup of the original files Make a backup of the database Deactivate all styles except for prosilver - Deactivate any extensions which are not compatible with phpBB 3.2. Check with the extension author to find out if an extension is compatible or not. + Deactivate any extensions which are not compatible with phpBB 3.3. Check with the extension author to find out if an extension is compatible or not. Set British English as the only language pack - Download the phpBB 3.2 Full Package archive + Download the phpBB 3.3 Full Package archive Extract the contents of the archive to your computer and open the phpBB3 directory Delete the following files from the package: @@ -162,10 +162,82 @@ Ensure that the root level .htaccess file is included in the upload. Some FTP clients do not show files whose names start with a period and you may need to enable the display of hidden files. - If your board made use of language packs other than British English, you will need to download a version that is compatible with phpBB 3.2 from https://www.phpbb.com/languages/ + If your board made use of language packs other than British English, you will need to download a version that is compatible with phpBB 3.3 from https://www.phpbb.com/languages/ - When uploading the 3.2 files to your server, do NOT overwrite your config.php. + When uploading the 3.3 files to your server, do NOT overwrite your config.php. + + + When backing up your files, ensure that your FTP client is in binary mode or transfers files without extensions in binary mode. + For more information, see: Knowledge Base: Transferring attachment files with Filezilla + +
+ +
+ + + + Marc + + + + Upgrading from 3.2 to 3.3 + + Upgrading to phpBB 3.3 may cause some styles and extensions to no longer work. If you have a custom logo, it might need to be redone after the upgrade. See Knowledge Base: How to Change your Board Logo./para> + + + phpBB 3.3 should be backwards compatible with 3.2, however some extensions and custom edits may no longer work. The easiest upgrade method is to remove all existing files prior to upgrading and re-applying custom changes after verifying their correctness. + To upgrade, perform the following steps: + + Ensure that your server meets the requirements for running phpBB 3.3: + Make a backup of the original files + Make a backup of the database + Deactivate all styles except for prosilver + Deactivate any extensions which are not compatible with phpBB 3.3. Check with the extension author to find out if an extension is compatible or not. + Set British English as the only language pack + Download the phpBB 3.3 Full Package archive + Extract the contents of the archive to your computer and open the phpBB3 directory + Delete the following files from the package: + + The config.php file + The images/ directory + The files/ directory + The store/ directory + + + On your website, delete all files from your board EXCEPT for: + + The config.php file + The ext/ directory + The images/ directory + The files/ directory + The store/ directory + + + Upload the contents of the phpBB3 directory from your computer to your forum's directory. You may be prompted to overwrite the remaining files. If prompted to merge or overwrite directories, choose to merge them. + + Update the database: + + + For large boards, you may wish to update via the command line instead of using a web browser. From your board's root, execute the following command: php ./bin/phpbbcli.php db:migrate --safe-mode + + Using your web browser, visit install/ in your board's root. (e.g. http://www.example.com/yourforum/install) + Click the Update tab + Click the Update button + Select "Update database only" and click Submit + Wait for the progress bar to reach 100% and for a message indicating that the update has completed + + + Delete the install/ directory + + + Ensure that the root level .htaccess file is included in the upload. Some FTP clients do not show files whose names start with a period and you may need to enable the display of hidden files. + + + If your board made use of language packs other than British English, you will need to download a version that is compatible with phpBB 3.3 from https://www.phpbb.com/languages/ + + + When uploading the 3.3 files to your server, do NOT overwrite your config.php. When backing up your files, ensure that your FTP client is in binary mode or transfers files without extensions in binary mode. diff --git a/documentation/content/en/chapters/user_guide.xml b/documentation/content/en/chapters/user_guide.xml index 3500970a..894df3d0 100644 --- a/documentation/content/en/chapters/user_guide.xml +++ b/documentation/content/en/chapters/user_guide.xml @@ -12,7 +12,7 @@ User Guide - This chapter is targeted at the forum users. It explains all user facing functions that are needed to use phpBB 3.2 + This chapter is targeted at the forum users. It explains all user facing functions that are needed to use phpBB 3.3
@@ -432,7 +432,7 @@
Communicate with Private Messages - phpBB 3.2 allows its users to communicate privately by using Private Messages. To visit the Private Messages section, you either can click on the [X new messages] link on the left hand side below the forum header, or you can directly access it through the User Control Panel.. + phpBB 3.3 allows its users to communicate privately by using Private Messages. To visit the Private Messages section, you either can click on the [X new messages] link on the left hand side below the forum header, or you can directly access it through the User Control Panel.. Depending on the communication methods allowed by the board administrator, there can be 3 ways of being notified of a new Private Message's arrival: @@ -479,7 +479,7 @@ Message Folders - Just like in your e-mail client, all private messages are stored in folders. Working with folders is similar to working with forums in phpBB 3.2. The Inbox is your default incoming message folder. All messages you receive will appear in here. + Just like in your e-mail client, all private messages are stored in folders. Working with folders is similar to working with forums in phpBB 3.3. The Inbox is your default incoming message folder. All messages you receive will appear in here. Sent messages will appear in either the Outbox or the Sent messages folder. As long as the recipient(s) have not yet read the message, it will stay in the Outbox. As soon as someone reads the message it will be archived to the Sent messages folder. If the administrator allows it, you can edit messages after sending them as long as they are in the Outbox and the recipients have not yet read them. Each folder, including Sent messages and Outbox, can hold a board-defined amount of messages. This is a global setting that only a board administrator can change. An info text displays the current number of allowed messages and the current percentage of space your messages are using at the top of each folder. If no restriction is displayed, you are allowed unlimited messages in each folder. @@ -496,7 +496,7 @@ Custom Folders - If the administrator allows it, you can create your own custom private message folders in phpBB 3.2. To check whether you can add folders, visit the Edit options section of the private message area. + If the administrator allows it, you can create your own custom private message folders in phpBB 3.3. To check whether you can add folders, visit the Edit options section of the private message area. To add a new folder, enter the folder's name into the Add folder input box. If creation was successful, your new folder will appear at the bottom of the folder list. You can then use it like a normal message folder and move messages into it or set a filter (see the section on Private Message Rules for more information about filters) to automatically do it for you.
diff --git a/documentation/content/nl/chapters/user_guide.xml b/documentation/content/nl/chapters/user_guide.xml index 146d8944..e9c18a30 100644 --- a/documentation/content/nl/chapters/user_guide.xml +++ b/documentation/content/nl/chapters/user_guide.xml @@ -188,7 +188,7 @@
Friends and Foes - TODO: (Not sure if this deserves its own section yet. For 3.0 this does not have much of an influence on the overall forum experience, this might change with 3.2, so leaving it here for now.) Write a detailed explanation about what Friends and Foes are and how they affect the forum like hiding posts of foes, adding users to the friends list for fast access / online checks, and so forth. + TODO: (Not sure if this deserves its own section yet. For 3.0 this does not have much of an influence on the overall forum experience, so leaving it here for now.) Write a detailed explanation about what Friends and Foes are and how they affect the forum like hiding posts of foes, adding users to the friends list for fast access / online checks, and so forth.
Attachments diff --git a/documentation/create_docs.sh b/documentation/create_docs.sh index 571a2c2d..9afde598 100755 --- a/documentation/create_docs.sh +++ b/documentation/create_docs.sh @@ -1,7 +1,7 @@ #!/bin/bash # set this to the correct path -path="/var/www/phpbb.com/htdocs/support/documentation/3.2" +path="/var/www/phpbb.com/htdocs/support/documentation/3.3" echo "Removing build directory" rm -rf build diff --git a/documentation/rhea_doc.xml b/documentation/rhea_doc.xml index 6ddbd395..af79c40c 100644 --- a/documentation/rhea_doc.xml +++ b/documentation/rhea_doc.xml @@ -7,9 +7,9 @@ ]> - phpBB 3.2 <emphasis>Rhea</emphasis> Documentation + phpBB 3.3 <emphasis>Rhea</emphasis> Documentation - The detailed documentation for phpBB 3.2 Rhea. + The detailed documentation for phpBB 3.3 Rhea. diff --git a/documentation/style.css b/documentation/style.css index add12383..ee81467a 100644 --- a/documentation/style.css +++ b/documentation/style.css @@ -1,4 +1,4 @@ -/* phpBB 3.2 Documentation Style Sheet +/* phpBB 3.3 Documentation Style Sheet */ body { diff --git a/documentation/xsl/rhea_php.xsl b/documentation/xsl/rhea_php.xsl index 79033318..774f17bf 100644 --- a/documentation/xsl/rhea_php.xsl +++ b/documentation/xsl/rhea_php.xsl @@ -15,7 +15,7 @@ - + @@ -37,7 +37,7 @@ - + diff --git a/documentation/xsl/rhea_php_subsection.xsl b/documentation/xsl/rhea_php_subsection.xsl index 17732eb2..13448a6c 100644 --- a/documentation/xsl/rhea_php_subsection.xsl +++ b/documentation/xsl/rhea_php_subsection.xsl @@ -15,7 +15,7 @@ - + @@ -40,7 +40,7 @@ - + diff --git a/documentation/xsl/rhea_phpbb_dot_com.xsl b/documentation/xsl/rhea_phpbb_dot_com.xsl index d3684196..848f488c 100644 --- a/documentation/xsl/rhea_phpbb_dot_com.xsl +++ b/documentation/xsl/rhea_phpbb_dot_com.xsl @@ -15,7 +15,7 @@ - + @@ -40,7 +40,7 @@ - + diff --git a/documentation/xsl/rhea_xhtml.xsl b/documentation/xsl/rhea_xhtml.xsl index 999a9624..cff14f91 100644 --- a/documentation/xsl/rhea_xhtml.xsl +++ b/documentation/xsl/rhea_xhtml.xsl @@ -12,7 +12,7 @@ - + From d20674b485af0826f455157fa935e92e71988f1a Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 3 Nov 2019 10:58:49 +0100 Subject: [PATCH 090/242] Update version numbers --- development/conf.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/development/conf.py b/development/conf.py index fe8d8d70..a89a4f80 100644 --- a/development/conf.py +++ b/development/conf.py @@ -50,16 +50,16 @@ # General information about the project. project = u'phpBB' -copyright = u'2015, phpBB Limited' +copyright = u'2015 - 2019, phpBB Limited' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. -version = '3.2' +version = '3.3' # The full version, including alpha/beta/rc tags. -release = '3.2.x' +release = '3.3.x' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. From f818a72be43f0e41e80e4c992326c89820e2871f Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Thu, 21 Nov 2019 09:25:27 -0800 Subject: [PATCH 091/242] Update package naming rules --- development/extensions/tutorial_basics.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/development/extensions/tutorial_basics.rst b/development/extensions/tutorial_basics.rst index 07c2d1b8..90392ab2 100644 --- a/development/extensions/tutorial_basics.rst +++ b/development/extensions/tutorial_basics.rst @@ -38,9 +38,9 @@ The extension name is the name of the extension. In this tutorial we will use `` .. important:: - Both the vendor and extension names must start with a lower or upper case letter, followed by letters and numbers - only. **Underscores, dashes and other characters are not permitted.** It is perfectly fine to have an extension - named ``iamanextension``. + Both the vendor and extension names must be lowercase and must start with a letter. Names can contain numbers + and letters only. **Uppercase letters, underscores, dashes and other characters are not permitted.** The + following is an example of an allowed vendor and extension name: ``iamuser1/iamanextension``. Composer JSON From 6b53415d810124c46c2bad819ca00669b7f10a25 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Sat, 23 Nov 2019 08:59:28 -0800 Subject: [PATCH 092/242] Re-word --- development/extensions/tutorial_basics.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/development/extensions/tutorial_basics.rst b/development/extensions/tutorial_basics.rst index 90392ab2..2a29e15d 100644 --- a/development/extensions/tutorial_basics.rst +++ b/development/extensions/tutorial_basics.rst @@ -38,8 +38,8 @@ The extension name is the name of the extension. In this tutorial we will use `` .. important:: - Both the vendor and extension names must be lowercase and must start with a letter. Names can contain numbers - and letters only. **Uppercase letters, underscores, dashes and other characters are not permitted.** The + Both the vendor and extension names must start with a lowercase letter, followed by lowercase letters + and numbers only. **Uppercase letters, underscores, dashes and other characters are not permitted.** The following is an example of an allowed vendor and extension name: ``iamuser1/iamanextension``. From 07d2453a050577bd6530a6db99ceb234c39fafc8 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 29 Dec 2019 17:06:57 +0100 Subject: [PATCH 093/242] Link to 3.2 forums & fix typo --- documentation/content/en/chapters/upgrade_guide.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/documentation/content/en/chapters/upgrade_guide.xml b/documentation/content/en/chapters/upgrade_guide.xml index 1c7a140e..2c261c27 100644 --- a/documentation/content/en/chapters/upgrade_guide.xml +++ b/documentation/content/en/chapters/upgrade_guide.xml @@ -111,7 +111,7 @@ Upgrading from 3.1 to 3.2 - Upgrading to phpBB 3.2 may cause some extensions to no longer work. All styles will need to be updated, even if they give the appearance of working. If you have a custom logo, it will need to be redone after the upgrade. See Knowledge Base: How to Change your Board Logo./para> + Upgrading to phpBB 3.2 may cause some extensions to no longer work. All styles will need to be updated, even if they give the appearance of working. If you have a custom logo, it will need to be redone after the upgrade. See Knowledge Base: How to Change your Board Logo. phpBB 3.2 is not completely backwards compatible with 3.1 and custom edits may no longer work. The easiest upgrade method is to remove all existing files prior to upgrading and re-applying custom changes after verifying their correctness. @@ -221,7 +221,7 @@ Preliminary steps phpBB3 needs to be installed. Once phpBB3 is installed, do not delete the install directory if you will be converting immediately. If you will be testing and setting up your phpBB3 board prior to the conversion and converting at a later time, rename the install directory to something like _install. This will allow you to use your phpBB3 board. You will be needing the install directory later for the conversion. - You will need specific convertor files for the board software you are converting from. The phpBB2 specific convertor files are included with the phpBB3 installation files. For other board softwares, you will need to get the convertor files from the appropriate phpBB3 convertor topic. These topics can be found in the [3.1.x] Convertors forum on phpBB.com + You will need specific convertor files for the board software you are converting from. The phpBB2 specific convertor files are included with the phpBB3 installation files. For other board softwares, you will need to get the convertor files from the appropriate phpBB3 convertor topic. These topics can be found in the [3.2.x] Convertors forum on phpBB.com For converting from phpBB2, you only need to point your browser to {phpBB3_root_directory}/install, click the Convert tab and follow the instructions. For other board softwares, you will need to upload the convertor files to the appropriate directories. The convertor files you get will consist of two or three files, convert_xxx.php, functions_xxx.php and, optionally, auth_xxx.php. The xxx will generally be the name of the software you are converting from. @@ -239,9 +239,10 @@ Conversion steps + After preparing everything, follow these steps to convert your board: Install phpBB3. The old message board and the phpBB3 board need to be installed on the same server. - If you are converting from a board other than phpBB2, upload the convertor files which you downloaded from the appropriate topic in the [3.1.x] Convertors forum. + If you are converting from a board other than phpBB2, upload the convertor files which you downloaded from the appropriate topic in the [3.2.x] Convertors forum. Point your browser to {phpbb_root_directory}/install, click the Convert tab and select the appropriate convertor from the list of available convertors. Next you will be asked for database information. The database information you are being asked for, is for the database that holds the tables for the board software you are converting from. You will be presented with an option for Refresh page to continue conversion The default is set to Yes. Normally, you will want to leave it at Yes. The No option is mainly for test purposes. After entering the database information and pressing the Begin conversion button, the convertor will verify that you have entered the correct information. If the information is confirmed, you will have another Begin Conversion button. From ad61d6cb9e50a0a724f8976f320d679f8c7e29b0 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 29 Dec 2019 17:15:41 +0100 Subject: [PATCH 094/242] Stop mentioning no longer supported features --- documentation/content/en/chapters/admin_guide.xml | 12 ++++-------- .../content/en/chapters/quick_start_guide.xml | 3 --- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/documentation/content/en/chapters/admin_guide.xml b/documentation/content/en/chapters/admin_guide.xml index a11de70e..f1aa24b2 100644 --- a/documentation/content/en/chapters/admin_guide.xml +++ b/documentation/content/en/chapters/admin_guide.xml @@ -134,9 +134,7 @@ There are several ways a user can add an avatar to their profile. The first way is through Gravatar. If this feature is enabled, users can choose to have the board load the Gravatar.com image associated with their email address. The second way is through an avatar gallery you provide. Note that there is no avatar gallery available in a default phpBB installation. The Avatar Gallery Path is the path to the gallery images. The default path is images/avatars/gallery. The gallery folder does not exist in the default installation so you have to add it manually if you want to use it. The images you want to use for your gallery need to be in a folder inside the gallery path. Images directly in the gallery path won't be recognised. - The third approach to avatars is through Remote Avatars. These are simply images linked from another website. Your members can add a link to the image they want to use on the edit avatars page of their profile. To give you some control over the size of the avatars you can define the minimum and maximum size of the images. The disadvantage of Remote Avatars is that you are not able to control the file size. - The fourth approach to avatars is through Avatar Uploading. Your members can upload an image from their local system which will be stored on your server. They will be uploaded into the Avatar Storage Path you can define. The default path is images/avatars/upload and does already exist after installation. You have to make sure that it is server-writable. The file format of the images has to be either gif, jpeg, or png, and the avatars will be automatically checked for their file and image size after the upload. You can adjust the Maximum Avatar File Size and images that are bigger than the allowed value will be discarded. - Avatars can also be uploaded through Remote Uploading which allows users to provide a URL to an image and have it downloaded to the board for use as their avatar. This allows you to keep the avatars locally instead of having external links to image hosts. + The third approach to avatars is through Avatar Uploading. Your members can upload an image from their local system which will be stored on your server. They will be uploaded into the Avatar Storage Path you can define. The default path is images/avatars/upload and does already exist after installation. You have to make sure that it is server-writable. The file format of the images has to be either gif, jpeg, or png, and the avatars will be automatically checked for their file and image size after the upload. You can adjust the Maximum Avatar File Size and images that are bigger than the allowed value will be discarded.
@@ -206,14 +204,14 @@
- Check the MOD database for new existing plugins. + Check the Extension database for new existing plugins. How to select a plugin Click the "Installed plugins" dropdown and select the module you want to use. Do not let grayed out entries stop you, they only mean that you have to perform another step. If your intended module is not in the list, check whether the files are present in the plugin directory. Click the "Configure" button to see the module's ACP page. Many plugins need configuration prior to use. Note that plugins without configuration options will not show the button. Configure the plugin to meet your needs. - After configuring the plugin, re-select your intended plugin from the dropdown. It shold not be grayed out any more. + After configuring the plugin, re-select your intended plugin from the dropdown. It should not be grayed out any more. Click "Submit". Congratulations, you’re done. @@ -1069,7 +1067,6 @@ Create thumbnail: This setting configures your board to either create a thumbnail for every image attached, or not. Maximum thumbnail width in pixels: This is the maximum width in pixels for the created thumbnails. Maximum thumbnail filesize: Thumbnails will not be created for images if the created thumbnail filesize exceeds this value, in bytes. This is useful for particularly large images that are posted. - Imagemagick path: If you have Imagemagick installed and would like to set your board to use it, specify the full path to your Imagemagick convert application. An example is /usr/bin/. Maximum image dimensions: The maximum size of image attachments, in pixels. If you would like to disable dimension checking (and thereby allow image attachments of any dimensions), set each value to 0. Image link dimensions: If an image attachment is larger than these dimensions (in pixels), a link to the image will be displayed in the post instead. If you want images to be displayed inline regardless of dimensions, set each value to 0.
@@ -2404,9 +2401,8 @@ phpBB uses a database to store all the data used on the board, including users, posts, topics etc. Backing up the database can be useful as a protective measure in case of any accidents which could cause data loss or damage to the database. If any accident like this would occur, you would have a possibility to restore the database to a previous state from the backup. You can use the backup tool to move your board to another host - you will make a backup on your current server and restore it on the new one to keep all data. Database backup - Backup type: You can backup the whole database or you can either backup the structure or data. The structure only contains the hiearchy in which the data is stored, on the other side, if you only backup the data, you will need a pre-prepared structure when restoring/importing data. + Backup type: You can backup the whole database or you can either backup the structure or data. The structure only contains the hierarchy in which the data is stored, on the other side, if you only backup the data, you will need a pre-prepared structure when restoring/importing data. File type: Depending on your server setup, you can save the backup in several formats. The Text option saves the backup in plain text, other options compress the file to decrease the filesize of the dump. - Action: You have three options: you can both Store and download the file, saving it in the store directory and downloading it to your PC, or you can choose to download or store the file. Table select: You can either Select all tables or you can select individual tables to backup. When backing up a large database, you can exclude the search tables (do not forget to restore their structure) and recreate the search index on the new server. diff --git a/documentation/content/en/chapters/quick_start_guide.xml b/documentation/content/en/chapters/quick_start_guide.xml index be3c37d1..c9a88a64 100644 --- a/documentation/content/en/chapters/quick_start_guide.xml +++ b/documentation/content/en/chapters/quick_start_guide.xml @@ -80,9 +80,6 @@ Remote FTP support - - Imagemagick support - GD support From 1fd8569067ae283bc47aeeebda63f0be32f5282c Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 29 Dec 2019 16:17:24 +0100 Subject: [PATCH 095/242] Update .gitignore to exclude build directory --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 29971dc5..789caf07 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ Thumbs.db .DS_Store /development/_build +/documentation/build From ee78bca9f90d54036d3402d80af9253aeac201f7 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 29 Dec 2019 16:19:45 +0100 Subject: [PATCH 096/242] Rename documentation for 3.3 --- documentation/{rhea_doc.xml => rhea_33_doc.xml} | 0 documentation/xsl/{rhea_pdf.xsl => rhea_33_pdf.xsl} | 0 documentation/xsl/{rhea_php.xsl => rhea_33_php.xsl} | 0 .../xsl/{rhea_php_subsection.xsl => rhea_33_php_subsection.xsl} | 0 .../xsl/{rhea_phpbb_dot_com.xsl => rhea_33_phpbb_dot_com.xsl} | 2 +- documentation/xsl/{rhea_xhtml.xsl => rhea_33_xhtml.xsl} | 0 6 files changed, 1 insertion(+), 1 deletion(-) rename documentation/{rhea_doc.xml => rhea_33_doc.xml} (100%) rename documentation/xsl/{rhea_pdf.xsl => rhea_33_pdf.xsl} (100%) rename documentation/xsl/{rhea_php.xsl => rhea_33_php.xsl} (100%) rename documentation/xsl/{rhea_php_subsection.xsl => rhea_33_php_subsection.xsl} (100%) rename documentation/xsl/{rhea_phpbb_dot_com.xsl => rhea_33_phpbb_dot_com.xsl} (99%) rename documentation/xsl/{rhea_xhtml.xsl => rhea_33_xhtml.xsl} (100%) diff --git a/documentation/rhea_doc.xml b/documentation/rhea_33_doc.xml similarity index 100% rename from documentation/rhea_doc.xml rename to documentation/rhea_33_doc.xml diff --git a/documentation/xsl/rhea_pdf.xsl b/documentation/xsl/rhea_33_pdf.xsl similarity index 100% rename from documentation/xsl/rhea_pdf.xsl rename to documentation/xsl/rhea_33_pdf.xsl diff --git a/documentation/xsl/rhea_php.xsl b/documentation/xsl/rhea_33_php.xsl similarity index 100% rename from documentation/xsl/rhea_php.xsl rename to documentation/xsl/rhea_33_php.xsl diff --git a/documentation/xsl/rhea_php_subsection.xsl b/documentation/xsl/rhea_33_php_subsection.xsl similarity index 100% rename from documentation/xsl/rhea_php_subsection.xsl rename to documentation/xsl/rhea_33_php_subsection.xsl diff --git a/documentation/xsl/rhea_phpbb_dot_com.xsl b/documentation/xsl/rhea_33_phpbb_dot_com.xsl similarity index 99% rename from documentation/xsl/rhea_phpbb_dot_com.xsl rename to documentation/xsl/rhea_33_phpbb_dot_com.xsl index 848f488c..fd48ee5c 100644 --- a/documentation/xsl/rhea_phpbb_dot_com.xsl +++ b/documentation/xsl/rhea_33_phpbb_dot_com.xsl @@ -3,7 +3,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> - + Allow persistent logins @@ -479,7 +479,7 @@ The available options are Yes and No. Choosing Yes will enable automatic logins. - + Persistent login key expiration length (in days) @@ -487,7 +487,7 @@ You may enter an integer in the text box located to the left of the word Days. This integer is the number of days for the persistent login key expiration. If you would like to disable this setting (and thereby allow use of login keys indefinitely), enter a "0" into the text box. - + Session IP validation @@ -495,7 +495,7 @@ There are four settings available: All, A.B.C, A.B, and None. The All setting will compare the complete IP address. The A.B.C setting will compare the first x.x.x of the IP address. The A.B setting will compare the first x.x of the IP address. Lastly, selecting None will disable IP address checking altogether. - + Validate browser @@ -503,7 +503,7 @@ The available options are Yes and No. Choosing Yes will enable this browser validation. - + Validate X_FORWARDED_FOR header @@ -511,14 +511,14 @@ The available options are Yes and No. Choosing Yes will enable the validation of the X_FORWARDED_FOR header. - + Check IP against DNS Blackhole List: You are also able to check the users' IP addresses against DNS blackhole lists. These lists are blacklists that list bad IP addresses. Enabling this setting will allow your board to check your users' IP addresses and compare them against the DNS blackhole lists. Currently, the DNS blacklist services on the sites spamcop.net, dsbl.org, and spamhaus.org. - + Check email domain for valid MX record @@ -526,7 +526,7 @@ The available options are Yes and No. Choosing Yes will enable the checking of MX records for emails. - + Password complexity @@ -537,7 +537,7 @@ - + Force password change @@ -545,7 +545,7 @@ Only integers can be entered in the text box, which is located next to the Days label. This integer is the number of days that, after which, your users will have to change their passwords. If you would like to disable this feature, enter a value of "0". - + Maximum number of login attempts @@ -553,7 +553,7 @@ Only integers can be entered for this setting. The number entered it the maximum number of times a user can attempt to login to an account before having to confirm his login visually, with the visual confirmation. - + Allow PHP in templates @@ -562,7 +562,7 @@ - +
@@ -573,7 +573,7 @@ Load settings On particularly large boards, it may be necessary to manage certain load-related settings in order to allow your board to run as smoothly as possible. However, even if your board isn't excessively active, it is still important to be able to adjust your board's load settings. Adjusting these settings properly can help reduce the amount of processing required by your server. Once you are done editing any of the server load-related settings, remember to click Submit to actually submit and apply your changes. - + The first group of settings, General Settings, allows you to control the very basic load-related settings, such as the maximum system load and session lengths. The following describes each option in detail. General settings @@ -583,7 +583,7 @@ View online time span: This is the number of minutes after which inactive users will not appear in the Who is Online listings. The higher the number given, the greater the processing power required to generate the listing. All positive integers are valid values, and indicate the number of minutes that the time span will be. - + The second group of settings, General Options, allows you to control whether certain options are available for your users on your board. The following describes each option further. General options @@ -602,7 +602,7 @@ Allow live searches: When enabled, certain search fields (memberlist searches) will automatically prompt with search results as you type. - + Lastly, the last group of load settings relates to Custom Profile Fields, which are a new feature in phpBB3. The following describes these options in detail. Custom Profile Fields @@ -612,7 +612,7 @@
- + - + - +
@@ -728,7 +728,7 @@ If you want to combine multiple forums or links for a specific topic, you can put them inside a category. The forums will appear below the category title, clearly separated from other categories. Users are not able to post inside categories. - +
@@ -740,10 +740,10 @@ Subforums - One of the features in phpBB 3.3 is subforums. Especially bulletin boards with a high number of forums will benefit from this. In the simple flat category and forum approach in phpBB 2.0, all forums and categories were listed on the forum index. In Rhea you can now put as many forums, links, or categories as you like inside other forums. + One of the features in phpBB 3.3 is subforums. Especially bulletin boards with a high number of forums will benefit from this. In the simple flat category and forum approach in phpBB 2.0, all forums and categories were listed on the forum index. In Proteus you can now put as many forums, links, or categories as you like inside other forums. If you have a forum about pets for instance, you are able to put subforums for cats, dogs, or guinea pigs inside it without making the parent "Pets" forum a category. In this example, only the "Pets" forum will be listed on the index like a normal forum. Its subforums will appear as simple links below the forum description (unless you disabled this). - +
Creating subforums @@ -755,7 +755,7 @@
- + This system theoretically allows unlimited levels of subforums. You can put as many subforums inside subforums as you like. However, please do not go overboard with this feature. On boards with five to ten forums or less, it is not a good idea to use subforums. Remember, the less forums you have, the more active your forum will appear. You can always add more forums later. Read the section on forum management to find out how to create subforums.
@@ -769,7 +769,7 @@ Manage forums Here you can add, edit, delete, and reorder the forums, categories, and links. - +
Managing Forums Icon Legend @@ -781,7 +781,7 @@
- + The initial Manage forums page shows you a list of your top level forums and categories. Note, that this is not analogue to the forum index, as categories are not expanded here. If you want to reorder the forums inside a category, you have to open the category first. @@ -791,34 +791,34 @@ dhn - + MennoniteHobbit Posting Settings - + Forums are nothing without content. Content is created and posted by your users; as such, it is very important to have the right posting settings that control how the content is posted. You can reach this section by clicking the Posting navigation tab. The first page you are greeted with after getting to the Posting Settings section is BBCodes. The other available subsections are divided into two main groups: Messages and Attachments. Private message settings, Topic icons, Smilies, and Word censoring are message-related settings. Attachment settings, Manage extensions, Manage extension groups, and Orphaned attachments are attachment-related settings. - +
dhn - + MennoniteHobbit BBCodes - + BBCodes are a special way of formatting posts, similar to HTML. phpBB 3.3 allows you to create your own BBCodes very easily. On this page, you can see the custom BBCodes that currently exist. Adding a BBCode is very easy. If done right, allowing users to use your new BBCode may be safer than allowing them to use HTML code. To add a BBCode, click Add a new BBCode to begin. There are four main things to consider when adding a BBCode: how you want your users to use the BBCode, what HTML code the BBcode will actually use (the users will not see this), what short info message you want for the BBCode, and whether or not you want a button for the new BBCode to be displayed on the posting screen. Once you are done configuring all of the custom BBCode settings, click Submit to add your new BBCode. - +
Creating BBCodes @@ -830,7 +830,7 @@
- + In the BBCode Usage form, you can define how you want your users to use the BBCode. Let's say you want to create a new font BBCode that will let your users pick a font to use for their text. An example of what to put under BBCode Usage would be [font={SIMPLETEXT}]{TEXT}[/font] This would make a new [font] BBCode, and will allow the user to pick what font face they want for the text. The user's text is represented by TEXT, while SIMPLETEXT represents whatever font name the user types in. @@ -845,7 +845,7 @@ Lastly, when adding a new BBCode, you can decide whether or not you want an actual BBCode button for your new BBCode to be displayed on the posting screens. If you want this, then check the Display on posting checkbox. It is important to choose appropriate tokens when creating your custom BBCodes. The tokens limit the type of input that they will accept. If you want to only allow URLs, use the URL token. If you only want to allow numbers, use the NUMBER token. - + BBCode Tokens @@ -911,7 +911,7 @@ If you need to use the same type of token more than once, you can differentiate between them by adding a number as the last character between the braces, e.g. {TEXT1}, {TEXT2}.
- +
@@ -921,7 +921,7 @@ Private message settings - + Many users use your board's private messaging system. Here you can manage all of the default private message-related settings. Listed below are the settings that you can change. Once you're done setting the posting settings, click Submit to submit your changes. General settings @@ -930,8 +930,8 @@ Max private messages per box: This is the maximum number of private messages your users can have in each of their folders. Full folder default action: Sometimes your users want to send each other a private message, but the intended recipient has a full folder. This setting will define exactly what will happen to the sent message. You can either set it so that an old message will be deleted to make room for the new message, or the new messages will be held back until the recipient makes room in his inbox. Note that the default action for the Sentbox is the deletion of old messages. Limit editing time: Users are usually allowed to edit their sent private messages before the recipient reads it, even if it's already in their outbox. You can control the amount of time your users have to edit sent private messages. - - + + General options Allow sending of private messages to multiple users and groups: In phpBB 3.3, it is possible to send a private message to more than user. To allow this, select Yes. @@ -945,12 +945,12 @@ Allow use of [flash] BBCode tag: Select Yes if you want your users to be able to post inline Macromedia Flash objects in their private messages. Enable use of topic icons in private messages: Select Yes if you want to enable your users to include topic icons with their private messages. (Topic icons are displayed next to the private messages' titles.). - + If you want to set any of the above numerical settings so that the setting will allow unlimited amounts of the item, set the numerical setting to 0.
- +
@@ -960,13 +960,13 @@ Topic icons - + A new feature in phpBB3 is the ability to assign icons to topics. On this page, you can manage what topic icons are available for use on your board. You can add, edit, delete, or move topic icons. The Topic Icons form displays the topic icons currently installed on your board. You can add topic icons manually, install a premade icons pack, export or download an icons pack file, or edit your currently installed topic icons. - + Your first option to add topic icons to your board is to use a premade icons pack. Icon packs have the file extension pak. To install an icons pack, you must first download an icons pack. Upload the icon files themselves and the pack file into the /images/icons/ directory. Then, click Install icons pak. The Install icons pak form displays all of the options you have regarding topic icon installation. Select the icon pack you wish to add (you may only install one icon pack at a time). You then have the option of what to do with currently installed topic icons if the new icon pack has icons that may conflict with them. You can either keep the existing icon(s) (there may be duplicates), replace the matches (overwriting the icon(s) that already exist), or just delete all of the conflicting icons. Once you have selected the proper option, click Install icons pak. - + To add topic icon(s) manually, you must first upload the icons into the icons directory of your site. Navigate to the Topic icons page. Click Add multiple icons, which is located in the Topic Icons form. If you correctly uploaded your new desired topic icon(s) into the proper /images/icons/ directory, you should see a row of settings for each new icon you uploaded. The following has a description on what each field is for. Once you are done with adding the topic icon(s), click, Submit to submit your additions. - + Icon image file: This column will display the actual icon itself. Icon location: This column will display the path that the icon is located in, relative to the /images/icons/ directory. @@ -976,12 +976,12 @@ Icon order: You can also set what order that the topic icon will be displayed. You can either set the topic icon to be the first, or after any other topic icon currently installed. Add: If you are satisfied with the settings for adding your new topic icon, check this box. - + You may also edit your currently installed topic icons' settings. To do so, click Edit icons. You will see the Icon configuration form. For more information regarding each field, see the above paragraph regarding adding topic icons. - + Lastly, you may also reorder the topic icons, edit a topic icon's settings, or remove a topic icon. To reorder a topic icon, click the appropriate "move up" or "move down" icon. To edit a topic icon's current settings, click the "settings" button. To delete a topic icon, click the red "delete" button.
- +
@@ -991,13 +991,13 @@ Smilies - + Smilies or emoticons are typically small, sometimes animated images used to convey an emotion or feeling. You can manage the smilies on your board via this page. To add smilies, you have the option to either install a premade smilies pack, or add smilies manually. Locate the Smilies form, which lists the smilies currently installed on your board, on the page. - + Your first option to add smilies to your board is to use a premade smilies pack. Smilies packs have the file extension pak. To install a smilies pack, you must first download a smilies pack. Upload the smilies files themselves and the pack file into the /images/smilies/ directory. Then, click Install smilies pak. The Install smilies pak form displays all of the options you have regarding smilies installation. Select the smilies pack you wish to add (you may only install one smilies pack at a time). You then have the option of what to do with currently installed smilies if the new smilies pack has icons that may conflict with them. You can either keep the existing smilies (there may be duplicates), replace the matches (overwriting the smilies that already exist), or just delete all of the conflicting smilies. Once you have selected the proper option, click Install smilies pak. - + To add a smiley to your board manually, you must first upload the smilies into the /images/smilies/ directory. Then, click on Add multiple smilies. From here, you can add a smilie and configure it. The following are the settings you can set for the new smilies. Once you are done adding a smiley, click Submit. - + Smiley image file: This is what the smiley actually looks like. Smiley location: This is where the smiley is located, relative to the /images/smilies/ directory. @@ -1009,12 +1009,12 @@ Smiley order: You can also set what order that the smiley will be displayed. You can either set the smiley to be the first, or after any other smiley currently installed. Add: If you are satisfied with the settings for adding your new smiley, check this box. - + You may also edit your currently installed smilies' settings. To do so, click Edit smilies. You will see the Smiley configuration form. For more information regarding each field, see the above paragraph regarding adding smilies. - + Lastly, you may also reorder the smilies, edit a smiley's settings, or remove a smiley. To reorder a smiley, click the appropriate "move up" or "move down" icon. To edit a smiley's current settings, click the "settings" button. To delete a smiley, click the red "delete" button.
- +
@@ -1024,14 +1024,14 @@ Word censoring - + On some forums, a certain level of appropriate, profanity-free speech is required. Like phpBB2, phpBB3 continues to offer word censoring. Words that match the patterns set in the Word censoring panel will automatically be censored with text that you, the admin, specify. To manage your board's word censoring, click Word censoring. - + To add a new word censor, click Add new word. There are two fields: Word and Replacement. Type in the word that you want automatically censored in the Word text field. (Note that you can use wildcards (*).) Then, type in the text you want the censored word to be replaced with in the Replacement text field. Once you are done, click Submit to add the new censored word to your board. - + To edit an existing word censor, locate the censored word's row. Click the "edit" icon located in that row, and proceed with changing the censored word's settings.
- +
@@ -1041,9 +1041,9 @@ Attachment Settings - + If you allow your users to post attachments, it is important to be able to control your board's attachments settings. Here, you can configure the main settings for attachments and the associated special categories. When you are done configuring your board's attachments settings, click Submit. - + Attachment Settings Allow attachments: If you want attachments to be enabled on your board, select Yes. @@ -1060,7 +1060,7 @@ Allow empty referrer: Secure downloads are based on referrers.This setting controls if downloads are allowed for those omitting the referrer information. This setting only applies if secure downloads are enabled. Check attachment files: Some browsers can be tricked to assume an incorrect mimetype for uploaded files. This option ensures that such files likely to cause this are rejected. It is recommended that you leave this setting enabled. - + Image Category Settings Display images inline: How image attachments are displayed. If this is set to No, a link to the attachment will be given instead, rather than the image itself (or a thumbnail) being displayed inline. @@ -1070,14 +1070,14 @@ Maximum image dimensions: The maximum size of image attachments, in pixels. If you would like to disable dimension checking (and thereby allow image attachments of any dimensions), set each value to 0. Image link dimensions: If an image attachment is larger than these dimensions (in pixels), a link to the image will be displayed in the post instead. If you want images to be displayed inline regardless of dimensions, set each value to 0. - + Define Allowed/Disallowed IPs/Hostnames IP addresses or hostnames: If you have secure downloads enabled, you can specify the IP addresses or hostnames allowed or disallowed. If you specify more than one IP address or hostname, each IP address or hostname should be on its own line. Entered values can have wildcards (*). To specify a range for an IP address, separate the start and end with a hyphen (-). Exclude IP from [dis]allowed IPs/hostnames: Enable this to exclude the entered IP(s)/hostname(s).
- +
@@ -1087,14 +1087,14 @@ Manage extensions - + You can further configure your board's attachments settings by controlling what file extensions attached files can have to be uploaded. It is recommended that you do not allow scripting file extensions (such as php, php3, php4, phtml, pl, cgi, py, rb, asp, aspx, and so forth) for security reasons. You can find this page by clicking Manage extensions once you're in the ACP. - + To add an allowed file extension, find the Add Extension form on the page. In the field labeled Extension, type in the file extension. Do not include the period before the file extension. Then, select the extension group that this new file extension should be added to via the Extension group selection menu. Then, click Submit. - + You can also view your board's current allowed file extensions. On the page, you should see a table listing all of the allowed file extensions. To change the group that an extension belongs to, select a new extension group from the selection menu located in the extension's row. To delete an extension, check the checkbox in the Delete column. When you're done managing your board's current file extensions, click Submit at the bottom of the page.
- +
@@ -1104,11 +1104,11 @@ Manage extension groups - + Allowed file extensions can be placed into groups for easy management and viewing. To manage the extension groups, click Manage extension groups once you get into the Posting settings part of the ACP. You can configure specific settings regarding each extension group. - + To add a new file extension group, find the textbox that corresponds to the Create new group button. Type in the name of the extension group, then click Submit. You will be greeted with the extension group settings form. The following contains descriptions for each option available, and applies to extension groups that either already exist or are being added. - + Add Extension Group Group name: The name of the extension group. @@ -1120,12 +1120,12 @@ Assigned extensions: This is a list of all file extensions that belong in this extension group. Click Go to extension management screen to manage what extensions belong in this extension group. Allowed forums: This allows you to control what forums your users are allowed to post attachments that belong in this extension group. To enable this extension group in all forums, select the Allow all forums radio button. To set which specific forums this extension group is allowed in, select the Only forums selected below radio button, and then select the forums in the selection menu. - + To edit a current file extension group's settings, click the "Settings" icon that is in the extension group's row. Then, go ahead and edit the extension group's settings. For more information about each setting, see the above. - + To delete an extension group, click the "Delete" icon that is in the extension group's row.
- +
@@ -1135,13 +1135,13 @@ Orphaned attachments - + Sometimes, attachments may be orphaned, which means that they exist in the specified files directory (to configure this directory, see the section on attachment settings), but aren't assigned to any post(s). This can happen when posts are deleted or edited, or even when users attach a file, but don't submit their post. - + To manage orphaned attachments, click on Orphaned attachments on the left-hand menu once you're in the Posting settings section of the ACP. You should see a list of all orphaned attachments in the table, along with all the important information regarding each orphaned attachment. - + You can assign an orphaned attachment to a specific post. To do so, you must first find the post's post ID. Enter this value into the Post ID column for the particular orphaned attachment. Enable Attach file to post, then click Submit. - + To delete an orphaned attachment, check the orphaned attachment's Delete checkbox, then click Submit. Note that this cannot be undone.
@@ -1152,7 +1152,7 @@ dhn - + MennoniteHobbit @@ -1163,13 +1163,13 @@
Manage Users Users are the basis of your forum. As a forum administrator, it is very important to be able to manage your users. Managing your users and their information and specific options is easy, and can be done via the ACP. - + To begin, log in and reach your ACP. Find and click on Users and Groups to reach the necessary page. If you do not see User Administration , simply find and click on Manage Users in the navigation menu on the left side of the page. - + To continue and manage a user, you must know the username(s) that you want to manage. In the textbox for the "Find a member:" field, type in the username of the user whose information and settings you wish to manage. On the other hand, if you want to find a member, click on [ Find a Member ] (which is below the textbox) and follow all the steps appropriate to find and select a user. If you wiant to manage the information and settings for the Anonymous user (any visitor who is not logged in is set as the Anonymous user), check the checkbox labeled "Select Anonymous User". Once you have selected a user, click Submit. - + There are many sections relating to a user's settings. The following are subsections that have more information on each form. Each form allows you to manage specific settings for the user you have selected. When you are done with editing the data on each form, click Submit (located at the bottom of each form) to submit your changes. - +
@@ -1180,7 +1180,7 @@ User Overview This is the first form that shows up when you first select a user to manage. Here, all of the general information and settings for each user is displayed. - + Username @@ -1188,35 +1188,35 @@ This is the name of the user you're currently managing. If you want to change the user's username, type in a new username between three and twenty characters long into the textbox labeled Username: - + Registered This is the complete date on which the user registered. You cannot edit this value. - + Registered from IP This is the IP address from which the user registered his or her account. If you want to determine the IP hostname, click on the IP address itself. The current page will reload and will display the appropriate information. If you want to perform a whois on the IP address, click on the Whois link. A new window will pop up with this data. - + Last Active This is the complete date on which the user was last active. - + Posts This number indicates how many posts the user has posted on the board. - + Warnings @@ -1224,44 +1224,44 @@ For more information about warnings, see . - + Founder Founders are users who have all administrator permissions and can never be banned, deleted or altered by non-founder members. If you want to set this user as a founder, select the Yes radio button. To remove founder status from a user, select the No radio button. - + Email This is the user's currently set email address. To change the email address, fill in the Email: textbox with a valid email. - + Confirm email address This textbox should only be filled if you are changing the user's email address. If you are changing the email address, both the Email: textbox and this one should be filled with the same email address. If you do not fill this in, the user's email address will not be changed. - + New password As an administrator, you cannot see any of your users' password. However, it is possible to change passwords. To change the user's password, type in a new password in the New password: textbox. The new password has to be between six and thirty characters long. - + Before submitting any changes to the user, make sure this field is blank, unless you really want to change the user's password. If you accidentally change the user's password, the original password cannot be recovered! - + Confirm new password This textbox should only be filled if you are changing the user's password. If you are changing the user's password, the Confirm new password: textbox needs to be filled in with the same password you filled in in the above New password: textbox. - + Quick Tools @@ -1270,7 +1270,7 @@
- +
@@ -1281,12 +1281,12 @@ User Feedback Another aspect of managing a user is editing their feedback data. Feedback consists of any sort of user warning issued to the user by a forum administrator. - + To customise the display of the user's existing log entries, select any criteria for your customisation by selecting your options in the drop-down selection boxes entitled Display entries from previous: and Sort by:. Display entries from previous: allows you to set a specific time period in which the feedback was issued. Sort by: allows you to sort the existing log entries by Username, Date, IP address, and Log Action. The log entries can then be sorted in ascending or descending order. When you are done setting these options, click the Go button to update the page with your customisations. - + Another way of managing a user's feedback data is by adding feedback. Simply find the section entitled Add feedback and enter your message into the FEEDBACK text area. When you are done, click Submit to add the feedback.
- +
@@ -1296,7 +1296,7 @@ User Profile - + Users may sometimes have content in their forum profile that requires that you either update it or delete it. If you don't want to change a field, leave it blank.The following are the profile fields that you can change: ICQ Number has to be a number at least three digits long. @@ -1312,7 +1312,7 @@
- +
@@ -1322,10 +1322,10 @@ User Preferences - + Users have many settings they can use for their account. As an administrator, you can change any of these settings. The user settings (also known as preferences) are grouped into three main categories: Global Settings, Posting Defaults, and Display Options.
- +
@@ -1335,7 +1335,7 @@ User Avatar - + Here you can manage the user's avatar. If the user has already set an avatar for himself/herself, then you are able to see the avatar image. Depending on your avatar settings (for more information on avatar settings, see Avatar Settings), you can choose any option available to change the user's avatar: Upload from your machine, Upload from a URL, or Link off-site. You can also select an avatar from your board's avatar gallery by clicking the Display gallery button next to Local gallery:. @@ -1344,7 +1344,7 @@ To delete the avatar image, simply check the Delete image checkbox underneath the avatar image. When you are done choosing what avatar the user will have, click Submit to update the user's avatar.
- +
@@ -1354,11 +1354,11 @@ User Rank - + Here you can set the user's rank. You can set the user's rank by selecting the rank from the User Rank: drop-down selection box. After you've picked the rank, click Submit to update the user's rank. For more information about ranks, see .
- +
@@ -1368,14 +1368,14 @@ User Signature - + Here you can add, edit, or delete the user's signature. The user's current signature should be displayed in the Signature form. Just edit the signature by typing whatever you want into the text area. You can use BBCode and any other special formatting with what's provided. When you are done editing the user's signature, click Submit to update the user's signature. The signature that you set has to obey the board's signature limitations that you currently have set.
- +
@@ -1385,12 +1385,12 @@ Groups - + Here you can see all of the usergroups that the user is in. From this page you can easily remove the user from any usergroup, or add the user to an existing group. The table entitled Special groups user is a member of lists out the usergroups the user is currently a member of. Adding the user to a new usergroup is very easy. To do so, find the pull-down menu labeled Add user to group: and select a usergroup from that menu. Once the usergroup is selected, click Submit. Your addition will immediately take effect. To delete the user from a group he/she is currently a member of, find the row that the usergroup is in, and click Delete. You will be greeted with a confirmation screen; if you want to go ahead and do so, click Yes.
- +
@@ -1400,10 +1400,10 @@ Permissions - + Here you can see all of the permissions currently set for the user. For each group the user is in, there is a separate section on the page for the permissions that relates to that category. To actually set the user's permissions, see .
- +
@@ -1413,7 +1413,7 @@ Attachments - + Depending on the current attachments settings, your users may already have attachments posted. If the user has already uploaded at least one attachment, you can see the listing of the attachment(s) in the table. The data available for each attachment consist of: Filename, Topic title, Post time, Filesize, and Downloads. To help you in managing the user's attachment(s), you can choose the sorting order of the attachments list. Find the Sort by: pull-down menu and pick the category you want to use the sort the list (the possible options are Filename, Extension, Filesize, Downloads, Post time, and Topic title. To choose the sorting order, choose either Descending or Ascending from the pull-down menu besides the sorting category. Once you are done, click Go. To view the attachment, click on the attachment's filename. The attachment will open in the same browser window. You can also view the topic in which the attachment was posted by clicking on the link besides the Topic: label, which is below the filename. Deleting the user's attachment(s) is very easy. In the attachments listing, check the checkboxes that are next to the attachment(s) you want to delete. When everything you want has been selected, click Delete marked, which is located below the attachments listing. @@ -1467,7 +1467,7 @@
- +
@@ -1503,11 +1503,11 @@ Users' forum permissions - + Along with editing your users' user account-related permissions, you can also edit their forum permissions, which relate to the forums in your board. Forum permissions are different from user permissions in that they are directly related and tied to the forums. Users' forum permissions allows you to edit your users' forum permissions. When doing so, you can only assign forum permissions to one user at a time. - + To start editing a user's forum permissions, start by typing in the user's username into the Find a member text box. If you would like to edit the forum permissions that pertain to the anonymous user, check the Select anonymous user text box. Click Submit to continue. - +
Selecting forums for users' forum permissions @@ -1519,10 +1519,10 @@
- + You should now be able to assign forum permissions to the user. You now have two ways to assign forum permissions to the user: you may either select the forum(s) manually with a multiple selection menu, or select a specific forum or category, along with its associated subforums. Click Submit to continue with the forum(s) you have picked. Now, you should be greeted with the Setting permissions screen, where you can actually assign the forum permissions to the user. You should now select what kind of forum permissions you want to edit now; you may either edit the user's Forum permissions or Moderator permissions. Click Go. You should now be able to select the role to assign to the user for each forum you selected previously. If you would like to configure these permissions with more detail, click the Advanced permissions link located in the appropriate forum permissions box, and then update the permissions accordingly. When you are done, click Apply all permissions if you are in the Advanced permissions area, or click Apply all permissions at the bottom of the page to submit all of your changes on the page.
- +
@@ -1532,9 +1532,9 @@ Custom profile fields - + One of the many new features in phpBB3 that enhance the user experience is Custom Profile Fields. In the past, users could only fill in information in the common profile fields that were displayed; administrators had to add MODifications to their board to accommodate their individual needs. In phpBB3, however, administrators can comfortably create custom profile fields through the ACP. - + To create your custom profile field, login to your ACP. Click on the Users and Groups tab, and then locate the Custom profile fields link in the left-hand menu to click on. You should now be on the proper page. Locate the empty textbox below the custom profile fields headings, which is next to a selection menu and a Create new field button. Type in the empty textbox the name of the new profile field you want to create first. Then, select the field type in the selection menu. Available options are Numbers, Single text field, Textarea, Boolean (Yes/No), Dropdown box, and Date. Click the Create new field button to continue. The following describes each of the three sets of settings that the new custom profile field will have. Add profile field @@ -1542,7 +1542,7 @@ Field identification: This is the name of the profile field. This name will identify the profile field within phpBB3's database and templates. Display profile field: This setting determines if the new profile field will be displayed at all. The profile field will be shown on topic pages, profiles and the memberlist if this is enabled within the load settings. Only showing within the users profile is enabled by default. - + Visibility option Display in user control panel: This setting determines if your users will be able to change the profile field within the UCP. @@ -1550,17 +1550,17 @@ Required field: This setting determines if you want to force your users to fill in this profile field. This will display the profile field at registration and within the user control panel. Hide profile field: If this option is enabled, this profile field will only show up in users' profiles. Only administrators and moderators will be able to see or fill out this field in this case. - + Language specific options Field name/title presented to the user: This is the actual name of the profile field that will be displayed to your users. Field description: This is a simple description/explanation for your users filling out this field. - + When you are done with the above settings, click the Profile type specific options button to continue. Fill out the appropriate settings with what you desire, then click the Next button. If your new custom profile field was created successfully, you should be greeted with a green success message. Congratulations!
- +
@@ -1570,22 +1570,22 @@ Managing ranks - + Ranks are special titles that can be applied to forum users. As an administrator, it is up to you to create and manage the ranks that exist on your board. The actual names for the ranks are completely up to you; it's usually best to tailor them to the main purpose of your board. - + When assigning a special rank name to a user, remember that no permissions are associated. For example, if you create a "Support Moderator" rank and assign it to a user, that user will not automatically get moderator permissions. You must assign the user the special permissions separately. - + To manage your board's ranks, login to your ACP, click on the Users and Groups tab, and then click on the Manage ranks link located in the left-hand menu. You should now be on the rank management page. All current existing ranks are displayed. - + To create a new rank, click on the Add new rank button located below the existing ranks list. Fill in the first field Rank title with the name of the rank. If you uploaded an image you want to attribute to the rank into the /images/ranks/ folder, you can select an image from the selection menu. The last setting you can set is if you want the rank to be a "special" rank. Special ranks are ranks that administrators assign to users; they are not automatically assigned to users based on their postcount. If you selected No, then you can fill in the Minimum posts field with the minimum number of posts your users must have before getting assigned this rank. When you are done, click the Submit button to add this new rank. - + To edit a rank's current settings, locate the rank's row, and then click on its "Edit" button located in the Action column. - + To delete a rank, locate the rank's row, and then click on its "Delete" button located in the Action column. Then, you must confirm the action by clicking on the Yes button when prompted.
- +
@@ -1596,7 +1596,7 @@ User Security Other than being able to manage your users on your board, it is also important to be able to protect your board and prevent unwanted registrations and users. The User Security section allows you to manage banned emails, IPs, and usernames, as well as managing disallowed usernames and user pruning. Banned users that exhibit information that match any of these ban rules will not be able to reach any part of your board. - +
@@ -1607,7 +1607,7 @@ Ban emails Sometimes, it is necessary to ban emails in order to prevent unwanted registrations. There may be certain users or spam bots that use emails that you are aware of. Here, in the Ban emails section, you can do this. You can control which email addresses are banned, how long a ban is in effect, and the given reason(s) for banning. - + To ban or exclude one or more email addresses, fill in the Ban one or more email addresses form. Once you are done with your changes, click Submit. Ban one or more email addresses @@ -1617,7 +1617,7 @@ Reason for ban: This is a short reason for why you want to ban the email address(es). This is optional, and can help you remember in the future why you banned the email address(es). Reason shown to the banned: This is a short explanation that will actually be shown to the users with the banned email address(es). This can be different from the above Reason for ban. - + Other than adding emails to be banned, you can also un-ban or un-exclude email addresses from bans. To un-ban or exclude one or more email addresses from bans, fill in the Un-ban or un-exclude emails form. Once you are done, click Submit. Un-ban or un-exclude emails @@ -1627,7 +1627,7 @@ Reason shown to the banned: This is an uneditable information box that shows the reason shown to the banned for the currently selected email. If more than one email address is selected, only one of the shown ban reasons will be displayed.
- +
@@ -1638,7 +1638,7 @@ Ban IPs Sometimes, it is necessary to ban IP addresses or hostnames in order to prevent unwanted users. There may be certain users or spam bots that use IPs or hostnames that you are aware of. Here, in the Ban IPs section, you can do this. You can control which IP addresses or hostnames are banned, how long a ban is in effect, and the given reason(s) for banning. - + To ban or exclude one or more IP addresses and/or hostnames, fill in the Ban one or more email addresses form. Once you are done with your changes, click Submit. Ban one or more IPs @@ -1648,7 +1648,7 @@ Reason for ban: This is a short reason for why you want to ban the IP address(es) and/or hostname(s). This is optional, and can help you remember in the future why you banned the IP address(es) and/or hostname(s). Reason shown to the banned: This is a short explanation that will actually be shown to the users with the banned IP address(es) and/or hostname(s). This can be different from the above Reason for ban. - + Other than adding IP address(es) and/or hostname(s) to be banned, you can also un-ban or un-exclude IP address(es) and/or hostname(s) from bans. To un-ban or exclude one or more IP address(es) and/or hostname(s) from bans, fill in the Un-ban or un-exclude IPs form. Once you are done, click Submit. Un-ban or un-exclude IPs @@ -1658,7 +1658,7 @@ Reason shown to the banned: This is an uneditable information box that shows the reason shown to the banned for the currently selected IP address or hostname. If more than one IP address or hostname is selected, only one of the shown ban reasons will be displayed.
- +
@@ -1669,7 +1669,7 @@ Ban Users Whenever you encounter troublesome users on your board, you may have to ban them. On the Ban usernames page, you can do exactly that. On this page, you can manage all banned usernames. - + To ban or exclude one or more users, fill in the Ban one or more users form. Once you are done with your changes, click Submit. Ban one or more usernames @@ -1679,7 +1679,7 @@ Reason for ban: This is a short reason for why you want to ban the username(s). This is optional, and can help you remember in the future why you banned the user(s). Reason shown to the banned: This is a short explanation that will actually be shown to the banned user(s). This can be different from the above Reason for ban. - + Other than adding users to be banned, you can also un-ban or un-exclude usernames from bans. To un-ban or exclude one or more users from bans, fill in the Un-ban or un-exclude usernames form. Once you are done, click Submit. Un-ban or un-exclude usernames @@ -1689,7 +1689,7 @@ Reason shown to the banned: This is an uneditable information box that shows the reason shown to the banned for the currently selected username. If more than one username is selected, only one of the shown ban reasons will be displayed.
- +
@@ -1699,14 +1699,14 @@ Disallow usernames - + In phpBB3, it is also possible to disallow the registration of certain usernames that match any usernames that you configure. (This is useful if you want to prevent users from registering with usernames that might confuse them with an important board member.) To manage disallowed usernames, go to the ACP, click the Users and Groups tab, and then click on Disallow usernames, which is located on the side navigation menu. - + To add a disallowed username, locate the Add a disallowed username form, and then type in the username in the textbox labeled Username. You can use wildcards (*) to match any character. For example, to disallow any username that matches "JoeBloggs", you could type in "Joe*". This would prevent all users from registering a username that starts with "Joe". Once you are done, click Submit. - + To remove a disallowed username, locate the Remove a disallowed username form. Select the disallowed username that you would like to remove from the Username selection menu. Click Submit to remove the selected disallowed username.
- +
@@ -1716,11 +1716,11 @@ Prune users - + In phpBB3, it is possible to prune users from your board in order to keep only your active members. You can also delete a whole user account, along with everything associated with the user account. Prune users allows you to prune and deactivate user accounts on your board by post count, last visited date, and more. - + To start the pruning process, locate the Prune users form. You can prune users based on any combination of the available criteria. (In other words, fill out every field in the form that applies to the user(s) you're targeting for pruning.) When you are ready to prune users that match your specified settings, click Submit. - + Prune users Username: Enter a username that you want to be pruned. You can use wildcards (*) to prune users that have a username that matches the given pattern. @@ -1732,86 +1732,86 @@ Delete pruned user posts: When users are removed (actually deleted and not just deactivated), you must choose what to do with their posts. To delete all of the posts that belong to the pruned user(s), select the radio button labeled Yes. Otherwise, select No and the pruned user(s)' posts will remain on the board, untouched. Deactivate or delete: You must choose whether you want to deactivate the pruned user(s)' accounts, or to completely delete and remove them from the board's database. - + Pruning users cannot be undone! Be careful with the criteria you choose when pruning users.
- +
dhn - + MennoniteHobbit - + Group Management - + Usergroups are a way of grouping users. This makes it easier to set permissions to many people at the same time. phpBB 3.3 has six pre-defined groups: Administrators, Bots, Global Moderators, Guests, Registered Users, and Registered COPPA Users. - +
dhn - + MennoniteHobbit - + Group types There are two types of groups: - + Pre-defined groups These are groups that are available by default in phpBB 3.3. You cannot delete them, as the board needs them for various features. You can still change their attributes (description, colour, rank, avatar, and so forth) and group leaders. Users that register to your board are automatically added to the predefined group "Registered Users", for instance. Do not try to remove them manually through the database, or your board will no longer function properly. - + Administrators This usergroup contains all of the administrators on your board. All founders are administrators, but not all administrators are founders. You can control what administrators can do by managing this group. - + Bots This usergroup is meant for search engine bots. phpBB 3.3 has the ability to overcome the common problems that search engine spiders encounter when spidering your board. For more information on managing settings for each bot, see the Spiders and Bots section. - + Global Moderators Global moderators are moderators that have moderator permissions for every forum in your board. You can edit what permissions these moderators have by managing this group. - + Guests Guests are visitors to your board who aren't logged in. You can limit what guests can do by managing this usergroup. - + Registered Users Registered users are a big part of your board. Registered users have already registered on your board. To control what registered users can do, manage this usergroup. - + Registered COPPA Users Registered COPPA users are basically the same as registered users, except that they fall under the COPPA, or Child Online Privacy Protection Act, law, meaning that they are under the age of 13 in the U.S.A. Managing the permissions this usergroup has is important in protecting these users. COPPA doesn't apply to users living outside of the U.S.A. and can be disabled altogether. - + @@ -1823,7 +1823,7 @@ The Manage Groups section in the ACP shows you separated lists of both your "User defined groups" and the "Pre-defined groups". - +
Group attributes @@ -1860,9 +1860,9 @@ Group avatar A member that has this group as the default group (see ) will use this avatar. Note that a member can change his avatar to a different one if he has the permission to do so. For more information on avatar settings, see the userguide section on avatars. - + - +
Default groups @@ -1890,7 +1890,7 @@ Finally, you are able to choose which groups are considered Team positions and should be shown on the Team page.
- +
@@ -1900,7 +1900,7 @@ Permissions - On your board, you will need to control what users can and cannot do, and what they can and cannot see. With the flexible and detailed system that Rhea provides, you have an extensive ability to manage permissions. There are five types of permissions in phpBB3: + On your board, you will need to control what users can and cannot do, and what they can and cannot see. With the flexible and detailed system that Proteus provides, you have an extensive ability to manage permissions. There are five types of permissions in phpBB3: Global User permissions Global Moderator permissions @@ -2216,7 +2216,7 @@ Styles Styling is one aspect of this customisability. Being able to manage the styles your board uses is important in keeping an interesting board. Your board's style may even reflect the purpose of your board. Styles allows you to manage all the styles available on your board. - +
Styles overview @@ -2228,14 +2228,14 @@
- + Creating a style is not an easy task and it takes quite a lot of time. Skilled designers from the phpBB community create styles that are available publicly and anyone can download them. This is a good place to start if you want to download and install a new style and you cannot afford to create your own, for any possible reason. The first place where you should stop is the Styles section on phpBB.com, you will find a list of useful links for places like the: Styles Demo The styles demo allows you to display each style on a live forum and see how each part of the board looks like using the specified style. You can browse through the styles until you find one that suits you and/or your board. The styles demo provides links to download the style and see its entry in the styles database. - + Styles Database The Style Database contains all the styles that were validated by the phpBB.com Styles Team. All styles are validated to ensure they are safe to use, work correctly and do not have any other caveats. You can filter styles by parameters like version, color or category to easily find a style that you would like. Each style entry in the database contains a link to the Style Demo, to show a live example of the style in use. @@ -2243,8 +2243,8 @@ - - + +
@@ -2255,9 +2255,9 @@ Installing and managing styles After you choose a style and you are ready to install it, unpack it on your PC and upload the directory with the style to your board's server. Make sure that the directory you upload to the server's styles contains the template and theme directories, as well as a style.cfg file. The only exception is when a style has its template or theme based on another one, you will however be informed of that when you download the style. Having the dependent style component installed is required to install such a style. - + Since you have uploaded all the necessary files, you can continue to install your style. Go to the Customise tab in the ACP and click the Install Styles link. You should see a table containing a list of your uploaded styles. If you want to install your downloaded style, click the Install style link next to its title. - + At this moment, you should know how to install a new style. However, there are some links and features on the Styles overview page that we have missed. They are: Details: This link will take you to the details of style, where you can change its name, set if the style is active or not, as well as if it should be the board's default style. @@ -2283,7 +2283,7 @@ After uploading the extension, it will appear in the Extension Manager, where you simply need to click the Enable link to activate the extension. Once an extension is activated, an Extensions tab will appear in the Administration Control Panel if the extension has any configuration settings. The Details link shows you information about the extension, such as its authors, home page, description, and version requirements. The Current Version column indicates if you have the latest version of the extension. The Settings link at the top of the screen allows you to check for updates on pre-release extensions that are not yet considered to be stable. Your board will periodically check to see if you are running the latest extensions, but you can click the Re-Check all versions link to force a re-check of your extensions' versions. - + If a newer version of your extension is available, you can update it by following these steps: Disable the extension by clicking the Disable link in the Actions column. @@ -2338,11 +2338,11 @@ Board Maintenance - + Running a phpBB 3.3 board is a very important job that is up to the administrator(s). Maintaining the board to make sure it runs as cleanly and properly as possible is the administrator's job. - + Board Maintenance is a section in the ACP that allows you to keep track of internal phpBB information, such as logs, as well as maintaining your database (which holds your phpBB-related data), such as backing up and restoring data. - +
@@ -2382,13 +2382,13 @@ - + Click on one of the log links located in the left-hand Forum Logs section. - + If you have appropriate permissions, you are able to remove any or all log entries from the above sections. To remove log entries, go to the appropriate log entries section, check the log entries' checkboxes, and then click on the Delete marked checkbox to delete the log entries. - +
- +
diff --git a/documentation/content/en/chapters/quick_start_guide.xml b/documentation/content/en/chapters/quick_start_guide.xml index e62fe3a7..d83b98d7 100644 --- a/documentation/content/en/chapters/quick_start_guide.xml +++ b/documentation/content/en/chapters/quick_start_guide.xml @@ -97,7 +97,7 @@ Installation - phpBB 3.3 Rhea has an easy to use installation system that will guide you through the installation process. + phpBB 3.3 Proteus has an easy to use installation system that will guide you through the installation process. After you have decompressed the phpBB3 archive and uploaded the files to the location where you want it to be installed, you need to enter the URL into your browser to open the installation screen. The first time you point your browser to the URL (http://www.example.com/phpBB3 for instance), phpBB will detect that it is not yet installed and automatically redirect you to the installation screen.
Introduction @@ -301,7 +301,7 @@ Setting permissions - After you created your first forum, you have to decide who has access to it and what your users are allowed to do and what not. This is what Permissions are for. You can disallow guests to post or hand out moderating powers, for instance. Almost every aspect of user interaction with phpBB 3.3 Rhea can be adjusted with permissions. + After you created your first forum, you have to decide who has access to it and what your users are allowed to do and what not. This is what Permissions are for. You can disallow guests to post or hand out moderating powers, for instance. Almost every aspect of user interaction with phpBB 3.3 Proteus can be adjusted with permissions.
Permission types @@ -352,7 +352,7 @@
The Forum Permissions page shows you two columns, one for users and one for groups to select (see ). The top lists on both columns labelled as Manage Users and Manage Groups show users and groups that already have permissions on at least one of your selected forums set. You can select them and change their permissions with the Edit Permissions button, or use Remove Permissions to remove them which leads to them not having permissions set, and therefore not being able to see the forum or have any access to it (unless they have access to it through another group). The bottom boxes allow you to add new users or groups, that do not currently have permissions set on at least one of your selected forums. To add permissions for groups, select one or more groups either in the Add Groups list (this works similar with users, but if you want to add new users, you have to type them in manually in the Add Users text box or use the Find a member function). Add Permissions will take you to the permission interface. Each forum you selected is listed, with the groups or users to change the permissions for below them. - There are two ways to assign permissions: You can set them manually or use predefined Permission Roles for a simpler but less powerful way. You can switch between both approaches any time you want. You can skip the manual permission introduction and jump directly into the section on "Permissions Roles", if you are eager to get everything running as quickly as possible. But remember that permission roles do only offer a small bit of what the permission system has to offer and we believe that to be a good Rhea administrator, you have to fully grasp permissions. + There are two ways to assign permissions: You can set them manually or use predefined Permission Roles for a simpler but less powerful way. You can switch between both approaches any time you want. You can skip the manual permission introduction and jump directly into the section on "Permissions Roles", if you are eager to get everything running as quickly as possible. But remember that permission roles do only offer a small bit of what the permission system has to offer and we believe that to be a good Proteus administrator, you have to fully grasp permissions. Both ways only differ in the way you set them. They both share the same interface.
@@ -384,7 +384,7 @@
Permissions roles - phpBB 3.3 Rhea ships with a number of default permission roles, that offer you a wide variety of options for setting permissions. Instead of having to check each radio button manually, you can select a predefined role in the Rolepull down list. Each role has a detailed description, that will pop up when you hover your mouse over it. Submit your changes with Apply Permissions or Apply All Permissions when you are satisfied with them. That will set the permissions and you are done. + phpBB 3.3 Proteus ships with a number of default permission roles, that offer you a wide variety of options for setting permissions. Instead of having to check each radio button manually, you can select a predefined role in the Rolepull down list. Each role has a detailed description, that will pop up when you hover your mouse over it. Submit your changes with Apply Permissions or Apply All Permissions when you are satisfied with them. That will set the permissions and you are done.
Permission roles diff --git a/documentation/create_docs.sh b/documentation/create_docs.sh index 6794e4ad..b8be6ec1 100755 --- a/documentation/create_docs.sh +++ b/documentation/create_docs.sh @@ -7,7 +7,7 @@ echo "Removing build directory" rm -rf build echo "Creating docs" -xsltproc --xinclude xsl/rhea_33_php.xsl rhea_33_doc.xml +xsltproc --xinclude xsl/proteus_php.xsl proteus_doc.xml if [ "$?" == "0" ]; then echo "Successfully created documentation" diff --git a/documentation/create_pdf.bat b/documentation/create_pdf.bat index 2b0cc796..36c6d6eb 100644 --- a/documentation/create_pdf.bat +++ b/documentation/create_pdf.bat @@ -4,9 +4,9 @@ set fop_path=C:\fop echo Removing previous PDF -del rhea_33_doc.pdf +del proteus_doc.pdf echo Creating new PDF -%fop_path%\fop -xml rhea_33_doc.xml -xsl xsl\rhea_33_pdf.xsl -pdf rhea_33_doc.pdf +%fop_path%\fop -xml proteus_doc.xml -xsl xsl\proteus_pdf.xsl -pdf proteus_doc.pdf echo Done diff --git a/documentation/create_pdf.sh b/documentation/create_pdf.sh index 1ad7123d..d67f8383 100644 --- a/documentation/create_pdf.sh +++ b/documentation/create_pdf.sh @@ -1,9 +1,9 @@ #!/bin/bash echo "Removing previous PDF" -rm rhea_doc.pdf +rm proteus_doc.pdf echo "Creating new PDF" -fop -xml rhea_33_doc.xml -xsl xsl/rhea_33_pdf.xsl -pdf rhea_33_doc.pdf +fop -xml proteus_doc.xml -xsl xsl/proteus_pdf.xsl -pdf proteus_doc.pdf echo "Done" diff --git a/documentation/rhea_33_doc.xml b/documentation/proteus_doc.xml similarity index 95% rename from documentation/rhea_33_doc.xml rename to documentation/proteus_doc.xml index af79c40c..a5951310 100644 --- a/documentation/rhea_33_doc.xml +++ b/documentation/proteus_doc.xml @@ -7,7 +7,7 @@ ]> - phpBB 3.3 <emphasis>Rhea</emphasis> Documentation + phpBB 3.3 <emphasis>Proteus</emphasis> Documentation The detailed documentation for phpBB 3.3 Rhea. diff --git a/documentation/xsl/rhea_33_pdf.xsl b/documentation/xsl/proteus_pdf.xsl similarity index 100% rename from documentation/xsl/rhea_33_pdf.xsl rename to documentation/xsl/proteus_pdf.xsl diff --git a/documentation/xsl/rhea_33_php.xsl b/documentation/xsl/proteus_php.xsl similarity index 99% rename from documentation/xsl/rhea_33_php.xsl rename to documentation/xsl/proteus_php.xsl index 774f17bf..bfd89b2a 100644 --- a/documentation/xsl/rhea_33_php.xsl +++ b/documentation/xsl/proteus_php.xsl @@ -37,7 +37,7 @@ - + diff --git a/documentation/xsl/rhea_33_php_subsection.xsl b/documentation/xsl/proteus_php_subsection.xsl similarity index 99% rename from documentation/xsl/rhea_33_php_subsection.xsl rename to documentation/xsl/proteus_php_subsection.xsl index 13448a6c..a590bef6 100644 --- a/documentation/xsl/rhea_33_php_subsection.xsl +++ b/documentation/xsl/proteus_php_subsection.xsl @@ -40,7 +40,7 @@ - + diff --git a/documentation/xsl/rhea_33_phpbb_dot_com.xsl b/documentation/xsl/proteus_phpbb_dot_com.xsl similarity index 99% rename from documentation/xsl/rhea_33_phpbb_dot_com.xsl rename to documentation/xsl/proteus_phpbb_dot_com.xsl index fd48ee5c..8b3fd7f7 100644 --- a/documentation/xsl/rhea_33_phpbb_dot_com.xsl +++ b/documentation/xsl/proteus_phpbb_dot_com.xsl @@ -3,7 +3,6 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> Credentials". Your Client ID will serve as the key and your Client Secret will serve as the secret. Additionally, you will need to create a "Consent screen" in the Developers Console as well. Specify the following Request URIs when you set up your client ID on the Google Developers Console: http://{your_board_URL}/ucp.php?mode=login&login=external&oauth_service=google From 50fd882bb7916adef316242f0e0e9d34d6cba6a5 Mon Sep 17 00:00:00 2001 From: Patrick Webster Date: Sun, 9 Aug 2020 16:01:24 -0500 Subject: [PATCH 133/242] Update Facebook and Twitter OAuth sections --- documentation/content/en/chapters/admin_guide.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/documentation/content/en/chapters/admin_guide.xml b/documentation/content/en/chapters/admin_guide.xml index cd0a1b99..cae1c15c 100644 --- a/documentation/content/en/chapters/admin_guide.xml +++ b/documentation/content/en/chapters/admin_guide.xml @@ -281,7 +281,7 @@ OAuth Authentication OAuth requires a key and a secret. These are provided to you from the OAuth provider. Each provider may have a different name for the key and secret Bitly: Your token information can be found here: https://bitly.com/a/oauth_apps. Your key is the Client ID and your secret is the Client Secret. - Facebook: You will need to create an application on Facebook to obtain your token information. The App ID is your key and the App Secret is your secret. + Facebook: You will need to create an application on Facebook to obtain your token information. The App ID is your key and the App Secret is your secret. Google: Visit the Google Developers Console to create a new OAuth Client ID. You can find it on the left side under "APIs and auth --> Credentials". Your Client ID will serve as the key and your Client Secret will serve as the secret. Additionally, you will need to create a "Consent screen" in the Developers Console as well. Specify the following Request URIs when you set up your client ID on the Google Developers Console: http://{your_board_URL}/ucp.php?mode=login&login=external&oauth_service=google @@ -289,6 +289,7 @@ The link ID may be different from your board. If it is, you will receive an error when attempting to link an account. Change the "1" to the number found in the request URI error that Google gives you. + Twitter: Create a Twitter App. Your Consumer Key will serve as the key and your Consumer Secret will serve as the secret.
From 5d07ffbe96257ce1dacb724fbc03ec1c310e406c Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Wed, 19 Aug 2020 12:18:32 -0700 Subject: [PATCH 134/242] Update ext testing docs for phpBB 3.3. --- development/extensions/tutorial_testing.rst | 150 +++++++++++--------- 1 file changed, 85 insertions(+), 65 deletions(-) diff --git a/development/extensions/tutorial_testing.rst b/development/extensions/tutorial_testing.rst index 94947921..9458b574 100644 --- a/development/extensions/tutorial_testing.rst +++ b/development/extensions/tutorial_testing.rst @@ -60,7 +60,7 @@ require no changes for extensions, we only add a quick example here. protected $language; protected $template; - public function setUp() + public function setUp(): void { parent::setUp(); @@ -148,7 +148,7 @@ Using mocks In the ``setUp()`` method we create our controller object. However, we do not use the actual phpBB classes which are used by the controller when opening the page. Instead -`phpunit mocks `_ are +`phpunit mocks `_ are injected. These mocks allow us to check how often a method is called, what the arguments @@ -258,7 +258,7 @@ method: ->willReturn($language_return); For more information about Mocks and phpunit, please have a look at the -`phpunit Documentation `_. +`phpunit Documentation `_. phpunit configuration file -------------------------- @@ -271,6 +271,7 @@ The file should be stored as ``ext/acme/demo/phpunit.xml.dist``: .. code-block:: xml + @@ -289,14 +289,11 @@ The file should be stored as ``ext/acme/demo/phpunit.xml.dist``: ./tests/functional - ./tests/functional/ + ./tests/functional/ - - ./tests/ - ./ @@ -308,28 +305,43 @@ The file should be stored as ``ext/acme/demo/phpunit.xml.dist``: -Now we can finally run the test suite by executing the following command:: +Now we can finally run the test suite by executing the following command: + +.. code-block:: sh $ ./phpBB/vendor/bin/phpunit -c phpBB/ext/acme/demo/phpunit.xml.dist - PHPUnit 4.1.0 by Sebastian Bergmann. - Configuration read from /home/nickv/phpBB/Ascraeus/phpBB/ext/acme/demo/phpunit.xml.dist +Results: - ... +.. code-block:: sh + + PHPUnit 7.5.20 by Sebastian Bergmann and contributors. + + Runtime: PHP 7.1.33 with Xdebug 2.7.2 + Configuration: /home/user/phpBB/phpBB/ext/acme/demo/phpunit.xml.dist + + ... 3 / 3 (100%) Time: 101 ms, Memory: 9.00Mb OK (3 tests, 12 assertions) -To run only the tests from one file just append the relative path to the call:: +To run only the tests from one file just append the relative path to the call: +.. code-block:: sh $ ./phpBB/vendor/bin/phpunit -c phpBB/ext/acme/demo/phpunit.xml.dist phpBB/ext/acme/demo/tests/controller/main_test.php - PHPUnit 4.1.0 by Sebastian Bergmann. - Configuration read from /home/nickv/phpBB/Ascraeus/phpBB/ext/acme/demo/phpunit.xml.dist +Results: - ... +.. code-block:: sh + + PHPUnit 7.5.20 by Sebastian Bergmann and contributors. + + Runtime: PHP 7.1.33 with Xdebug 2.7.2 + Configuration: /home/user/phpBB/phpBB/ext/acme/demo/phpunit.xml.dist + + ... 3 / 3 (100%) Time: 92 ms, Memory: 9.00Mb @@ -453,7 +465,7 @@ that the test fails: return $this->createXMLDataSet(dirname(__FILE__) . '/fixtures/add_database_changes.xml'); } - public function setUp() + public function setUp(): void { parent::setUp(); @@ -496,14 +508,17 @@ specify an empty config table Execution --------- -When we now execute the tests again they will fail:: +When we now execute the tests again they will fail: + +.. code-block:: sh $ ./phpBB/vendor/bin/phpunit -c phpBB/ext/acme/demo/phpunit.xml.dist - PHPUnit 4.1.0 by Sebastian Bergmann. + PHPUnit 7.5.20 by Sebastian Bergmann and contributors. - Configuration read from /home/nickv/phpBB/Ascraeus/phpBB/ext/acme/demo/phpunit.xml.dist + Runtime: PHP 7.1.33 with Xdebug 2.7.2 + Configuration: /home/user/phpBB/phpBB/ext/acme/demo/phpunit.xml.dist - ...FF + ...FF 5 / 5 (100%) Time: 5.27 seconds, Memory: 10.75Mb @@ -513,13 +528,13 @@ When we now execute the tests again they will fail:: Asserting that column "user_acme" exists Failed asserting that false is true. - /home/nickv/phpBB/Ascraeus/phpBB/ext/acme/demo/tests/migrations/add_database_changes_test.php:42 + /home/user/phpBB/phpBB/ext/acme/demo/tests/migrations/add_database_changes_test.php:42 2) acme\demo\tests\migrations\add_database_changes_test::test_acme_demo_table Asserting that column "phpbb_acme_demo" does not exist Failed asserting that false is true. - /home/nickv/phpBB/Ascraeus/phpBB/ext/acme/demo/tests/migrations/add_database_changes_test.php:47 + /home/user/phpBB/phpBB/ext/acme/demo/tests/migrations/add_database_changes_test.php:47 FAILURES! Tests: 5, Assertions: 14, Failures: 2. @@ -540,14 +555,17 @@ test and returning an array with the extension name: ... -and now the test passes successfully:: +and now the test passes successfully: + +.. code-block:: sh $ ./phpBB/vendor/bin/phpunit -c phpBB/ext/acme/demo/phpunit.xml.dist - PHPUnit 4.1.0 by Sebastian Bergmann. + PHPUnit 7.5.20 by Sebastian Bergmann and contributors. - Configuration read from /home/nickv/phpBB/Ascraeus/phpBB/ext/acme/demo/phpunit.xml.dist + Runtime: PHP 7.1.33 with Xdebug 2.7.2 + Configuration: /home/user/phpBB/phpBB/ext/acme/demo/phpunit.xml.dist - ..... + ..... 5 / 5 (100%) Time: 5.45 seconds, Memory: 13.75Mb @@ -689,7 +707,7 @@ right message, like the unit test we wrote in `unit tests`_ at the beginning: $this->add_lang_ext('acme/demo', 'demo'); $crawler = self::request('GET', 'app.php/demo/world'); - $this->assertContains($this->lang('DEMO_HELLO', 'world'), $crawler->filter('h2')->text()); + $this->assertStringContainsString($this->lang('DEMO_HELLO', 'world'), $crawler->filter('h2')->text()); } public function test_demo_bertie() @@ -697,18 +715,21 @@ right message, like the unit test we wrote in `unit tests`_ at the beginning: $this->add_lang_ext('acme/demo', 'demo'); $crawler = self::request('GET', 'app.php/demo/bertie'); - $this->assertContains($this->lang('NO_AUTH_SPEAKING', 'bertie'), $crawler->filter('#message p')->text()); + $this->assertStringContainsString($this->lang('NO_AUTH_SPEAKING', 'bertie'), $crawler->filter('#message p')->text()); } } -Running this test, however, will fail:: +Running this test, however, will fail: + +.. code-block:: sh $ ./phpBB/vendor/bin/phpunit -c phpBB/ext/acme/demo/phpunit.xml.dist - PHPUnit 4.1.0 by Sebastian Bergmann. + PHPUnit 7.5.20 by Sebastian Bergmann and contributors. - Configuration read from /home/nickv/phpBB/Ascraeus/phpBB/ext/acme/demo/phpunit.xml.dist + Runtime: PHP 7.1.33 with Xdebug 2.7.2 + Configuration: /home/user/phpBB/phpBB/ext/acme/demo/phpunit.xml.dist - ........F + ........F 9 / 9 (100%) Time: 22.37 seconds, Memory: 17.25Mb @@ -718,10 +739,10 @@ Running this test, however, will fail:: HTTP status code does not match Failed asserting that 403 matches expected 200. - /home/nickv/phpBB/Ascraeus/tests/test_framework/phpbb_functional_test_case.php:900 - /home/nickv/phpBB/Ascraeus/tests/test_framework/phpbb_functional_test_case.php:859 - /home/nickv/phpBB/Ascraeus/tests/test_framework/phpbb_functional_test_case.php:138 - /home/nickv/phpBB/Ascraeus/phpBB/ext/acme/demo/tests/functional/demo_test.php:38 + /home/user/phpBB/tests/test_framework/phpbb_functional_test_case.php:900 + /home/user/phpBB/tests/test_framework/phpbb_functional_test_case.php:859 + /home/user/phpBB/tests/test_framework/phpbb_functional_test_case.php:138 + /home/user/phpBB/phpBB/ext/acme/demo/tests/functional/demo_test.php:38 FAILURES! Tests: 9, Assertions: 49, Failures: 1. @@ -740,17 +761,20 @@ in the controller, if someone tries to talk to bertie: $crawler = self::request('GET', 'app.php/demo/bertie', [], false); self::assert_response_html(403); - $this->assertContains($this->lang('NO_AUTH_SPEAKING', 'bertie'), $crawler->filter('#message p')->text()); + $this->assertStringContainsString($this->lang('NO_AUTH_SPEAKING', 'bertie'), $crawler->filter('#message p')->text()); } -Now the tests will pass correctly:: +Now the tests will pass correctly: + +.. code-block:: sh $ ./phpBB/vendor/bin/phpunit -c phpBB/ext/acme/demo/phpunit.xml.dist - PHPUnit 4.1.0 by Sebastian Bergmann. + PHPUnit 7.5.20 by Sebastian Bergmann and contributors. - Configuration read from /home/nickv/phpBB/Ascraeus/phpBB/ext/acme/demo/phpunit.xml.dist + Runtime: PHP 7.1.33 with Xdebug 2.7.2 + Configuration: /home/user/phpBB/phpBB/ext/acme/demo/phpunit.xml.dist - ......... + ......... 9 / 9 (100%) Time: 22.11 seconds, Memory: 17.00Mb @@ -807,32 +831,26 @@ first file is the Travis CI configuration file, ``.travis.yml``: .. code-block:: yaml language: php - dist: trusty + dist: xenial matrix: include: - - php: 5.5 + - php: 7.1 env: DB=none;NOTESTS=1 - - php: 5.4 - env: DB=mysqli #myisam - - php: 5.4 - env: DB=mysql - - php: 5.4 + - php: 7.1 env: DB=mariadb - - php: 5.4 + - php: 7.1 env: DB=postgres - - php: 5.4 + - php: 7.1 env: DB=sqlite3 - - php: 5.5 - env: DB=mysqli - - php: 5.6 - env: DB=mysqli - - php: 7.0 - env: DB=mysqli - php: 7.1 - env: DB=mysqli + env: DB=mysqli # MyISAM - php: 7.2 env: DB=mysqli + - php: 7.3 + env: DB=mysqli + - php: 7.4snapshot + env: DB=mysqli - php: nightly env: DB=mysqli allow_failures: @@ -845,7 +863,7 @@ first file is the Travis CI configuration file, ``.travis.yml``: - SNIFF="1" # Should we run code sniffer on your code? - IMAGE_ICC="1" # Should we run icc profile sniffer on your images? - EPV="1" # Should we run EPV (Extension Pre Validator) on your code? - - PHPBB_BRANCH="3.2.x" + - PHPBB_BRANCH="3.3.x" # Branch of phpBB to run tests against branches: only: @@ -853,8 +871,12 @@ first file is the Travis CI configuration file, ``.travis.yml``: - develop - /^\d+(\.\d+)?\.x$/ + services: + - postgresql + - mysql + install: - - travis/prepare-phpbb.sh $EXTNAME $PHPBB_BRANCH + - travis/prepare-phpbb.sh $PHPBB_BRANCH - cd ../../phpBB3 - travis/prepare-extension.sh $EXTNAME $PHPBB_BRANCH - travis/setup-phpbb.sh $DB $TRAVIS_PHP_VERSION @@ -882,7 +904,7 @@ first file is the Travis CI configuration file, ``.travis.yml``: - SNIFF="1" # Should we run code sniffer on your code? - IMAGE_ICC="1" # Should we run icc profile sniffer on your images? - EPV="1" # Should we run EPV (Extension Pre Validator) on your code? - - PHPBB_BRANCH="3.2.x" + - PHPBB_BRANCH="3.3.x" # Branch of phpBB to run tests against Preparing phpBB --------------- @@ -910,9 +932,7 @@ the phpBB installation from GitHub for us: set -e set -x - EXTNAME=$1 - BRANCH=$2 - EXTPATH_TEMP=$3 + BRANCH=$1 # Copy extension to a temp folder mkdir ../../tmp @@ -920,7 +940,7 @@ the phpBB installation from GitHub for us: cd ../../ # Clone phpBB - git clone --depth=1 "git://github.com/phpbb/phpbb.git" "phpBB3" --branch=$BRANCH + git clone --depth=1 "git://github.com/phpbb/phpbb.git" "phpBB3" --branch="$BRANCH" .. note:: From 6d0023f2a9150bdf774e14f4b5455d69ccfb3762 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Wed, 19 Aug 2020 12:27:17 -0700 Subject: [PATCH 135/242] Fix travis --- development/extensions/tutorial_testing.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/extensions/tutorial_testing.rst b/development/extensions/tutorial_testing.rst index 9458b574..892afada 100644 --- a/development/extensions/tutorial_testing.rst +++ b/development/extensions/tutorial_testing.rst @@ -849,7 +849,7 @@ first file is the Travis CI configuration file, ``.travis.yml``: env: DB=mysqli - php: 7.3 env: DB=mysqli - - php: 7.4snapshot + - php: 7.4 env: DB=mysqli - php: nightly env: DB=mysqli From 2a1dcfee8fee92e333e16ab7da2210e723a1679a Mon Sep 17 00:00:00 2001 From: rxu Date: Mon, 24 Aug 2020 15:46:12 +0700 Subject: [PATCH 136/242] Fix the description of using add_lang() method --- development/language/usage.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/language/usage.rst b/development/language/usage.rst index 3008ceae..763fda5b 100644 --- a/development/language/usage.rst +++ b/development/language/usage.rst @@ -97,7 +97,7 @@ Loading from an extension To load a file from an extension you need to use ``phpbb\language\language::add_lang()`` which takes -the vendor + extension name as first argument and the array of language files as +the array of language files as a first argument and the vendor + extension name as a second argument. .. code-block:: php From 39a3be1e08666a02c69198641d106900100a8a82 Mon Sep 17 00:00:00 2001 From: Christian Schnegelberger Date: Thu, 27 Aug 2020 10:58:11 +0200 Subject: [PATCH 137/242] Update Tutorial testing travis CI config --- development/extensions/tutorial_testing.rst | 73 +++++++++++++++++++-- 1 file changed, 66 insertions(+), 7 deletions(-) diff --git a/development/extensions/tutorial_testing.rst b/development/extensions/tutorial_testing.rst index 892afada..3d63115a 100644 --- a/development/extensions/tutorial_testing.rst +++ b/development/extensions/tutorial_testing.rst @@ -879,8 +879,8 @@ first file is the Travis CI configuration file, ``.travis.yml``: - travis/prepare-phpbb.sh $PHPBB_BRANCH - cd ../../phpBB3 - travis/prepare-extension.sh $EXTNAME $PHPBB_BRANCH - - travis/setup-phpbb.sh $DB $TRAVIS_PHP_VERSION - - sh -c "if [ '$EPV' == '1' -a '$NOTESTS' == '1' ]; then cd phpBB; composer remove sami/sami --update-with-dependencies --dev --no-interaction; composer require phpbb/epv:dev-master --dev --no-interaction --ignore-platform-reqs; cd ../; fi" + - travis/setup-phpbb.sh $DB $TRAVIS_PHP_VERSION $NOTESTS + - ..///travis/prepare-epv.sh $EPV $NOTESTS before_script: - travis/setup-database.sh $DB $TRAVIS_PHP_VERSION $NOTESTS @@ -894,7 +894,7 @@ first file is the Travis CI configuration file, ``.travis.yml``: .. note:: You should not need to make any changes in this file, apart from the - following section, which should be quite self explanatory: + following sections, which should be quite self explanatory: .. code-block:: yaml @@ -906,6 +906,13 @@ first file is the Travis CI configuration file, ``.travis.yml``: - EPV="1" # Should we run EPV (Extension Pre Validator) on your code? - PHPBB_BRANCH="3.3.x" # Branch of phpBB to run tests against + as well as this line, you need to replace ```` and ```` with the Github username + and the name of the repository e.g ``phpbb/phpbb-ext-acme-demo`` + + .. code-block:: yaml + + - ..///travis/prepare-epv.sh $EPV $NOTESTS + Preparing phpBB --------------- @@ -953,15 +960,63 @@ the phpBB installation from GitHub for us: $ cd path/to/your/extension $ git update-index --chmod=+x travis/prepare-phpbb.sh +Preparing EPV +--------------- + +The third file we need to create is a helper file called +``travis/prepare-epv.sh``, which is a script used by Travis CI, to set up +the phpBB extension prevalidator (EPV) for us: + +.. warning:: + + You should not edit the content of this file! + +.. code-block:: bash + + #!/bin/bash + # + # This file is part of the phpBB Forum Software package. + # + # @copyright (c) phpBB Limited + # @license GNU General Public License, version 2 (GPL-2.0) + # + # For full copyright and license information, please see + # the docs/CREDITS.txt file. + # + set -e + set -x + + EPV=$1 + NOTESTS=$2 + + if [ "$EPV" == "1" ] && [ "$NOTESTS" == "1" ] + then + cd phpBB + composer remove sami/sami --update-with-dependencies --dev --no-interaction + composer require phpbb/epv:dev-master --dev --no-interaction --ignore-platform-reqs + cd ../ + fi + +.. note:: + + The prepare-phpbb.sh file needs to have executable permissions or Travis CI + tests will fail. You can set the correct permission for this file from a + terminal command line interface, e.g. + + .. code-block:: bash + + $ cd path/to/your/extension + $ git update-index --chmod=+x travis/prepare-epv.sh + Enable Travis CI on GitHub -------------------------- As a final step you need to enable Travis CI in your GitHub repository. - 1. Open your repository, e.g. ``_, - 2. Go to "Settings" - 3. "Integrations & Services" - 4. Press the "Add Service" button and search for ``Travis CI`` + 1. Go to ``_ + 2. Login with your Github account, which belongs to your repository ``_ + 3. Go to the line of your repository and change the switch to ``on`` + 4. Go to your ``_ and check if the tests are working Now when you commit and push the travis files you created to the ``master`` branch of your repository, the unit, database and functional tests will be executed. @@ -980,3 +1035,7 @@ in your code that must be fixed. Travis CI also provides Build Status badges. They provide you the code in markdown format so you can add the badge to your repository's README so visitors can see that the build status of your extension. + + .. code-block:: txt + + [![Build Status](https://travis-ci.org/phpbb/phpbb-ext-acme-demo.svg?branch=master)](https://travis-ci.org/phpbb/phpbb-ext-acme-demo) From d56a32dc65bbf0b5d611d3e32b38814123977e88 Mon Sep 17 00:00:00 2001 From: Christian Schnegelberger Date: Fri, 28 Aug 2020 10:22:41 +0200 Subject: [PATCH 138/242] Matt feedback --- development/extensions/tutorial_testing.rst | 67 ++------------------- 1 file changed, 6 insertions(+), 61 deletions(-) diff --git a/development/extensions/tutorial_testing.rst b/development/extensions/tutorial_testing.rst index 3d63115a..6f5363cf 100644 --- a/development/extensions/tutorial_testing.rst +++ b/development/extensions/tutorial_testing.rst @@ -880,7 +880,7 @@ first file is the Travis CI configuration file, ``.travis.yml``: - cd ../../phpBB3 - travis/prepare-extension.sh $EXTNAME $PHPBB_BRANCH - travis/setup-phpbb.sh $DB $TRAVIS_PHP_VERSION $NOTESTS - - ..///travis/prepare-epv.sh $EPV $NOTESTS + - sh -c "if [ '$EPV' = '1' -a '$NOTESTS' = '1' ]; then cd phpBB; composer remove sami/sami --dev --no-interaction; composer require phpbb/epv:dev-master --dev --no-interaction --ignore-platform-reqs; cd ../; fi" before_script: - travis/setup-database.sh $DB $TRAVIS_PHP_VERSION $NOTESTS @@ -894,7 +894,7 @@ first file is the Travis CI configuration file, ``.travis.yml``: .. note:: You should not need to make any changes in this file, apart from the - following sections, which should be quite self explanatory: + following section, which should be quite self explanatory: .. code-block:: yaml @@ -906,13 +906,6 @@ first file is the Travis CI configuration file, ``.travis.yml``: - EPV="1" # Should we run EPV (Extension Pre Validator) on your code? - PHPBB_BRANCH="3.3.x" # Branch of phpBB to run tests against - as well as this line, you need to replace ```` and ```` with the Github username - and the name of the repository e.g ``phpbb/phpbb-ext-acme-demo`` - - .. code-block:: yaml - - - ..///travis/prepare-epv.sh $EPV $NOTESTS - Preparing phpBB --------------- @@ -960,63 +953,15 @@ the phpBB installation from GitHub for us: $ cd path/to/your/extension $ git update-index --chmod=+x travis/prepare-phpbb.sh -Preparing EPV ---------------- - -The third file we need to create is a helper file called -``travis/prepare-epv.sh``, which is a script used by Travis CI, to set up -the phpBB extension prevalidator (EPV) for us: - -.. warning:: - - You should not edit the content of this file! - -.. code-block:: bash - - #!/bin/bash - # - # This file is part of the phpBB Forum Software package. - # - # @copyright (c) phpBB Limited - # @license GNU General Public License, version 2 (GPL-2.0) - # - # For full copyright and license information, please see - # the docs/CREDITS.txt file. - # - set -e - set -x - - EPV=$1 - NOTESTS=$2 - - if [ "$EPV" == "1" ] && [ "$NOTESTS" == "1" ] - then - cd phpBB - composer remove sami/sami --update-with-dependencies --dev --no-interaction - composer require phpbb/epv:dev-master --dev --no-interaction --ignore-platform-reqs - cd ../ - fi - -.. note:: - - The prepare-phpbb.sh file needs to have executable permissions or Travis CI - tests will fail. You can set the correct permission for this file from a - terminal command line interface, e.g. - - .. code-block:: bash - - $ cd path/to/your/extension - $ git update-index --chmod=+x travis/prepare-epv.sh - Enable Travis CI on GitHub -------------------------- As a final step you need to enable Travis CI in your GitHub repository. - 1. Go to ``_ - 2. Login with your Github account, which belongs to your repository ``_ - 3. Go to the line of your repository and change the switch to ``on`` - 4. Go to your ``_ and check if the tests are working + 1. Go to ``_ and sign in with your Github account. + 2. If you have not yet signed up with Travis CI, you will be directed to Github where you will need to accept the Authorization of Travis CI. + 3. Click on your Travis CI profile picture in the top right of your Travis Dashboard, click Settings and then the green Activate button, and select the repositories you want to use with Travis CI. + 4. Now when you push commits to your repo, or pull requests are created, your tests should automatically run. Now when you commit and push the travis files you created to the ``master`` branch of your repository, the unit, database and functional tests will be executed. From 88edfdef4efa25d55c52f64d83db801d8e87e3e5 Mon Sep 17 00:00:00 2001 From: Christian Schnegelberger Date: Fri, 28 Aug 2020 19:44:53 +0200 Subject: [PATCH 139/242] Remove build-image example --- development/extensions/tutorial_testing.rst | 4 ---- 1 file changed, 4 deletions(-) diff --git a/development/extensions/tutorial_testing.rst b/development/extensions/tutorial_testing.rst index 6f5363cf..c6b65f7e 100644 --- a/development/extensions/tutorial_testing.rst +++ b/development/extensions/tutorial_testing.rst @@ -980,7 +980,3 @@ in your code that must be fixed. Travis CI also provides Build Status badges. They provide you the code in markdown format so you can add the badge to your repository's README so visitors can see that the build status of your extension. - - .. code-block:: txt - - [![Build Status](https://travis-ci.org/phpbb/phpbb-ext-acme-demo.svg?branch=master)](https://travis-ci.org/phpbb/phpbb-ext-acme-demo) From 8867ba7b19a703f9c84088247e97163d4a70400e Mon Sep 17 00:00:00 2001 From: William Desportes Date: Thu, 10 Sep 2020 15:34:00 +0200 Subject: [PATCH 140/242] Remove sami from the tutorial --- development/extensions/tutorial_testing.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/extensions/tutorial_testing.rst b/development/extensions/tutorial_testing.rst index c6b65f7e..911a7025 100644 --- a/development/extensions/tutorial_testing.rst +++ b/development/extensions/tutorial_testing.rst @@ -880,7 +880,7 @@ first file is the Travis CI configuration file, ``.travis.yml``: - cd ../../phpBB3 - travis/prepare-extension.sh $EXTNAME $PHPBB_BRANCH - travis/setup-phpbb.sh $DB $TRAVIS_PHP_VERSION $NOTESTS - - sh -c "if [ '$EPV' = '1' -a '$NOTESTS' = '1' ]; then cd phpBB; composer remove sami/sami --dev --no-interaction; composer require phpbb/epv:dev-master --dev --no-interaction --ignore-platform-reqs; cd ../; fi" + - sh -c "if [ '$EPV' = '1' -a '$NOTESTS' = '1' ]; then cd phpBB; composer require phpbb/epv:dev-master --dev --no-interaction --ignore-platform-reqs; cd ../; fi" before_script: - travis/setup-database.sh $DB $TRAVIS_PHP_VERSION $NOTESTS From 6e8030e392edd1a207961c82fe3026b7f45dc05e Mon Sep 17 00:00:00 2001 From: Patrick Webster Date: Sun, 25 Oct 2020 14:16:57 -0500 Subject: [PATCH 141/242] Add mbstring to the required PHP extension list. --- documentation/content/en/chapters/quick_start_guide.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/documentation/content/en/chapters/quick_start_guide.xml b/documentation/content/en/chapters/quick_start_guide.xml index d83b98d7..d132d67a 100644 --- a/documentation/content/en/chapters/quick_start_guide.xml +++ b/documentation/content/en/chapters/quick_start_guide.xml @@ -63,6 +63,9 @@ json + + mbstring + XML support From 868e3b544f535eddb45469a0f9127a7dc8b17fd3 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Wed, 24 Feb 2021 10:41:46 -0800 Subject: [PATCH 142/242] Replace Travis-CI with Github Action Docs --- development/extensions/tutorial_testing.rst | 596 +++++++++++++++----- 1 file changed, 453 insertions(+), 143 deletions(-) diff --git a/development/extensions/tutorial_testing.rst b/development/extensions/tutorial_testing.rst index 911a7025..c39c48d5 100644 --- a/development/extensions/tutorial_testing.rst +++ b/development/extensions/tutorial_testing.rst @@ -788,14 +788,13 @@ Now the tests will pass correctly: the first functional tests. Subsequent functional tests **do not reinstall** the board, so they do not have the long setup time. -Continuous integration with Travis CI -===================================== +Continuous integration with Github Actions +========================================== As a final step in this tutorial, we want to explain how to set up automated -testing of your extension on `Travis CI `_ (free of -charge, when your project is public). In order to do that, your extension must -first be set up as a project repository on `GitHub `_ (also -free of charge, when your project is public). +testing of your extension using Github Actions. In order to do that, your extension must +first be set up as a project repository on `GitHub `_ (free of charge +for public open source repositories). If you need help setting up git and creating your GitHub project, please have a look at the `Help section `_ on Github, particularly @@ -806,177 +805,488 @@ the following two help topics: .. note:: - It is recommended to use the root of the extension (``ext/acme/demo``) also - as root for the Git repository. Otherwise the scripts that phpBB provides for + It is recommended to use the root of the extension (``ext/acme/demo``) as + the root for the Git repository. Otherwise the scripts that phpBB provides for easy test execution on Travis CI will not work correctly. View one of phpBB's official extension repositories as an example: `Board Rules `_. -Travis CI configuration file ----------------------------- +Create your Github Action Workflow file +--------------------------------------- -When you are done with that, we need to add two files to our extension. The -first file is the Travis CI configuration file, ``.travis.yml``: +From your repository on GitHub.com, click **Add File** and select **Create new file** +and name the file ``.github/workflows/tests.yml``. -.. note:: - - If you have trouble generating the file, because it has a leading dot, try - naming the file ``.travis.yml.`` (with a leading and trailing dot). This - will allow you to create the file on most operating systems. - - The file should now also be hidden. If you can not see it anymore, your - file explorer should have an option to make hidden files visible again. +Copy the following into the ``tests.yml`` file: .. code-block:: yaml - language: php - dist: xenial - - matrix: - include: - - php: 7.1 - env: DB=none;NOTESTS=1 - - php: 7.1 - env: DB=mariadb - - php: 7.1 - env: DB=postgres - - php: 7.1 - env: DB=sqlite3 - - php: 7.1 - env: DB=mysqli # MyISAM - - php: 7.2 - env: DB=mysqli - - php: 7.3 - env: DB=mysqli - - php: 7.4 - env: DB=mysqli - - php: nightly - env: DB=mysqli - allow_failures: - - php: nightly - fast_finish: true + name: Tests env: - global: - - EXTNAME="acme/demo" # CHANGE name of the extension HERE - - SNIFF="1" # Should we run code sniffer on your code? - - IMAGE_ICC="1" # Should we run icc profile sniffer on your images? - - EPV="1" # Should we run EPV (Extension Pre Validator) on your code? - - PHPBB_BRANCH="3.3.x" # Branch of phpBB to run tests against - - branches: - only: - - master - - develop - - /^\d+(\.\d+)?\.x$/ - - services: - - postgresql - - mysql - - install: - - travis/prepare-phpbb.sh $PHPBB_BRANCH - - cd ../../phpBB3 - - travis/prepare-extension.sh $EXTNAME $PHPBB_BRANCH - - travis/setup-phpbb.sh $DB $TRAVIS_PHP_VERSION $NOTESTS - - sh -c "if [ '$EPV' = '1' -a '$NOTESTS' = '1' ]; then cd phpBB; composer require phpbb/epv:dev-master --dev --no-interaction --ignore-platform-reqs; cd ../; fi" - - before_script: - - travis/setup-database.sh $DB $TRAVIS_PHP_VERSION $NOTESTS - - script: - - sh -c "if [ '$SNIFF' != '0' ]; then travis/ext-sniff.sh $DB $TRAVIS_PHP_VERSION $EXTNAME $NOTESTS; fi" - - sh -c "if [ '$IMAGE_ICC' != '0' ]; then travis/check-image-icc-profiles.sh $DB $TRAVIS_PHP_VERSION $NOTESTS; fi" - - sh -c "if [ '$EPV' != '0' -a '$NOTESTS' = '1' ]; then phpBB/vendor/bin/EPV.php run --dir='phpBB/ext/$EXTNAME/'; fi" - - sh -c "if [ '$NOTESTS' != '1' ]; then phpBB/vendor/bin/phpunit --configuration phpBB/ext/$EXTNAME/travis/phpunit-$DB-travis.xml --bootstrap ./tests/bootstrap.php; fi" + EXTNAME: acme/demo # Your extension vendor/package name + SNIFF: 1 # Run code sniffer on your code? 1 or 0 + IMAGE_ICC: 1 # Run icc profile sniffer on your images? 1 or 0 + EPV: 1 # Run EPV (Extension Pre Validator) on your code? 1 or 0 + EXECUTABLE_FILES: 1 # Run check for executable files? 1 or 0 + PHPBB_BRANCH: 3.3.x # The phpBB branch to run tests on + + on: + push: + branches: # Run tests when commits are pushed to these branches in your repo + - master + - develop + pull_request: # Run tests when pull requests are made on these branches in your repo + branches: + - master + - develop + + jobs: + # START Basic Checks Job (EPV, code sniffer, images check, etc.) + basic-checks: + runs-on: ubuntu-18.04 + strategy: + matrix: + include: + - php: '7.1' + db: "none" + NOTESTS: 1 + + name: PHP ${{ matrix.php }} - ${{ matrix.db }} + + steps: + - name: Checkout phpBB + uses: actions/checkout@v2 + with: + repository: phpbb/phpbb + ref: ${{ env.PHPBB_BRANCH }} + path: phpBB3 + + - name: Checkout extension + uses: actions/checkout@v2 + with: + path: phpBB3/phpBB/ext/${{ env.EXTNAME }} + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, mysqli, sqlite, pdo_sqlite, intl, gd, exif, iconv, sqlsrv, pdo_sqlsrv, ldap + coverage: none + + - name: Setup environment for phpBB + env: + DB: ${{ matrix.db }} + PHP_VERSION: ${{ matrix.php }} + NOTESTS: '1' + run: .github/setup-phpbb.sh $DB $PHP_VERSION $NOTESTS + working-directory: ./phpBB3 + + - name: Setup EPV + if: ${{ env.EPV != 0 }} + run: composer require phpbb/epv:dev-master --dev --no-interaction --ignore-platform-reqs + working-directory: ./phpBB3/phpBB + + - name: Run code sniffer + if: ${{ env.SNIFF != 0 }} + env: + NOTESTS: '1' + run: .github/ext-sniff.sh $EXTNAME $NOTESTS + working-directory: ./phpBB3 + + - name: Check image ICC profiles + if: ${{ env.IMAGE_ICC != 0 }} + run: .github/check-image-icc-profiles.sh + working-directory: ./phpBB3 + + - name: Check executable files + if: ${{ env.EXECUTABLE_FILES != 0 }} + run: .github/ext-check-executable-files.sh ./ $EXTNAME + working-directory: ./phpBB3 + + - name: Run EPV + if: ${{ env.EPV != 0 }} + run: phpBB/vendor/bin/EPV.php run --dir="phpBB/ext/$EXTNAME/" + working-directory: ./phpBB3 + # END Basic Checks Job + + # START MySQL and MariaDB Job + mysql-tests: + runs-on: ubuntu-18.04 + strategy: + matrix: + include: + - php: '7.1' + db: "mariadb:10.1" + - php: '7.1' + db: "mariadb:10.2" + - php: '7.1' + db: "mariadb:10.3" + - php: '7.1' + db: "mariadb:10.4" + - php: '7.1' + db: "mariadb:10.5" + - php: '7.1' + db: "mysql:5.6" + db_alias: "MyISAM Tests" + MYISAM: 1 + - php: '7.1' + db: "mysql:5.6" + - php: '7.1' + db: "mysql:5.7" + - php: '7.2' + db: "mysql:5.7" + - php: '7.3' + db: "mysql:5.7" + - php: '7.4' + db: "mysql:5.7" + - php: '7.4' + db: "mysql:8.0" + - php: '8.0' + db: "mysql:5.7" + + name: PHP ${{ matrix.php }} - ${{ matrix.db_alias != '' && matrix.db_alias || matrix.db }} + + services: + mysql: + image: ${{ matrix.db }} + env: + MYSQL_ALLOW_EMPTY_PASSWORD: yes + MYSQL_DATABASE: phpbb_tests + ports: + - 3306:3306 + options: >- + --health-cmd="mysqladmin ping" + --health-interval=10s + --health-timeout=5s + --health-retries=3 + + redis: + image: redis + options: >- + --health-cmd "redis-cli ping" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + - 6379:6379 + + steps: + - name: Checkout phpBB + uses: actions/checkout@v2 + with: + repository: phpbb/phpbb + ref: ${{ env.PHPBB_BRANCH }} + path: phpBB3 + + - name: Checkout extension + uses: actions/checkout@v2 + with: + path: phpBB3/phpBB/ext/${{ env.EXTNAME }} + + - id: database-type + env: + MATRIX_DB: ${{ matrix.db }} + run: | + db=$(echo "${MATRIX_DB%%:*}") + echo "::set-output name=db::$db" + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, mysqli, sqlite, pdo_sqlite, intl, gd, exif, iconv, sqlsrv, pdo_sqlsrv, ldap + coverage: none + + - name: Setup environment for phpBB + env: + DB: ${{steps.database-type.outputs.db}} + PHP_VERSION: ${{ matrix.php }} + NOTESTS: '0' + run: .github/setup-phpbb.sh $DB $PHP_VERSION ${NOTESTS:-0} + working-directory: ./phpBB3 + + - name: Setup database + env: + DB: ${{steps.database-type.outputs.db}} + MYISAM: ${{ matrix.MYISAM != 1 && '0' || '1' }} + run: .github/setup-database.sh $DB $MYISAM + working-directory: ./phpBB3 + + - name: Setup PHPUnit files + run: mkdir -p phpBB/ext/$EXTNAME/.github && cp .github/phpunit* $_ + working-directory: ./phpBB3 + + - name: Run unit tests + env: + DB: ${{steps.database-type.outputs.db}} + run: phpBB/vendor/bin/phpunit --configuration phpBB/ext/$EXTNAME/.github/phpunit-$DB-github.xml --bootstrap ./tests/bootstrap.php + working-directory: ./phpBB3 + # END MySQL and MariaDB Job + + # START PostgreSQL Job + postgres-tests: + runs-on: ubuntu-18.04 + strategy: + matrix: + include: + - php: '7.1' + db: "postgres:9.5" + - php: '7.1' + db: "postgres:9.6" + - php: '7.1' + db: "postgres:10" + - php: '7.1' + db: "postgres:11" + - php: '7.1' + db: "postgres:12" + - php: '7.1' + db: "postgres:13" + + name: PHP ${{ matrix.php }} - ${{ matrix.db }} + + services: + postgres: + image: ${{ matrix.db != 'postgres:9.5' && matrix.db != 'postgres:9.6' && matrix.db != 'postgres:10' && matrix.db != 'postgres:11' && matrix.db != 'postgres:12' && matrix.db != 'postgres:13' && 'postgres:10' || matrix.db }} + env: + POSTGRES_HOST: localhost + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + ports: + - 5432:5432 + options: >- + -v /var/run/postgresql:/var/run/postgresql + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + + redis: + image: redis + options: >- + --health-cmd "redis-cli ping" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + - 6379:6379 + + steps: + - name: Checkout phpBB + uses: actions/checkout@v2 + with: + repository: phpbb/phpbb + ref: ${{ env.PHPBB_BRANCH }} + path: phpBB3 + + - name: Checkout extension + uses: actions/checkout@v2 + with: + path: phpBB3/phpBB/ext/${{ env.EXTNAME }} + + - id: database-type + env: + MATRIX_DB: ${{ matrix.db }} + run: | + db=$(echo "${MATRIX_DB%%:*}") + echo "::set-output name=db::$db" + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, mysqli, sqlite, pdo_sqlite, intl, gd, exif, iconv, sqlsrv, pdo_sqlsrv, ldap + coverage: none + + - name: Setup environment for phpBB + env: + DB: ${{steps.database-type.outputs.db}} + PHP_VERSION: ${{ matrix.php }} + NOTESTS: '0' + run: .github/setup-phpbb.sh $DB $PHP_VERSION ${NOTESTS:-0} + working-directory: ./phpBB3 + + - name: Setup database + env: + DB: ${{steps.database-type.outputs.db}} + MYISAM: '0' + run: .github/setup-database.sh $DB $MYISAM + working-directory: ./phpBB3 + + - name: Setup PHPUnit files + run: mkdir -p phpBB/ext/$EXTNAME/.github && cp .github/phpunit* $_ + working-directory: ./phpBB3 + + - name: Run unit tests + env: + DB: ${{steps.database-type.outputs.db}} + run: phpBB/vendor/bin/phpunit --configuration phpBB/ext/$EXTNAME/.github/phpunit-$DB-github.xml --bootstrap ./tests/bootstrap.php + working-directory: ./phpBB3 + # END PostgreSQL Job + + # START Other Tests Job (SQLite 3 and mssql) + other-tests: + runs-on: ubuntu-18.04 + strategy: + matrix: + include: + - php: '7.1' + db: "sqlite3" + - php: '7.2' + db: "mcr.microsoft.com/mssql/server:2017-latest" + db_alias: 'MSSQL 2017' + - php: '7.2' + db: "mcr.microsoft.com/mssql/server:2019-latest" + db_alias: 'MSSQL 2019' + + name: PHP ${{ matrix.php }} - ${{ matrix.db_alias != '' && matrix.db_alias || matrix.db }} + + services: + mssql: + image: ${{ matrix.db != 'mcr.microsoft.com/mssql/server:2017-latest' && matrix.db != 'mcr.microsoft.com/mssql/server:2019-latest' && 'mcr.microsoft.com/mssql/server:2017-latest' || matrix.db }} + env: + SA_PASSWORD: "Pssw0rd_12" + ACCEPT_EULA: "y" + ports: + - 1433:1433 + options: >- + --health-cmd="/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P 'Pssw0rd_12' -Q \"Use [master]; CREATE DATABASE [phpbb_tests] COLLATE Latin1_General_CI_AS\" || exit 1" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + --health-start-period 10s + + redis: + image: redis + options: >- + --health-cmd "redis-cli ping" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + - 6379:6379 + + steps: + - name: Checkout phpBB + uses: actions/checkout@v2 + with: + repository: phpbb/phpbb + ref: ${{ env.PHPBB_BRANCH }} + path: phpBB3 + + - name: Checkout extension + uses: actions/checkout@v2 + with: + path: phpBB3/phpBB/ext/${{ env.EXTNAME }} + + - id: database-type + env: + MATRIX_DB: ${{ matrix.db }} + run: | + if [ $MATRIX_DB == 'mcr.microsoft.com/mssql/server:2017-latest' ] || [ $MATRIX_DB == 'mcr.microsoft.com/mssql/server:2019-latest' ] + then + db='mssql' + else + db=$(echo "${MATRIX_DB%%:*}") + fi + echo "::set-output name=db::$db" + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, mysqli, sqlite, pdo_sqlite, intl, gd, exif, iconv, sqlsrv, pdo_sqlsrv, ldap + coverage: none + + - name: Setup environment for phpBB + env: + DB: ${{steps.database-type.outputs.db}} + PHP_VERSION: ${{ matrix.php }} + NOTESTS: '0' + run: .github/setup-phpbb.sh $DB $PHP_VERSION ${NOTESTS:-0} + working-directory: ./phpBB3 + + - name: Setup database + env: + DB: ${{steps.database-type.outputs.db}} + MYISAM: '0' + run: .github/setup-database.sh $DB $MYISAM + working-directory: ./phpBB3 + + - name: Setup PHPUnit files + run: mkdir -p phpBB/ext/$EXTNAME/.github && cp .github/phpunit* $_ + working-directory: ./phpBB3 + + - name: Run unit tests + env: + DB: ${{steps.database-type.outputs.db}} + run: phpBB/vendor/bin/phpunit --configuration phpBB/ext/$EXTNAME/.github/phpunit-$DB-github.xml --bootstrap ./tests/bootstrap.php + working-directory: ./phpBB3 + # END Other Tests Job .. note:: - You should not need to make any changes in this file, apart from the - following section, which should be quite self explanatory: + You must change the ``EXTNAME`` variable to your extension's name (as you defined it in + your composer.json file) in the ``env`` section at the top of this file: .. code-block:: yaml env: - global: - - EXTNAME="acme/demo" # CHANGE name of the extension HERE - - SNIFF="1" # Should we run code sniffer on your code? - - IMAGE_ICC="1" # Should we run icc profile sniffer on your images? - - EPV="1" # Should we run EPV (Extension Pre Validator) on your code? - - PHPBB_BRANCH="3.3.x" # Branch of phpBB to run tests against - -Preparing phpBB ---------------- + EXTNAME: acme/demo # Your extension vendor/package name + SNIFF: 1 # Run code sniffer on your code? 1 or 0 + IMAGE_ICC: 1 # Run icc profile sniffer on your images? 1 or 0 + EPV: 1 # Run EPV (Extension Pre Validator) on your code? 1 or 0 + EXECUTABLE_FILES: 1 # Run check for executable files? 1 or 0 + PHPBB_BRANCH: 3.3.x # The phpBB branch to run tests on -The second file we need to create is a helper file called -``travis/prepare-phpbb.sh``, which is a script used by Travis CI, to set up -the phpBB installation from GitHub for us: +To save and run your workflow, scroll to the bottom of the page and select +**Create a new branch for this commit and start a pull request**. Then, to create a pull +request, click **Propose new file**. After you merge this pull request, all future +commits and pull requests on your master branch will trigger this CI workflow and +your unit, database and functional tests will be executed. -.. warning:: - - You should not edit the content of this file! +Customising Your Test Workflow +------------------------------ -.. code-block:: bash +You'll notice the ``env`` section of the workflow has options where you can enable or +disable basic tests such as the EPV, Code Sniffer, checking any images in your extension +for ICC profiles and checking for executable text files by changing their variables to +either 1 or 0. - #!/bin/bash - # - # This file is part of the phpBB Forum Software package. - # - # @copyright (c) phpBB Limited - # @license GNU General Public License, version 2 (GPL-2.0) - # - # For full copyright and license information, please see - # the docs/CREDITS.txt file. - # - set -e - set -x +You can also set the version of phpBB you want your extension tested in using the +``PHPBB_BRANCH`` variable. This tutorial is using the current version of phpBB which +is the 3.3.x branch. Older branches of phpBB are not being supported with Github Actions, +but can instead be used with `Travis-CI.com `_ . - BRANCH=$1 +Finally you may also make changes to the jobs. This tutorial's workflow is split up into several +jobs based on the databases being tested: - # Copy extension to a temp folder - mkdir ../../tmp - cp -R . ../../tmp - cd ../../ +* Basic Checks: The ``basic-checks`` job does not do any PHPUnit testing. This is where EPV, Code Sniffer and Image Profile checks run. If you never intend to run these checks you may either delete or comment out the entire ``basic-checks`` job. - # Clone phpBB - git clone --depth=1 "git://github.com/phpbb/phpbb.git" "phpBB3" --branch="$BRANCH" - -.. note:: +* MySQL Tests: The ``mysql-tests`` job runs PHPUnit tests in various MySQL and MariaDB and PHP combinations. They are all defined in the ``matrix`` section. This workflow only runs in versions of PHP 7 and PHP 8 but you could, for example, add tests for versions of PHP 5. (Note that to include PHP 5 in the test matrix you must change the ubuntu server for that job to ``runs-on: ubuntu-16.04``). You may delete or comment out some of the tests in the matrix if you do not want to test certain versions of PHP or MySQL or MariaDB. - The prepare-phpbb.sh file needs to have executable permissions or Travis CI - tests will fail. You can set the correct permission for this file from a - terminal command line interface, e.g. +* PostgreSQL Tests: The ``postgres-tests`` job runs PHPUnit tests in various versions of PostgreSQL. The PHP version is consistent throughout since the mysql-checks job is the where we do most of our PHP environment checks. You may add additional checks to this matrix or you may either delete or comment out the entire ``postgres-tests`` job if you do not need to test PostgreSQL. - .. code-block:: bash +* MSSQL, SQLite: The ``other-tests`` job runs PHPUnit tests in various versions of MSSQL and SQLite3. You may either delete or comment out the MSSQL or SQLite3 checks in the matrix if you do not need to test on either of those databases, or delete or comment out the entire ``other-tests`` job if you do not need to test any of these databases. - $ cd path/to/your/extension - $ git update-index --chmod=+x travis/prepare-phpbb.sh - -Enable Travis CI on GitHub --------------------------- - -As a final step you need to enable Travis CI in your GitHub repository. - - 1. Go to ``_ and sign in with your Github account. - 2. If you have not yet signed up with Travis CI, you will be directed to Github where you will need to accept the Authorization of Travis CI. - 3. Click on your Travis CI profile picture in the top right of your Travis Dashboard, click Settings and then the green Activate button, and select the repositories you want to use with Travis CI. - 4. Now when you push commits to your repo, or pull requests are created, your tests should automatically run. - -Now when you commit and push the travis files you created to the ``master`` -branch of your repository, the unit, database and functional tests will be executed. -All future commits pushed to your repository, including Pull Requests, will trigger -your tests to execute. +Final Thoughts on Extension Testing +----------------------------------- Well written tests help prevent regressions (breaking other parts of your code) by alerting you to any problems resulting from changes to your code while fixing bugs, adding new features and other code changes to your extension. If your tests fail after committing changes, you will receive a notification email -from Travis CI. The error logs from Travis CI can be a little daunting at first, -but once you get used to them they can help you pinpoint unforeseen bugs and regressions -in your code that must be fixed. +from GitHub. The logs from your Github Actions can be a little daunting at first, +but once you get used to reading them they can help you pinpoint unforeseen bugs +and regressions in your code that must be fixed. -Travis CI also provides Build Status badges. They provide you the code in markdown +Github Actions also provides Build Status badges. They provide you the code in markdown format so you can add the badge to your repository's README so visitors can see that -the build status of your extension. +the build status of your extension. For example (Just change ``GITHUB-USERNAME/REPO-NAME`` +to your repository): + + .. code-block:: text + + [![Build Status](https://github.com/GITHUB-USERNAME/REPO-NAME/workflows/Tests/badge.svg)](https://github.com/GITHUB-USERNAME/REPO-NAME/actions) From b2e072b7545c6468d73a8dc0b56f983e7f3f38f8 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Wed, 24 Feb 2021 14:09:01 -0800 Subject: [PATCH 143/242] Fix typos --- development/extensions/tutorial_testing.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/development/extensions/tutorial_testing.rst b/development/extensions/tutorial_testing.rst index c39c48d5..24a88df8 100644 --- a/development/extensions/tutorial_testing.rst +++ b/development/extensions/tutorial_testing.rst @@ -1266,9 +1266,9 @@ jobs based on the databases being tested: * MySQL Tests: The ``mysql-tests`` job runs PHPUnit tests in various MySQL and MariaDB and PHP combinations. They are all defined in the ``matrix`` section. This workflow only runs in versions of PHP 7 and PHP 8 but you could, for example, add tests for versions of PHP 5. (Note that to include PHP 5 in the test matrix you must change the ubuntu server for that job to ``runs-on: ubuntu-16.04``). You may delete or comment out some of the tests in the matrix if you do not want to test certain versions of PHP or MySQL or MariaDB. -* PostgreSQL Tests: The ``postgres-tests`` job runs PHPUnit tests in various versions of PostgreSQL. The PHP version is consistent throughout since the mysql-checks job is the where we do most of our PHP environment checks. You may add additional checks to this matrix or you may either delete or comment out the entire ``postgres-tests`` job if you do not need to test PostgreSQL. +* PostgreSQL Tests: The ``postgres-tests`` job runs PHPUnit tests in various versions of PostgreSQL. The PHP version is consistent throughout since the mysql-checks job is where we do most of our PHP environment checks. You may add additional checks to this matrix or you may either delete or comment out the entire ``postgres-tests`` job if you do not intend to test PostgreSQL. -* MSSQL, SQLite: The ``other-tests`` job runs PHPUnit tests in various versions of MSSQL and SQLite3. You may either delete or comment out the MSSQL or SQLite3 checks in the matrix if you do not need to test on either of those databases, or delete or comment out the entire ``other-tests`` job if you do not need to test any of these databases. +* MSSQL, SQLite: The ``other-tests`` job runs PHPUnit tests in various versions of MSSQL and SQLite3. You may either delete or comment out the MSSQL or SQLite3 checks in the matrix if you do not want to test on either of those databases, or delete or comment out the entire ``other-tests`` job if you do not intend to test any of these databases. Final Thoughts on Extension Testing ----------------------------------- @@ -1283,7 +1283,7 @@ but once you get used to reading them they can help you pinpoint unforeseen bugs and regressions in your code that must be fixed. Github Actions also provides Build Status badges. They provide you the code in markdown -format so you can add the badge to your repository's README so visitors can see that +format so you can add the badge to your repository's README so visitors can see the build status of your extension. For example (Just change ``GITHUB-USERNAME/REPO-NAME`` to your repository): From 536f7ebd15b45d34df7ce216f470ca8a9b156b80 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Wed, 24 Feb 2021 16:02:30 -0800 Subject: [PATCH 144/242] Create tests.yml --- .github/workflows/tests.yml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .github/workflows/tests.yml diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 00000000..38edcaa6 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,31 @@ +name: Test make documentation + +on: + push: + branches: + - master + - '[34].[0-9]+.x' + pull_request: + branches: + - master + - '[34].[0-9]+.x' + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install sphinx + pip install sphinx_rtd_theme + pip install sphinxcontrib-phpdomain + pip install git+https://github.com/marc1706/sphinx-php.git + - name: Test make html + run: | + cd development + make html From 7d713eee466a33e53bc8d903945a4b5fb4b8b55f Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Wed, 24 Feb 2021 16:05:36 -0800 Subject: [PATCH 145/242] Fix mistake --- .github/workflows/tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 38edcaa6..de84d2be 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -18,6 +18,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v2 with: + python-version: '3.x' - name: Install dependencies run: | python -m pip install --upgrade pip From 9000fe2ec8f810f79f1e42bc72783125177de6fa Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Wed, 24 Feb 2021 16:08:45 -0800 Subject: [PATCH 146/242] Delete .travis.yml --- .travis.yml | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index ca898ff1..00000000 --- a/.travis.yml +++ /dev/null @@ -1,18 +0,0 @@ -language: python - -install: - - pip install sphinx - - pip install sphinx_rtd_theme - - pip install sphinxcontrib-phpdomain - - pip install git+https://github.com/marc1706/sphinx-php.git - -script: - - cd development - - make html - -branches: - only: - - master - - /^\d+(\.\d+)?\.x$/ - -sudo: false From 4512d0b8be5e27088a8e8eebaab4e0b541658f08 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Wed, 24 Feb 2021 16:14:21 -0800 Subject: [PATCH 147/242] Update other references to Travis with GA --- development/development/git.rst | 3 +- development/extensions/skeleton_extension.rst | 34 +++++++++++++++++++ development/extensions/tutorial_advanced.rst | 2 +- 3 files changed, 36 insertions(+), 3 deletions(-) diff --git a/development/development/git.rst b/development/development/git.rst index cb5b5425..647a0392 100644 --- a/development/development/git.rst +++ b/development/development/git.rst @@ -307,8 +307,7 @@ merging a topic branch into the phpBB repository. .. note:: Note that tests should be run prior to merging to the official repository. Tests are run - for each push to a pull request by `Travis (Continuous Integration) `_ - and `AppVeyor `_ + for each push to a pull request by `Github Actions `_ but it is a good idea to run them yourself as well. For more information, read :doc:`../testing/index`. Merging only to master diff --git a/development/extensions/skeleton_extension.rst b/development/extensions/skeleton_extension.rst index 11f063b8..b109f6ee 100644 --- a/development/extensions/skeleton_extension.rst +++ b/development/extensions/skeleton_extension.rst @@ -730,6 +730,40 @@ functional tests: │ └── ... └── ... +Github Actions CI configuration +------------------------------- + +Github Actions is a platform for running your PHPUnit tests on a GitHub +repository. + +The Skeleton Extension will generate the basic workflow script file +needed to test your phpBB extension with each commit and pull request +pushed to your GitHub repository: + +:: + + vendor + ├── package + │ ├── .github # A hidden directory to contain Github related files + │ │ ├── workflows # A directory to contain any test scripts + │ | | ├── tests.yml # The test configuration script in YAML format + │ │ │ └── ... + │ │ └── ... + │ └── ... + └── ... + +.. warning:: + + The ``.github`` directory is a hidden folder. You can view and access it + using a Text Editor or IDE that is capable of displaying hidden folders. + +.. note:: + + The Skeleton Extension currently does not allow you to generate + the Github Actions CI component without also generating the PHPUnit tests + component. This is because without unit tests, there is little + benefit to using Github Actions. + Travis CI configuration ----------------------- diff --git a/development/extensions/tutorial_advanced.rst b/development/extensions/tutorial_advanced.rst index 42b824af..29f52ae7 100644 --- a/development/extensions/tutorial_advanced.rst +++ b/development/extensions/tutorial_advanced.rst @@ -399,7 +399,7 @@ are referencing the interface, you are not required to extend the original class and should instead implement the interface. .. warning:: - If you are using EPV in travis, or during submission to the extensions database + If you are using EPV in a Github repository, or during submission to the extensions database at phpBB.com, you will receive a warning that your service configuration doesn't follow the extensions database policies. As you are overwriting a core service, you can simply ignore this message. However, in all cases you should From 96ab2d2243142608e5be64c83ac943ed66f056f1 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Sun, 4 Apr 2021 16:20:36 -0700 Subject: [PATCH 148/242] Update phpStorm code style settings --- development/development/phpstorm.rst | 34 ++++------------------------ 1 file changed, 5 insertions(+), 29 deletions(-) diff --git a/development/development/phpstorm.rst b/development/development/phpstorm.rst index 1fe37067..968362dd 100644 --- a/development/development/phpstorm.rst +++ b/development/development/phpstorm.rst @@ -76,8 +76,6 @@ The default inspection settings should work just fine. However there are a coupl .. note:: phpBB uses jQuery. The Javascript inspections need to be made aware of jQuery to avoid any false warnings/errors. To do this, simply go to **Languages & Frameworks > JavaScript > Libraries** and enable jQuery. If jQuery is not in the list, you can use the "Download" button to download a copy of jQuery to PhpStorm. -.. seealso:: For your convenience we have provided an XML export of the above code inspection settings for phpBB (see `phpBB Inspection Profile`_). You can import these settings into your project and all the above inspection settings will be configured for you. - Plugins ======= @@ -119,31 +117,24 @@ To set up PHPunit within PhpStorm, go to: PhpStorm Setting Exports for phpBB ================================== -Copy and save these code blocks as XML files, and they can be imported into PhpStorm's settings to automatically set up most of the configuration recommendations mentioned in this documentation for phpBB. +What follows is the code style we recommend for your phpBB project in PhpStorm. Copy and save this code block as ``phpbb.xml``. Then in PhpStorm, go to **Settings > Editor > Code Style**. Click the setting cog icon next to **Scheme** and choose **Import Scheme...** and import the ``phpbb.xml`` file. phpBB Code Style Scheme ####################### .. code-block:: xml - + - - -phpBB Inspection Profile -######################## - -.. code-block:: xml - - - - From 11512994f2013281b234ec6f8f94df306d5d914c Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Mon, 5 Apr 2021 21:47:15 +0200 Subject: [PATCH 149/242] Add custom style for phpBB w/out fixed width --- development/_static/css/phpbb.css | 20 ++++++++++++++++++++ development/conf.py | 5 +++++ 2 files changed, 25 insertions(+) create mode 100644 development/_static/css/phpbb.css diff --git a/development/_static/css/phpbb.css b/development/_static/css/phpbb.css new file mode 100644 index 00000000..452a452f --- /dev/null +++ b/development/_static/css/phpbb.css @@ -0,0 +1,20 @@ +.wy-side-nav-search { + background-color: #009BDF; +} + +.wy-side-nav-search>div.version { + color: rgba(255, 255, 255, 0.7); +} + +.wy-nav-content { + max-width: none; /* use max-width: 800px for button navigation, not content */ +} + +.wy-table-responsive table td, +.wy-table-responsive table th { + white-space: normal; +} + +.rst-footer-buttons { + max-width: 800px; +} diff --git a/development/conf.py b/development/conf.py index a89a4f80..885a0066 100644 --- a/development/conf.py +++ b/development/conf.py @@ -124,6 +124,11 @@ # Add any paths that contain custom themes here, relative to this directory. html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] +# Additional CSS files to include +html_css_files = [ + 'css/phpbb.css', +] + # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". #html_title = None From 47c6522c8ae54135d7743f51a94c32f5c1e792b9 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Mon, 5 Apr 2021 21:56:01 +0200 Subject: [PATCH 150/242] Fix invalid reference to section in extensions tutorial for testing --- development/extensions/tutorial_testing.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/extensions/tutorial_testing.rst b/development/extensions/tutorial_testing.rst index 24a88df8..277b7a46 100644 --- a/development/extensions/tutorial_testing.rst +++ b/development/extensions/tutorial_testing.rst @@ -10,7 +10,7 @@ This tutorial explains: * `Unit tests`_ * `Unit tests with database interaction`_ * `Functional testing`_ - * `Continuous integration with Travis CI`_ + * `Continuous integration with Github Actions`_ .. warning:: From 0adf070849402d4422bbf09a5545c1f132297222 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Thu, 8 Apr 2021 08:15:38 +0200 Subject: [PATCH 151/242] Remove .travis.yml --- .travis.yml | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index ca898ff1..00000000 --- a/.travis.yml +++ /dev/null @@ -1,18 +0,0 @@ -language: python - -install: - - pip install sphinx - - pip install sphinx_rtd_theme - - pip install sphinxcontrib-phpdomain - - pip install git+https://github.com/marc1706/sphinx-php.git - -script: - - cd development - - make html - -branches: - only: - - master - - /^\d+(\.\d+)?\.x$/ - -sudo: false From 43224fd03a257ccc93958dc5c39b29249551e174 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Thu, 8 Apr 2021 08:17:20 +0200 Subject: [PATCH 152/242] Port tests.yml workflow file from 3.3.x --- .github/workflows/tests.yml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 .github/workflows/tests.yml diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 00000000..de84d2be --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,32 @@ +name: Test make documentation + +on: + push: + branches: + - master + - '[34].[0-9]+.x' + pull_request: + branches: + - master + - '[34].[0-9]+.x' + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install sphinx + pip install sphinx_rtd_theme + pip install sphinxcontrib-phpdomain + pip install git+https://github.com/marc1706/sphinx-php.git + - name: Test make html + run: | + cd development + make html From d6d16b5e23141f6cc7416350c15c766a7397a996 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Thu, 8 Apr 2021 21:20:32 +0200 Subject: [PATCH 153/242] Add events list to extensions documentation pages --- .../_static/css/jquery.dataTables.min.css | 1 + development/_static/css/phpbb.css | 8 + .../_static/js/jquery.dataTables.min.js | 184 ++ development/_static/js/main.js | 6 + development/conf.py | 7 + development/extensions/events_list.rst | 2154 +++++++++++++++++ development/extensions/index.rst | 6 +- 7 files changed, 2365 insertions(+), 1 deletion(-) create mode 100644 development/_static/css/jquery.dataTables.min.css create mode 100644 development/_static/js/jquery.dataTables.min.js create mode 100644 development/_static/js/main.js create mode 100644 development/extensions/events_list.rst diff --git a/development/_static/css/jquery.dataTables.min.css b/development/_static/css/jquery.dataTables.min.css new file mode 100644 index 00000000..ddfbb720 --- /dev/null +++ b/development/_static/css/jquery.dataTables.min.css @@ -0,0 +1 @@ +table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold}table.dataTable thead th,table.dataTable thead td{padding:10px 18px;border-bottom:1px solid #111}table.dataTable thead th:active,table.dataTable thead td:active{outline:none}table.dataTable tfoot th,table.dataTable tfoot td{padding:10px 18px 6px 18px;border-top:1px solid #111}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;*cursor:hand;background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url("http://github.com/images/sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("http://github.com/images/sort_asc.png") !important}table.dataTable thead .sorting_desc{background-image:url("http://github.com/images/sort_desc.png") !important}table.dataTable thead .sorting_asc_disabled{background-image:url("http://github.com/images/sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("http://github.com/images/sort_desc_disabled.png")}table.dataTable tbody tr{background-color:#fff}table.dataTable tbody tr.selected{background-color:#b0bed9}table.dataTable tbody th,table.dataTable tbody td{padding:8px 10px}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid #ddd}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:none}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:none}table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd{background-color:#f9f9f9}table.dataTable.stripe tbody tr.odd.selected,table.dataTable.display tbody tr.odd.selected{background-color:#acbad4}table.dataTable.hover tbody tr:hover,table.dataTable.display tbody tr:hover{background-color:#f6f6f6}table.dataTable.hover tbody tr:hover.selected,table.dataTable.display tbody tr:hover.selected{background-color:#aab7d1}table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3,table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3{background-color:#fafafa}table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3,table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#f1f1f1}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#f3f3f3}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:whitesmoke}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#fafafa}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#fcfcfc}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fefefe}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ececec}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#efefef}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a5b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:4px 17px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:4px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable th,table.dataTable td{box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;*zoom:1;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_length select{border:1px solid #aaa;border-radius:3px;padding:5px;background-color:transparent;padding:4px}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{border:1px solid #aaa;border-radius:3px;padding:5px;background-color:transparent;margin-left:3px}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:.5em 1em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;color:#333 !important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333 !important;border:1px solid #979797;background-color:white;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #dcdcdc));background:-webkit-linear-gradient(top, white 0%, #dcdcdc 100%);background:-moz-linear-gradient(top, white 0%, #dcdcdc 100%);background:-ms-linear-gradient(top, white 0%, #dcdcdc 100%);background:-o-linear-gradient(top, white 0%, #dcdcdc 100%);background:linear-gradient(to bottom, white 0%, #dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#666 !important;border:1px solid transparent;background:transparent;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:white !important;border:1px solid #111;background-color:#585858;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));background:-webkit-linear-gradient(top, #585858 0%, #111 100%);background:-moz-linear-gradient(top, #585858 0%, #111 100%);background:-ms-linear-gradient(top, #585858 0%, #111 100%);background:-o-linear-gradient(top, #585858 0%, #111 100%);background:linear-gradient(to bottom, #585858 0%, #111 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:none;background-color:#2b2b2b;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));background:-webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);box-shadow:inset 0 0 3px #111}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;height:40px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:white;background:-webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(25%, rgba(255, 255, 255, 0.9)), color-stop(75%, rgba(255, 255, 255, 0.9)), color-stop(100%, rgba(255, 255, 255, 0)));background:-webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);background:-moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);background:-ms-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);background:-o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);background:linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%)}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable,.dataTables_wrapper.no-footer div.dataTables_scrollBody>table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:.5em}}@media screen and (max-width: 640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:.5em}} diff --git a/development/_static/css/phpbb.css b/development/_static/css/phpbb.css index 452a452f..ed4dcd04 100644 --- a/development/_static/css/phpbb.css +++ b/development/_static/css/phpbb.css @@ -10,6 +10,10 @@ max-width: none; /* use max-width: 800px for button navigation, not content */ } +.wy-table-responsive { + float: left; +} + .wy-table-responsive table td, .wy-table-responsive table th { white-space: normal; @@ -18,3 +22,7 @@ .rst-footer-buttons { max-width: 800px; } + +table.docutils td>p:nth-last-child(n+1) { + margin-top: 0.5rem; +} diff --git a/development/_static/js/jquery.dataTables.min.js b/development/_static/js/jquery.dataTables.min.js new file mode 100644 index 00000000..034efa97 --- /dev/null +++ b/development/_static/js/jquery.dataTables.min.js @@ -0,0 +1,184 @@ +/*! + Copyright 2008-2021 SpryMedia Ltd. + + This source file is free software, available under the following license: + MIT license - http://datatables.net/license + + This source file is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. + + For details please refer to: http://www.datatables.net + DataTables 1.10.24 + ©2008-2021 SpryMedia Ltd - datatables.net/license +*/ +var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(k,y,z){k instanceof String&&(k=String(k));for(var q=k.length,G=0;G").css({position:"fixed",top:0,left:-1*k(y).scrollLeft(),height:1, +width:1,overflow:"hidden"}).append(k("
").css({position:"absolute",top:1,left:1,width:100,overflow:"scroll"}).append(k("
").css({width:"100%",height:10}))).appendTo("body"),d=c.children(),e=d.children();b.barWidth=d[0].offsetWidth-d[0].clientWidth;b.bScrollOversize=100===e[0].offsetWidth&&100!==d[0].clientWidth;b.bScrollbarLeft=1!==Math.round(e.offset().left);b.bBounding=c[0].getBoundingClientRect().width?!0:!1;c.remove()}k.extend(a.oBrowser,u.__browser);a.oScroll.iBarWidth=u.__browser.barWidth} +function Bb(a,b,c,d,e,f){var g=!1;if(c!==q){var h=c;g=!0}for(;d!==e;)a.hasOwnProperty(d)&&(h=g?b(h,a[d],d,a):a[d],g=!0,d+=f);return h}function Wa(a,b){var c=u.defaults.column,d=a.aoColumns.length;c=k.extend({},u.models.oColumn,c,{nTh:b?b:z.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.mData:d,idx:d});a.aoColumns.push(c);c=a.aoPreSearchCols;c[d]=k.extend({},u.models.oSearch,c[d]);Da(a,d,k(b).data())}function Da(a,b,c){b=a.aoColumns[b]; +var d=a.oClasses,e=k(b.nTh);if(!b.sWidthOrig){b.sWidthOrig=e.attr("width")||null;var f=(e.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);f&&(b.sWidthOrig=f[1])}c!==q&&null!==c&&(zb(c),O(u.defaults.column,c,!0),c.mDataProp===q||c.mData||(c.mData=c.mDataProp),c.sType&&(b._sManualType=c.sType),c.className&&!c.sClass&&(c.sClass=c.className),c.sClass&&e.addClass(c.sClass),k.extend(b,c),V(b,c,"sWidth","sWidthOrig"),c.iDataSort!==q&&(b.aDataSort=[c.iDataSort]),V(b,c,"aDataSort"));var g=b.mData,h=ia(g), +l=b.mRender?ia(b.mRender):null;c=function(n){return"string"===typeof n&&-1!==n.indexOf("@")};b._bAttrSrc=k.isPlainObject(g)&&(c(g.sort)||c(g.type)||c(g.filter));b._setter=null;b.fnGetData=function(n,m,p){var t=h(n,m,q,p);return l&&m?l(t,m,n,p):t};b.fnSetData=function(n,m,p){return da(g)(n,m,p)};"number"!==typeof g&&(a._rowReadObject=!0);a.oFeatures.bSort||(b.bSortable=!1,e.addClass(d.sSortableNone));a=-1!==k.inArray("asc",b.asSorting);c=-1!==k.inArray("desc",b.asSorting);b.bSortable&&(a||c)?a&&!c? +(b.sSortingClass=d.sSortableAsc,b.sSortingClassJUI=d.sSortJUIAscAllowed):!a&&c?(b.sSortingClass=d.sSortableDesc,b.sSortingClassJUI=d.sSortJUIDescAllowed):(b.sSortingClass=d.sSortable,b.sSortingClassJUI=d.sSortJUI):(b.sSortingClass=d.sSortableNone,b.sSortingClassJUI="")}function ra(a){if(!1!==a.oFeatures.bAutoWidth){var b=a.aoColumns;Xa(a);for(var c=0,d=b.length;cn[m])d(h.length+n[m],l);else if("string"===typeof n[m]){var p=0;for(g=h.length;pb&&a[e]--; -1!=d&&c===q&&a.splice(d,1)}function va(a,b,c,d){var e=a.aoData[b],f,g=function(l,n){for(;l.childNodes.length;)l.removeChild(l.firstChild);l.innerHTML=S(a,b,n,"display")};if("dom"!==c&&(c&&"auto"!==c||"dom"!==e.src)){var h=e.anCells;if(h)if(d!==q)g(h[d],d);else for(c=0,f=h.length;c").appendTo(d));var l=0;for(b=h.length;l=a.fnRecordsDisplay()?0:g,a.iInitDisplayStart=-1);g=a._iDisplayStart;var n=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,U(a,!1);else if(!h)a.iDraw++;else if(!a.bDestroying&&!Fb(a))return;if(0!==l.length)for(f=h?a.aoData.length:n,h=h?0:g;h",{"class":e?d[0]:""}).append(k("",{valign:"top",colSpan:na(a),"class":a.oClasses.sRowEmpty}).html(c))[0];H(a,"aoHeaderCallback","header",[k(a.nTHead).children("tr")[0], +bb(a),g,n,l]);H(a,"aoFooterCallback","footer",[k(a.nTFoot).children("tr")[0],bb(a),g,n,l]);d=k(a.nTBody);d.children().detach();d.append(k(b));H(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1}}function ja(a,b){var c=a.oFeatures,d=c.bFilter;c.bSort&&Gb(a);d?ya(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);a._drawHold=b;fa(a);a._drawHold=!1}function Hb(a){var b=a.oClasses,c=k(a.nTable);c=k("
").insertBefore(c);var d=a.oFeatures, +e=k("
",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":" "+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=e[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var f=a.sDom.split(""),g,h,l,n,m,p,t=0;t")[0];n=f[t+1];if("'"==n||'"'==n){m="";for(p=2;f[t+p]!=n;)m+=f[t+p],p++;"H"==m?m=b.sJUIHeader:"F"==m&&(m=b.sJUIFooter);-1!=m.indexOf(".")?(n=m.split("."),l.id=n[0].substr(1,n[0].length-1),l.className=n[1]):"#"==m.charAt(0)?l.id=m.substr(1, +m.length-1):l.className=m;t+=p}e.append(l);e=k(l)}else if(">"==h)e=e.parent();else if("l"==h&&d.bPaginate&&d.bLengthChange)g=Ib(a);else if("f"==h&&d.bFilter)g=Jb(a);else if("r"==h&&d.bProcessing)g=Kb(a);else if("t"==h)g=Lb(a);else if("i"==h&&d.bInfo)g=Mb(a);else if("p"==h&&d.bPaginate)g=Nb(a);else if(0!==u.ext.feature.length)for(l=u.ext.feature,p=0,n=l.length;p',h=d.sSearch;h=h.match(/_INPUT_/)?h.replace("_INPUT_",g):h+g;b=k("
",{id:f.f?null:c+"_filter","class":b.sFilter}).append(k("
").addClass(b.sLength);a.aanFeatures.l||(l[0].id=c+"_length");l.children().append(a.oLanguage.sLengthMenu.replace("_MENU_",e[0].outerHTML));k("select",l).val(a._iDisplayLength).on("change.DT",function(n){ib(a,k(this).val());fa(a)});k(a.nTable).on("length.dt.DT",function(n,m,p){a===m&&k("select",l).val(p)});return l[0]}function Nb(a){var b=a.sPaginationType,c=u.ext.pager[b],d="function"===typeof c,e=function(g){fa(g)};b=k("
").addClass(a.oClasses.sPaging+b)[0]; +var f=a.aanFeatures;d||c.fnInit(a,b,e);f.p||(b.id=a.sTableId+"_paginate",a.aoDrawCallback.push({fn:function(g){if(d){var h=g._iDisplayStart,l=g._iDisplayLength,n=g.fnRecordsDisplay(),m=-1===l;h=m?0:Math.ceil(h/l);l=m?1:Math.ceil(n/l);n=c(h,l);var p;m=0;for(p=f.p.length;mf&& +(d=0)):"first"==b?d=0:"previous"==b?(d=0<=e?d-e:0,0>d&&(d=0)):"next"==b?d+e",{id:a.aanFeatures.r?null:a.sTableId+"_processing","class":a.oClasses.sProcessing}).html(a.oLanguage.sProcessing).insertBefore(a.nTable)[0]}function U(a,b){a.oFeatures.bProcessing&&k(a.aanFeatures.r).css("display",b?"block":"none"); +H(a,null,"processing",[a,b])}function Lb(a){var b=k(a.nTable);b.attr("role","grid");var c=a.oScroll;if(""===c.sX&&""===c.sY)return a.nTable;var d=c.sX,e=c.sY,f=a.oClasses,g=b.children("caption"),h=g.length?g[0]._captionSide:null,l=k(b[0].cloneNode(!1)),n=k(b[0].cloneNode(!1)),m=b.children("tfoot");m.length||(m=null);l=k("
",{"class":f.sScrollWrapper}).append(k("
",{"class":f.sScrollHead}).css({overflow:"hidden",position:"relative",border:0,width:d?d?K(d):null:"100%"}).append(k("
", +{"class":f.sScrollHeadInner}).css({"box-sizing":"content-box",width:c.sXInner||"100%"}).append(l.removeAttr("id").css("margin-left",0).append("top"===h?g:null).append(b.children("thead"))))).append(k("
",{"class":f.sScrollBody}).css({position:"relative",overflow:"auto",width:d?K(d):null}).append(b));m&&l.append(k("
",{"class":f.sScrollFoot}).css({overflow:"hidden",border:0,width:d?d?K(d):null:"100%"}).append(k("
",{"class":f.sScrollFootInner}).append(n.removeAttr("id").css("margin-left", +0).append("bottom"===h?g:null).append(b.children("tfoot")))));b=l.children();var p=b[0];f=b[1];var t=m?b[2]:null;if(d)k(f).on("scroll.DT",function(v){v=this.scrollLeft;p.scrollLeft=v;m&&(t.scrollLeft=v)});k(f).css("max-height",e);c.bCollapse||k(f).css("height",e);a.nScrollHead=p;a.nScrollBody=f;a.nScrollFoot=t;a.aoDrawCallback.push({fn:Ea,sName:"scrolling"});return l[0]}function Ea(a){var b=a.oScroll,c=b.sX,d=b.sXInner,e=b.sY;b=b.iBarWidth;var f=k(a.nScrollHead),g=f[0].style,h=f.children("div"),l= +h[0].style,n=h.children("table");h=a.nScrollBody;var m=k(h),p=h.style,t=k(a.nScrollFoot).children("div"),v=t.children("table"),x=k(a.nTHead),r=k(a.nTable),A=r[0],E=A.style,I=a.nTFoot?k(a.nTFoot):null,W=a.oBrowser,M=W.bScrollOversize,C=T(a.aoColumns,"nTh"),B=[],ba=[],X=[],lb=[],Aa,Yb=function(F){F=F.style;F.paddingTop="0";F.paddingBottom="0";F.borderTopWidth="0";F.borderBottomWidth="0";F.height=0};var ha=h.scrollHeight>h.clientHeight;if(a.scrollBarVis!==ha&&a.scrollBarVis!==q)a.scrollBarVis=ha,ra(a); +else{a.scrollBarVis=ha;r.children("thead, tfoot").remove();if(I){var ka=I.clone().prependTo(r);var la=I.find("tr");ka=ka.find("tr")}var mb=x.clone().prependTo(r);x=x.find("tr");ha=mb.find("tr");mb.find("th, td").removeAttr("tabindex");c||(p.width="100%",f[0].style.width="100%");k.each(Ka(a,mb),function(F,Y){Aa=sa(a,F);Y.style.width=a.aoColumns[Aa].sWidth});I&&Z(function(F){F.style.width=""},ka);f=r.outerWidth();""===c?(E.width="100%",M&&(r.find("tbody").height()>h.offsetHeight||"scroll"==m.css("overflow-y"))&& +(E.width=K(r.outerWidth()-b)),f=r.outerWidth()):""!==d&&(E.width=K(d),f=r.outerWidth());Z(Yb,ha);Z(function(F){X.push(F.innerHTML);B.push(K(k(F).css("width")))},ha);Z(function(F,Y){-1!==k.inArray(F,C)&&(F.style.width=B[Y])},x);k(ha).height(0);I&&(Z(Yb,ka),Z(function(F){lb.push(F.innerHTML);ba.push(K(k(F).css("width")))},ka),Z(function(F,Y){F.style.width=ba[Y]},la),k(ka).height(0));Z(function(F,Y){F.innerHTML='
'+X[Y]+"
";F.childNodes[0].style.height="0";F.childNodes[0].style.overflow= +"hidden";F.style.width=B[Y]},ha);I&&Z(function(F,Y){F.innerHTML='
'+lb[Y]+"
";F.childNodes[0].style.height="0";F.childNodes[0].style.overflow="hidden";F.style.width=ba[Y]},ka);r.outerWidth()h.offsetHeight||"scroll"==m.css("overflow-y")?f+b:f,M&&(h.scrollHeight>h.offsetHeight||"scroll"==m.css("overflow-y"))&&(E.width=K(la-b)),""!==c&&""===d||aa(a,1,"Possible column misalignment",6)):la="100%";p.width=K(la);g.width=K(la);I&&(a.nScrollFoot.style.width= +K(la));!e&&M&&(p.height=K(A.offsetHeight+b));c=r.outerWidth();n[0].style.width=K(c);l.width=K(c);d=r.height()>h.clientHeight||"scroll"==m.css("overflow-y");e="padding"+(W.bScrollbarLeft?"Left":"Right");l[e]=d?b+"px":"0px";I&&(v[0].style.width=K(c),t[0].style.width=K(c),t[0].style[e]=d?b+"px":"0px");r.children("colgroup").insertBefore(r.children("thead"));m.trigger("scroll");!a.bSorted&&!a.bFiltered||a._drawHold||(h.scrollTop=0)}}function Z(a,b,c){for(var d=0,e=0,f=b.length,g,h;e").appendTo(h.find("tbody"));h.find("thead, tfoot").remove();h.append(k(a.nTHead).clone()).append(k(a.nTFoot).clone());h.find("tfoot th, tfoot td").css("width","");n=Ka(a,h.find("thead")[0]);for(v=0;v").css({width:r.sWidthOrig, +margin:0,padding:0,border:0,height:1}));if(a.aoData.length)for(v=0;v").css(f||e?{position:"absolute",top:0,left:0,height:1,right:0,overflow:"hidden"}:{}).append(h).appendTo(p);f&&g?h.width(g):f?(h.css("width","auto"),h.removeAttr("width"),h.width()").css("width",K(a)).appendTo(b||z.body);b=a[0].offsetWidth;a.remove();return b}function $b(a,b){var c=ac(a,b);if(0>c)return null;var d=a.aoData[c];return d.nTr?d.anCells[b]: +k("").html(S(a,c,b,"display"))[0]}function ac(a,b){for(var c,d=-1,e=-1,f=0,g=a.aoData.length;fd&&(d=c.length,e=f);return e}function K(a){return null===a?"0px":"number"==typeof a?0>a?"0px":a+"px":a.match(/\d$/)?a+"px":a}function pa(a){var b=[],c=a.aoColumns;var d=a.aaSortingFixed;var e=k.isPlainObject(d);var f=[];var g=function(m){m.length&&!Array.isArray(m[0])?f.push(m):k.merge(f,m)};Array.isArray(d)&&g(d); +e&&d.pre&&g(d.pre);g(a.aaSorting);e&&d.post&&g(d.post);for(a=0;aI?1:0;if(0!==E)return"asc"===A.dir?E:-E}E=c[m];I=c[p];return EI?1:0}):g.sort(function(m,p){var t,v=h.length,x=e[m]._aSortData,r=e[p]._aSortData;for(t=0;tI?1:0})}a.bSorted=!0}function cc(a){var b=a.aoColumns,c=pa(a);a=a.oLanguage.oAria;for(var d=0,e=b.length;d/g,"");var l=f.nTh;l.removeAttribute("aria-sort");f.bSortable&&(0e?e+1:3))}e=0;for(f=d.length;ee?e+1:3))}a.aLastSort= +d}function bc(a,b){var c=a.aoColumns[b],d=u.ext.order[c.sSortDataType],e;d&&(e=d.call(a.oInstance,a,b,ta(a,b)));for(var f,g=u.ext.type.order[c.sType+"-pre"],h=0,l=a.aoData.length;h=f.length?[0,m[1]]:m)}));h.search!==q&&k.extend(a.oPreviousSearch,Vb(h.search));if(h.columns)for(d=0,e=h.columns.length;d=c&&(b=c-d);b-=b%d;if(-1===d||0>b)b=0;a._iDisplayStart=b}function eb(a,b){a=a.renderer;var c=u.ext.renderer[b];return k.isPlainObject(a)&&a[b]?c[a[b]]||c._:"string"===typeof a?c[a]|| +c._:c._}function P(a){return a.oFeatures.bServerSide?"ssp":a.ajax||a.sAjaxSource?"ajax":"dom"}function Ba(a,b){var c=ec.numbers_length,d=Math.floor(c/2);b<=c?a=qa(0,b):a<=d?(a=qa(0,c-2),a.push("ellipsis"),a.push(b-1)):(a>=b-1-d?a=qa(b-(c-2),b):(a=qa(a-d+2,a+d-1),a.push("ellipsis"),a.push(b-1)),a.splice(0,0,"ellipsis"),a.splice(0,0,0));a.DT_el="span";return a}function Va(a){k.each({num:function(b){return Sa(b,a)},"num-fmt":function(b){return Sa(b,a,qb)},"html-num":function(b){return Sa(b,a,Ta)},"html-num-fmt":function(b){return Sa(b, +a,Ta,qb)}},function(b,c){L.type.order[b+a+"-pre"]=c;b.match(/^html\-/)&&(L.type.search[b+a]=L.type.search.html)})}function fc(a){return function(){var b=[Ra(this[u.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return u.ext.internal[a].apply(this,b)}}var u=function(a){this.$=function(f,g){return this.api(!0).$(f,g)};this._=function(f,g){return this.api(!0).rows(f,g).data()};this.api=function(f){return f?new D(Ra(this[L.iApiIndex])):new D(this)};this.fnAddData=function(f,g){var h=this.api(!0); +f=Array.isArray(f)&&(Array.isArray(f[0])||k.isPlainObject(f[0]))?h.rows.add(f):h.row.add(f);(g===q||g)&&h.draw();return f.flatten().toArray()};this.fnAdjustColumnSizing=function(f){var g=this.api(!0).columns.adjust(),h=g.settings()[0],l=h.oScroll;f===q||f?g.draw(!1):(""!==l.sX||""!==l.sY)&&Ea(h)};this.fnClearTable=function(f){var g=this.api(!0).clear();(f===q||f)&&g.draw()};this.fnClose=function(f){this.api(!0).row(f).child.hide()};this.fnDeleteRow=function(f,g,h){var l=this.api(!0);f=l.rows(f);var n= +f.settings()[0],m=n.aoData[f[0][0]];f.remove();g&&g.call(this,n,m);(h===q||h)&&l.draw();return m};this.fnDestroy=function(f){this.api(!0).destroy(f)};this.fnDraw=function(f){this.api(!0).draw(f)};this.fnFilter=function(f,g,h,l,n,m){n=this.api(!0);null===g||g===q?n.search(f,h,l,m):n.column(g).search(f,h,l,m);n.draw()};this.fnGetData=function(f,g){var h=this.api(!0);if(f!==q){var l=f.nodeName?f.nodeName.toLowerCase():"";return g!==q||"td"==l||"th"==l?h.cell(f,g).data():h.row(f).data()||null}return h.data().toArray()}; +this.fnGetNodes=function(f){var g=this.api(!0);return f!==q?g.row(f).node():g.rows().nodes().flatten().toArray()};this.fnGetPosition=function(f){var g=this.api(!0),h=f.nodeName.toUpperCase();return"TR"==h?g.row(f).index():"TD"==h||"TH"==h?(f=g.cell(f).index(),[f.row,f.columnVisible,f.column]):null};this.fnIsOpen=function(f){return this.api(!0).row(f).child.isShown()};this.fnOpen=function(f,g,h){return this.api(!0).row(f).child(g,h).show().child()[0]};this.fnPageChange=function(f,g){f=this.api(!0).page(f); +(g===q||g)&&f.draw(!1)};this.fnSetColumnVis=function(f,g,h){f=this.api(!0).column(f).visible(g);(h===q||h)&&f.columns.adjust().draw()};this.fnSettings=function(){return Ra(this[L.iApiIndex])};this.fnSort=function(f){this.api(!0).order(f).draw()};this.fnSortListener=function(f,g,h){this.api(!0).order.listener(f,g,h)};this.fnUpdate=function(f,g,h,l,n){var m=this.api(!0);h===q||null===h?m.row(g).data(f):m.cell(g,h).data(f);(n===q||n)&&m.columns.adjust();(l===q||l)&&m.draw();return 0};this.fnVersionCheck= +L.fnVersionCheck;var b=this,c=a===q,d=this.length;c&&(a={});this.oApi=this.internal=L.internal;for(var e in u.ext.internal)e&&(this[e]=fc(e));this.each(function(){var f={},g=1").appendTo(p));r.nTHead=B[0];B=p.children("tbody");0===B.length&&(B=k("").appendTo(p));r.nTBody=B[0];B=p.children("tfoot");0===B.length&&0").appendTo(p));0===B.length||0===B.children().length?p.addClass(A.sNoFooter):0/g,tc=/^\d{2,4}[\.\/\-]\d{1,2}[\.\/\-]\d{1,2}([T ]{1}\d{1,2}[:\.]\d{2}([\.:]\d{2})?)?$/,uc=/(\/|\.|\*|\+|\?|\||\(|\)|\[|\]|\{|\}|\\|\$|\^|\-)/g,qb=/['\u00A0,$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfkɃΞ]/gi,ca=function(a){return a&&!0!==a&&"-"!==a?!1:!0},hc=function(a){var b=parseInt(a,10);return!isNaN(b)&& +isFinite(a)?b:null},ic=function(a,b){rb[b]||(rb[b]=new RegExp(hb(b),"g"));return"string"===typeof a&&"."!==b?a.replace(/\./g,"").replace(rb[b],"."):a},sb=function(a,b,c){var d="string"===typeof a;if(ca(a))return!0;b&&d&&(a=ic(a,b));c&&d&&(a=a.replace(qb,""));return!isNaN(parseFloat(a))&&isFinite(a)},jc=function(a,b,c){return ca(a)?!0:ca(a)||"string"===typeof a?sb(a.replace(Ta,""),b,c)?!0:null:null},T=function(a,b,c){var d=[],e=0,f=a.length;if(c!==q)for(;ea.length)){var b=a.slice().sort();for(var c=b[0],d=1,e=b.length;d")[0],rc=Oa.textContent!==q,sc=/<.*?>/g,fb=u.util.throttle,mc=[],N=Array.prototype,vc=function(a){var b,c=u.settings,d=k.map(c,function(f,g){return f.nTable});if(a){if(a.nTable&&a.oApi)return[a];if(a.nodeName&&"table"===a.nodeName.toLowerCase()){var e= +k.inArray(a,d);return-1!==e?[c[e]]:null}if(a&&"function"===typeof a.settings)return a.settings().toArray();"string"===typeof a?b=k(a):a instanceof k&&(b=a)}else return[];if(b)return b.map(function(f){e=k.inArray(this,d);return-1!==e?c[e]:null}).toArray()};var D=function(a,b){if(!(this instanceof D))return new D(a,b);var c=[],d=function(g){(g=vc(g))&&c.push.apply(c,g)};if(Array.isArray(a))for(var e=0,f=a.length;ea?new D(b[a],this[a]):null},filter:function(a){var b=[];if(N.filter)b=N.filter.call(this,a,this);else for(var c=0,d=this.length;c").addClass(h),k("td",l).addClass(h).html(g)[0].colSpan=na(a),e.push(l[0]))};f(c,d);b._details&&b._details.detach();b._details=k(e);b._detailsShow&& +b._details.insertAfter(b.nTr)},wb=function(a,b){var c=a.context;c.length&&(a=c[0].aoData[b!==q?b:a[0]])&&a._details&&(a._details.remove(),a._detailsShow=q,a._details=q)},pc=function(a,b){var c=a.context;c.length&&a.length&&(a=c[0].aoData[a[0]],a._details&&((a._detailsShow=b)?a._details.insertAfter(a.nTr):a._details.detach(),yc(c[0])))},yc=function(a){var b=new D(a),c=a.aoData;b.off("draw.dt.DT_details column-visibility.dt.DT_details destroy.dt.DT_details");0h){var m=k.map(d,function(p,t){return p.bVisible?t:null});return[m[m.length+h]]}return[sa(a,h)];case "name":return k.map(e,function(p,t){return p===n[1]?t:null});default:return[]}if(g.nodeName&&g._DT_CellIndex)return[g._DT_CellIndex.column];h=k(f).filter(g).map(function(){return k.inArray(this,f)}).toArray();if(h.length||!g.nodeName)return h;h=k(g).closest("*[data-dt-column]");return h.length?[h.data("dt-column")]:[]},a,c)};w("columns()",function(a,b){a===q?a="":k.isPlainObject(a)&&(b=a, +a="");b=ub(b);var c=this.iterator("table",function(d){return Ac(d,a,b)},1);c.selector.cols=a;c.selector.opts=b;return c});J("columns().header()","column().header()",function(a,b){return this.iterator("column",function(c,d){return c.aoColumns[d].nTh},1)});J("columns().footer()","column().footer()",function(a,b){return this.iterator("column",function(c,d){return c.aoColumns[d].nTf},1)});J("columns().data()","column().data()",function(){return this.iterator("column-rows",qc,1)});J("columns().dataSrc()", +"column().dataSrc()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].mData},1)});J("columns().cache()","column().cache()",function(a){return this.iterator("column-rows",function(b,c,d,e,f){return Ca(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)},1)});J("columns().nodes()","column().nodes()",function(){return this.iterator("column-rows",function(a,b,c,d,e){return Ca(a.aoData,e,"anCells",b)},1)});J("columns().visible()","column().visible()",function(a,b){var c= +this,d=this.iterator("column",function(e,f){if(a===q)return e.aoColumns[f].bVisible;var g=e.aoColumns,h=g[f],l=e.aoData,n;if(a!==q&&h.bVisible!==a){if(a){var m=k.inArray(!0,T(g,"bVisible"),f+1);g=0;for(n=l.length;gd;return!0};u.isDataTable=u.fnIsDataTable=function(a){var b=k(a).get(0),c=!1;if(a instanceof u.Api)return!0;k.each(u.settings,function(d,e){d=e.nScrollHead?k("table",e.nScrollHead)[0]:null;var f=e.nScrollFoot?k("table",e.nScrollFoot)[0]:null;if(e.nTable===b||d===b||f===b)c=!0});return c};u.tables=u.fnTables=function(a){var b= +!1;k.isPlainObject(a)&&(b=a.api,a=a.visible);var c=k.map(u.settings,function(d){if(!a||a&&k(d.nTable).is(":visible"))return d.nTable});return b?new D(c):c};u.camelToHungarian=O;w("$()",function(a,b){b=this.rows(b).nodes();b=k(b);return k([].concat(b.filter(a).toArray(),b.find(a).toArray()))});k.each(["on","one","off"],function(a,b){w(b+"()",function(){var c=Array.prototype.slice.call(arguments);c[0]=k.map(c[0].split(/\s/),function(e){return e.match(/\.dt\b/)?e:e+".dt"}).join(" ");var d=k(this.tables().nodes()); +d[b].apply(d,c);return this})});w("clear()",function(){return this.iterator("table",function(a){Ha(a)})});w("settings()",function(){return new D(this.context,this.context)});w("init()",function(){var a=this.context;return a.length?a[0].oInit:null});w("data()",function(){return this.iterator("table",function(a){return T(a.aoData,"_aData")}).flatten()});w("destroy()",function(a){a=a||!1;return this.iterator("table",function(b){var c=b.nTableWrapper.parentNode,d=b.oClasses,e=b.nTable,f=b.nTBody,g=b.nTHead, +h=b.nTFoot,l=k(e);f=k(f);var n=k(b.nTableWrapper),m=k.map(b.aoData,function(t){return t.nTr}),p;b.bDestroying=!0;H(b,"aoDestroyCallback","destroy",[b]);a||(new D(b)).columns().visible(!0);n.off(".DT").find(":not(tbody *)").off(".DT");k(y).off(".DT-"+b.sInstance);e!=g.parentNode&&(l.children("thead").detach(),l.append(g));h&&e!=h.parentNode&&(l.children("tfoot").detach(),l.append(h));b.aaSorting=[];b.aaSortingFixed=[];Pa(b);k(m).removeClass(b.asStripeClasses.join(" "));k("th, td",g).removeClass(d.sSortable+ +" "+d.sSortableAsc+" "+d.sSortableDesc+" "+d.sSortableNone);f.children().detach();f.append(m);g=a?"remove":"detach";l[g]();n[g]();!a&&c&&(c.insertBefore(e,b.nTableReinsertBefore),l.css("width",b.sDestroyWidth).removeClass(d.sTable),(p=b.asDestroyStripes.length)&&f.children().each(function(t){k(this).addClass(b.asDestroyStripes[t%p])}));c=k.inArray(b,u.settings);-1!==c&&u.settings.splice(c,1)})});k.each(["column","row","cell"],function(a,b){w(b+"s().every()",function(c){var d=this.selector.opts,e= +this;return this.iterator(b,function(f,g,h,l,n){c.call(e[b](g,"cell"===b?h:d,"cell"===b?d:q),g,h,l,n)})})});w("i18n()",function(a,b,c){var d=this.context[0];a=ia(a)(d.oLanguage);a===q&&(a=b);c!==q&&k.isPlainObject(a)&&(a=a[c]!==q?a[c]:a._);return a.replace("%d",c)});u.version="1.10.24";u.settings=[];u.models={};u.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};u.models.oRow={nTr:null,anCells:null,_aData:[],_aSortData:null,_aFilterData:null,_sFilterRow:null,_sRowStripe:"",src:null, +idx:-1};u.models.oColumn={idx:null,aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bVisible:null,_sManualType:null,_bAttrSrc:!1,fnCreatedCell:null,fnGetData:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,sClass:null,sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std",sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};u.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:[],ajax:null,aLengthMenu:[10, +25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1,bSort:!0,bSortMulti:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(a){return a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,this.oLanguage.sThousands)},fnHeaderCallback:null,fnInfoCallback:null, +fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(a){try{return JSON.parse((-1===a.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+a.sInstance+"_"+location.pathname))}catch(b){return{}}},fnStateLoadParams:null,fnStateLoaded:null,fnStateSaveCallback:function(a,b){try{(-1===a.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+a.sInstance+"_"+location.pathname,JSON.stringify(b))}catch(c){}}, +fnStateSaveParams:null,iStateDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"},oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"},sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)", +sInfoPostFix:"",sDecimal:"",sThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sSearchPlaceholder:"",sUrl:"",sZeroRecords:"No matching records found"},oSearch:k.extend({},u.models.oSearch),sAjaxDataProp:"data",sAjaxSource:null,sDom:"lfrtip",searchDelay:null,sPaginationType:"simple_numbers",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",renderer:null,rowId:"DT_RowId"};G(u.defaults);u.defaults.column={aDataSort:null, +iDataSort:-1,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bVisible:!0,fnCreatedCell:null,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};G(u.defaults.column);u.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortMulti:null,bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null, +iBarWidth:0,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,bScrollbarLeft:!1,bBounding:!1,barWidth:0},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aIds:{},aoColumns:[],aoHeader:[],aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[], +aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,searchDelay:null,sPaginationType:"two_button",iStateDuration:0,aoStateSave:[],aoStateLoad:[],oSavedState:null,oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,json:q,oAjaxData:q,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null, +iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==P(this)?1*this._iRecordsTotal:this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==P(this)?1*this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var a=this._iDisplayLength,b=this._iDisplayStart,c=b+a,d=this.aiDisplay.length,e=this.oFeatures, +f=e.bPaginate;return e.bServerSide?!1===f||-1===a?b+d:Math.min(b+a,this._iRecordsDisplay):!f||c>d||-1===a?d:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{},rowIdFn:null,rowId:null};u.ext=L={buttons:{},classes:{},builder:"-source-",errMode:"alert",feature:[],search:[],selector:{cell:[],column:[],row:[]},internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},header:{}},order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:u.fnVersionCheck, +iApiIndex:0,oJUIClasses:{},sVersion:u.version};k.extend(L,{afnFiltering:L.search,aTypes:L.type.detect,ofnSearch:L.type.search,oSort:L.type.order,afnSortData:L.order,aoFeatures:L.feature,oApi:L.internal,oStdClasses:L.classes,oPagination:L.pager});k.extend(u.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter", +sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_desc_disabled",sSortableDesc:"sorting_asc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody", +sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",sJUIHeader:"",sJUIFooter:""});var ec=u.ext.pager;k.extend(ec,{simple:function(a,b){return["previous","next"]},full:function(a,b){return["first","previous","next","last"]},numbers:function(a,b){return[Ba(a,b)]},simple_numbers:function(a,b){return["previous",Ba(a,b),"next"]}, +full_numbers:function(a,b){return["first","previous",Ba(a,b),"next","last"]},first_last_numbers:function(a,b){return["first",Ba(a,b),"last"]},_numbers:Ba,numbers_length:7});k.extend(!0,u.ext.renderer,{pageButton:{_:function(a,b,c,d,e,f){var g=a.oClasses,h=a.oLanguage.oPaginate,l=a.oLanguage.oAria.paginate||{},n,m,p=0,t=function(x,r){var A,E=g.sPageButtonDisabled,I=function(B){kb(a,B.data.action,!0)};var W=0;for(A=r.length;W").appendTo(x); +t(C,M)}else{n=null;m=M;C=a.iTabIndex;switch(M){case "ellipsis":x.append('');break;case "first":n=h.sFirst;0===e&&(C=-1,m+=" "+E);break;case "previous":n=h.sPrevious;0===e&&(C=-1,m+=" "+E);break;case "next":n=h.sNext;if(0===f||e===f-1)C=-1,m+=" "+E;break;case "last":n=h.sLast;if(0===f||e===f-1)C=-1,m+=" "+E;break;default:n=a.fnFormatNumber(M+1),m=e===M?g.sPageButtonActive:""}null!==n&&(C=k("",{"class":g.sPageButton+" "+m,"aria-controls":a.sTableId,"aria-label":l[M], +"data-dt-idx":p,tabindex:C,id:0===c&&"string"===typeof M?a.sTableId+"_"+M:null}).html(n).appendTo(x),ob(C,{action:M},I),p++)}}};try{var v=k(b).find(z.activeElement).data("dt-idx")}catch(x){}t(k(b).empty(),d);v!==q&&k(b).find("[data-dt-idx="+v+"]").trigger("focus")}}});k.extend(u.ext.type.detect,[function(a,b){b=b.oLanguage.sDecimal;return sb(a,b)?"num"+b:null},function(a,b){if(a&&!(a instanceof Date)&&!tc.test(a))return null;b=Date.parse(a);return null!==b&&!isNaN(b)||ca(a)?"date":null},function(a, +b){b=b.oLanguage.sDecimal;return sb(a,b,!0)?"num-fmt"+b:null},function(a,b){b=b.oLanguage.sDecimal;return jc(a,b)?"html-num"+b:null},function(a,b){b=b.oLanguage.sDecimal;return jc(a,b,!0)?"html-num-fmt"+b:null},function(a,b){return ca(a)||"string"===typeof a&&-1!==a.indexOf("<")?"html":null}]);k.extend(u.ext.type.search,{html:function(a){return ca(a)?a:"string"===typeof a?a.replace(gc," ").replace(Ta,""):""},string:function(a){return ca(a)?a:"string"===typeof a?a.replace(gc," "):a}});var Sa=function(a, +b,c,d){if(0!==a&&(!a||"-"===a))return-Infinity;b&&(a=ic(a,b));a.replace&&(c&&(a=a.replace(c,"")),d&&(a=a.replace(d,"")));return 1*a};k.extend(L.type.order,{"date-pre":function(a){a=Date.parse(a);return isNaN(a)?-Infinity:a},"html-pre":function(a){return ca(a)?"":a.replace?a.replace(/<.*?>/g,"").toLowerCase():a+""},"string-pre":function(a){return ca(a)?"":"string"===typeof a?a.toLowerCase():a.toString?a.toString():""},"string-asc":function(a,b){return ab?1:0},"string-desc":function(a,b){return a< +b?1:a>b?-1:0}});Va("");k.extend(!0,u.ext.renderer,{header:{_:function(a,b,c,d){k(a.nTable).on("order.dt.DT",function(e,f,g,h){a===f&&(e=c.idx,b.removeClass(d.sSortAsc+" "+d.sSortDesc).addClass("asc"==h[e]?d.sSortAsc:"desc"==h[e]?d.sSortDesc:c.sSortingClass))})},jqueryui:function(a,b,c,d){k("
").addClass(d.sSortJUIWrapper).append(b.contents()).append(k("").addClass(d.sSortIcon+" "+c.sSortingClassJUI)).appendTo(b);k(a.nTable).on("order.dt.DT",function(e,f,g,h){a===f&&(e=c.idx,b.removeClass(d.sSortAsc+ +" "+d.sSortDesc).addClass("asc"==h[e]?d.sSortAsc:"desc"==h[e]?d.sSortDesc:c.sSortingClass),b.find("span."+d.sSortIcon).removeClass(d.sSortJUIAsc+" "+d.sSortJUIDesc+" "+d.sSortJUI+" "+d.sSortJUIAscAllowed+" "+d.sSortJUIDescAllowed).addClass("asc"==h[e]?d.sSortJUIAsc:"desc"==h[e]?d.sSortJUIDesc:c.sSortingClassJUI))})}}});var xb=function(a){return"string"===typeof a?a.replace(/&/g,"&").replace(//g,">").replace(/"/g,"""):a};u.render={number:function(a,b,c,d,e){return{display:function(f){if("number"!== +typeof f&&"string"!==typeof f)return f;var g=0>f?"-":"",h=parseFloat(f);if(isNaN(h))return xb(f);h=h.toFixed(c);f=Math.abs(h);h=parseInt(f,10);f=c?b+(f-h).toFixed(c).substring(2):"";return g+(d||"")+h.toString().replace(/\B(?=(\d{3})+(?!\d))/g,a)+f+(e||"")}}},text:function(){return{display:xb,filter:xb}}};k.extend(u.ext.internal,{_fnExternApiFunc:fc,_fnBuildAjax:La,_fnAjaxUpdate:Fb,_fnAjaxParameters:Ob,_fnAjaxUpdateDraw:Pb,_fnAjaxDataSrc:Ma,_fnAddColumn:Wa,_fnColumnOptions:Da,_fnAdjustColumnSizing:ra, +_fnVisibleToColumnIndex:sa,_fnColumnIndexToVisible:ta,_fnVisbleColumns:na,_fnGetColumns:Fa,_fnColumnTypes:Ya,_fnApplyColumnDefs:Cb,_fnHungarianMap:G,_fnCamelToHungarian:O,_fnLanguageCompat:ma,_fnBrowserDetect:Ab,_fnAddData:ea,_fnAddTr:Ga,_fnNodeToDataIndex:function(a,b){return b._DT_RowIndex!==q?b._DT_RowIndex:null},_fnNodeToColumnIndex:function(a,b,c){return k.inArray(c,a.aoData[b].anCells)},_fnGetCellData:S,_fnSetCellData:Db,_fnSplitObjNotation:ab,_fnGetObjectDataFn:ia,_fnSetObjectDataFn:da,_fnGetDataMaster:bb, +_fnClearTable:Ha,_fnDeleteIndex:Ia,_fnInvalidate:va,_fnGetRowElements:$a,_fnCreateTr:Za,_fnBuildHead:Eb,_fnDrawHead:xa,_fnDraw:fa,_fnReDraw:ja,_fnAddOptionsHtml:Hb,_fnDetectHeader:wa,_fnGetUniqueThs:Ka,_fnFeatureHtmlFilter:Jb,_fnFilterComplete:ya,_fnFilterCustom:Sb,_fnFilterColumn:Rb,_fnFilter:Qb,_fnFilterCreateSearch:gb,_fnEscapeRegex:hb,_fnFilterData:Tb,_fnFeatureHtmlInfo:Mb,_fnUpdateInfo:Wb,_fnInfoMacros:Xb,_fnInitialise:za,_fnInitComplete:Na,_fnLengthChange:ib,_fnFeatureHtmlLength:Ib,_fnFeatureHtmlPaginate:Nb, +_fnPageChange:kb,_fnFeatureHtmlProcessing:Kb,_fnProcessingDisplay:U,_fnFeatureHtmlTable:Lb,_fnScrollDraw:Ea,_fnApplyToChildren:Z,_fnCalculateColumnWidths:Xa,_fnThrottle:fb,_fnConvertToWidth:Zb,_fnGetWidestNode:$b,_fnGetMaxLenString:ac,_fnStringToCss:K,_fnSortFlatten:pa,_fnSort:Gb,_fnSortAria:cc,_fnSortListener:nb,_fnSortAttachListener:db,_fnSortingClasses:Pa,_fnSortData:bc,_fnSaveState:Qa,_fnLoadState:dc,_fnSettingsFromNode:Ra,_fnLog:aa,_fnMap:V,_fnBindAction:ob,_fnCallbackReg:Q,_fnCallbackFire:H, +_fnLengthOverflow:jb,_fnRenderer:eb,_fnDataSource:P,_fnRowAttributes:cb,_fnExtend:pb,_fnCalculateEnd:function(){}});k.fn.dataTable=u;u.$=k;k.fn.dataTableSettings=u.settings;k.fn.dataTableExt=u.ext;k.fn.DataTable=function(a){return k(this).dataTable(a).api()};k.each(u,function(a,b){k.fn.DataTable[a]=b});return k.fn.dataTable}); diff --git a/development/_static/js/main.js b/development/_static/js/main.js new file mode 100644 index 00000000..8e887e13 --- /dev/null +++ b/development/_static/js/main.js @@ -0,0 +1,6 @@ +$(document).ready(function () { + $('table.events-list').DataTable( { + "paging": false, + "info": false + }); +}); diff --git a/development/conf.py b/development/conf.py index 885a0066..2e360d64 100644 --- a/development/conf.py +++ b/development/conf.py @@ -127,6 +127,13 @@ # Additional CSS files to include html_css_files = [ 'css/phpbb.css', + 'css/jquery.dataTables.min.css', +] + +# Additional JS files to include +html_js_files = [ + 'js/jquery.dataTables.min.js', + 'js/main.js' ] # The name for this set of Sphinx documents. If None, it defaults to diff --git a/development/extensions/events_list.rst b/development/extensions/events_list.rst new file mode 100644 index 00000000..502f3818 --- /dev/null +++ b/development/extensions/events_list.rst @@ -0,0 +1,2154 @@ +========================== +Events List +========================== + +PHP Events +========== + +.. table:: + :class: events-list + + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Identifier | Placement | Arguments | Added in Release | Explanation | + +=======================================================================+=======================================================+====================================================================================================================================================================================================================================================================================================================+==================+=====================================================================================================================================================================================================================================================================================================================================================================================+ + | core.acl_clear_prefetch_after | phpbb/auth/auth.php | user_id | 3.1.11-RC1 | Event is triggered after user(s) permission settings cache has been cleared | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_attachments_config_edit_add | includes/acp/acp_attachments.php | display_vars, mode, submit | 3.1.11-RC1 | Event to add and/or modify acp_attachement configurations | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_ban_after | includes/acp/acp_ban.php | ban, ban_exclude, ban_give_reason, ban_length, ban_length_other, ban_reason, mode | 3.1.0-RC5 | Use this event to perform actions after the ban has been performed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_ban_before | includes/acp/acp_ban.php | abort_ban, ban, ban_exclude, ban_give_reason, ban_length, ban_length_other, ban_reason, mode | 3.1.0-RC5 | Use this event to modify the ban details before the ban is performed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_bbcodes_delete_after | includes/acp/acp_bbcodes.php | action, bbcode_id, bbcode_tag | 3.2.4-RC1 | Event after a BBCode has been deleted | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_bbcodes_display_bbcodes | includes/acp/acp_bbcodes.php | bbcodes_array, row, u_action | 3.1.0-a3 | Modify display of custom bbcodes in the form | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_bbcodes_display_form | includes/acp/acp_bbcodes.php | action, sql_ary, template_data, u_action | 3.1.0-a3 | Modify custom bbcode template data before we display the form | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_bbcodes_edit_add | includes/acp/acp_bbcodes.php | action, bbcode_id, bbcode_tokens, tpl_ary | 3.1.0-a3 | Modify custom bbcode template data before we display the add/edit form | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_bbcodes_modify_create | includes/acp/acp_bbcodes.php | action, bbcode_helpline, bbcode_id, bbcode_match, bbcode_tpl, display_on_posting, hidden_fields, sql_ary | 3.1.0-a3 | Modify custom bbcode data before the modify/create action | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_bbcodes_modify_create_after | includes/acp/acp_bbcodes.php | action, bbcode_id, sql_ary | 3.2.4-RC1 | Event after a BBCode has been added or updated | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_board_config_edit_add | includes/acp/acp_board.php | display_vars, mode, submit | 3.1.0-a4 | Event to add and/or modify acp_board configurations | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_board_config_emoji_enabled | includes/acp/acp_board.php | config_name_ary | 3.3.3-RC1 | Event to manage the array of emoji-enabled configurations | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_email_display | includes/acp/acp_email.php | exclude, template_data, usernames | 3.1.4-RC1 | Modify custom email template data before we display the form | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_email_modify_sql | includes/acp/acp_email.php | sql_ary | 3.1.2-RC1 | Modify sql query to change the list of users the email is sent to | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_email_send_before | includes/acp/acp_email.php | email_template, generate_log_entry, group_id, priority, subject, template_data, use_queue, usernames | 3.1.3-RC1 | Modify email template data before the emails are sent | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_extensions_run_action_after | includes/acp/acp_extensions.php | action, ext_name, safe_time_limit, start_time, tpl_name, u_action | 3.1.11-RC1 | Event to run after a specific action on extension has completed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_extensions_run_action_before | includes/acp/acp_extensions.php | action, ext_name, safe_time_limit, start_time, tpl_name, u_action | 3.1.11-RC1 | Event to run a specific action on extension | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_help_phpbb_submit_before | includes/acp/acp_help_phpbb.php | submit | 3.2.0-RC2 | Event to modify ACP help phpBB page and/or listen to submit | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_language_after_delete | includes/acp/acp_language.php | delete_message, lang_iso | 3.2.2-RC1 | Run code after language deleted | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_logs_info_modify_modes | includes/acp/info/acp_logs.php | modes | 3.2.1-RC1 | Event to add or modify ACP log modulemodes | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_main_notice | includes/acp/acp_main.php | | 3.1.0-RC3 | Notice admin | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_manage_forums_display_form | includes/acp/acp_forums.php | action, errors, forum_data, forum_id, parents_list, row, template_data, update | 3.1.0-a1 | Modify forum template data before we display the form | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_manage_forums_initialise_data | includes/acp/acp_forums.php | action, forum_data, forum_id, parents_list, row, update | 3.1.0-a1 | Initialise data before we display the add/edit form | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_manage_forums_modify_forum_list | includes/acp/acp_forums.php | rowset | 3.1.10-RC1 | Modify the forum list data | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_manage_forums_move_children | includes/acp/acp_forums.php | errors, from_id, to_id | 3.1.0-a1 | Event when we move all children of one forum to another | + | | | | | | + | | | | | This event may be triggered, when a forum is deleted | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_manage_forums_move_content | includes/acp/acp_forums.php | errors, from_id, sync, to_id | 3.1.0-a1 | Event when we move content from one forum to another | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_manage_forums_move_content_after | includes/acp/acp_forums.php | from_id, sync, to_id | 3.2.9-RC1 | Event when content has been moved from one forum to another | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_manage_forums_move_content_sql_before | includes/acp/acp_forums.php | table_ary | 3.2.4-RC1 | Perform additional actions before move forum content | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_manage_forums_request_data | includes/acp/acp_forums.php | action, forum_data | 3.1.0-a1 | Request forum data and operate on it (parse texts, etc.) | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_manage_forums_update_data_after | includes/acp/acp_forums.php | errors, forum_data, forum_data_sql, is_new_forum | 3.1.0-a1 | Event after a forum was updated or created | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_manage_forums_update_data_before | includes/acp/acp_forums.php | forum_data, forum_data_sql | 3.1.0-a1 | Remove invalid values from forum_data_sql that should not be updated | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_manage_forums_validate_data | includes/acp/acp_forums.php | errors, forum_data | 3.1.0-a1 | Validate the forum data before we create/update the forum | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_manage_group_display_form | includes/acp/acp_groups.php | action, error, group_desc_data, group_id, group_name, group_rank, group_row, group_type, rank_options, update | 3.1.0-b5 | Modify group template data before we display the form | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_manage_group_initialise_data | includes/acp/acp_groups.php | action, allow_desc_bbcode, allow_desc_smilies, allow_desc_urls, error, group_desc, group_id, group_name, group_row, group_type, submit_ary, test_variables | 3.1.0-b5 | Initialise data before we display the add/edit form | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_manage_group_request_data | includes/acp/acp_groups.php | action, allow_desc_bbcode, allow_desc_smilies, allow_desc_urls, error, group_desc, group_id, group_name, group_row, group_type, submit_ary, validation_checks | 3.1.0-b5 | Request group data and operate on it | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_profile_action | includes/acp/acp_profile.php | action, page_title, tpl_name, u_action | 3.2.2-RC1 | Event to handle actions on the ACP profile fields page | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_profile_create_edit_after | includes/acp/acp_profile.php | action, field_data, field_type, options, s_hidden_fields, save, step, submit | 3.1.6-RC1 | Event to add template variables for new profile field table fields | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_profile_create_edit_init | includes/acp/acp_profile.php | action, exclude, field_row, field_type, save, step, submit, visibility_ary | 3.1.6-RC1 | Event to add initialization for new profile field table fields | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_profile_create_edit_save_before | includes/acp/acp_profile.php | action, field_data, field_type, profile_fields | 3.1.6-RC1 | Event to modify profile field configuration data before saving to database | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_profile_modify_profile_row | includes/acp/acp_profile.php | field_block, profile_field, row | 3.2.2-RC1 | Event to modify profile field data before it is assigned to the template | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_ranks_edit_modify_tpl_ary | includes/acp/acp_ranks.php | ranks, tpl_ary | 3.1.0-RC3 | Modify the template output array for editing/adding ranks | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_ranks_list_modify_rank_row | includes/acp/acp_ranks.php | rank_row, row | 3.1.0-RC3 | Modify the template output array for each listed rank | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_ranks_save_modify_sql_ary | includes/acp/acp_ranks.php | rank_id, sql_ary | 3.1.0-RC3 | Modify the SQL array when saving a rank | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_styles_action_before | includes/acp/acp_styles.php | action, id, mode | 3.1.7-RC1 | Run code before ACP styles action execution | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_users_avatar_sql | includes/acp/acp_users.php | result, user_row | 3.2.4-RC1 | Modify users preferences data before assigning it to the template | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_users_display_overview | includes/acp/acp_users.php | quick_tool_ary, user_row | 3.1.0-a1 | Add additional quick tool options and overwrite user data | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_users_mode_add | includes/acp/acp_users.php | error, mode, u_action, user_id, user_row | 3.2.2-RC1 | Additional modes provided by extensions | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_users_modify_profile | includes/acp/acp_users.php | data, submit, user_id, user_row | 3.1.4-RC1 | Modify user data on editing profile in ACP | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_users_modify_signature_sql_ary | includes/acp/acp_users.php | sql_ary, user_row | 3.2.4-RC1 | Modify user signature before it is stored in the DB | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_users_overview_before | includes/acp/acp_users.php | action, error, mode, submit, user_row | 3.1.3-RC1 | Run code at beginning of ACP users overview | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_users_overview_modify_data | includes/acp/acp_users.php | data, sql_ary, user_row | 3.1.0-a1 | Modify user data before we update it | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_users_overview_run_quicktool | includes/acp/acp_users.php | action, u_action, user_id, user_row | 3.1.0-a1 | Run custom quicktool code | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_users_prefs_modify_data | includes/acp/acp_users.php | data, user_row | 3.1.0-b3 | Modify users preferences data | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_users_prefs_modify_sql | includes/acp/acp_users.php | data, error, sql_ary, user_row | 3.1.0-b3 | Modify SQL query before users preferences are updated | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_users_prefs_modify_template_data | includes/acp/acp_users.php | data, user_prefs_data, user_row | 3.1.0-b3 | Modify users preferences data before assigning it to the template | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_users_profile_modify_sql_ary | includes/acp/acp_users.php | cp_data, data, sql_ary, user_id, user_row | 3.1.4-RC1 | Modify profile data in ACP before submitting to the database | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.acp_users_profile_validate | includes/acp/acp_users.php | data, error, user_id, user_row | 3.1.4-RC1 | Validate profile data in ACP before submitting to the database | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.add_form_key | includes/functions.php | form_name, now, s_fields, template_variable_suffix, token, token_sid | 3.1.0-RC3 | Perform additional actions on creation of the form token | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.add_log | phpbb/log/log.php | additional_data, log_ip, log_operation, log_time, mode, sql_ary, user_id | 3.1.0-a1 | Allows to modify log data before we add it to the database | + | | | | | | + | | | | | NOTE: if sql_ary does not contain a log_type value, the entry will | + | | | | | not be stored in the database. So ensure to set it, if needed. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.adm_page_footer | includes/functions_acp.php | adm_page_footer_override, copyright_html | 3.1.0-a1 | Execute code and/or overwrite adm_page_footer() | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.adm_page_header | includes/functions_acp.php | adm_page_header_override, page_title | 3.1.0-a1 | Execute code and/or overwrite adm_page_header() | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.adm_page_header_after | includes/functions_acp.php | http_headers, page_title | 3.1.0-RC3 | Execute code and/or overwrite _common_ template variables after they have been assigned. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.append_sid | includes/functions.php | append_sid_overwrite, is_amp, is_route, params, session_id, url | 3.1.0-a1 | This event can either supplement or override the append_sid() function | + | | | | | | + | | | | | To override this function, the event must set $append_sid_overwrite to | + | | | | | the new URL value, which will be returned following the event | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.approve_posts_after | includes/mcp/mcp_queue.php | action, notify_poster, num_topics, post_info, redirect, success_msg, topic_info | 3.1.4-RC1 | Perform additional actions during post(s) approval | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.approve_topics_after | includes/mcp/mcp_queue.php | action, first_post_ids, notify_poster, redirect, success_msg, topic_info | 3.1.4-RC1 | Perform additional actions during topics(s) approval | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.auth_login_session_create_before | phpbb/auth/auth.php | admin, autologin, login, username | 3.1.7-RC1 | Event is triggered after checking for valid username and password, and before the actual session creation. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.auth_oauth_link_after | phpbb/auth/provider/oauth/oauth.php | data | 3.1.11-RC1 | Event is triggered after user links account. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.auth_oauth_login_after | phpbb/auth/provider/oauth/oauth.php | row | 3.1.11-RC1 | Event is triggered after user is successfully logged in via OAuth. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.avatar_driver_upload_delete_before | phpbb/avatar/driver/upload.php | destination, error, prefix, row | 3.1.6-RC1 | Before deleting an existing avatar | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.avatar_driver_upload_move_file_before | phpbb/avatar/driver/upload.php | destination, error, file, filedata, prefix, row | 3.1.6-RC1 | Before moving new file in place (and eventually overwriting the existing avatar with the newly uploaded avatar) | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.avatar_manager_avatar_delete_after | phpbb/avatar/manager.php | avatar_data, prefix, table, user | 3.2.4-RC1 | Event is triggered after user avatar has been deleted | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.bbcode_cache_init_end | includes/bbcode.php | bbcode_bitfield, bbcode_cache, bbcode_uid | 3.1.3-RC1 | Use this event to modify the bbcode_cache | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.bbcode_second_pass_by_extension | includes/bbcode.php | params_array, return | 3.1.5-RC1 | Event to perform bbcode second pass with | + | | | | | the custom validating methods provided by extensions | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.build_config_template | includes/functions_acp.php | key, name, new, tpl, tpl_type, vars | 3.1.0-a1 | Overwrite the html code we display for the config value | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.common | common.php | | 3.1.0-a1 | Main event which is triggered on every page | + | | | | | | + | | | | | You can use this event to load function files and initiate objects | + | | | | | | + | | | | | NOTE: At this point the global session ($user) and permissions ($auth) | + | | | | | do NOT exist yet. If you need to use the user object | + | | | | | (f.e. to include language files) or need to check permissions, | + | | | | | please use the core.user_setup event instead! | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.confirm_box_ajax_before | includes/functions.php | data, hidden, s_hidden_fields, u_action | 3.2.8-RC1 | This event allows an extension to modify the ajax output of confirm box. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.controller_helper_render_response | phpbb/controller/helper.php | response | 3.3.1-RC1 | Modify response before output | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.decode_message_after | includes/functions_content.php | bbcode_uid, message_text | 3.1.9-RC1 | Use this event to modify the message after it is decoded | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.decode_message_before | includes/functions_content.php | bbcode_uid, message_text | 3.1.9-RC1 | Use this event to modify the message before it is decoded | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.delete_attachments_before | phpbb/attachment/delete.php | ids, message_ids, mode, physical, post_ids, resync, sql_id, topic_ids | 3.1.7-RC1 | Perform additional actions before attachment(s) deletion | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.delete_attachments_collect_data_before | phpbb/attachment/delete.php | ids, mode, resync, sql_id | 3.1.7-RC1 | Perform additional actions before collecting data for attachment(s) deletion | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.delete_attachments_from_database_after | phpbb/attachment/delete.php | ids, message_ids, mode, num_deleted, physical, post_ids, resync, sql_id, topic_ids | 3.1.7-RC1 | Perform additional actions after attachment(s) deletion from the database | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.delete_attachments_from_filesystem_after | phpbb/attachment/delete.php | files_removed, ids, message_ids, mode, num_deleted, physical, post_ids, resync, space_removed, sql_id, topic_ids | 3.1.7-RC1 | Perform additional actions after attachment(s) deletion from the filesystem | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.delete_forum_content_before_query | includes/acp/acp_forums.php | forum_id, post_counts, table_ary, topic_ids | 3.1.6-RC1 | Perform additional actions before forum content deletion | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.delete_group_after | includes/functions_user.php | group_id, group_name | 3.1.0-a1 | Event after a group is deleted | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.delete_log | phpbb/log/log.php | conditions, log_type, mode | 3.1.0-b4 | Allows to modify log data before we delete it from the database | + | | | | | | + | | | | | NOTE: if sql_ary does not contain a log_type value, the entry will | + | | | | | not be deleted in the database. So ensure to set it, if needed. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.delete_pm_before | includes/functions_privmsgs.php | folder_id, msg_ids, user_id | 3.1.0-b5 | Get all info for PM(s) before they are deleted | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.delete_post_after | includes/functions_posting.php | data, forum_id, is_soft, next_post_id, post_id, post_mode, softdelete_reason, topic_id | 3.1.11-RC1 | This event is used for performing actions directly after a post or topic | + | | | | | has been deleted. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.delete_posts_after | includes/functions_admin.php | delete_notifications_types, forum_ids, post_ids, poster_ids, topic_ids, where_ids, where_type | 3.1.0-a4 | Perform additional actions after post(s) deletion | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.delete_posts_before | includes/functions_admin.php | auto_sync, call_delete_topics, delete_notifications_types, post_count_sync, posted_sync, where_ids, where_type | 3.1.0-a4 | Perform additional actions before post(s) deletion | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.delete_posts_in_transaction | includes/functions_admin.php | delete_notifications_types, forum_ids, post_ids, poster_ids, topic_ids, where_ids, where_type | 3.1.0-a4 | Perform additional actions during post(s) deletion | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.delete_posts_in_transaction_before | includes/functions_admin.php | delete_notifications_types, forum_ids, post_ids, poster_ids, table_ary, topic_ids, where_ids, where_type | 3.1.7-RC1 | Perform additional actions during post(s) deletion before running the queries | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.delete_topics_after_query | includes/functions_admin.php | topic_ids | 3.1.4-RC1 | Perform additional actions after topic(s) deletion | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.delete_topics_before_query | includes/functions_admin.php | table_ary, topic_ids | 3.1.4-RC1 | Perform additional actions before topic(s) deletion | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.delete_user_after | includes/functions_user.php | mode, retain_username, user_ids, user_rows | 3.1.0-a1 | Event after the user(s) delete action has been performed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.delete_user_before | includes/functions_user.php | mode, retain_username, user_ids, user_rows | 3.1.0-a1 | Event before of the performing of the user(s) delete action | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.disapprove_posts_after | includes/mcp/mcp_queue.php | disapprove_reason, disapprove_reason_lang, is_disapproving, lang_reasons, notify_poster, num_disapproved_posts, num_disapproved_topics, post_disapprove_list, post_info, redirect, success_msg, topic_information, topic_posts_unapproved | 3.1.4-RC1 | Perform additional actions during post(s) disapproval | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.display_custom_bbcodes | includes/functions_display.php | | 3.1.0-a1 | Display custom bbcodes | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.display_custom_bbcodes_modify_row | includes/functions_display.php | custom_tags, row | 3.1.0-a1 | Event to modify the template data block of a custom bbcode | + | | | | | | + | | | | | This event is triggered once per bbcode | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.display_custom_bbcodes_modify_sql | includes/functions_display.php | num_predefined_bbcodes, sql_ary | 3.1.0-a3 | Event to modify the SQL query before custom bbcode data is queried | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.display_forums_add_template_data | includes/functions_display.php | catless, forum_row, row, subforums_list, subforums_row | 3.1.0-b5 | Modify and/or assign additional template data for the forum | + | | | | | after forumrow loop has been assigned. This can be used | + | | | | | to create additional forumrow subloops in extensions. | + | | | | | | + | | | | | This event is triggered once per forum | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.display_forums_after | includes/functions_display.php | active_forum_ary, display_moderators, forum_moderators, forum_rows, return_moderators, root_data | 3.1.0-RC5 | Event to perform additional actions after the forum list has been generated | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.display_forums_before | includes/functions_display.php | active_forum_ary, display_moderators, forum_moderators, forum_rows, return_moderators, root_data | 3.1.4-RC1 | Event to perform additional actions before the forum list is being generated | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.display_forums_modify_category_template_vars | includes/functions_display.php | cat_row, last_catless, root_data, row | 3.1.0-RC4 | Modify the template data block of the 'category' | + | | | | | | + | | | | | This event is triggered once per 'category' | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.display_forums_modify_forum_rows | includes/functions_display.php | branch_root_id, forum_rows, parent_id, row, subforums | 3.1.0-a1 | Event to modify the forum rows data set | + | | | | | | + | | | | | This event is triggered once per forum | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.display_forums_modify_row | includes/functions_display.php | branch_root_id, row | 3.1.0-a1 | Event to modify the data set of a forum | + | | | | | | + | | | | | This event is triggered once per forum | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.display_forums_modify_sql | includes/functions_display.php | sql_ary | 3.1.0-a1 | Event to modify the SQL query before the forum data is queried | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.display_forums_modify_template_vars | includes/functions_display.php | forum_row, row, subforums_row | 3.1.0-a1 | Modify the template data block of the forum | + | | | | | | + | | | | | This event is triggered once per forum | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.display_user_activity_modify_actives | includes/functions_display.php | active_f_row, active_t_row, show_user_activity, userdata | 3.1.0-RC3 | Alter list of forums and topics to display as active | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.download_file_send_to_browser_before | download/file.php | attach_id, attachment, display_cat, download_mode, extensions, mode, thumbnail | 3.1.6-RC1 | Event to modify data before sending file to browser | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.faq_mode_validation | phpbb/help/controller/help.php | ext_name, lang_file, mode, page_title, template_file | 3.1.4-RC1 | You can use this event display a custom help page | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.feed_base_modify_item_sql | phpbb/feed/base.php | sql_ary | 3.1.10-RC1 | Event to modify the feed item sql | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.feed_modify_feed_row | phpbb/feed/controller/feed.php | feed, row | 3.1.10-RC1 | Event to modify the feed row | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.functions.redirect | includes/functions.php | disable_cd_check, return, url | 3.1.0-RC3 | Execute code and/or overwrite redirect() | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.garbage_collection | includes/functions.php | | 3.1.0-a1 | Unload some objects, to free some memory, before we finish our task | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.gen_sort_selects_after | includes/functions_content.php | def_sd, def_sk, def_st, limit_days, s_limit_days, s_sort_dir, s_sort_key, sort_by_text, sort_days, sort_dir, sort_key, sorts, u_sort_param | 3.1.9-RC1 | Run code before generated sort selects are returned | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.generate_forum_nav | includes/functions_display.php | forum_data, forum_template_data, microdata_attr, navlinks, navlinks_parents | 3.1.5-RC1 | Event to modify the navlinks text | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.generate_profile_fields_template_data | phpbb/profilefields/manager.php | profile_row, tpl_fields, use_contact_fields | 3.1.0-b3 | Event to modify template data of the generated profile fields | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.generate_profile_fields_template_data_before | phpbb/profilefields/manager.php | profile_row, tpl_fields, use_contact_fields | 3.1.0-b3 | Event to modify data of the generated profile fields, before the template assignment loop | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.generate_profile_fields_template_headlines | phpbb/profilefields/manager.php | profile_cache, restrict_option, tpl_fields | 3.1.6-RC1 | Event to modify template headlines of the generated profile fields | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.generate_smilies_after | includes/functions_posting.php | base_url, display_link, forum_id, mode | 3.1.0-a1 | This event is called after the smilies are populated | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.generate_smilies_before | includes/functions_posting.php | root_path | 3.1.11-RC1 | Modify smiley root path before populating smiley list | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.generate_smilies_count_sql_before | includes/functions_posting.php | base_url, forum_id, sql_ary | 3.2.9-RC1 | Modify SQL query that fetches the total number of smilies in window mode | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.generate_smilies_modify_rowset | includes/functions_posting.php | forum_id, mode, smilies | 3.2.9-RC1 | Modify smilies before they are assigned to the template | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.generate_smilies_modify_sql | includes/functions_posting.php | forum_id, mode, sql_ary | 3.3.1-RC1 | Modify the SQL query that fetches the smilies | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.get_avatar_after | includes/functions.php | alt, avatar_data, html, ignore_config, row | 3.1.6-RC1 | Event to modify HTML tag of avatar | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.get_forum_list_modify_data | includes/functions_admin.php | rowset | 3.1.10-RC1 | Modify the forum list data | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.get_gravatar_url_after | phpbb/avatar/driver/gravatar.php | row, url | 3.1.7-RC1 | Modify gravatar url | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.get_group_rank_after | phpbb/group/helper.php | group_data, group_rank_data | 3.2.8-RC1 | Modify a group's rank before displaying | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.get_group_rank_before | phpbb/group/helper.php | group_data | 3.2.8-RC1 | Preparing a group's rank before displaying | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.get_logs_after | phpbb/log/log.php | count_logs, forum_id, keywords, limit, log, log_time, log_type, mode, offset, profile_url, reportee_id_list, sort_by, topic_id, topic_id_list, user_id | 3.1.3-RC1 | Allow modifying or execute extra final filter on log entries | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.get_logs_get_additional_data | phpbb/log/log.php | log, reportee_id_list, topic_id_list | 3.1.0-a1 | Get some additional data after we got all log entries | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.get_logs_main_query_before | phpbb/log/log.php | count_logs, forum_id, get_logs_sql_ary, keywords, limit, log_time, log_type, mode, offset, profile_url, sort_by, sql_additional, topic_id, user_id | 3.1.5-RC1 | Modify the query to obtain the logs data | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.get_logs_modify_entry_data | phpbb/log/log.php | log_entry_data, row | 3.1.0-a1 | Modify the entry's data before it is returned | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.get_logs_modify_type | phpbb/log/log.php | count_logs, forum_id, keywords, limit, log_time, log_type, mode, offset, profile_url, sort_by, sql_additional, topic_id, user_id | 3.1.0-a1 | Overwrite log type and limitations before we count and get the logs | + | | | | | | + | | | | | NOTE: if log_type is false, no entries will be returned. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.get_unread_topics_modify_sql | includes/functions.php | last_mark, sql_array, sql_extra, sql_sort | 3.1.4-RC1 | Change SQL query for fetching unread topics data | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.get_user_rank_after | includes/functions_display.php | user_data, user_posts, user_rank_data | 3.1.11-RC1 | Modify a user's rank before displaying | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.grab_profile_fields_data | phpbb/profilefields/manager.php | field_data, user_ids | 3.1.0-b3 | Event to modify profile fields data retrieved from the database | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.group_add_user_after | includes/functions_user.php | group_id, group_name, pending, user_id_ary, username_ary | 3.1.7-RC1 | Event after users are added to a group | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.group_delete_user_after | includes/functions_user.php | group_id, group_name, user_id_ary, username_ary | 3.1.7-RC1 | Event after users are removed from a group | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.group_delete_user_before | includes/functions_user.php | group_id, group_name, user_id_ary, username_ary | 3.1.0-a1 | Event before users are removed from a group | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.handle_post_delete_conditions | includes/functions_posting.php | delete_reason, force_delete_allowed, force_softdelete_allowed, forum_id, is_soft, perm_check, post_data, post_id, topic_id | 3.1.11-RC1 | This event allows to modify the conditions for the post deletion | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.help_manager_add_block_after | phpbb/help/manager.php | block_name, questions, switch_column | 3.2.0-a1 | You can use this event to add a block after the current one. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.help_manager_add_block_before | phpbb/help/manager.php | block_name, questions, switch_column | 3.2.0-a1 | You can use this event to add a block before the current one. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.help_manager_add_question_after | phpbb/help/manager.php | answer, question | 3.2.0-a1 | You can use this event to add a question after the current one. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.help_manager_add_question_before | phpbb/help/manager.php | answer, question | 3.2.0-a1 | You can use this event to add a question before the current one. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.index_mark_notification_after | index.php | mark_notification, notification | 3.2.6-RC1 | You can use this event to perform additional tasks or redirect user elsewhere. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.index_modify_birthdays_list | index.php | birthdays, rows | 3.1.7-RC1 | Event to modify the birthdays list | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.index_modify_birthdays_sql | index.php | now, sql_ary, time | 3.1.7-RC1 | Event to modify the SQL query to get birthdays data | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.index_modify_page_title | index.php | page_title | 3.1.0-a1 | You can use this event to modify the page title and load data for the index | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.load_drafts_draft_list_result | includes/functions_posting.php | draft_rows, topic_ids, topic_rows | 3.1.0-RC3 | Drafts found and their topics | + | | | | | Edit $draft_rows in order to add or remove drafts loaded | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.login_box_before | includes/functions.php | admin, err, l_explain, l_success, redirect, s_display | 3.1.9-RC1 | This event allows an extension to modify the login process | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.login_box_failed | includes/functions.php | err, password, result, username | 3.1.3-RC1 | This event allows an extension to process when a user fails a login attempt | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.login_box_modify_template_data | includes/functions.php | admin, autologin, login_box_template_data, redirect, username | 3.2.3-RC2 | Event to add/modify login box template data | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.login_box_redirect | includes/functions.php | admin, redirect, result | 3.1.0-RC5 | This event allows an extension to modify the redirection when a user successfully logs in | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.login_forum_box | includes/functions.php | forum_data, password | 3.1.0-RC3 | Performing additional actions, load additional data on forum login | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.make_forum_select_modify_forum_list | includes/functions_admin.php | rowset | 3.1.10-RC1 | Modify the forum list data | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.make_jumpbox_modify_forum_list | includes/functions_content.php | rowset | 3.1.10-RC1 | Modify the jumpbox forum list data | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.make_jumpbox_modify_tpl_ary | includes/functions_content.php | row, tpl_ary | 3.1.10-RC1 | Modify the jumpbox before it is assigned to the template | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.markread_after | includes/functions.php | forum_id, mode, post_time, topic_id, user_id | 3.2.6-RC1 | This event is used for performing actions directly after forums, | + | | | | | topics or posts have been marked as read. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.markread_before | includes/functions.php | forum_id, mode, post_time, should_markread, topic_id, user_id | 3.1.4-RC1 | This event is used for performing actions directly before marking forums, | + | | | | | topics or posts as read. | + | | | | | | + | | | | | It is also possible to prevent the marking. For that, the $should_markread parameter | + | | | | | should be set to FALSE. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_ban_after | includes/mcp/mcp_ban.php | ban, ban_exclude, ban_give_reason, ban_length, ban_length_other, ban_reason, mode | 3.1.0-RC5 | Use this event to perform actions after the ban has been performed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_ban_before | includes/mcp/mcp_ban.php | abort_ban, ban, ban_exclude, ban_give_reason, ban_length, ban_length_other, ban_reason, mode | 3.1.0-RC5 | Use this event to modify the ban details before the ban is performed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_ban_confirm | includes/mcp/mcp_ban.php | hidden_fields | 3.1.0-RC5 | Use this event to pass data from the ban form to the confirmation screen | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_ban_main | includes/mcp/mcp_ban.php | bansubmit, mode, unbansubmit | 3.1.0-RC5 | Use this event to pass perform actions when a ban is issued or revoked | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_change_poster_after | includes/mcp/mcp_post.php | post_info, userdata | 3.1.6-RC1 | This event allows you to perform additional tasks after changing a post's poster | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_change_topic_type_after | includes/mcp/mcp_main.php | forum_id, new_topic_type, topic_ids | 3.2.6-RC1 | Perform additional actions after changing topic types | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_change_topic_type_before | includes/mcp/mcp_main.php | forum_id, new_topic_type, topic_ids | 3.2.6-RC1 | Perform additional actions before changing topic(s) type | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_delete_topic_modify_hidden_fields | includes/mcp/mcp_main.php | forum_id, l_confirm, only_shadow, only_softdeleted, s_hidden_fields, topic_ids | 3.3.3-RC1 | This event allows you to modify the hidden form fields when deleting topics | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_delete_topic_modify_permissions | includes/mcp/mcp_main.php | action, check_permission, forum_id, is_soft, soft_delete_reason, topic_ids | 3.3.3-RC1 | This event allows you to modify the current user's checked permissions when deleting a topic | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_forum_merge_topics_after | includes/mcp/mcp_forum.php | all_topic_data, to_topic_id | 3.1.11-RC1 | Perform additional actions after merging topics. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_forum_topic_data_modify_sql | includes/mcp/mcp_forum.php | forum_id, sql_ary, topic_list | 3.3.4-RC1 | Event to modify SQL query before MCP forum topic data is queried | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_forum_view_before | includes/mcp/mcp_forum.php | action, forum_info, post_id_list, source_topic_ids, start, to_topic_id, topic_id_list | 3.1.6-RC1 | Get some data in order to execute other actions. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_front_queue_unapproved_total_before | includes/mcp/mcp_front.php | forum_list, sql_ary | 3.1.5-RC1 | Allow altering the query to get the number of unapproved posts | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_front_reports_count_query_before | includes/mcp/mcp_front.php | forum_list, sql | 3.1.5-RC1 | Alter sql query to count the number of reported posts | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_front_reports_listing_query_before | includes/mcp/mcp_front.php | forum_list, sql_ary | 3.1.0-RC3 | Alter sql query to get latest reported posts | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_front_view_queue_postid_list_after | includes/mcp/mcp_front.php | forum_list, forum_names, post_list, total | 3.1.0-RC3 | Alter list of posts and total as required | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_get_post_data_after | includes/functions_mcp.php | acl_list, post_ids, read_tracking, rowset | 3.3.1-RC1 | This event allows you to modify post data displayed in the MCP | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_global_f_read_auth_after | mcp.php | action, forum_id, mode, module, quickmod, topic_id | 3.1.3-RC1 | Allow applying additional permissions to MCP access besides f_read | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_lock_unlock_after | includes/mcp/mcp_main.php | action, data, ids | 3.1.7-RC1 | Perform additional actions after locking/unlocking posts/topics | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_main_before | includes/mcp/mcp_main.php | action, mode, quickmod | 3.2.8-RC1 | Event to perform additional actions before an MCP action is executed. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_main_fork_sql_after | includes/mcp/mcp_main.php | new_post_id, new_topic_id, row, to_forum_id | 3.2.4-RC1 | Perform actions after forked topic is created. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_main_modify_fork_sql | includes/mcp/mcp_main.php | sql_ary, topic_row | 3.1.11-RC1 | Perform actions before forked topic is created. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_main_modify_shadow_sql | includes/mcp/mcp_main.php | row, shadow | 3.1.11-RC1 | Perform actions before shadow topic is created. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_modify_permissions | mcp.php | allow_user, forum_id, quickmod, topic_id, user_quickmod_actions | 3.3.3-RC1 | Allow modification of the permissions to access the mcp file | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_post_additional_options | includes/mcp/mcp_post.php | action, post_info | 3.1.5-RC1 | This event allows you to handle custom post moderation options | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_post_template_data | includes/mcp/mcp_post.php | attachments, mcp_post_template_data, post_info, s_additional_opts | 3.1.5-RC1 | Event to add/modify MCP post template data | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_queue_approve_details_template | includes/mcp/mcp_queue.php | message, post_data, post_id, post_info, post_url, topic_id, topic_info, topic_url | 3.2.2-RC1 | Alter post awaiting approval template before it is rendered | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_queue_get_posts_for_posts_query_before | includes/mcp/mcp_queue.php | forum_list, limit_time_sql, sort_order_sql, sql, topic_id, visibility_const | 3.2.3-RC2 | Alter sql query to get information on all posts in queue | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_queue_get_posts_for_topics_query_before | includes/mcp/mcp_queue.php | forum_list, limit_time_sql, sort_order_sql, sql, topic_id, visibility_const | 3.1.0-RC3 | Alter sql query to get information on all topics in the list of forums provided. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_queue_get_posts_modify_post_row | includes/mcp/mcp_queue.php | forum_names, post_row, row | 3.2.3-RC2 | Alter sql query to get information on all topics in the list of forums provided. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_queue_get_posts_query_before | includes/mcp/mcp_queue.php | forum_list, limit_time_sql, sort_order_sql, sql, topic_id, visibility_const | 3.1.0-RC3 | Alter sql query to get posts in queue to be accepted | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_report_template_data | includes/mcp/mcp_reports.php | forum_id, post_id, post_info, report, report_id, report_template, topic_id | 3.2.5-RC1 | Event to add/modify MCP report details template data. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_reports_get_reports_query_before | includes/mcp/mcp_reports.php | forum_list, limit_time_sql, sort_order_sql, sql, topic_id | 3.1.0-RC4 | Alter sql query to get report id of all reports for requested forum and topic or just forum | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_reports_report_details_query_after | includes/mcp/mcp_reports.php | forum_id, post_id, report, report_id, sql_ary | 3.1.5-RC1 | Allow changing the data obtained from the user-submitted report. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_reports_report_details_query_before | includes/mcp/mcp_reports.php | forum_id, post_id, report_id, sql_ary | 3.1.5-RC1 | Allow changing the query to obtain the user-submitted report. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_sorting_query_before | includes/functions_mcp.php | forum_id, limit_days, limit_time_sql, min_time, mode, sort_by_sql, sort_by_text, sort_days, sort_dir, sort_key, sql, topic_id, total, type, where_sql | 3.1.4-RC1 | This event allows you to control the SQL query used to get the total number | + | | | | | of reports the user can access. | + | | | | | | + | | | | | This total is used for the pagination and for displaying the total number | + | | | | | of reports to the user | + | | | | | | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_topic_modify_post_data | includes/mcp/mcp_topic.php | attachments, forum_id, id, mode, post_id_list, rowset, topic_id | 3.1.7-RC1 | Event to modify the post data for the MCP topic review before assigning the posts | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_topic_modify_sql_ary | includes/mcp/mcp_topic.php | sql_ary | 3.2.8-RC1 | Event to modify the SQL query before the MCP topic review posts is queried | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_topic_review_modify_row | includes/mcp/mcp_topic.php | current_row_number, forum_id, id, mode, post_row, row, start, topic_id, topic_info, total | 3.1.4-RC1 | Event to modify the template data block for topic reviews in the MCP | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_topics_merge_posts_after | includes/mcp/mcp_topic.php | to_topic_id, topic_id | 3.1.11-RC1 | Perform additional actions after merging posts. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_view_forum_modify_sql | includes/mcp/mcp_forum.php | forum_id, limit_time_sql, sort_order_sql, sql, start, topics_per_page | 3.1.2-RC1 | Modify SQL query before MCP forum view topic list is queried | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_view_forum_modify_topicrow | includes/mcp/mcp_forum.php | row, topic_row | 3.1.0-a1 | Modify the topic data before it is assigned to the template in MCP | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_warn_post_after | includes/mcp/mcp_warn.php | message, notify, post_id, user_row, warning | 3.1.0-b4 | Event for after warning a user for a post. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_warn_post_before | includes/mcp/mcp_warn.php | notify, post_id, s_mcp_warn_post, user_row, warning | 3.1.0-b4 | Event for before warning a user for a post. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_warn_user_after | includes/mcp/mcp_warn.php | message, notify, user_row, warning | 3.1.0-b4 | Event for after warning a user from MCP. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_warn_user_before | includes/mcp/mcp_warn.php | notify, s_mcp_warn_user, user_row, warning | 3.1.0-b4 | Event for before warning a user from MCP. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.memberlist_memberrow_before | memberlist.php | use_contact_fields, user_list | 3.1.7-RC1 | Modify list of users before member row is created | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.memberlist_modify_ip_search_sql_query | memberlist.php | ipdomain, ips, sql | 3.1.7-RC1 | Modify sql query for members search by ip address / hostname | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.memberlist_modify_memberrow_sql | memberlist.php | mode, sql_array, sql_from, sql_select, user_list | 3.2.6-RC1 | Modify user data SQL before member row is created | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.memberlist_modify_sort_pagination_params | memberlist.php | first_char_block_vars, first_characters, params, sort_params, total_users, u_first_char_params | 3.2.6-RC1 | Modify memberlist sort and pagination parameters | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.memberlist_modify_sql_query_data | memberlist.php | order_by, sort_dir, sort_key, sort_key_sql, sql_from, sql_select, sql_where, sql_where_data | 3.1.7-RC1 | Modify sql query data for members search | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.memberlist_modify_template_vars | memberlist.php | params, sort_url, template_vars | 3.2.2-RC1 | Modify memberlist page template vars | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.memberlist_modify_view_profile_template_vars | memberlist.php | template_ary | 3.2.6-RC1 | Modify user's template vars before we display the profile | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.memberlist_modify_viewprofile_sql | memberlist.php | sql_array, user_id, username | 3.2.6-RC1 | Modify user data SQL before member profile row is created | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.memberlist_prepare_profile_data | includes/functions_display.php | data, template_data | 3.1.0-a1 | Preparing a user's data before displaying it in profile and memberlist | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.memberlist_team_modify_query | memberlist.php | group_ids, sql_ary, teampage_data | 3.1.3-RC1 | Modify the query used to get the users for the team page | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.memberlist_team_modify_template_vars | memberlist.php | groups_ary, row, template_vars | 3.1.3-RC1 | Modify the template vars for displaying the user in the groups on the teampage | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.memberlist_view_profile | memberlist.php | foe, foes_enabled, friend, friends_enabled, member, profile_fields, user_notes_enabled, warn_user_enabled, zebra_enabled | 3.1.0-a1 | Modify user data before we display the profile | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.message_admin_form_submit_before | phpbb/message/admin_form.php | body, errors, subject | 3.2.6-RC1 | You can use this event to modify subject and/or body and add new errors. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.message_history_modify_rowset | includes/functions_privmsgs.php | folder, in_post_mode, message_row, msg_id, rowset, title, url, user_id | 3.3.1-RC1 | Modify message rows before displaying the history in private messages | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.message_history_modify_sql_ary | includes/functions_privmsgs.php | sql_ary | 3.2.8-RC1 | Event to modify the SQL query before the message history in private message is queried | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.message_history_modify_template_vars | includes/functions_privmsgs.php | row, template_vars | 3.2.8-RC1 | Modify the template vars for displaying the message history in private message | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.message_list_actions | includes/ucp/ucp_pm_compose.php | add_bcc, add_to, address_list, error, remove_g, remove_u | 3.2.4-RC1 | Event for additional message list actions | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.message_parser_check_message | includes/message_parser.php | allow_bbcode, allow_flash_bbcode, allow_img_bbcode, allow_magic_url, allow_quote_bbcode, allow_smilies, allow_url_bbcode, bbcode_bitfield, bbcode_uid, message, mode, return, update_this_message, warn_msg | 3.1.2-RC1 | This event can be used for additional message checks/cleanup before parsing | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_attachment_data_on_submit | includes/message_parser.php | attachment_data | 3.2.2-RC1 | Modify attachment data on submit | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_attachment_data_on_upload | includes/message_parser.php | attachment_data | 3.2.2-RC1 | Modify attachment data on upload | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_attachment_sql_ary_on_submit | includes/message_parser.php | sql_ary | 3.2.6-RC1 | Modify attachment sql array on submit | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_attachment_sql_ary_on_upload | includes/message_parser.php | sql_ary | 3.2.6-RC1 | Modify attachment sql array on upload | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_bbcode_init | includes/message_parser.php | bbcodes, rowset | 3.1.0-a3 | Event to modify the bbcode data for later parsing | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_email_headers | includes/functions_messenger.php | headers | 3.1.11-RC1 | Event to modify email header entries | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_format_display_text_after | includes/message_parser.php | allow_bbcode, allow_magic_url, allow_smilies, text, uid, update_this_message | 3.1.0-a3 | Event to modify the text after it is parsed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_format_display_text_before | includes/message_parser.php | allow_bbcode, allow_magic_url, allow_smilies, text, uid, update_this_message | 3.1.6-RC1 | Event to modify the text before it is parsed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_group_name_string | phpbb/group/helper.php | custom_profile_url, group_colour, group_id, group_name, group_name_string, mode, name_strings | 3.2.8-RC1 | Use this event to change the output of the group name | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_inline_attachments_template_vars | includes/functions_posting.php | attachment_data, attachrow_template_vars | 3.2.2-RC1 | Modify inline attachments template vars | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_mcp_modules_display_option | mcp.php | forum_id, id, mode, module, post_id, topic_id, user_id, username | 3.1.0-b2 | This event allows you to set display option for custom MCP modules | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_memberlist_viewprofile_group_data | memberlist.php | group_data, group_sort | 3.2.6-RC1 | Modify group data before options is created and data is unset | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_memberlist_viewprofile_group_sql | memberlist.php | sql_ary | 3.2.6-RC1 | Modify the query used to get the group data | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_module_row | includes/functions_module.php | custom_func, lang_func, module_row, row, url_func | 3.1.0-b3 | This event allows to modify parameters for building modules list | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_notification_message | includes/functions_messenger.php | break, message, method, subject | 3.1.11-RC1 | Event to modify notification message text after parsing | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_notification_template | includes/functions_messenger.php | break, method, subject, template | 3.2.4-RC1 | Event to modify the template before parsing | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_pm_attach_download_auth | includes/functions_download.php | allowed, msg_id, user_id | 3.1.11-RC1 | Event to modify PM attachments download auth | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_posting_auth | posting.php | draft_id, error, forum_id, is_authed, load, mode, post_data, post_id, preview, refresh, save, submit, topic_id | 3.1.3-RC1 | This event allows you to do extra auth checks and verify if the user | + | | | | | has the required permissions | + | | | | | | + | | | | | Extensions should only change the error and is_authed variables. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_posting_parameters | posting.php | cancel, draft_id, error, forum_id, load, mode, post_id, preview, refresh, save, submit, topic_id | 3.1.0-a1 | This event allows you to alter the above parameters, such as submit and mode | + | | | | | | + | | | | | Note: $refresh must be true to retain previously submitted form data. | + | | | | | | + | | | | | Note: The template class will not work properly until $user->setup() is | + | | | | | called, and it has not been called yet. Extensions requiring template | + | | | | | assignments should use an event that comes later in this file. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_quickmod_actions | includes/mcp/mcp_main.php | action, quickmod | 3.1.0-a4 | This event allows you to handle custom quickmod options | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_quickmod_options | mcp.php | action, is_valid_action, module | 3.1.0-a4 | This event allows you to add custom quickmod options | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_submit_notification_data | includes/functions_posting.php | data_ary, mode, notification_data, poster_id | 3.2.4-RC1 | This event allows you to modify the notification data upon submission | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_submit_post_data | includes/functions_posting.php | data, mode, poll, subject, topic_type, update_message, update_search_index, username | 3.1.0-a4 | Modify the data for post submitting | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_text_for_display_after | includes/functions_content.php | bitfield, flags, text, uid | 3.1.0-a1 | Use this event to modify the text after it is parsed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_text_for_display_before | includes/functions_content.php | bitfield, censor_text, flags, text, uid | 3.1.0-a1 | Use this event to modify the text before it is parsed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_text_for_edit_after | includes/functions_content.php | flags, text | 3.1.0-a1 | Use this event to modify the text after it is decoded for editing | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_text_for_edit_before | includes/functions_content.php | flags, text, uid | 3.1.0-a1 | Use this event to modify the text before it is decoded for editing | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_text_for_storage_after | includes/functions_content.php | bitfield, flags, message_parser, text, uid | 3.1.0-a1 | Use this event to modify the text after it is prepared for storage | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_text_for_storage_before | includes/functions_content.php | allow_bbcode, allow_flash_bbcode, allow_img_bbcode, allow_quote_bbcode, allow_smilies, allow_url_bbcode, allow_urls, bitfield, flags, mode, text, uid | 3.1.0-a1 | Use this event to modify the text before it is prepared for storage | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_uploaded_file | phpbb/attachment/upload.php | filedata, is_image | 3.1.0-RC3 | Event to modify uploaded file before submit to the post | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_user_rank | includes/functions_display.php | user_data, user_posts | 3.1.0-RC4 | Preparing a user's rank before displaying | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.modify_username_string | includes/functions_content.php | _profile_cache, custom_profile_url, guest_username, mode, user_id, username, username_colour, username_string | 3.1.0-a1 | Use this event to change the output of get_username_string() | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.module_auth | includes/functions_module.php | forum_id, module_auth, valid_tokens | 3.1.0-a3 | Alter tokens for module authorisation check | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.move_posts_after | includes/functions_admin.php | auto_sync, forum_ids, forum_row, post_ids, topic_id, topic_ids | 3.1.7-RC1 | Perform additional actions after moving posts | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.move_posts_before | includes/functions_admin.php | auto_sync, forum_ids, forum_row, post_ids, topic_id, topic_ids | 3.1.7-RC1 | Perform additional actions before moving posts | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.move_posts_sync_after | includes/functions_admin.php | auto_sync, forum_ids, forum_row, post_ids, topic_id, topic_ids | 3.1.11-RC1 | Perform additional actions after move post sync | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.move_topics_after | includes/functions_admin.php | forum_id, forum_ids, topic_ids | 3.2.9-RC1 | Perform additional actions after topics move | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.move_topics_before | includes/functions_admin.php | forum_id, topic_ids | 3.2.9-RC1 | Perform additional actions before topics move | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.move_topics_before_query | includes/functions_admin.php | auto_sync, forum_id, forum_ids, table_ary, topic_ids | 3.1.5-RC1 | Perform additional actions before topics move | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.notification_manager_add_notifications | phpbb/notification/manager.php | data, notification_type_name, notify_users, options | 3.1.3-RC1 | Allow filtering the notify_users array for a notification that is about to be sent. | + | | | | | Here, $notify_users is already filtered by f_read and the ignored list included in the options variable | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.notification_manager_add_notifications_for_users_modify_data | phpbb/notification/manager.php | data, notification_type_name, notify_users | 3.3.1-RC1 | Allow filtering the $notify_users array by $notification_type_name for a notification that is about to be sent. | + | | | | | Here, $notify_users is already filtered from users who've already been notified. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.notification_message_email | includes/functions_messenger.php | addresses, break, msg, subject | 3.2.4-RC1 | Event to send message via external transport | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.notification_message_process | includes/functions_messenger.php | addresses, break, msg, subject | 3.2.4-RC1 | Event to send message via external transport | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.oauth_login_after_check_if_provider_id_has_match | phpbb/auth/provider/oauth/oauth.php | data, redirect_data, row, service | 3.2.3-RC1 | Event is triggered before check if provider is already associated with an account | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.obtain_users_online_string_before_modify | includes/functions.php | item, item_id, online_users, rowset, user_online_link | 3.1.10-RC1 | Modify online userlist data | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.obtain_users_online_string_modify | includes/functions.php | item, item_id, l_online_users, online_userlist, online_users, rowset, user_online_link | 3.1.4-RC1 | Modify online userlist data | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.obtain_users_online_string_sql | includes/functions.php | item, item_id, online_users, sql_ary | 3.1.4-RC1 | Modify SQL query to obtain online users data | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.page_footer | phpbb/controller/helper.php | page_footer_override, run_cron | 3.1.0-a1 | Execute code and/or overwrite page_footer() | + | | includes/functions.php | | | | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.page_footer_after | phpbb/controller/helper.php | display_template, exit_handler | 3.1.0-RC5 | Execute code and/or modify output before displaying the template. | + | | includes/functions.php | | | | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.page_header | includes/functions.php | display_online_list, item, item_id, page_header_override, page_title | 3.1.0-a1 | Execute code and/or overwrite page_header() | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.page_header_after | includes/functions.php | display_online_list, http_headers, item, item_id, page_title | 3.1.0-b3 | Execute code and/or overwrite _common_ template variables after they have been assigned. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.pagination_generate_page_link | phpbb/pagination.php | base_url, generate_page_link_override, on_page, per_page, start_name | 3.1.0-RC5 | Execute code and/or override generate_page_link() | + | | | | | | + | | | | | To override the generate_page_link() function generated value | + | | | | | set $generate_page_link_override to the new URL value | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.parse_attachments_modify_template_data | includes/functions_content.php | attachment, block_array, display_cat, download_link, extensions, forum_id, preview, update_count | 3.1.0-RC5 | Use this event to modify the attachment template data. | + | | | | | | + | | | | | This event is triggered once per attachment. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.permissions | phpbb/permissions.php | categories, permissions, types | 3.1.0-a1 | Allows to specify additional permission categories, types and permissions | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.phpbb_content_visibility_get_forums_visibility_before | phpbb/content_visibility.php | approve_forums, forum_ids, get_forums_visibility_sql_overwrite, mode, table_alias, where_sql | 3.1.3-RC1 | Allow changing the result of calling get_forums_visibility_sql | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.phpbb_content_visibility_get_global_visibility_before | phpbb/content_visibility.php | approve_forums, exclude_forum_ids, mode, table_alias, visibility_sql_overwrite, where_sqls | 3.1.3-RC1 | Allow changing the result of calling get_global_visibility_sql | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.phpbb_content_visibility_get_visibility_sql_before | phpbb/content_visibility.php | forum_id, get_visibility_sql_overwrite, mode, table_alias, where_sql | 3.1.4-RC1 | Allow changing the result of calling get_visibility_sql | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.phpbb_content_visibility_is_visible | phpbb/content_visibility.php | data, forum_id, is_visible, mode | 3.2.2-RC1 | Allow changing the result of calling is_visible | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.phpbb_generate_debug_output | includes/functions.php | debug_info | 3.1.0-RC3 | Modify debug output information | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.phpbb_log_get_topic_auth_sql_after | phpbb/log/log.php | forum_auth, row | 3.2.2-RC1 | Allow modifying SQL query after topic data is retrieved (inside loop). | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.phpbb_log_get_topic_auth_sql_before | phpbb/log/log.php | sql_ary, topic_ids | 3.1.11-RC1 | Allow modifying SQL query before topic data is retrieved. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.pm_modify_message_subject | includes/ucp/ucp_pm_compose.php | message_subject | 3.2.8-RC1 | This event allows you to modify the PM subject of the PM being quoted | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.posting_modify_bbcode_status | posting.php | bbcode_status, flash_status, img_status, quote_status, smilies_status, url_status | 3.3.3-RC1 | Event to override message BBCode status indications | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.posting_modify_cannot_edit_conditions | posting.php | force_edit_allowed, post_data, s_cannot_edit, s_cannot_edit_locked, s_cannot_edit_time | 3.1.0-b4 | This event allows you to modify the conditions for the "cannot edit post" checks | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.posting_modify_default_variables | posting.php | post_data, uninit | 3.2.5-RC1 | This event allows you to modify the default variables for post_data, and unset them in post_data if needed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.posting_modify_message_text | posting.php | cancel, error, forum_id, load, message_parser, mode, post_data, post_id, preview, refresh, save, submit, topic_id | 3.1.2-RC1 | This event allows you to modify message text before parsing | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.posting_modify_post_data | posting.php | forum_id, mode, post_data, post_id, topic_id | 3.2.2-RC1 | This event allows you to modify the post data before parsing | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.posting_modify_post_subject | posting.php | post_subject | 3.2.8-RC1 | This event allows you to modify the post subject of the post being quoted | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.posting_modify_quote_attributes | posting.php | post_data, quote_attributes | 3.2.6-RC1 | This event allows you to modify the quote attributes of the post being quoted | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.posting_modify_row_data | posting.php | forum_id, mode, post_data, topic_id | 3.2.8-RC1 | This event allows you to bypass reply/quote test of an unapproved post. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.posting_modify_submission_errors | posting.php | error, forum_id, mode, poll, post_data, post_id, submit, topic_id | 3.1.0-RC5 | This event allows you to define errors before the post action is performed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.posting_modify_submit_post_after | posting.php | data, forum_id, mode, poll, post_author_name, post_data, post_id, redirect_url, topic_id, update_message, update_subject | 3.1.0-RC5 | This event allows you to define errors after the post action is performed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.posting_modify_submit_post_before | posting.php | data, forum_id, mode, poll, post_author_name, post_data, post_id, topic_id, update_message, update_subject | 3.1.0-RC5 | This event allows you to define errors before the post action is performed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.posting_modify_template_vars | posting.php | cancel, draft_id, error, form_enctype, forum_id, load, message_parser, mode, moderators, page_data, page_title, post_data, post_id, preview, refresh, s_action, s_hidden_fields, s_topic_icons, save, submit, topic_id | 3.1.0-a1 | This event allows you to modify template variables for the posting screen | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.prune_delete_before | includes/functions_admin.php | topic_list | 3.2.2-RC1 | Perform additional actions before topic deletion via pruning | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.prune_forums_settings_confirm | includes/acp/acp_prune.php | hidden_fields | 3.2.2-RC1 | Use this event to pass data from the prune form to the confirmation screen | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.prune_forums_settings_template_data | includes/acp/acp_prune.php | template_data | 3.2.2-RC1 | Event to add/modify prune forums settings template data | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.prune_sql | includes/functions_admin.php | auto_sync, forum_id, prune_date, prune_flags, prune_limit, prune_mode, sql_and | 3.1.3-RC1 | Use this event to modify the SQL that selects topics to be pruned | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.report_post_auth | phpbb/report/report_handler_post.php | acl_check_ary, forum_data, report_data | 3.1.3-RC1 | This event allows you to do extra auth checks and verify if the user | + | | | | | has the required permissions | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_backend_search_after | search.php | author_id_ary, ex_fid_ary, id_ary, m_approve_posts_fid_sql, per_page, search_fields, search_terms, show_results, sort_by_sql, sort_days, sort_dir, sort_key, sql_author_match, start, topic_id, total_match_count | 3.1.10-RC1 | Event to search otherwise than by keywords or author | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_get_posts_data | search.php | author_id_ary, ex_fid_ary, keywords, s_limit_days, s_sort_dir, s_sort_key, search_fields, search_id, sort_by_sql, sql_array, start, total_match_count, zebra | 3.1.0-b3 | Event to modify the SQL query before the posts data is retrieved | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_get_topic_data | search.php | sort_by_sql, sort_dir, sort_key, sql_from, sql_order_by, sql_select, sql_where, total_match_count | 3.1.0-a1 | Event to modify the SQL query before the topic data is retrieved | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_modify_forum_select_list | search.php | rowset | 3.1.10-RC1 | Modify the forum select list for advanced search page | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_modify_param_after | search.php | l_search_title, search_id, show_results, sql | 3.1.7-RC1 | Event to modify data after pre-made searches | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_modify_param_before | search.php | author_id_ary, ex_fid_ary, id_ary, keywords, search_id, show_results, sort_by_sql | 3.1.3-RC1 | Event to modify the SQL parameters before pre-made searches | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_modify_post_row | search.php | hilit, row, u_hilit, view, zebra | 3.2.2-RC1 | Modify the row of a post result before the post_text is trimmed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_modify_rowset | search.php | attachments, hilit, rowset, show_results, topic_tracking_info, u_hilit, view, zebra | 3.1.0-b4 | Modify the rowset data | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_modify_submit_parameters | search.php | author, author_id, keywords, search_id, submit | 3.1.10-RC1 | This event allows you to alter the above parameters, such as keywords and submit | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_modify_tpl_ary | search.php | attachments, folder_alt, folder_img, posts_unapproved, replies, row, show_results, topic_deleted, topic_title, topic_type, topic_unapproved, tpl_ary, u_mcp_queue, unread_topic, view_topic_url, zebra | 3.1.0-a1 | Modify the topic data before it is assigned to the template | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_modify_url_parameters | search.php | ex_fid_ary, search_id, show_results, sql_where, total_match_count, u_search | 3.1.7-RC1 | Event to add or modify search URL parameters | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_mysql_author_query_before | phpbb/search/fulltext_mysql.php | author_ary, author_name, ex_fid_ary, firstpost_only, m_approve_fid_sql, result_count, sort_by_sql, sort_days, sort_dir, sort_key, sql_author, sql_firstpost, sql_fora, sql_sort, sql_sort_join, sql_sort_table, sql_time, sql_topic_id, start, topic_id, type | 3.1.5-RC1 | Allow changing the query used to search for posts by author in fulltext_mysql | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_mysql_by_author_modify_search_key | phpbb/search/fulltext_mysql.php | author_ary, author_name, ex_fid_ary, firstpost_only, post_visibility, search_key_array, sort_days, sort_key, topic_id, type | 3.1.7-RC1 | Allow changing the search_key for cached results | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_mysql_by_keyword_modify_search_key | phpbb/search/fulltext_mysql.php | author_ary, ex_fid_ary, fields, post_visibility, search_key_array, sort_days, sort_key, terms, topic_id, type | 3.1.7-RC1 | Allow changing the search_key for cached results | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_mysql_create_index_before | phpbb/search/fulltext_mysql.php | sql_queries, stats | 3.2.3-RC1 | Event to modify SQL queries before the MySQL search index is created | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_mysql_delete_index_before | phpbb/search/fulltext_mysql.php | sql_queries, stats | 3.2.3-RC1 | Event to modify SQL queries before the MySQL search index is deleted | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_mysql_index_before | phpbb/search/fulltext_mysql.php | forum_id, message, mode, post_id, poster_id, split_text, split_title, subject, words | 3.2.3-RC1 | Event to modify method arguments and words before the MySQL search index is updated | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_mysql_keywords_main_query_before | phpbb/search/fulltext_mysql.php | author_ary, author_name, ex_fid_ary, join_topic, result_count, search_query, sort_by_sql, sort_days, sort_dir, sort_key, sql_match, sql_match_where, sql_sort, sql_sort_join, sql_sort_table, start, topic_id | 3.1.5-RC1 | Allow changing the query used to search for posts using fulltext_mysql | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_native_author_count_query_before | phpbb/search/fulltext_native.php | ex_fid_ary, firstpost_only, select, sort_by_sql, sort_days, sort_dir, sort_key, sql_author, sql_firstpost, sql_fora, sql_sort, sql_sort_join, sql_sort_table, sql_time, start, topic_id, total_results, type | 3.1.5-RC1 | Allow changing the query used to search for posts by author in fulltext_native | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_native_by_author_modify_search_key | phpbb/search/fulltext_native.php | author_ary, author_name, ex_fid_ary, firstpost_only, post_visibility, search_key_array, sort_days, sort_key, topic_id, type | 3.1.7-RC1 | Allow changing the search_key for cached results | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_native_by_keyword_modify_search_key | phpbb/search/fulltext_native.php | author_ary, ex_fid_ary, fields, must_contain_ids, must_exclude_one_ids, must_not_contain_ids, post_visibility, search_key_array, sort_days, sort_key, terms, topic_id, type | 3.1.7-RC1 | Allow changing the search_key for cached results | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_native_delete_index_before | phpbb/search/fulltext_native.php | sql_queries, stats | 3.2.3-RC1 | Event to modify SQL queries before the native search index is deleted | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_native_index_before | phpbb/search/fulltext_native.php | cur_words, forum_id, message, mode, post_id, poster_id, split_text, split_title, subject, words | 3.2.3-RC1 | Event to modify method arguments and words before the native search index is updated | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_native_keywords_count_query_before | phpbb/search/fulltext_native.php | author_ary, author_name, ex_fid_ary, group_by, left_join_topics, must_contain_ids, must_exclude_one_ids, must_not_contain_ids, search_query, sort_by_sql, sort_days, sort_dir, sort_key, sql_array, sql_match, sql_match_where, sql_sort, sql_sort_join, sql_sort_table, sql_where, start, topic_id, total_results | 3.1.5-RC1 | Allow changing the query used for counting for posts using fulltext_native | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_postgres_author_count_query_before | phpbb/search/fulltext_postgres.php | author_ary, author_name, ex_fid_ary, firstpost_only, m_approve_fid_sql, result_count, sort_by_sql, sort_days, sort_dir, sort_key, sql_author, sql_fora, sql_sort, sql_sort_join, sql_sort_table, sql_time, sql_topic_id, start, topic_id | 3.1.5-RC1 | Allow changing the query used to search for posts by author in fulltext_postgres | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_postgres_by_author_modify_search_key | phpbb/search/fulltext_postgres.php | author_ary, author_name, ex_fid_ary, firstpost_only, post_visibility, search_key_array, sort_days, sort_key, topic_id, type | 3.1.7-RC1 | Allow changing the search_key for cached results | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_postgres_by_keyword_modify_search_key | phpbb/search/fulltext_postgres.php | author_ary, ex_fid_ary, fields, post_visibility, search_key_array, sort_days, sort_key, terms, topic_id, type | 3.1.7-RC1 | Allow changing the search_key for cached results | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_postgres_create_index_before | phpbb/search/fulltext_postgres.php | sql_queries, stats | 3.2.3-RC1 | Event to modify SQL queries before the Postgres search index is created | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_postgres_delete_index_before | phpbb/search/fulltext_postgres.php | sql_queries, stats | 3.2.3-RC1 | Event to modify SQL queries before the Postgres search index is created | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_postgres_index_before | phpbb/search/fulltext_postgres.php | forum_id, message, mode, post_id, poster_id, split_text, split_title, subject, words | 3.2.3-RC1 | Event to modify method arguments and words before the PostgreSQL search index is updated | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_postgres_keywords_main_query_before | phpbb/search/fulltext_postgres.php | author_ary, author_name, ex_fid_ary, join_topic, result_count, sort_by_sql, sort_days, sort_dir, sort_key, sql_match, sql_match_where, sql_sort, sql_sort_join, sql_sort_table, start, topic_id, tsearch_query | 3.1.5-RC1 | Allow changing the query used to search for posts using fulltext_postgres | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_results_modify_search_title | search.php | author_id, keywords, l_search_title, search_id, show_results, start, total_match_count | 3.1.0-RC4 | Modify the title and/or load data for the search results page | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_sphinx_index_before | phpbb/search/fulltext_sphinx.php | forum_id, message, mode, post_id, poster_id, subject | 3.2.3-RC1 | Event to modify method arguments before the Sphinx search index is updated | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_sphinx_keywords_modify_options | phpbb/search/fulltext_sphinx.php | author_ary, author_name, ex_fid_ary, fields, post_visibility, sort_days, sort_key, sphinx, terms, topic_id, type | 3.1.7-RC1 | Allow modifying the Sphinx search options | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.search_sphinx_modify_config_data | phpbb/search/fulltext_sphinx.php | config_data, delete, non_unique | 3.1.7-RC1 | Allow adding/changing the Sphinx configuration data | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.send_file_to_browser_before | includes/functions_download.php | attachment, category, filename, size, upload_dir | 3.1.11-RC1 | Event to alter attachment before it is sent to browser. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.session_create_after | phpbb/session.php | session_data | 3.1.6-RC1 | Event to send new session data to extension | + | | | | | Read-only event | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.session_gc_after | phpbb/session.php | | 3.1.6-RC1 | Event to trigger extension on session_gc | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.session_ip_after | phpbb/session.php | ip | 3.1.10-RC1 | Event to alter user IP address | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.session_kill_after | phpbb/session.php | new_session, session_id, user_id | 3.1.6-RC1 | Event to send session kill information to extension | + | | | | | Read-only event | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.session_set_custom_ban | phpbb/session.php | ban_row, ban_triggered_by, banned, return | 3.1.3-RC1 | Event to set custom ban type | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.set_cookie | phpbb/session.php | cookiedata, cookietime, disable_cookie, httponly, name | 3.2.9-RC1 | Event to modify or disable setting cookies | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.set_login_key | phpbb/session.php | key, key_id, sql, sql_ary, user_id, user_ip | 3.3.2-RC1 | Event to adjust autologin keys process | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.set_post_visibility_after | phpbb/content_visibility.php | data, forum_id, is_latest, is_starter, post_id, reason, time, topic_id, user_id, visibility | 3.1.10-RC1 | Perform actions after all steps to changing post visibility | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.set_post_visibility_before_sql | phpbb/content_visibility.php | data, forum_id, is_latest, is_starter, post_id, reason, time, topic_id, user_id, visibility | 3.1.10-RC1 | Perform actions right before the query to change post visibility | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.set_topic_visibility_after | phpbb/content_visibility.php | data, force_update_all, forum_id, reason, time, topic_id, user_id, visibility | 3.1.10-RC1 | Perform actions after all steps to changing topic visibility | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.set_topic_visibility_before_sql | phpbb/content_visibility.php | data, force_update_all, forum_id, reason, time, topic_id, user_id, visibility | 3.1.10-RC1 | Perform actions right before the query to change topic visibility | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.smiley_text_root_path | includes/functions_content.php | root_path | 3.1.11-RC1 | Event to override the root_path for smilies | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.submit_pm_after | includes/functions_privmsgs.php | data, mode, pm_data, subject | 3.1.0-b5 | Get PM message ID after submission to DB | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.submit_pm_before | includes/functions_privmsgs.php | data, mode, subject | 3.1.0-b3 | Get all parts of the PM that are to be submited to the DB. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.submit_post_end | includes/functions_posting.php | data, mode, poll, post_visibility, subject, topic_type, update_message, update_search_index, url, username | 3.1.0-a3 | This event is used for performing actions directly after a post or topic | + | | | | | has been submitted. When a new topic is posted, the topic ID is | + | | | | | available in the $data array. | + | | | | | | + | | | | | The only action that can be done by altering data made available to this | + | | | | | event is to modify the return URL ($url). | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.submit_post_modify_sql_data | includes/functions_posting.php | data, poll, post_mode, sql_data, subject, topic_type, username | 3.1.3-RC1 | Modify sql query data for post submitting | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.text_formatter_s9e_configure_after | phpbb/textformatter/s9e/factory.php | configurator | 3.2.0-a1 | Modify the s9e\TextFormatter configurator after the default settings are set | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.text_formatter_s9e_configure_before | phpbb/textformatter/s9e/factory.php | configurator | 3.2.0-a1 | Modify the s9e\TextFormatter configurator before the default settings are set | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.text_formatter_s9e_configure_finalize | phpbb/textformatter/s9e/factory.php | objects | 3.2.2-RC1 | Access the objects returned by finalize() before they are saved to cache | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.text_formatter_s9e_get_errors | phpbb/textformatter/s9e/parser.php | entries, errors, parser | 3.3.1-RC1 | Modify error messages generated by the s9e\TextFormatter's logger | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.text_formatter_s9e_parse_after | phpbb/textformatter/s9e/parser.php | parser, xml | 3.2.0-a1 | Modify a parsed text in its XML form | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.text_formatter_s9e_parse_before | phpbb/textformatter/s9e/parser.php | parser, text | 3.2.0-a1 | Modify a text before it is parsed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.text_formatter_s9e_parser_setup | phpbb/textformatter/s9e/parser.php | parser | 3.2.0-a1 | Configure the parser service | + | | | | | | + | | | | | Can be used to: | + | | | | | - toggle features or BBCodes | + | | | | | - register variables or custom parsers in the s9e\TextFormatter parser | + | | | | | - configure the s9e\TextFormatter parser's runtime settings | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.text_formatter_s9e_render_after | phpbb/textformatter/s9e/renderer.php | html, renderer | 3.2.0-a1 | Modify a rendered text | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.text_formatter_s9e_render_before | phpbb/textformatter/s9e/renderer.php | renderer, xml | 3.2.0-a1 | Modify a parsed text before it is rendered | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.text_formatter_s9e_renderer_setup | phpbb/textformatter/s9e/renderer.php | renderer | 3.2.0-a1 | Configure the renderer service | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.thumbnail_create_before | includes/functions_posting.php | destination, mimetype, new_height, new_width, source, thumbnail_created | 3.2.4 | Create thumbnail event to replace GD thumbnail creation with for example ImageMagick | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.topic_review_modify_post_list | includes/functions_posting.php | attachments, cur_post_id, forum_id, mode, post_list, rowset, show_quote_button, topic_id | 3.1.9-RC1 | Event to modify the posts list for topic reviews | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.topic_review_modify_row | includes/functions_posting.php | cur_post_id, current_row_number, forum_id, mode, post_row, row, topic_id | 3.1.4-RC1 | Event to modify the template data block for topic reviews | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.topic_review_modify_sql_ary | includes/functions_posting.php | cur_post_id, forum_id, mode, post_list, show_quote_button, sql_ary, topic_id | 3.2.8-RC1 | Event to modify the SQL query for topic reviews | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.twig_environment_render_template_after | phpbb/template/twig/environment.php | context, name, output | 3.2.1-RC1 | Allow changing the template output stream after rendering | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.twig_environment_render_template_before | phpbb/template/twig/environment.php | context, name | 3.2.1-RC1 | Allow changing the template output stream before rendering | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_activate_after | includes/ucp/ucp_activate.php | message, user_row | 3.1.6-RC1 | This event can be used to modify data after user account's activation | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_add_zebra | includes/ucp/ucp_zebra.php | mode, sql_ary | 3.1.0-a1 | Add users to friends/foes | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_delete_cookies | ucp.php | cookie_name, retain_cookie | 3.1.3-RC1 | Event to save custom cookies from deletion | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_display_module_before | ucp.php | id, mode, module | 3.1.0-a1 | Use this event to enable and disable additional UCP modules | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_login_link_template_after | includes/ucp/ucp_login_link.php | auth_provider, data, login_error, login_link_error, login_username, tpl_ary | 3.2.4-RC1 | Event to perform additional actions before ucp_login_link is displayed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_main_front_modify_sql | includes/ucp/ucp_main.php | forum_ary, sql_from, sql_select | 3.2.4-RC1 | Modify sql variables before query is processed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_main_front_modify_template_vars | includes/ucp/ucp_main.php | folder_alt, folder_img, forum_id, row, topicrow | 3.2.4-RC1 | Add template variables to a front topics row. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_main_subscribed_forum_modify_template_vars | includes/ucp/ucp_main.php | folder_alt, folder_image, forum_id, last_post_time, last_post_url, row, template_vars, unread_forum | 3.1.10-RC1 | Add template variables to a subscribed forum row. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_main_subscribed_forums_modify_query | includes/ucp/ucp_main.php | forbidden_forums, sql_array | 3.1.10-RC1 | Modify the query used to retrieve a list of subscribed forums | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_main_subscribed_post_data | includes/ucp/ucp_main.php | | 3.1.10-RC1 | Read and potentially modify the post data used to remove subscriptions to forums/topics | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_main_topiclist_count_modify_query | includes/ucp/ucp_main.php | forbidden_forum_ary, mode, sql_array | 3.1.10-RC1 | Modify the query used to retrieve the count of subscribed/bookmarked topics | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_main_topiclist_modify_query | includes/ucp/ucp_main.php | forbidden_forum_ary, mode, sql_array | 3.1.10-RC1 | Modify the query used to retrieve the list of subscribed/bookmarked topics | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_main_topiclist_topic_modify_template_vars | includes/ucp/ucp_main.php | folder_alt, folder_img, forum_id, icons, replies, row, template_vars, topic_id, topic_type, unread_topic, view_topic_url | 3.1.10-RC1 | Add template variables to a subscribed/bookmarked topic row. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_modify_friends_sql | ucp.php | sql_ary | 3.3.1-RC1 | Event to modify the SQL query before listing of friends | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_modify_friends_template_vars | ucp.php | row, tpl_ary, which | 3.3.1-RC1 | Event to modify the template before listing of friends | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_notifications_output_notification_types_modify_template_vars | includes/ucp/ucp_notifications.php | method_data, subscriptions, tpl_ary, type_data | 3.3.1-RC1 | Event to perform additional actions before ucp_notifications is displayed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_notifications_submit_notification_is_set | includes/ucp/ucp_notifications.php | is_available, is_set_notify, method_data, subscriptions, type_data | 3.3.1-RC1 | Event to perform additional actions before ucp_notifications is submitted | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_pm_compose_compose_pm_basic_info_query_after | includes/ucp/ucp_pm_compose.php | action, delete, msg_id, post, preview, reply_to_all, submit, to_group_id, to_user_id | 3.3.1-RC1 | Alter the row of the post being quoted when composing a private message | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_pm_compose_compose_pm_basic_info_query_before | includes/ucp/ucp_pm_compose.php | action, delete, msg_id, preview, reply_to_all, sql, submit, to_group_id, to_user_id | 3.1.0-RC5 | Alter sql query to get message for user to write the PM | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_pm_compose_modify_bbcode_status | includes/ucp/ucp_pm_compose.php | bbcode_status, flash_status, img_status, smilies_status, url_status | 3.3.3-RC1 | Event to override private message BBCode status indications | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_pm_compose_modify_data | includes/ucp/ucp_pm_compose.php | action, delete, msg_id, preview, reply_to_all, submit, to_group_id, to_user_id | 3.1.4-RC1 | Modify the default vars before composing a PM | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_pm_compose_modify_parse_after | includes/ucp/ucp_pm_compose.php | enable_bbcode, enable_sig, enable_smilies, enable_urls, error, message_parser, preview, subject, submit | 3.3.1-RC1 | Modify private message | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_pm_compose_modify_parse_before | includes/ucp/ucp_pm_compose.php | enable_bbcode, enable_sig, enable_smilies, enable_urls, error, message_parser, preview, subject, submit | 3.1.10-RC1 | Modify private message | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_pm_compose_predefined_message | includes/ucp/ucp_pm_compose.php | message_subject, message_text | 3.1.11-RC1 | Predefine message text and subject | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_pm_compose_quotepost_query_after | includes/ucp/ucp_pm_compose.php | action, delete, msg_id, post, preview, reply_to_all, sql, submit, to_group_id, to_user_id | 3.1.0-RC5 | Get the result of querying for the post to be quoted in the pm message | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_pm_compose_template | includes/ucp/ucp_pm_compose.php | template_ary | 3.2.6-RC1 | Modify the default template vars | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_pm_view_folder_get_pm_from_sql | includes/ucp/ucp_pm_viewfolder.php | sql_ary, sql_limit, sql_start | 3.1.11-RC1 | Modify SQL before it is executed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_pm_view_folder_get_pm_from_template | includes/ucp/ucp_pm_viewfolder.php | base_url, folder, folder_id, pm_count, start, template_vars, user_id | 3.1.11-RC1 | Modify template variables before they are assigned | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_pm_view_message | includes/ucp/ucp_pm_viewmessage.php | attachments, cp_row, folder, folder_id, id, message_row, mode, msg_data, msg_id, user_info | 3.2.2-RC1 | Modify pm and sender data before it is assigned to the template | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_pm_view_message_before | includes/ucp/ucp_pm_viewmessage.php | author_id, folder, folder_id, message_row, msg_id | 3.3.1-RC1 | Modify private message data before it is prepared to be displayed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_pm_view_messsage | includes/ucp/ucp_pm_viewmessage.php | cp_row, folder, folder_id, id, message_row, mode, msg_data, msg_id, user_info | 3.1.0-a1 | Modify pm and sender data before it is assigned to the template | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_prefs_modify_common | includes/ucp/ucp_prefs.php | data, error, mode, s_hidden_fields | 3.1.0-RC3 | Modify UCP preferences data before the page load | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_prefs_personal_data | includes/ucp/ucp_prefs.php | data, error, submit | 3.1.0-a1 | Add UCP edit global settings data before they are assigned to the template or submitted | + | | | | | | + | | | | | To assign data to the template, use $template->assign_vars() | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_prefs_personal_update_data | includes/ucp/ucp_prefs.php | data, sql_ary | 3.1.0-a1 | Update UCP edit global settings data on form submit | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_prefs_post_data | includes/ucp/ucp_prefs.php | data, submit | 3.1.0-a1 | Add UCP edit posting defaults data before they are assigned to the template or submitted | + | | | | | | + | | | | | To assign data to the template, use $template->assign_vars() | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_prefs_post_update_data | includes/ucp/ucp_prefs.php | data, sql_ary | 3.1.0-a1 | Update UCP edit posting defaults data on form submit | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_prefs_view_after | includes/ucp/ucp_prefs.php | _options, data, limit_post_days, limit_topic_days, s_limit_post_days, s_limit_topic_days, s_sort_post_dir, s_sort_post_key, s_sort_topic_dir, s_sort_topic_key, sort_by_post_sql, sort_by_post_text, sort_by_topic_sql, sort_by_topic_text, sort_dir_text, submit | 3.1.8-RC1 | Run code before view form is displayed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_prefs_view_data | includes/ucp/ucp_prefs.php | data, submit | 3.1.0-a1 | Add UCP edit display options data before they are assigned to the template or submitted | + | | | | | | + | | | | | To assign data to the template, use $template->assign_vars() | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_prefs_view_update_data | includes/ucp/ucp_prefs.php | data, sql_ary | 3.1.0-a1 | Update UCP edit display options data on form submit | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_profile_autologin_keys_sql | includes/ucp/ucp_profile.php | sql_ary | 3.3.2-RC1 | Event allows changing SQL query for autologin keys | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_profile_autologin_keys_template_vars | includes/ucp/ucp_profile.php | sessions, template_vars | 3.3.2-RC1 | Event allows changing template variables | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_profile_avatar_sql | includes/ucp/ucp_profile.php | result | 3.1.11-RC1 | Trigger events on successfull avatar change | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_profile_avatar_upload_validation | phpbb/avatar/driver/remote.php | error, height, url, width | 3.2.9-RC1 | Event to make custom validation of avatar upload | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_profile_info_modify_sql_ary | includes/ucp/ucp_profile.php | cp_data, data, sql_ary | 3.1.4-RC1 | Modify profile data in UCP before submitting to the database | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_profile_modify_profile_info | includes/ucp/ucp_profile.php | data, submit | 3.1.4-RC1 | Modify user data on editing profile in UCP | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_profile_modify_signature | includes/ucp/ucp_profile.php | enable_bbcode, enable_smilies, enable_urls, error, preview, signature, submit | 3.1.10-RC1 | Modify user signature on editing profile in UCP | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_profile_modify_signature_sql_ary | includes/ucp/ucp_profile.php | sql_ary | 3.1.10-RC1 | Modify user registration data before submitting it to the database | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_profile_reg_details_data | includes/ucp/ucp_profile.php | data, submit | 3.1.4-RC1 | Modify user registration data on editing account settings in UCP | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_profile_reg_details_sql_ary | includes/ucp/ucp_profile.php | data, sql_ary | 3.1.4-RC1 | Modify user registration data before submitting it to the database | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_profile_reg_details_validate | includes/ucp/ucp_profile.php | data, error, submit | 3.1.4-RC1 | Validate user data on editing registration data in UCP | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_profile_validate_profile_info | includes/ucp/ucp_profile.php | data, error, submit | 3.1.4-RC1 | Validate user data on editing profile in UCP | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_register_agreement | includes/ucp/ucp_register.php | | 3.1.6-RC1 | Allows to modify the agreements. | + | | | | | | + | | | | | To assign data to the template, use $template->assign_vars() | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_register_agreement_modify_template_data | includes/ucp/ucp_register.php | lang_row, s_hidden_fields, template_vars, tpl_name | 3.2.2-RC1 | Allows to modify the agreements. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_register_data_after | includes/ucp/ucp_register.php | cp_data, data, error, submit | 3.1.4-RC1 | Check UCP registration data after they are submitted | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_register_data_before | includes/ucp/ucp_register.php | data, submit | 3.1.4-RC1 | Add UCP register data before they are assigned to the template or submitted | + | | | | | | + | | | | | To assign data to the template, use $template->assign_vars() | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_register_modify_template_data | includes/ucp/ucp_register.php | data, error, s_hidden_fields, template_vars, tpl_name | 3.2.2-RC1 | Modify template data on the registration page | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_register_register_after | includes/ucp/ucp_register.php | cp_data, data, message, server_url, user_actkey, user_id, user_row | 3.2.4-RC1 | Perform additional actions after user registration | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_register_requests_after | includes/ucp/ucp_register.php | agreed, change_lang, coppa, submit, user_lang | 3.1.11-RC1 | Add UCP register data before they are assigned to the template or submitted | + | | | | | | + | | | | | To assign data to the template, use $template->assign_vars() | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_register_user_row_after | includes/ucp/ucp_register.php | cp_data, data, submit, user_row | 3.1.4-RC1 | Add into $user_row before user_add | + | | | | | | + | | | | | user_add allows adding more data into the users table | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_register_welcome_email_before | includes/ucp/ucp_register.php | cp_data, data, message, messenger, server_url, user_actkey, user_id, user_row | 3.2.4-RC1 | Modify messenger data before welcome mail is sent | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_remind_modify_select_sql | phpbb/ucp/controller/reset_password.php | email, sql_array, username | 3.1.11-RC1 | Change SQL query for fetching user data | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_remove_zebra | includes/ucp/ucp_zebra.php | mode, user_ids | 3.1.0-a1 | Remove users from friends/foes | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_reset_password_modify_select_sql | phpbb/ucp/controller/reset_password.php | reset_token, sql_array, user_id | 3.3.0-b1 | Change SQL query for fetching user data | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_restore_permissions | ucp.php | message, username | 3.1.11-RC1 | Event to run code after permissions are restored | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.ucp_switch_permissions | ucp.php | message, user_id, user_row | 3.1.11-RC1 | Event to run code after permissions are switched | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.update_session_after | phpbb/session.php | session_data, session_id | 3.1.6-RC1 | Event to send update session information to extension | + | | | | | Read-only event | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.update_username | includes/functions_user.php | new_name, old_name | 3.1.0-a1 | Update a username when it is changed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.user_active_flip_after | includes/functions_user.php | activated, deactivated, mode, reason, sql_statements, user_id_ary | 3.1.4-RC1 | Perform additional actions after the users have been activated/deactivated | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.user_active_flip_before | includes/functions_user.php | activated, deactivated, mode, reason, sql_statements, user_id_ary | 3.1.4-RC1 | Check or modify activated/deactivated users data before submitting it to the database | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.user_add_after | includes/functions_user.php | cp_data, user_id, user_row | 3.1.0-b5 | Event that returns user id, user details and user CPF of newly registered user | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.user_add_modify_data | includes/functions_user.php | cp_data, notifications_data, sql_ary, user_row | 3.1.0-a1 | Use this event to modify the values to be inserted when a user is added | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.user_add_modify_notifications_data | includes/functions_user.php | cp_data, notifications_data, sql_ary, user_row | 3.2.2-RC1 | Modify the notifications data to be inserted in the database when a user is added | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.user_format_date_override | phpbb/user.php | format_date_override, function_arguments, utc | 3.2.1-RC1 | Execute code and/or override format_date() | + | | | | | | + | | | | | To override the format_date() function generated value | + | | | | | set $format_date_override to new return value | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.user_set_default_group | includes/functions_user.php | group_attributes, group_id, sql_ary, update_listing, user_id_ary | 3.1.0-a1 | Event when the default group is set for an array of users | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.user_set_group_attributes | includes/functions_user.php | action, group_attributes, group_id, group_name, user_id_ary, username_ary | 3.1.10-RC1 | Event to perform additional actions on setting user group attributes | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.user_setup | phpbb/user.php | lang_set, lang_set_ext, style_id, user_data, user_date_format, user_lang_name, user_timezone | 3.1.0-a1 | Event to load language files and modify user data on every page | + | | | | | | + | | | | | Note: To load language file with this event, see description | + | | | | | of lang_set_ext variable. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.user_setup_after | phpbb/user.php | | 3.1.6-RC1 | Execute code at the end of user setup | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.user_unban | includes/functions_user.php | mode, user_ids_ary | 3.1.11-RC1 | Use this event to perform actions after the unban has been performed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.validate_bbcode_by_extension | includes/message_parser.php | params_array, return | 3.1.5-RC1 | Event to validate bbcode with the custom validating methods | + | | | | | provided by extensions | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.validate_config_variable | includes/functions_acp.php | cfg_array, config_definition, config_name, error | 3.1.0-a1 | Validate a config value | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewforum_generate_page_after | viewforum.php | forum_data | 3.2.2-RC1 | This event is to perform additional actions on viewforum page | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewforum_get_announcement_topic_ids_data | viewforum.php | forum_data, forum_id, g_forum_ary, sql_anounce_array, sql_ary | 3.1.10-RC1 | Event to modify the SQL query before the announcement topic ids data is retrieved | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewforum_get_shadowtopic_data | viewforum.php | sql_array | 3.1.0-a1 | Event to modify the SQL query before the shadowtopic data is retrieved | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewforum_get_topic_data | viewforum.php | forum_data, forum_id, sort_days, sort_dir, sort_key, sql_array, topics_count | 3.1.0-a1 | Event to modify the SQL query before the topic data is retrieved | + | | | | | | + | | | | | It may also be used to override the above assigned template vars | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewforum_get_topic_ids_data | viewforum.php | forum_data, sql_approved, sql_ary, sql_limit, sql_limit_time, sql_sort_order, sql_start, sql_where, store_reverse | 3.1.0-RC4 | Event to modify the SQL query before the topic ids data is retrieved | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewforum_modify_page_title | viewforum.php | forum_data, forum_id, page_title, start | 3.2.2-RC1 | You can use this event to modify the page title of the viewforum page | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewforum_modify_sort_data_sql | viewforum.php | forum_id, sort_days, sort_dir, sort_key, sql_array, start | 3.1.9-RC1 | Modify the sort data SQL query for getting additional fields if needed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewforum_modify_sort_direction | viewforum.php | direction | 3.2.5-RC1 | Modify the topics sort ordering if needed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewforum_modify_topic_list_sql | viewforum.php | forum_data, forum_id, sql_array, topic_list | 3.3.1-RC1 | Event to modify the SQL query before obtaining topics/stickies | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewforum_modify_topic_ordering | viewforum.php | sort_by_sql, sort_by_text | 3.2.5-RC1 | Modify the topic ordering if needed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewforum_modify_topicrow | viewforum.php | row, s_type_switch, s_type_switch_test, topic_row | 3.1.0-a1 | Modify the topic data before it is assigned to the template | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewforum_modify_topics_data | viewforum.php | forum_id, rowset, topic_list, total_topic_count | 3.1.0-b3 | Modify topics data before we display the viewforum page | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewforum_topic_row_after | viewforum.php | row, rowset, s_type_switch, topic_id, topic_list, topic_row | 3.1.3-RC1 | Event after the topic data has been assigned to the template | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewonline_modify_forum_data_sql | viewonline.php | sql_ary | 3.1.5-RC1 | Modify the forum data SQL query for getting additional fields if needed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewonline_modify_sql | viewonline.php | forum_data, guest_counter, show_guests, sql_ary | 3.1.0-a1 | Modify the SQL query for getting the user data to display viewonline list | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewonline_modify_user_row | viewonline.php | forum_data, on_page, row, template_row | 3.1.0-RC4 | Modify viewonline template data before it is displayed in the list | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewonline_overwrite_location | viewonline.php | forum_data, location, location_url, on_page, row | 3.1.0-a1 | Overwrite the location's name and URL, which are displayed in the list | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewtopic_add_quickmod_option_before | viewtopic.php | allow_change_type, forum_id, post_id, quickmod_array, topic_data, topic_id, topic_tracking_info, viewtopic_url | 3.1.9-RC1 | Event to modify data in the quickmod_array before it gets sent to the | + | | | | | phpbb_add_quickmod_option function. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewtopic_assign_template_vars_before | viewtopic.php | base_url, forum_id, post_id, quickmod_array, start, topic_data, topic_id, topic_tracking_info, total_posts, viewtopic_url | 3.1.0-RC4 | Event to modify data before template variables are being assigned | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewtopic_before_f_read_check | viewtopic.php | forum_id, overrides_f_read_check, overrides_forum_password_check, post_id, topic_data, topic_id, topic_tracking_info | 3.1.3-RC1 | Event to apply extra permissions and to override original phpBB's f_read permission and forum password check | + | | | | | on viewtopic access | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewtopic_cache_guest_data | viewtopic.php | poster_id, row, user_cache_data | 3.1.0-a1 | Modify the guest user's data displayed with the posts | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewtopic_cache_user_data | viewtopic.php | poster_id, row, user_cache_data | 3.1.0-a1 | Modify the users' data displayed with their posts | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewtopic_gen_sort_selects_before | viewtopic.php | join_user_sql, limit_days, s_limit_days, s_sort_dir, s_sort_key, sort_by_sql, sort_by_text, sort_days, sort_dir, sort_key, u_sort_param | 3.2.8-RC1 | Event to add new sorting options | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewtopic_get_post_data | viewtopic.php | forum_id, post_list, sort_days, sort_dir, sort_key, sql_ary, start, topic_data, topic_id | 3.1.0-a1 | Event to modify the SQL query before the post and poster data is retrieved | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewtopic_highlight_modify | viewtopic.php | highlight, highlight_match, start, topic_data, total_posts, viewtopic_url | 3.1.11-RC1 | Event to modify highlight. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewtopic_modify_forum_id | viewtopic.php | forum_id, topic_data | 3.2.5-RC1 | Modify the forum ID to handle the correct display of viewtopic if needed | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewtopic_modify_page_title | viewtopic.php | forum_id, page_title, post_list, start, topic_data | 3.1.0-a1 | You can use this event to modify the page title of the viewtopic page | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewtopic_modify_poll_ajax_data | viewtopic.php | data, forum_id, poll_info, topic_data, valid_user_votes, vote_counts | 3.2.4-RC1 | Event to manipulate the poll data sent by AJAX response | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewtopic_modify_poll_data | viewtopic.php | cur_voted_id, forum_id, poll_info, s_can_vote, s_display_results, topic_data, topic_id, viewtopic_url, vote_counts, voted_id | 3.1.5-RC1 | Event to manipulate the poll data | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewtopic_modify_poll_template_data | viewtopic.php | cur_voted_id, poll_end, poll_info, poll_most, poll_options_template_data, poll_template_data, poll_total, topic_data, viewtopic_url, vote_counts, voted_id | 3.1.5-RC1 | Event to add/modify poll template data | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewtopic_modify_post_action_conditions | viewtopic.php | force_delete_allowed, force_edit_allowed, force_softdelete_allowed, row, s_cannot_delete, s_cannot_delete_lastpost, s_cannot_delete_locked, s_cannot_delete_time, s_cannot_edit, s_cannot_edit_locked, s_cannot_edit_time, topic_data | 3.1.0-b4 | This event allows you to modify the conditions for the "can edit post" and "can delete post" checks | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewtopic_modify_post_data | viewtopic.php | attachments, can_receive_pm_list, display_notice, forum_id, has_approved_attachments, permanently_banned_users, post_list, rowset, sort_days, sort_dir, sort_key, start, topic_data, topic_id, user_cache | 3.1.0-RC3 | Event to modify the post, poster and attachment data before assigning the posts | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewtopic_modify_post_list_sql | viewtopic.php | forum_id, sort_days, sort_key, sql, sql_limit, sql_start | 3.2.4-RC1 | Event to modify the SQL query that gets post_list | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewtopic_modify_post_row | viewtopic.php | attachments, cp_row, current_row_number, end, post_edit_list, post_row, poster_id, row, start, topic_data, total_posts, user_cache, user_poster_data | 3.1.0-a1 | Modify the posts template block | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewtopic_modify_quick_reply_template_vars | viewtopic.php | topic_data, tpl_ary | 3.2.9-RC1 | Event after the quick-reply has been setup | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewtopic_post_row_after | viewtopic.php | attachments, cp_row, current_row_number, end, post_row, row, start, topic_data, total_posts, user_poster_data | 3.1.0-a3 | Event after the post data has been assigned to the template | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.viewtopic_post_rowset_data | viewtopic.php | row, rowset_data | 3.1.0-a1 | Modify the post rowset containing data to be displayed with posts | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + + +Template Events +=============== + +.. table:: + :class: events-list + + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | Identifier | Prosilver Placement (If applicable) | Added in Release | Explanation | + +=======================================================+==========================================================+==================+==================================================================================================================================+ + | attachment_file_after | attachment.html | 3.1.6-RC1 | Add content after the attachment. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | attachment_file_append | attachment.html | 3.1.6-RC1 | Add custom attachment types displaying to the bottom of attachment block. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | attachment_file_before | attachment.html | 3.1.6-RC1 | Add content before the attachment. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | attachment_file_prepend | attachment.html | 3.1.6-RC1 | Add custom attachment types displaying to the top of attachment block. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | confirm_delete_body_delete_reason_before | confirm_delete_body.html | 3.2.4-RC1 | Add custom text to the confirmation of a post that is deleted. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | forumlist_body_category_header_after | forumlist_body.html | 3.1.0-a4 | Add content after the header of the category on the forum list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | forumlist_body_category_header_before | forumlist_body.html | 3.1.0-a4 | Add content before the header of the category on the forum list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | forumlist_body_category_header_row_append | forumlist_body.html | 3.1.5-RC1 | Add content after the header row of the category on the forum list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | forumlist_body_category_header_row_prepend | forumlist_body.html | 3.1.5-RC1 | Add content before the header row of the category on the forum list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | forumlist_body_forum_image_after | forumlist_body.html | 3.2.2-RC1 | Add content after the forum image on the forum list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | forumlist_body_forum_image_append | forumlist_body.html | 3.2.2-RC1 | Add content at the start of the forum image on the forum list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | forumlist_body_forum_image_before | forumlist_body.html | 3.2.2-RC1 | Add content before the forum image on the forum list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | forumlist_body_forum_image_prepend | forumlist_body.html | 3.2.2-RC1 | Add content at the end of the forum image on the forum list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | forumlist_body_forum_row_after | forumlist_body.html | 3.1.0-RC5 | Add content after the forum list item. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | forumlist_body_forum_row_append | forumlist_body.html | 3.1.0-RC5 | Add content at the start of the forum list item. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | forumlist_body_forum_row_before | forumlist_body.html | 3.1.0-RC5 | Add content before the forum list item. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | forumlist_body_forum_row_prepend | forumlist_body.html | 3.1.0-RC5 | Add content at the end of the forum list item. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | forumlist_body_last_post_title_prepend | forumlist_body.html | 3.1.0-a1 | Add content before the post title of the latest post in a forum on the forum list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | forumlist_body_last_poster_username_append | forumlist_body.html | 3.2.4-RC1 | Append information to last poster username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | forumlist_body_last_poster_username_prepend | forumlist_body.html | 3.2.4-RC1 | Prepend information to last poster username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | forumlist_body_last_row_after | forumlist_body.html | 3.1.0-b2 | Add content after the very last row of the forum list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | forumlist_body_subforum_link_append | forumlist_body.html | 3.1.11-RC1 | Add content at the end of subforum link item. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | forumlist_body_subforum_link_prepend | forumlist_body.html | 3.1.11-RC1 | Add content at the start of subforum link item. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | forumlist_body_subforums_after | forumlist_body.html | 3.1.0-a4 | Add content after the list of subforums (if any) for each forum on the forum list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | forumlist_body_subforums_before | forumlist_body.html | 3.1.0-a4 | Add content before the list of subforums (if any) for each forum on the forum list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | index_body_birthday_block_before | index_body.html | 3.1.11-RC1 | Add new statistic blocks before the Birthday block | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | index_body_block_birthday_append | index_body.html | 3.1.0-b3 | Append content to the birthday list on the Board index | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | index_body_block_birthday_prepend | index_body.html | 3.1.0-b3 | Prepend content to the birthday list on the Board index | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | index_body_block_online_append | index_body.html | 3.1.0-b3 | Append content to the online list on the Board index | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | index_body_block_online_prepend | index_body.html | 3.1.0-b3 | Prepend content to the online list on the Board index | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | index_body_block_stats_append | index_body.html | 3.1.0-b3 | Append content to the statistics list on the Board index | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | index_body_block_stats_prepend | index_body.html | 3.1.0-b3 | Prepend content to the statistics list on the Board index | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | index_body_forumlist_body_after | index_body.html | 3.1.1 | Add content after the forum list body on the index page | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | index_body_markforums_after | index_body.html | 3.1.0-RC2 | Add content after the mark-read link above the forum list on Board index | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | index_body_markforums_before | index_body.html | 3.1.0-RC2 | Add content before the mark-read link above the forum list on Board index | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | index_body_stat_blocks_after | index_body.html | 3.1.0-b3 | Add new statistic blocks below the Who Is Online and Board Statistics blocks | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | index_body_stat_blocks_before | index_body.html | 3.1.0-a1 | Add new statistic blocks above the Who Is Online and Board Statistics blocks | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_ban_fields_after | mcp_ban.html | 3.1.0-RC3 | Add additional fields to the ban form in MCP | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_ban_fields_before | mcp_ban.html | 3.1.0-RC3 | Add additional fields to the ban form in MCP | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_ban_unban_after | mcp_ban.html | 3.1.0-RC3 | Add additional fields to the unban form in MCP | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_ban_unban_before | mcp_ban.html | 3.1.0-RC3 | Add additional fields to the unban form in MCP | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_forum_actions_after | mcp_forum.html | 3.1.11-RC1 | Add some information after actions fieldset | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_forum_actions_append | mcp_forum.html | 3.1.11-RC1 | Add additional options to actions select | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_forum_actions_before | mcp_forum.html | 3.1.11-RC1 | Add some information before actions fieldset | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_forum_last_post_author_username_append | mcp_forum.html | 3.3.4-RC1 | Append information to last post author username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_forum_last_post_author_username_prepend | mcp_forum.html | 3.3.4-RC1 | Prepend information to last post author username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_forum_topic_author_username_append | mcp_forum.html | 3.3.4-RC1 | Append information to topic author username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_forum_topic_author_username_prepend | mcp_forum.html | 3.3.4-RC1 | Prepend information to topic author username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_forum_topic_title_after | mcp_forum.html | 3.1.6-RC1 | Add some information after the topic title | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_forum_topic_title_before | mcp_forum.html | 3.1.6-RC1 | Add some information before the topic title | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_front_latest_logs_after | mcp_front.html | 3.1.3-RC1 | Add content after latest logs list | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_front_latest_logs_before | mcp_front.html | 3.1.3-RC1 | Add content before latest logs list | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_front_latest_reported_before | mcp_front.html | 3.1.3-RC1 | Add content before latest reported posts list | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_front_latest_reported_pms_before | mcp_front.html | 3.1.3-RC1 | Add content before latest reported private messages list | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_front_latest_unapproved_before | mcp_front.html | 3.1.3-RC1 | Add content before latest unapproved posts list | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_move_before | mcp_move.html | 3.1.10-RC1 | Add content before move topic/post form | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_move_destination_forum_after | mcp_move.html | 3.2.8-RC1 | Add content after the destination select element in the move topic/post form | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_move_destination_forum_before | mcp_move.html | 3.2.8-RC1 | Add content before the destination select element in the move topic/post form | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_post_additional_options | mcp_post.html | 3.1.5-RC1 | Add content within the list of post moderation actions | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_post_report_buttons_top_after | mcp_post.html | 3.2.4-RC1 | Add content after report buttons | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_post_report_buttons_top_before | mcp_post.html | 3.2.4-RC1 | Add content before report buttons | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_post_text_after | mcp_post.html | 3.2.6-RC1 | Add content after the post text | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_post_text_before | mcp_post.html | 3.2.6-RC1 | Add content before the post text | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_topic_options_after | mcp_topic.html | 3.1.6-RC1 | Add some options (field, checkbox, ...) after the subject field when split a subject | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_topic_options_before | mcp_topic.html | 3.1.6-RC1 | Add some options (field, checkbox, ...) before the subject field when split a subject | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_topic_post_author_full_append | mcp_topic.html | 3.2.8-RC1 | Append information to message author username for post details in topic moderation | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_topic_post_author_full_prepend | mcp_topic.html | 3.2.8-RC1 | Prepend information to message author username for post details in topic moderation | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_topic_postrow_attachments_after | mcp_topic.html | 3.2.2-RC1 | Show additional content after attachments in mcp topic review | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_topic_postrow_attachments_before | mcp_topic.html | 3.2.2-RC1 | Show additional content before attachments in mcp topic review | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_topic_postrow_post_before | mcp_topic.html | 3.2.2-RC1 | Show additional content after postrow begins in mcp topic review | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_topic_postrow_post_details_after | mcp_topic.html | 3.1.10-RC1 | Add content after post details in topic moderation | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_topic_postrow_post_details_before | mcp_topic.html | 3.1.10-RC1 | Add content before post details in topic moderation | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_topic_postrow_post_subject_after | mcp_topic.html | 3.1.11-RC1 | Add content after post subject in topic moderation | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_topic_postrow_post_subject_before | mcp_topic.html | 3.1.11-RC1 | Add content before post subject in topic moderation | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_topic_topic_title_after | mcp_topic.html | 3.1.6-RC1 | Add some information after the topic title | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_topic_topic_title_before | mcp_topic.html | 3.1.6-RC1 | Add some information before the topic title | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_warn_post_add_warning_field_after | mcp_warn_post.html | 3.1.0-RC4 | Add content during warning for a post - after add warning field. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_warn_post_add_warning_field_before | mcp_warn_post.html | 3.1.0-RC4 | Add content during warning for a post - before add warning field. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_warn_user_add_warning_field_after | mcp_warn_user.html | 3.1.0-RC4 | Add content during warning a user - after add warning field. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | mcp_warn_user_add_warning_field_before | mcp_warn_user.html | 3.1.0-RC4 | Add content during warning a user - before add warning field. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_body_group_desc_after | memberlist_body.html | 3.2.6-RC1 | Add data after the group description and type in the group profile page. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_body_group_name_after | memberlist_body.html | 3.2.6-RC1 | Add data after the group name in the group profile page. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_body_group_name_before | memberlist_body.html | 3.2.6-RC1 | Add data before the group name in the group profile page. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_body_group_rank_after | memberlist_body.html | 3.2.6-RC1 | Add data after the group rank in the group profile page. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_body_group_rank_before | memberlist_body.html | 3.2.6-RC1 | Add data before the group rank in the group profile page. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_body_leaders_set_after | memberlist_body.html | 3.2.6-RC1 | Add data after the last row in the memberlist mode leaders. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_body_memberlist_after | memberlist_body.html | 3.2.6-RC1 | Add data after the last row in the memberlist. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_body_memberrow_after | memberlist_body.html | 3.2.6-RC1 | Add data after the last memberrow in the memberlist. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_body_page_footer_before | memberlist_body.html | 3.2.6-RC1 | Add data before the page footer. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_body_page_header_after | memberlist_body.html | 3.2.6-RC1 | Add data after the page header. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_body_page_title_before | memberlist_body.html | 3.2.6-RC1 | Add data before the page title. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_body_rank_append | memberlist_body.html | 3.1.6-RC1 | Add information after rank in memberlist. Works in | + | | | | all display modes (leader, group and normal memberlist). | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_body_rank_prepend | memberlist_body.html | 3.1.6-RC1 | Add information before rank in memberlist. Works in | + | | | | all display modes (leader, group and normal memberlist). | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_body_show_group_after | memberlist_body.html | 3.2.6-RC1 | Add data after the last row in the memberlist mode group. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_body_username_append | memberlist_body.html | 3.1.0-a1 | Add information after every username in the memberlist. Works in | + | | | | all display modes (leader, group and normal memberlist). | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_body_username_prepend | memberlist_body.html | 3.1.0-a1 | Add information before every username in the memberlist. Works in | + | | | | all display modes (leader, group and normal memberlist). | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_email_before | memberlist_email.html | 3.1.10-RC1 | Allow adding customizations before the memberlist_email form. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_search_fields_after | memberlist_search.html | 3.1.2-RC1 | Add information after the search fields column. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_search_fields_before | memberlist_search.html | 3.1.2-RC1 | Add information before the search fields column. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_search_sorting_options_before | memberlist_search.html | 3.1.2-RC1 | Add information before the search sorting options field. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_team_username_append | memberlist_team.html | 3.1.11-RC1 | Append information to username of team member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_team_username_prepend | memberlist_team.html | 3.1.11-RC1 | Add information before team user username | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_view_contact_after | memberlist_view.html | 3.1.0-b2 | Add content after the user contact part of any user profile | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_view_contact_before | memberlist_view.html | 3.1.0-b2 | Add content before the user contact part of any user profile | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_view_contact_custom_fields_after | memberlist_view.html | 3.1.9-RC1 | Add content after the user contact related custom fields | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_view_contact_custom_fields_before | memberlist_view.html | 3.1.9-RC1 | Add content before the user contact related custom fields | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_view_content_append | memberlist_view.html | 3.1.0-b2 | Add custom content to the user profile view after the main content | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_view_content_prepend | memberlist_view.html | 3.1.0-b3 | Add custom content to the user profile view before the main content | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_view_non_contact_custom_fields_after | memberlist_view.html | 3.1.9-RC1 | Add content after the user not contact related custom fields | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_view_non_contact_custom_fields_before | memberlist_view.html | 3.1.9-RC1 | Add content before the user not contact related custom fields | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_view_rank_avatar_after | memberlist_view.html | 3.1.6-RC1 | Add information after rank in memberlist (with avatar) | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_view_rank_avatar_before | memberlist_view.html | 3.1.6-RC1 | Add information before rank in memberlist (with avatar) | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_view_rank_no_avatar_after | memberlist_view.html | 3.1.6-RC1 | Add information after rank in memberlist (without avatar) | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_view_rank_no_avatar_before | memberlist_view.html | 3.1.6-RC1 | Add information before rank in memberlist (without avatar) | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_view_user_statistics_after | memberlist_view.html | 3.1.0-a1 | Add entries after the user statistics part of any user profile | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_view_user_statistics_before | memberlist_view.html | 3.1.0-a1 | Add entries before the user statistics part of any user profile | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_view_username_append | memberlist_view.html | 3.2.4-RC1 | Append information to username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_view_username_prepend | memberlist_view.html | 3.2.4-RC1 | Prepend information to username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_view_zebra_after | memberlist_view.html | 3.1.9-RC1 | Add content after the user friends/foes links | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | memberlist_view_zebra_before | memberlist_view.html | 3.1.9-RC1 | Add content before the user friends/foes links | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | navbar_header_logged_out_content | navbar_header.html | 3.1.0-RC1 | Add text and HTML in place of the username when not logged in. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | navbar_header_profile_list_after | navbar_header.html | 3.1.0-RC2 | Add links to the bottom of the profile drop-down menu in the header navbar | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | navbar_header_profile_list_before | navbar_header.html | 3.1.0-RC2 | Add links to the top of the profile drop-down menu in the header navbar | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | navbar_header_quick_links_after | navbar_header.html | 3.1.0-RC2 | Add links to the bottom of the quick-links drop-down menu in the header | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | navbar_header_quick_links_before | navbar_header.html | 3.1.0-RC2 | Add links to the top of the quick-links drop-down menu in the header | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | navbar_header_user_profile_append | navbar_header.html | 3.1.8-RC1 | Add links to the right of the user drop down area | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | navbar_header_user_profile_prepend | navbar_header.html | 3.1.8-RC1 | Add links to the left of the notification area | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | navbar_header_username_append | navbar_header.html | 3.1.0-RC1 | Add text and HTMl after the username shown in the navbar. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | navbar_header_username_prepend | navbar_header.html | 3.1.0-RC1 | Add text and HTMl before the username shown in the navbar. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_footer_after | overall_footer.html | 3.1.0-a1 | Add content at the end of the file, directly prior to the `` tag | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_footer_body_after | overall_footer.html | 3.1.3-RC1 | Add content before the `` tag but after the $SCRIPTS var, i.e. after the js scripts have been loaded | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_footer_breadcrumb_append | navbar_footer.html | 3.1.0-a1 | Add links to the list of breadcrumbs in the footer | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_footer_breadcrumb_prepend | navbar_footer.html | 3.1.0-RC3 | Add links to the list of breadcrumbs in the footer (after site-home, but before board-index) | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_footer_content_after | overall_footer.html | 3.1.0-a3 | Add content on all pages after the main content, before the footer | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_footer_copyright_append | overall_footer.html | 3.1.0-a1 | Add content after the copyright line (no new line by default), before the ACP link | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_footer_copyright_prepend | overall_footer.html | 3.1.0-a1 | Add content before the copyright line | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_footer_page_body_after | overall_footer.html | 3.1.0-b3 | Add content after the page-body, but before the footer | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_footer_teamlink_after | navbar_footer.html | 3.1.0-b3 | Add contents after the team-link in the footer | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_footer_teamlink_before | navbar_footer.html | 3.1.0-b3 | Add contents before the team-link in the footer | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_footer_timezone_after | navbar_footer.html | 3.1.0-b3 | Add content to the navbar in the page footer, after "Timezone" | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_footer_timezone_before | navbar_footer.html | 3.1.0-b3 | Add content to the navbar in the page footer, before "Timezone" | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_header_body_before | overall_header.html | 3.1.0-b2 | Add content to the header body | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_header_breadcrumb_append | navbar_header.html | 3.1.0-a1 | Add links to the list of breadcrumbs in the header | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_header_breadcrumb_prepend | navbar_header.html | 3.1.0-RC3 | Add links to the list of breadcrumbs in the header (after site-home, but before board-index) | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_header_breadcrumbs_after | navbar_header.html | 3.1.0-RC3 | Add content after the breadcrumbs (outside of the breadcrumbs container) | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_header_breadcrumbs_before | navbar_header.html | 3.1.0-RC3 | Add content before the breadcrumbs (outside of the breadcrumbs container) | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_header_content_before | overall_header.html | 3.1.0-a3 | Add content on all pages before the main content, after the header | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_header_feeds | overall_header.html | 3.1.6-RC1 | Add custom feeds | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_header_head_append | overall_header.html | 3.1.0-a1 | Add asset calls directly before the `` tag | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_header_headerbar_after | overall_header.html | 3.1.10-RC1 | Add content at the end of the headerbar | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_header_headerbar_before | overall_header.html | 3.1.10-RC1 | Add content at the beginning of the headerbar | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_header_navbar_before | overall_header.html | 3.1.4-RC1 | Add content before the navigation bar | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_header_navigation_append | navbar_header.html | 3.1.0-a1 | Add links after the navigation links in the header | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_header_navigation_prepend | navbar_header.html | 3.1.0-a1 | Add links before the navigation links in the header | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_header_navlink_append | navbar_header.html | 3.1.0-b3 | Add content after each individual navlink (breadcrumb) | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_header_navlink_prepend | navbar_header.html | 3.1.0-b3 | Add content before each individual navlink (breadcrumb) | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_header_page_body_before | overall_header.html | 3.1.0-b3 | Add content after the page-header, but before the page-body | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_header_searchbox_after | overall_header.html | 3.1.11-RC1 | Add content after the search box in the header | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_header_searchbox_before | overall_header.html | 3.1.4-RC1 | Add content before the search box in the header | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | overall_header_stylesheets_after | overall_header.html | 3.1.0-RC3 | Add asset calls after stylesheets within the `` tag. | + | | | | Note that INCLUDECSS will not work with this event. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_attach_body_attach_row_after | posting_attach_body.html | 3.2.6-RC1 | Add content after attachment row in the file list | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_attach_body_attach_row_append | posting_attach_body.html | 3.2.6-RC1 | Add content appending the attachment row in the file list | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_attach_body_attach_row_before | posting_attach_body.html | 3.2.6-RC1 | Add content before attachment row in the file list | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_attach_body_attach_row_controls_append | posting_attach_body.html | 3.2.2-RC1 | Add content after attachment control elements | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_attach_body_attach_row_controls_prepend | posting_attach_body.html | 3.2.2-RC1 | Add content before attachment control elements | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_attach_body_attach_row_prepend | posting_attach_body.html | 3.2.6-RC1 | Add content prepending attachment row in the file list | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_attach_body_file_list_after | posting_attach_body.html | 3.2.6-RC1 | Add content after attachments list | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_attach_body_file_list_before | posting_attach_body.html | 3.2.6-RC1 | Add content before attachments list | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_editor_add_panel_tab | posting_editor.html | 3.1.6-RC1 | Add custom panel to post editor | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_editor_bbcode_status_after | posting_editor.html | 3.1.4-RC1 | Add content after bbcode status | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_editor_buttons_after | posting_buttons.html | 3.1.0-a3 | Add content after the BBCode posting buttons | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_editor_buttons_before | posting_buttons.html | 3.1.0-a3 | Add content before the BBCode posting buttons | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_editor_buttons_custom_tags_before | posting_buttons.html | 3.1.2-RC1 | Add content inside the BBCode posting buttons and before the customs BBCode | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_editor_message_after | posting_editor.html | 3.1.0-a2 | Add field (e.g. textbox) to the posting screen after the message | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_editor_message_before | posting_editor.html | 3.1.0-a2 | Add field (e.g. textbox) to the posting screen before the message | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_editor_options_prepend | posting_editor.html | 3.1.0-a1 | Add posting options on the posting screen | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_editor_smilies_after | posting_editor.html | 3.1.4-RC1 | Add content after smilies | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_editor_smilies_before | posting_editor.html | 3.1.4-RC1 | Add content before the smilies | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_editor_subject_after | posting_editor.html | 3.1.0-a2 | Add field (e.g. textbox) to the posting screen after the subject | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_editor_subject_append | posting_editor.html | 3.1.10-RC1 | Add field, text, etc. to the posting after the subject text box | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_editor_subject_before | posting_editor.html | 3.1.0-a2 | Add field (e.g. textbox) to the posting screen before the subject | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_editor_subject_prepend | posting_editor.html | 3.1.10-RC1 | Add field, text, etc. to the posting before the subject text box | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_editor_submit_buttons | posting_editor.html | 3.1.6-RC1 | Add custom buttons in the posting editor | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_editor_topic_icons_after | posting_editor.html | 3.2.10-RC1 | Add custom data after the topic icons loop | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_editor_topic_icons_append | posting_editor.html | 3.2.10-RC1 | Append custom data to the topic icon | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_editor_topic_icons_before | posting_editor.html | 3.2.10-RC1 | Add custom data before the topic icons loop | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_editor_topic_icons_prepend | posting_editor.html | 3.2.10-RC1 | Prepend custom data to the topic icon | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_layout_include_panel_body | posting_layout.html | 3.1.6-RC1 | Add include of custom panel template body in posting editor | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_pm_header_find_username_after | posting_pm_header.html | 3.1.0-RC4 | Add content after the find username link on composing pm | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_pm_header_find_username_before | posting_pm_header.html | 3.1.0-RC4 | Add content before the find username link on composing pm | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_pm_layout_include_pm_header_after | posting_pm_layout.html | 3.1.4-RC1 | Add content after the include of posting_pm_header.html | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_pm_layout_include_pm_header_before | posting_pm_layout.html | 3.1.4-RC1 | Add content before the include of posting_pm_header.html | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_poll_body_options_after | posting_poll_body.html | 3.1.4-RC1 | Add content after the poll options on creating a poll | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_preview_content_after | posting_preview.html | 3.2.4-RC1 | Add content after the message content preview | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_preview_poll_after | posting_preview.html | 3.1.7-RC1 | Add content after the poll preview block | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_review_row_post_author_username_append | posting_review.html | 3.2.8-RC1 | Append information to post author username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_review_row_post_author_username_prepend | posting_review.html | 3.2.8-RC1 | Prepend information to post author username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_topic_review_row_content_after | posting_topic_review.html | 3.2.4-RC1 | Add content after the message content in topic review | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_topic_review_row_post_author_username_append | posting_topic_review.html | 3.2.8-RC1 | Append information to post author username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_topic_review_row_post_author_username_prepend | posting_topic_review.html | 3.2.8-RC1 | Prepend information to post author username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_topic_review_row_post_details_after | posting_topic_review.html | 3.1.10-RC1 | Add content after post details in topic review | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_topic_review_row_post_details_before | posting_topic_review.html | 3.1.10-RC1 | Add content before post details in topic review | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_topic_title_after | posting_layout.html | 3.1.7-RC1 | Allows to add some information after the topic title in the posting form | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | posting_topic_title_before | posting_layout.html | 3.1.6-RC1 | Allows to add some information on the left of the topic title in the posting form | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | quickreply_editor_message_after | quickreply_editor.html | 3.1.0-a4 | Add content after the quick reply textbox | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | quickreply_editor_message_before | quickreply_editor.html | 3.1.0-a4 | Add content before the quick reply textbox | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | quickreply_editor_panel_after | quickreply_editor.html | 3.1.0-b2 | Add content after the quick reply panel (but inside the form) | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | quickreply_editor_panel_before | quickreply_editor.html | 3.1.0-b2 | Add content before the quick reply panel (but inside the form) | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | quickreply_editor_subject_before | quickreply_editor.html | 3.1.7-RC1 | Add content before the quick reply subject textbox | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_body_form_after | search_body.html | 3.1.7-RC1 | Add content after the search form | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_body_form_before | search_body.html | 3.1.5-RC1 | Add content before the search form | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_body_recent_search_after | search_body.html | 3.1.7-RC1 | Add content after the recent search queries list | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_body_recent_search_before | search_body.html | 3.1.7-RC1 | Add content before the recent search queries list | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_body_search_display_options_append | search_body.html | 3.1.7-RC1 | Put content at the bottom of the search query display options fields set | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_body_search_display_options_prepend | search_body.html | 3.1.7-RC1 | Put content at the top of the search query display options fields set | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_body_search_options_after | search_body.html | 3.1.7-RC1 | Add content after the search query options fields set | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_body_search_options_append | search_body.html | 3.1.7-RC1 | Put content at the bottom of the search query options fields set | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_body_search_options_before | search_body.html | 3.1.7-RC1 | Add content before the search query options fields set | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_body_search_options_prepend | search_body.html | 3.1.7-RC1 | Put content at the top of the search query options fields set | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_body_search_query_after | search_body.html | 3.1.7-RC1 | Add content after the search query fields set | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_body_search_query_append | search_body.html | 3.1.7-RC1 | Put content at the bottom of the search query fields set | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_body_search_query_before | search_body.html | 3.1.7-RC1 | Add content before the search query fields set | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_body_search_query_prepend | search_body.html | 3.1.7-RC1 | Put content at the top of the search query fields set | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_results_content_after | search_results.html | 3.2.4-RC1 | Add content after the message content in search results | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_results_header_after | search_results.html | 3.1.4-RC1 | Add content after the header of the search results | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_results_header_before | search_results.html | 3.1.4-RC1 | Add content before the header of the search results. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_results_jumpbox_before | search_results.html | 3.3.4-RC1 | Add content before the jumpbox of the search results. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_results_last_post_author_username_append | search_results.html | 3.2.4-RC1 | Append information to last post author username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_results_last_post_author_username_prepend | search_results.html | 3.2.4-RC1 | Prepend information to last post author username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_results_post_after | search_results.html | 3.1.0-b3 | Add data after search result posts | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_results_post_author_username_append | search_results.html | 3.2.4-RC1 | Append information to post author username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_results_post_author_username_prepend | search_results.html | 3.2.4-RC1 | Prepend information to post author username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_results_post_before | search_results.html | 3.1.0-b3 | Add data before search result posts | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_results_post_subject_before | search_results.html | 3.3.4-RC1 | Add data before search result posts subject | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_results_postprofile_after | search_results.html | 3.1.0-b3 | Add content after the post author and stats in search results (posts view mode) | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_results_postprofile_before | search_results.html | 3.1.0-b3 | Add content directly before the post author in search results (posts view mode) | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_results_searchbox_after | search_results.html | 3.1.4-RC1 | Add content right after the searchbox of the search results. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_results_topic_after | search_results.html | 3.1.0-b4 | Add data after search result topics | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_results_topic_author_username_append | search_results.html | 3.2.4-RC1 | Append information to topic author username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_results_topic_author_username_prepend | search_results.html | 3.2.4-RC1 | Prepend information to topic author username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_results_topic_before | search_results.html | 3.1.0-b4 | Add data before search result topics | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_results_topic_header_lastpost_after | search_results.html | 3.3.4-RC1 | Add header column(s) after `lastpost` column in search result topics | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_results_topic_row_lastpost_after | search_results.html | 3.3.4-RC1 | Add data column(s) after `lastpost` column in search result topics | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | search_results_topic_title_after | search_results.html | 3.1.11-RC1 | Add data after search results topic title | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | simple_footer_after | simple_footer.html | 3.1.0-a1 | Add content prior to the scripts of the simple footer | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | simple_footer_body_after | simple_footer.html | 3.2.4-RC1 | Add content directly prior to the `` tag of the simple footer | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | simple_header_body_before | simple_header.html | 3.1.0-b2 | Add content to the header body | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | simple_header_head_append | simple_header.html | 3.1.0-b4 | Add asset calls directly before the `` tag | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | simple_header_stylesheets_after | simple_header.html | 3.1.0-RC3 | Add asset calls after stylesheets within the `` tag. | + | | | | Note that INCLUDECSS will not work with this event. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | topiclist_row_append | search_results.html, viewforum_body.html, mcp_forum.html | 3.1.0-a1 | Add content into topic rows (inside the elements containing topic titles) | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | topiclist_row_prepend | search_results.html, viewforum_body.html, mcp_forum.html | 3.1.0-a1 | Add content into topic rows (inside the elements containing topic titles) | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | topiclist_row_topic_by_author_after | search_results.html, viewforum_body.html, mcp_forum.html | 3.2.8-RC1 | Add content into topic rows (after the "by topic author" row) | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | topiclist_row_topic_by_author_before | search_results.html, viewforum_body.html, mcp_forum.html | 3.2.8-RC1 | Add content into topic rows (before the "by topic author" row) | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | topiclist_row_topic_title_after | search_results.html, viewforum_body.html, mcp_forum.html | 3.1.10-RC1 | Add content into topic rows (after the elements containing the topic titles) | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_agreement_terms_after | ucp_agreement.html | 3.1.0-b3 | Add content after the terms of agreement text at user registration | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_agreement_terms_before | ucp_agreement.html | 3.1.0-b3 | Add content before the terms of agreement text at user registration | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_friend_list_after | ucp_zebra_friends.html | 3.1.0-a4 | Add optional elements after list of friends in UCP | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_friend_list_before | ucp_zebra_friends.html | 3.1.0-a4 | Add optional elements before list of friends in UCP | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_header_friends_offline_username_full_append | ucp_header.html | 3.2.10-RC1 | Append information to offline friends username in UCP | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_header_friends_offline_username_full_prepend | ucp_header.html | 3.2.10-RC1 | Prepend information to offline friends username in UCP | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_header_friends_online_username_full_append | ucp_header.html | 3.2.10-RC1 | Append information to online friends username in UCP | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_header_friends_online_username_full_prepend | ucp_header.html | 3.2.10-RC1 | Prepend information to online friends username in UCP | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_main_front_user_activity_after | ucp_main_front.html | 3.1.6-RC1 | Add content right after the user activity info viewing UCP front page | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_main_front_user_activity_append | ucp_main_front.html | 3.1.11-RC1 | Add content after last user activity info viewing UCP front page | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_main_front_user_activity_before | ucp_main_front.html | 3.1.6-RC1 | Add content right before the user activity info viewing UCP front page | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_main_front_user_activity_prepend | ucp_main_front.html | 3.1.11-RC1 | Add content before first user activity info viewing UCP front page | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_history_post_buttons_after | ucp_pm_history.html | 3.1.6-RC1 | Add post button to private messages in history review (next to quote etc), at | + | | | | the end of the list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_history_post_buttons_before | ucp_pm_history.html | 3.1.6-RC1 | Add post button to private messages in history review (next to quote etc), at | + | | | | the start of the list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_history_post_buttons_list_after | ucp_pm_history.html | 3.1.6-RC1 | Add post button custom list to private messages in history review (next to quote etc), | + | | | | after the original list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_history_post_buttons_list_before | ucp_pm_history.html | 3.1.6-RC1 | Add post button custom list to private messages in history review (next to quote etc), | + | | | | before the original list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_history_review_after | ucp_pm_history.html | 3.1.6-RC1 | Add content after the private messages history review. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_history_review_before | ucp_pm_history.html | 3.1.6-RC1 | Add content before the private messages history review. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_history_row_message_author_username_append | ucp_pm_history.html | 3.2.8-RC1 | Append information to message author username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_history_row_message_author_username_prepend | ucp_pm_history.html | 3.2.8-RC1 | Prepend information to message author username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_viewmessage_author_full_after | ucp_pm_viewmessage.html | 3.3.3-RC1 | Add content right after the message author when viewing a private message | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_viewmessage_author_full_before | ucp_pm_viewmessage.html | 3.3.3-RC1 | Add content right before the message author when viewing a private message | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_viewmessage_avatar_after | ucp_pm_viewmessage.html | 3.1.0-RC3 | Add content right after the avatar when viewing a private message | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_viewmessage_avatar_before | ucp_pm_viewmessage.html | 3.1.0-RC3 | Add content right before the avatar when viewing a private message | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_viewmessage_contact_fields_after | ucp_pm_viewmessage.html | 3.1.0-b1 | Add data after the contact fields on the user profile when viewing | + | | | | a private message | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_viewmessage_contact_fields_before | ucp_pm_viewmessage.html | 3.1.0-b1 | Add data before the contact fields on the user profile when viewing | + | | | | a private message | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_viewmessage_custom_fields_after | ucp_pm_viewmessage.html | 3.1.0-a1 | Add data after the custom fields on the user profile when viewing | + | | | | a private message | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_viewmessage_custom_fields_before | ucp_pm_viewmessage.html | 3.1.0-a1 | Add data before the custom fields on the user profile when viewing | + | | | | a private message | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_viewmessage_options_before | ucp_pm_viewmessage.html | 3.1.11-RC1 | Add content right before display options | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_viewmessage_post_buttons_after | ucp_pm_viewmessage.html | 3.1.0-RC3 | Add post button to private messages (next to edit, quote etc), at | + | | | | the end of the list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_viewmessage_post_buttons_before | ucp_pm_viewmessage.html | 3.1.0-RC3 | Add post button to private messages (next to edit, quote etc), at | + | | | | the start of the list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_viewmessage_post_buttons_list_after | ucp_pm_viewmessage.html | 3.1.6-RC1 | Add post button custom list to private messages (next to edit, quote etc), | + | | | | after the original list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_viewmessage_post_buttons_list_before | ucp_pm_viewmessage.html | 3.1.6-RC1 | Add post button custom list to private messages (next to edit, quote etc), | + | | | | before the original list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_viewmessage_print_head_append | ucp_pm_viewmessage_print.html | 3.1.0-a1 | Add asset calls directly before the `` tag of the Print PM screen | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_viewmessage_rank_after | ucp_pm_viewmessage.html | 3.1.6-RC1 | Add data after the rank on the user profile when viewing | + | | | | a private message | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_pm_viewmessage_rank_before | ucp_pm_viewmessage.html | 3.1.6-RC1 | Add data before the rank on the user profile when viewing | + | | | | a private message | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_prefs_personal_append | ucp_prefs_personal.html | 3.1.0-a1 | Add user options to the bottom of the Edit Global Settings block | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_prefs_personal_prepend | ucp_prefs_personal.html | 3.1.0-a1 | Add user options to the top of the Edit Global Settings block | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_prefs_post_append | ucp_prefs_post.html | 3.1.0-a1 | Add user options to the bottom of the Edit Posting Defaults block | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_prefs_post_prepend | ucp_prefs_post.html | 3.1.0-a1 | Add user options to the top of the Edit Posting Defaults block | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_prefs_view_radio_buttons_append | ucp_prefs_view.html | 3.1.0-a1 | Add options to the bottom of the radio buttons block of the Edit | + | | | | Display Options screen | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_prefs_view_radio_buttons_prepend | ucp_prefs_view.html | 3.1.0-a1 | Add options to the top of the radio buttons block of the Edit | + | | | | Display Options screen | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_prefs_view_select_menu_append | ucp_prefs_view.html | 3.1.0-a1 | Add options to the bottom of the drop-down lists block of the Edit | + | | | | Display Options screen | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_prefs_view_select_menu_prepend | ucp_prefs_view.html | 3.1.0-a1 | Add options to the top of the drop-down lists block of the Edit | + | | | | Display Options screen | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_profile_autologin_keys_tbody_key_after | ucp_profile_autologin_keys.html | 3.3.2-RC1 | Add table column after the first column. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_profile_autologin_keys_tbody_key_before | ucp_profile_autologin_keys.html | 3.3.2-RC1 | Add table column before the first column. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_profile_autologin_keys_tbody_mark_after | ucp_profile_autologin_keys.html | 3.3.2-RC1 | Add table column after the last column. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_profile_autologin_keys_tbody_mark_before | ucp_profile_autologin_keys.html | 3.3.2-RC1 | Add table column before the last column. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_profile_autologin_keys_thead_key_after | ucp_profile_autologin_keys.html | 3.3.2-RC1 | Add table header content after the first column. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_profile_autologin_keys_thead_key_before | ucp_profile_autologin_keys.html | 3.3.2-RC1 | Add table header content before the first column. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_profile_autologin_keys_thead_mark_after | ucp_profile_autologin_keys.html | 3.3.2-RC1 | Add table header content after the last column. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_profile_autologin_keys_thead_mark_before | ucp_profile_autologin_keys.html | 3.3.2-RC1 | Add table header content before the last column. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_profile_profile_info_after | ucp_profile_profile_info.html | 3.1.4-RC1 | Add options in profile page fieldset - after custom profile fields. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_profile_profile_info_before | ucp_profile_profile_info.html | 3.1.4-RC1 | Add options in profile page fieldset - before jabber field. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_profile_profile_info_birthday_label_append | ucp_profile_profile_info.html | 3.2.9-RC1 | Add more text to birthday label, such as required asterisk | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_profile_register_details_after | ucp_profile_reg_details.html | 3.1.4-RC1 | Add options in profile page fieldset - after confirm password field. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_profile_register_details_before | ucp_profile_reg_details.html | 3.1.4-RC1 | Add options in profile page fieldset - before first field. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_profile_signature_posting_editor_options_prepend | ucp_profile_signature.html | 3.2.6-RC1 | Add options signature posting editor - before first option. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_register_buttons_before | ucp_register.html | 3.1.11-RC1 | Add content before buttons in registration form. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_register_credentials_after | ucp_register.html | 3.1.0-b5 | Add options in registration page fieldset - after password field. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_register_credentials_before | ucp_register.html | 3.1.0-b5 | Add options in registration page fieldset - before first field. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_register_options_before | ucp_register.html | 3.1.0-b5 | Add options in registration page fieldset - before language selector. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_register_profile_fields_after | ucp_register.html | 3.1.0-b5 | Add options in registration page fieldset - after last field. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | ucp_register_profile_fields_before | ucp_register.html | 3.1.0-b5 | Add options in registration page fieldset - before profile fields. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewforum_body_last_post_author_username_append | viewforum_body.html | 3.2.4-RC1 | Append information to last post author username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewforum_body_last_post_author_username_prepend | viewforum_body.html | 3.2.4-RC1 | Prepend information to last post author username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewforum_body_online_list_before | viewforum_body.html | 3.2.10-RC1 | Add content before the online users list | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewforum_body_topic_author_username_append | viewforum_body.html | 3.2.4-RC1 | Append information to topic author username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewforum_body_topic_author_username_prepend | viewforum_body.html | 3.2.4-RC1 | Prepend information to topic author username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewforum_body_topic_row_after | viewforum_body.html | 3.1.7-RC1 | Add content after the topic list item. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewforum_body_topic_row_append | viewforum_body.html | 3.1.7-RC1 | Add content at the start of the topic list item. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewforum_body_topic_row_before | viewforum_body.html | 3.1.7-RC1 | Add content before the topic list item. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewforum_body_topic_row_prepend | viewforum_body.html | 3.1.7-RC1 | Add content at the end of the topic list item. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewforum_body_topicrow_row_before | viewforum_body.html | 3.1.10-RC1 | Add content before list of topics. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewforum_buttons_bottom_after | viewforum_body.html | 3.1.0-RC5 | Add buttons after New Topic button on the bottom of the topic's list | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewforum_buttons_bottom_before | viewforum_body.html | 3.1.0-RC5 | Add buttons before New Topic button on the bottom of the topic's list | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewforum_buttons_top_after | viewforum_body.html | 3.1.0-RC5 | Add buttons after New Topic button on the top of the topic's list | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewforum_buttons_top_before | viewforum_body.html | 3.1.0-RC5 | Add buttons before New Topic button on the top of the topic's list | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewforum_forum_name_append | viewforum_body.html | 3.1.0-b3 | Add content directly after the forum name link on the View forum screen | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewforum_forum_name_prepend | viewforum_body.html | 3.1.0-b3 | Add content directly before the forum name link on the View forum screen | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewforum_forum_title_after | viewforum_body.html | 3.1.5-RC1 | Add content directly after the forum title on the View forum screen | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewforum_forum_title_before | viewforum_body.html | 3.1.5-RC1 | Add content directly before the forum title on the View forum screen | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewonline_body_username_append | viewonline_body.html | 3.2.4-RC1 | Append information to username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewonline_body_username_prepend | viewonline_body.html | 3.2.4-RC1 | Prepend information to username of member | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_avatar_after | viewtopic_body.html | 3.1.0-RC3 | Add content right after the avatar when viewing topics | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_avatar_before | viewtopic_body.html | 3.1.0-RC3 | Add content right before the avatar when viewing topics | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_contact_fields_after | viewtopic_body.html | 3.1.0-b3 | Add data after the contact fields on the user profile when viewing | + | | | | a post | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_contact_fields_before | viewtopic_body.html | 3.1.0-b3 | Add data before the contact fields on the user profile when viewing | + | | | | a post | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_contact_icon_append | viewtopic_body.html | 3.2.10-RC1 | Add content directly after the contact field icons in post user miniprofiles | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_contact_icon_prepend | viewtopic_body.html | 3.2.10-RC1 | Add content directly before the contact field icons in post user miniprofiles | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_footer_before | viewtopic_body.html | 3.1.0-a1 | Add content to the bottom of the View topic screen below the posts | + | | | | and quick reply, directly before the jumpbox in Prosilver. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_online_list_before | viewtopic_body.html | 3.2.10-RC1 | Add content before the online users list | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_pagination_top_after | viewtopic_body.html | 3.1.4-RC1 | Add content after the pagination at top | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_poll_after | viewtopic_body.html | 3.1.6-RC1 | Add content after the poll panel. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_poll_before | viewtopic_body.html | 3.1.6-RC1 | Add content before the poll panel. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_poll_option_after | viewtopic_body.html | 3.1.0-b3 | Add content after the poll option | + | | | | the list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_poll_option_before | viewtopic_body.html | 3.1.0-b3 | Add content before the poll option | + | | | | the list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_poll_question_append | viewtopic_body.html | 3.1.0-b3 | Add content directly after the poll question on the View topic screen | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_poll_question_prepend | viewtopic_body.html | 3.1.0-b3 | Add content directly before the poll question on the View topic screen | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_post_author_after | viewtopic_body.html | 3.1.3-RC1 | Add content directly after the post author on the view topic screen | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_post_author_before | viewtopic_body.html | 3.1.3-RC1 | Add content directly before the post author on the view topic screen | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_post_buttons_after | viewtopic_body.html | 3.1.0-a1 | Add post button to posts (next to edit, quote etc), at the end of | + | | | | the list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_post_buttons_before | viewtopic_body.html | 3.1.0-a1 | Add post button to posts (next to edit, quote etc), at the start of | + | | | | the list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_post_buttons_list_after | viewtopic_body.html | 3.1.5-RC1 | Add post button custom list to posts (next to edit, quote etc), | + | | | | after the original list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_post_buttons_list_before | viewtopic_body.html | 3.1.5-RC1 | Add post button custom list to posts (next to edit, quote etc), | + | | | | before the original list. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_post_subject_before | viewtopic_body.html | 3.1.7-RC1 | Add data before post icon and subject | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_postrow_back2top_after | viewtopic_body.html | 3.1.8-RC1 | Add content to the post's bottom after the back to top link | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_postrow_back2top_append | viewtopic_body.html | 3.1.8-RC1 | Add content to the post's bottom directly after the back to top link | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_postrow_back2top_before | viewtopic_body.html | 3.1.8-RC1 | Add content to the post's bottom before the back to top link | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_postrow_back2top_prepend | viewtopic_body.html | 3.1.8-RC1 | Add content to the post's bottom directly before the back to top link | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_postrow_content_after | viewtopic_body.html | 3.2.4-RC1 | Add content after the message content in topics views | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_postrow_custom_fields_after | viewtopic_body.html | 3.1.0-a1 | Add data after the custom fields on the user profile when viewing | + | | | | a post | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_postrow_custom_fields_before | viewtopic_body.html | 3.1.0-a1 | Add data before the custom fields on the user profile when viewing | + | | | | a post | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_postrow_post_after | viewtopic_body.html | 3.1.0-a4 | Add data after posts | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_postrow_post_before | viewtopic_body.html | 3.1.0-a4 | Add data before posts | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_postrow_post_content_footer | viewtopic_body.html | 3.1.0-RC4 | Add data at the end of the posts. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_postrow_post_details_after | viewtopic_body.html | 3.1.4-RC1 | Add content after the post details | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_postrow_post_details_before | viewtopic_body.html | 3.1.4-RC1 | Add content before the post details | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_postrow_post_notices_after | viewtopic_body.html | 3.1.0-b2 | Add posts specific custom notices at the notices bottom. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_postrow_post_notices_before | viewtopic_body.html | 3.1.0-b2 | Add posts specific custom notices at the notices top. | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_postrow_rank_after | viewtopic_body.html | 3.1.6-RC1 | Add data after the rank on the user profile when viewing | + | | | | a post | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_postrow_rank_before | viewtopic_body.html | 3.1.6-RC1 | Add data before the rank on the user profile when viewing | + | | | | a post | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_topic_actions_before | viewtopic_body.html | 3.1.0-a4 | Add data before the topic actions buttons (after the posts sorting options) | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_buttons_bottom_after | viewtopic_body.html | 3.1.0-RC5 | Add buttons after Post Reply button on the bottom of the posts's list | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_buttons_bottom_before | viewtopic_body.html | 3.1.0-RC5 | Add buttons before Post Reply button on the bottom of the posts's list | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_buttons_top_after | viewtopic_body.html | 3.1.0-RC5 | Add buttons after Post Reply button on the top of the posts's list | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_buttons_top_before | viewtopic_body.html | 3.1.0-RC5 | Add buttons before Post Reply button on the top of the posts's list | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_dropdown_bottom_custom | viewtopic_body.html | 3.1.6-RC1 | Create a custom dropdown menu | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_dropdown_top_custom | viewtopic_body.html | 3.1.6-RC1 | Create a custom dropdown menu | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_print_head_append | viewtopic_print.html | 3.1.0-a1 | Add asset calls directly before the `` tag of the Print Topic screen | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_topic_title_after | viewtopic_body.html | 3.1.7-RC1 | Add content directly after the topic title link on the View topic screen (outside of the h2 HTML tag) | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_topic_title_append | viewtopic_body.html | 3.1.0-b3 | Add content directly after the topic title link on the View topic screen | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_topic_title_before | viewtopic_body.html | 3.2.2-RC1 | Add content directly before the topic title link on the View topic screen (outside of the h2 HTML tag) | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_topic_title_prepend | viewtopic_body.html | 3.1.0-a1 | Add content directly before the topic title link on the View topic screen | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_topic_tools_after | viewtopic_topic_tools.html | 3.1.0-a3 | Add a new topic tool after the rest of the existing ones | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_topic_tools_before | viewtopic_topic_tools.html | 3.1.0-a3 | Add a new topic tool before the rest of the existing ones | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + + +ACP Template Events +=================== + +.. table:: + :class: events-list + + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | Identifier | Placement | Added in Release | Explanation | + +================================================+============================+==================+===============================================================================================================================================+ + | acp_ban_cell_append | acp_ban.html | 3.1.7-RC1 | Add content at the end of the ban cell area | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_ban_cell_prepend | acp_ban.html | 3.1.7-RC1 | Add content at the start of the ban cell area | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_bbcodes_actions_append | acp_bbcodes.html | 3.1.0-a3 | Add actions to the BBCodes page, after edit/delete buttons | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_bbcodes_actions_prepend | acp_bbcodes.html | 3.1.0-a3 | Add actions to the BBCodes page, before edit/delete buttons | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_bbcodes_edit_fieldsets_after | acp_bbcodes.html | 3.1.0-a3 | Add settings to BBCode add/edit form | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_email_find_username_append | acp_email.html | 3.1.7-RC1 | Add content at the end of the find username link | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_email_find_username_prepend | acp_email.html | 3.1.7-RC1 | Add content at the start of the find username link | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_email_group_options_append | acp_email.html | 3.1.7-RC1 | Add content at the end of the group options select box | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_email_group_options_prepend | acp_email.html | 3.1.7-RC1 | Add content at the start of the group options select box | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_email_options_after | acp_email.html | 3.1.2-RC1 | Add settings to mass email form | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_ext_details_end | acp_ext_details.html | 3.1.11-RC1 | Add more detailed information on extension after the available information. | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_ext_details_notice | acp_ext_details.html | 3.1.11-RC1 | Add extension detail notices after version check information. | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_ext_list_disabled_name_after | acp_ext_list.html | 3.1.11-RC1 | Add content after the name of disabled extensions in the list | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_ext_list_disabled_title_after | acp_ext_list.html | 3.1.11-RC1 | Add text after disabled extensions section title. | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_ext_list_enabled_name_after | acp_ext_list.html | 3.1.11-RC1 | Add content after the name of enabled extensions in the list | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_ext_list_enabled_title_after | acp_ext_list.html | 3.1.11-RC1 | Add text after enabled extensions section title. | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_forums_custom_settings | acp_forums.html | 3.1.6-RC1 | Add its own box (fieldset) for extension settings | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_forums_main_settings_append | acp_forums.html | 3.1.2-RC1 | Add settings to forums at end of main settings section | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_forums_main_settings_prepend | acp_forums.html | 3.1.2-RC1 | Add settings to forums before main settings section | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_forums_normal_settings_append | acp_forums.html | 3.1.0-a1 | Add settings to forums at end of normal settings section | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_forums_normal_settings_prepend | acp_forums.html | 3.1.2-RC1 | Add settings to forums before normal settings section | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_forums_prune_settings_append | acp_forums.html | 3.1.2-RC1 | Add settings to forums at end of prune settings section | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_forums_prune_settings_prepend | acp_forums.html | 3.1.2-RC1 | Add settings to forums before prune settings section | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_forums_quick_select_button_append | acp_forums.html | 3.1.7-RC1 | Add content after the quick select forum submit button | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_forums_quick_select_button_prepend | acp_forums.html | 3.1.7-RC1 | Add content before the quick select forum submit button | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_forums_rules_settings_append | acp_forums.html | 3.1.2-RC1 | Add settings to forums at end of rules settings section | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_forums_rules_settings_prepend | acp_forums.html | 3.1.2-RC1 | Add settings to forums before rules settings section | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_group_options_after | acp_groups.html | 3.1.0-b4 | Add additional options to group settings (after GROUP_RECEIVE_PM) | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_group_options_before | acp_groups.html | 3.1.0-b4 | Add additional options to group settings (before GROUP_FOUNDER_MANAGE) | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_group_types_append | acp_groups.html | 3.2.9-RC1 | Add additional group type options to group settings (append the list) | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_group_types_prepend | acp_groups.html | 3.2.9-RC1 | Add additional group type options to group settings (prepend the list) | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_groups_find_username_append | acp_groups.html | 3.1.7-RC1 | Add content at the end of the find username link | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_groups_find_username_prepend | acp_groups.html | 3.1.7-RC1 | Add content at the start of the find username link | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_groups_manage_after | acp_groups.html | 3.1.7-RC1 | Add content after the manage groups table | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_groups_manage_before | acp_groups.html | 3.1.7-RC1 | Add content before the manage groups table | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_groups_position_legend_add_button_after | acp_groups_position.html | 3.1.7-RC1 | Add content after adding group to legend submit button | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_groups_position_legend_add_button_before | acp_groups_position.html | 3.1.7-RC1 | Add content before adding group to legend submit button | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_groups_position_teampage_add_button_after | acp_groups_position.html | 3.1.7-RC1 | Add content after adding group to teampage submit button | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_groups_position_teampage_add_button_before | acp_groups_position.html | 3.1.7-RC1 | Add content before adding group to teampage submit button | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_help_phpbb_stats_after | acp_help_phpbb.html | 3.2.0-RC2 | Add content after send statistics tile | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_help_phpbb_stats_before | acp_help_phpbb.html | 3.2.0-RC2 | Add content before send statistics tile | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_logs_quick_select_forum_button_append | acp_logs.html | 3.1.7-RC1 | Add content after the quick forum select form submit button | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_logs_quick_select_forum_button_prepend | acp_logs.html | 3.1.7-RC1 | Add content before the quick forum select form submit button | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_main_actions_append | acp_main.html | 3.1.0-a1 | Add actions to the ACP main page below the cache purge action | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_main_notice_after | acp_main.html | 3.1.0-a1 | Add notices or other blocks in the ACP below other configuration notices | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_overall_footer_after | overall_footer.html | 3.1.0-a1 | Add content below the footer in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_overall_header_body_before | overall_header.html | 3.1.0-b2 | Add content to the header body | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_overall_header_head_append | overall_header.html | 3.1.0-a1 | Add assets within the `` tags in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_overall_header_stylesheets_after | overall_header.html | 3.1.0-RC3 | Add assets after stylesheets within the `` tags in the ACP. | + | | | | Note that INCLUDECSS will not work with this event. | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_permission_forum_copy_dest_forum_append | permission_forum_copy.html | 3.1.7-RC1 | Add content after the destination forum select form | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_permission_forum_copy_dest_forum_prepend | permission_forum_copy.html | 3.1.7-RC1 | Add content before the destination forum select form | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_permission_forum_copy_src_forum_append | permission_forum_copy.html | 3.1.7-RC1 | Add content after the source forum select form | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_permission_forum_copy_src_forum_prepend | permission_forum_copy.html | 3.1.7-RC1 | Add content before the source forum select form | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_permissions_add_group_options_append | acp_permissions.html | 3.1.7-RC1 | Add content after the group multiple select form | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_permissions_add_group_options_prepend | acp_permissions.html | 3.1.7-RC1 | Add content before the group multiple select form | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_permissions_find_username_append | acp_permissions.html | 3.1.7-RC1 | Add content after the find username link | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_permissions_find_username_prepend | acp_permissions.html | 3.1.7-RC1 | Add content before the find username link | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_permissions_select_forum_append | acp_permissions.html | 3.1.7-RC1 | Add content after the forum select form label | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_permissions_select_forum_prepend | acp_permissions.html | 3.1.7-RC1 | Add content before the forum select form label | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_permissions_select_group_after | acp_permissions.html | 3.1.7-RC1 | Add content after the group select form in usergroup view | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_permissions_select_group_append | acp_permissions.html | 3.1.7-RC1 | Add content after the group select form label | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_permissions_select_group_before | acp_permissions.html | 3.1.7-RC1 | Add content before the group select form in usergroup view | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_permissions_select_group_prepend | acp_permissions.html | 3.1.7-RC1 | Add content before the group select form label | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_permissions_select_multiple_forum_append | acp_permissions.html | 3.1.7-RC1 | Add content after the forum multiple select form label | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_permissions_select_multiple_forum_prepend | acp_permissions.html | 3.1.7-RC1 | Add content before the forum multiple select form label | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_posting_buttons_after | acp_posting_buttons.html | 3.1.0-b4 | Add content after BBCode posting buttons in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_posting_buttons_before | acp_posting_buttons.html | 3.1.0-b4 | Add content before BBCode posting buttons in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_posting_buttons_custom_tags_before | acp_posting_buttons.html | 3.1.10-RC1 | Add content before the custom BBCodes in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_profile_basic_options_after | acp_profile.html | 3.2.10-RC1 | Add content after custom profile field basic options in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_profile_basic_options_before | acp_profile.html | 3.2.10-RC1 | Add content before custom profile field basic options in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_profile_contact_after | acp_profile.html | 3.2.10-RC1 | Add content after contact specific custom profile field option in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_profile_contact_before | acp_profile.html | 3.1.6-RC1 | Add extra options to custom profile field configuration in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_profile_contact_last | acp_profile.html | 3.1.11-RC1 | Add contact specific options to custom profile fields in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_profile_options_before | acp_profile.html | 3.2.10-RC1 | Add content before custom profile field options in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_profile_step_one_lang_after | acp_profile.html | 3.1.11-RC1 | Add extra lang specific options to custom profile field step one configuration in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_profile_visibility_options_after | acp_profile.html | 3.2.10-RC1 | Add content after custom profile field visibility options in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_profile_visibility_options_before | acp_profile.html | 3.2.10-RC1 | Add content before custom profile field visibility options in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_prune_forums_append | acp_prune_forums.html | 3.1.7-RC1 | Add content after the forum select form label | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_prune_forums_prepend | acp_prune_forums.html | 3.1.7-RC1 | Add content before the forum select form label | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_prune_forums_settings_append | acp_prune_forums.html | 3.2.2-RC1 | Add content after the prune settings | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_prune_users_find_username_append | acp_prune_users.html | 3.1.7-RC1 | Add content after the find username link | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_prune_users_find_username_prepend | acp_prune_users.html | 3.1.7-RC1 | Add content before the find username link | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_ranks_edit_after | acp_ranks.html | 3.1.0-RC3 | Add content after the rank details when editing a rank in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_ranks_edit_before | acp_ranks.html | 3.1.0-RC3 | Add content before the rank details when editing a rank in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_ranks_list_column_after | acp_ranks.html | 3.1.0-RC3 | Add content before the first column in the ranks list in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_ranks_list_column_before | acp_ranks.html | 3.1.0-RC3 | Add content after the last column (but before the action column) | + | | | | in the ranks list in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_ranks_list_header_after | acp_ranks.html | 3.1.0-RC3 | Add content before the first header-column in the ranks list in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_ranks_list_header_before | acp_ranks.html | 3.1.0-RC3 | Add content after the last header-column (but before the action column) | + | | | | in the ranks list in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_simple_footer_after | simple_footer.html | 3.1.0-a1 | Add content below the simple footer in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_simple_header_body_before | simple_header.html | 3.1.0-b2 | Add content to the header body | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_simple_header_head_append | simple_header.html | 3.1.0-a1 | Add assets within the `` tags in the simple header of the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_simple_header_stylesheets_after | simple_header.html | 3.1.0-RC3 | Add assets after stylesheets within the `` tags in the simple header | + | | | | of the ACP. Note that INCLUDECSS will not work with this event. | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_styles_list_before | acp_styles.html | 3.1.7-RC1 | Add content before list of styles | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_users_mode_add | acp_users.html | 3.2.2-RC1 | Add extra modes to the ACP user page | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_users_overview_options_append | acp_users_overview.html | 3.1.0-a1 | Add options and settings on user overview page | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_users_prefs_append | acp_users_prefs.html | 3.1.0-b3 | Add user options fieldset to the bottom of ACP users prefs settings | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_users_prefs_personal_append | acp_users_prefs.html | 3.1.0-b3 | Add user options fieldset to the bottom of ACP users personal prefs settings | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_users_prefs_personal_prepend | acp_users_prefs.html | 3.1.0-b3 | Add user options fieldset to the top of ACP users personal prefs settings | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_users_prefs_post_append | acp_users_prefs.html | 3.1.0-b3 | Add user options fieldset to the bottom of ACP users post prefs settings | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_users_prefs_post_prepend | acp_users_prefs.html | 3.1.0-b3 | Add user options fieldset to the top of ACP users post prefs settings | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_users_prefs_prepend | acp_users_prefs.html | 3.1.0-b3 | Add user options fieldset to the top of ACP users prefs settings | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_users_prefs_view_append | acp_users_prefs.html | 3.1.0-b3 | Add user options fieldset to the bottom of ACP users view prefs settings | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_users_prefs_view_prepend | acp_users_prefs.html | 3.1.0-b3 | Add user options fieldset to the top of ACP users view prefs settings | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_users_profile_after | acp_users_profile.html | 3.1.4-RC1 | Add content after the profile details but before the custom profile fields when editing a user in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_users_profile_before | acp_users_profile.html | 3.1.4-RC1 | Add content before the profile details when editing a user in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_users_profile_custom_after | acp_users_profile.html | 3.1.4-RC1 | Add content after the the custom profile fields when editing a user in the ACP | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_users_select_group_after | acp_users.html | 3.1.7-RC1 | Add content after group select form | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | acp_users_select_group_before | acp_users.html | 3.1.7-RC1 | Add content before group select form | + +------------------------------------------------+----------------------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/development/extensions/index.rst b/development/extensions/index.rst index 8e69ad6f..9d43eb4d 100644 --- a/development/extensions/index.rst +++ b/development/extensions/index.rst @@ -18,4 +18,8 @@ Welcome to phpBB's extension development tutorial and documentation. tutorial_bbcodes tutorial_advanced tutorial_testing - * + modification_to_extension + new_in_rhea + new_in_proteus + skeleton_extension + events_list From 1db8c3574cc5f3ac67119f8c25afba49afdada11 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Thu, 8 Apr 2021 21:21:11 +0200 Subject: [PATCH 154/242] Update copyright years --- development/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/conf.py b/development/conf.py index 2e360d64..faec3436 100644 --- a/development/conf.py +++ b/development/conf.py @@ -50,7 +50,7 @@ # General information about the project. project = u'phpBB' -copyright = u'2015 - 2019, phpBB Limited' +copyright = u'2015 - 2021, phpBB Limited' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the From c472610be95737e85e9717eb1bdf084d4a44eec6 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Thu, 8 Apr 2021 21:28:36 +0200 Subject: [PATCH 155/242] Add missing arrow images --- development/_static/images/sort_asc.png | Bin 0 -> 160 bytes development/_static/images/sort_both.png | Bin 0 -> 201 bytes development/_static/images/sort_desc.png | Bin 0 -> 158 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 development/_static/images/sort_asc.png create mode 100644 development/_static/images/sort_both.png create mode 100644 development/_static/images/sort_desc.png diff --git a/development/_static/images/sort_asc.png b/development/_static/images/sort_asc.png new file mode 100644 index 0000000000000000000000000000000000000000..e1ba61a8055fcb18273f2468d335572204667b1f GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S1|*9D%+3I*bWaz@5R22v2@;zYta_*?F5u6Q zWR@in#&u+WgT?Hi<}D3B3}GOXuX|8Oj3tosHiJ3*4TN zC7>_x-r1O=t(?KoTC+`+>7&2GzdqLHBg&F)2Q?&EGZ+}|Rpsc~9`m>jw35No)z4*} HQ$iB}HK{Sd literal 0 HcmV?d00001 diff --git a/development/_static/images/sort_both.png b/development/_static/images/sort_both.png new file mode 100644 index 0000000000000000000000000000000000000000..af5bc7c5a10b9d6d57cb641aeec752428a07f0ca GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S0wixl{&NRX6FglULp08Bycxyy87-Q;~nRxO8@-UU*I^KVWyN+&SiMHu5xDOu|HNvwzODfTdXjhVyNu1 z#7^XbGKZ7LW3XeONb$RKLeE*WhqbYpIXPIqK@r4)v+qN8um%99%MPpS9d#7Ed7SL@Bp00i_>zopr0H-Zb Aj{pDw literal 0 HcmV?d00001 diff --git a/development/_static/images/sort_desc.png b/development/_static/images/sort_desc.png new file mode 100644 index 0000000000000000000000000000000000000000..0e156deb5f61d18f9e2ec5da4f6a8c94a5b4fb41 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S1|*9D%+3I*R8JSj5R22v2@yo z(czD9$NuDl3Ljm9c#_#4$vXUz=f1~&WY3aa=h!;z7fOEN>ySP9QA=6C-^Dmb&tuM= z4Z&=WZU;2WF>e%GI&mWJk^K!jrbro{W;-I>FeCfLGJl3}+Z^2)3Kw?+EoAU?^>bP0 Hl+XkKC^ Date: Sat, 10 Apr 2021 22:27:41 +0200 Subject: [PATCH 156/242] Enable sphinx-multiversion Also backported the new styling --- development/_static/css/phpbb.css | 24 ++++++++++++++++++++++++ development/_templates/index.html | 8 ++++++++ development/_templates/versions.html | 27 +++++++++++++++++++++++++++ development/conf.py | 18 ++++++++++++++++-- 4 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 development/_static/css/phpbb.css create mode 100644 development/_templates/index.html create mode 100644 development/_templates/versions.html diff --git a/development/_static/css/phpbb.css b/development/_static/css/phpbb.css new file mode 100644 index 00000000..3f15a914 --- /dev/null +++ b/development/_static/css/phpbb.css @@ -0,0 +1,24 @@ +.wy-side-nav-search { + background-color: #009BDF; +} + +.wy-side-nav-search>div.version { + color: rgba(255, 255, 255, 0.7); +} + +.wy-nav-content { + max-width: none; /* use max-width: 800px for button navigation, not content */ +} + +.wy-table-responsive table td, +.wy-table-responsive table th { + white-space: normal; +} + +.rst-footer-buttons { + max-width: 800px; +} + +.rst-versions.shift-up { + overflow: auto; +} diff --git a/development/_templates/index.html b/development/_templates/index.html new file mode 100644 index 00000000..05766ce7 --- /dev/null +++ b/development/_templates/index.html @@ -0,0 +1,8 @@ + + + + Redirecting to master branch + + + + diff --git a/development/_templates/versions.html b/development/_templates/versions.html new file mode 100644 index 00000000..31a12578 --- /dev/null +++ b/development/_templates/versions.html @@ -0,0 +1,27 @@ +{%- if current_version %} +
+ + Other Versions + v: {{ current_version.name }} + + +
+ {%- if versions.tags %} +
+
Tags
+ {%- for item in versions.tags %} +
{{ item.name }}
+ {%- endfor %} +
+ {%- endif %} + {%- if versions.branches %} +
+
Branches
+ {%- for item in versions.branches %} +
{{ item.name }}
+ {%- endfor %} +
+ {%- endif %} +
+
+{%- endif %} diff --git a/development/conf.py b/development/conf.py index fe8d8d70..ba5889c4 100644 --- a/development/conf.py +++ b/development/conf.py @@ -33,7 +33,8 @@ 'sensio.sphinx.configurationblock', 'sensio.sphinx.phpcode', 'sensio.sphinx.bestpractice', - 'sphinxcontrib.phpdomain' + 'sphinxcontrib.phpdomain', + 'sphinx_multiversion' ] # Add any paths that contain templates here, relative to this directory. @@ -99,6 +100,10 @@ # If true, keep warnings as "system message" paragraphs in the built documents. #keep_warnings = False +# Options for sphinx_multiversion +smv_tag_whitelist = 'None' +smv_branch_whitelist = r'^(3.2.x|3.3.x|master)$' +smv_latest_version = r"master" # -- Options for HTML output ---------------------------------------------- import sphinx_rtd_theme @@ -124,6 +129,11 @@ # Add any paths that contain custom themes here, relative to this directory. html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] +# Additional CSS files to include +html_css_files = [ + 'css/phpbb.css', +] + # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". #html_title = None @@ -159,7 +169,11 @@ #html_use_smartypants = True # Custom sidebar templates, maps document names to template names. -#html_sidebars = {} +html_sidebars = { + '**': [ + 'versioning.html', + ], +} # Additional templates that should be rendered to pages, maps page names to # template names. From 3840599fe5cbad7b8050e172ea2aea60e750fae6 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sat, 10 Apr 2021 22:35:02 +0200 Subject: [PATCH 157/242] Remove index.html and copy master files manually on area51 --- development/_templates/index.html | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 development/_templates/index.html diff --git a/development/_templates/index.html b/development/_templates/index.html deleted file mode 100644 index 05766ce7..00000000 --- a/development/_templates/index.html +++ /dev/null @@ -1,8 +0,0 @@ - - - - Redirecting to master branch - - - - From 424d71c69eb8a9aca8c0bf05b03a79963555cc01 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sat, 10 Apr 2021 22:38:40 +0200 Subject: [PATCH 158/242] Install sphinx-multiversion --- .github/workflows/tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index de84d2be..9ede484d 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -25,6 +25,7 @@ jobs: pip install sphinx pip install sphinx_rtd_theme pip install sphinxcontrib-phpdomain + pip install sphinx-multiversion pip install git+https://github.com/marc1706/sphinx-php.git - name: Test make html run: | From 0abc84d12780a202125f6ec22752c65d9a78571c Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 11 Apr 2021 21:03:32 +0200 Subject: [PATCH 159/242] Use 100% width instead of float to not break layout --- development/_static/css/phpbb.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/_static/css/phpbb.css b/development/_static/css/phpbb.css index ed4dcd04..5d7f467e 100644 --- a/development/_static/css/phpbb.css +++ b/development/_static/css/phpbb.css @@ -11,7 +11,7 @@ } .wy-table-responsive { - float: left; + width: 100%; } .wy-table-responsive table td, From da621f0a172d3212b49c701c28fefd0006f0a421 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 11 Apr 2021 21:22:22 +0200 Subject: [PATCH 160/242] Add index for redirection on e.g. area51 --- development/_templates/index.html | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 development/_templates/index.html diff --git a/development/_templates/index.html b/development/_templates/index.html new file mode 100644 index 00000000..18e5b1eb --- /dev/null +++ b/development/_templates/index.html @@ -0,0 +1,8 @@ + + + + Redirecting to master branch + + + + \ No newline at end of file From 529518fbe6a15a40384cffded7549a83f04f4990 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Mon, 12 Apr 2021 10:16:11 +0200 Subject: [PATCH 161/242] Make table width more specific --- development/_static/css/phpbb.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/_static/css/phpbb.css b/development/_static/css/phpbb.css index 5d7f467e..9cab16db 100644 --- a/development/_static/css/phpbb.css +++ b/development/_static/css/phpbb.css @@ -10,7 +10,7 @@ max-width: none; /* use max-width: 800px for button navigation, not content */ } -.wy-table-responsive { +.wy-table-responsive table { width: 100%; } From ec76ba493b5d34985305815b70271a3c2575608d Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Mon, 12 Apr 2021 09:43:23 -0700 Subject: [PATCH 162/242] Clarify authentication providers --- development/extensions/tutorial_authentication.rst | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/development/extensions/tutorial_authentication.rst b/development/extensions/tutorial_authentication.rst index 2021705d..4e17ee2b 100644 --- a/development/extensions/tutorial_authentication.rst +++ b/development/extensions/tutorial_authentication.rst @@ -15,16 +15,14 @@ This tutorial explains: Authentication Providers ======================== -phpBB 3.1 supports external authentication plugins that may be used in place of the +phpBB 3.1 introduced support for external authentication plugins that may be used in place of the built-in authentication providers. Only one provider may currently be active at a time and the active one is chosen from the ACP. Creating an Authentication Provider ----------------------------------- -An authentication provider that comes with phpBB requires a minimum of two files: -a class and an entry in a ``config/auth.yml`` file. Authentication providers that -are part of an extension must provide their own YAML file defining the -service in addition to all normal requirements of an extension. +Authentication providers in phpBB require a minimum of two files: a PHP class +and a YAML service file. The class file ++++++++++++++ From 098a5244c0f0921536b1b0d4caee00e14ed7134c Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Tue, 13 Apr 2021 20:06:35 +0200 Subject: [PATCH 163/242] Remove not needed sidebars directive The rtd theme does not support this anyway. --- development/conf.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/development/conf.py b/development/conf.py index ba5889c4..1bdb1e04 100644 --- a/development/conf.py +++ b/development/conf.py @@ -169,11 +169,7 @@ #html_use_smartypants = True # Custom sidebar templates, maps document names to template names. -html_sidebars = { - '**': [ - 'versioning.html', - ], -} +#html_sidebars = {} # Additional templates that should be rendered to pages, maps page names to # template names. From b671c197b50a341b4f4702d43ac9af8894db5e73 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Tue, 13 Apr 2021 20:09:24 +0200 Subject: [PATCH 164/242] Add missing new line --- development/_templates/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/_templates/index.html b/development/_templates/index.html index 18e5b1eb..933ce0d1 100644 --- a/development/_templates/index.html +++ b/development/_templates/index.html @@ -5,4 +5,4 @@ - \ No newline at end of file + From 376cb77dccdcbbe585f927ad5f026062b0435dfa Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Tue, 13 Apr 2021 21:09:13 +0200 Subject: [PATCH 165/242] Use monokai as pygments style --- development/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/conf.py b/development/conf.py index 1bdb1e04..7cae0ce2 100644 --- a/development/conf.py +++ b/development/conf.py @@ -92,7 +92,7 @@ #show_authors = False # The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' +pygments_style = 'monokai' # A list of ignored prefixes for module index sorting. #modindex_common_prefix = [] From aa47c96d80ec6768f1786450a7ee3b34a9d704e7 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Tue, 13 Apr 2021 13:07:46 -0700 Subject: [PATCH 166/242] Use TWIG syntax for template syntax --- .../extensions/modification_to_extension.rst | 2 +- development/extensions/new_in_rhea.rst | 4 ++-- development/extensions/tutorial_advanced.rst | 11 ++------- .../extensions/tutorial_authentication.rst | 6 ++--- .../extensions/tutorial_controllers.rst | 6 ++--- development/extensions/tutorial_events.rst | 6 ++--- .../extensions/tutorial_key_concepts.rst | 20 ++++++++-------- development/extensions/tutorial_modules.rst | 24 +++++++++---------- 8 files changed, 36 insertions(+), 43 deletions(-) diff --git a/development/extensions/modification_to_extension.rst b/development/extensions/modification_to_extension.rst index 6def9bc5..fe063cd4 100644 --- a/development/extensions/modification_to_extension.rst +++ b/development/extensions/modification_to_extension.rst @@ -764,7 +764,7 @@ to our extensions directory and add our html code into it. .. code-block:: html -
  • {L_NEWSPAGE}
  • +
  • {{ lang('NEWSPAGE') }}
  • And that's it. No file edits required for the template files as well. diff --git a/development/extensions/new_in_rhea.rst b/development/extensions/new_in_rhea.rst index 378e7d1c..06b55936 100644 --- a/development/extensions/new_in_rhea.rst +++ b/development/extensions/new_in_rhea.rst @@ -367,7 +367,7 @@ If you are already using Twig template syntax, and you have been using loop stru .. code-block:: twig - # phpBB 3.1 and 3.2 compatible + {# phpBB 3.1 and 3.2 compatible #} {% for item in loops.items %} item.MY_VAR {% endfor %} @@ -376,7 +376,7 @@ As of phpBB 3.2, this requirement has been removed, allowing you to use natural .. code-block:: twig - # phpBB 3.2 or later only + {# phpBB 3.2 or later only #} {% for item in items %} item.MY_VAR {% endfor %} diff --git a/development/extensions/tutorial_advanced.rst b/development/extensions/tutorial_advanced.rst index 902232d0..b31b04d4 100644 --- a/development/extensions/tutorial_advanced.rst +++ b/development/extensions/tutorial_advanced.rst @@ -79,9 +79,9 @@ to extend the template of an extension, so other extensions can manipulate the output of your extension. To create a template event you simply add the EVENT tag to your template: -.. code-block:: html +.. code-block:: twig - + {% EVENT acme_demo_identifier %} The event can be used in the same way as the template events in the phpBB Core. See :doc:`tutorial_events` on how to use these events. @@ -94,13 +94,6 @@ Make sure to only use underscores, numbers and lowercase letters. a release of your extension. Other extensions might already be using your event and would risk breaking. -.. tip:: - If you prefer Twig instead of the phpBB template syntax, you can use: - - .. code-block:: html - - {% EVENT acme_demo_identifier %} - .. caution:: It is not recommended to reuse existing event names in different locations. This should only be done if the code (nested HTML elements) around the diff --git a/development/extensions/tutorial_authentication.rst b/development/extensions/tutorial_authentication.rst index 608db132..886b5ebc 100644 --- a/development/extensions/tutorial_authentication.rst +++ b/development/extensions/tutorial_authentication.rst @@ -137,10 +137,10 @@ For example, the sample below is based on existing LDAP terms used to configure .. code-block:: html
    - {TEST} + {{ TEST }}
    -

    {TEST_SERVER_EXPLAIN}
    -
    +

    {{ TEST_SERVER_EXPLAIN }}
    +
    diff --git a/development/extensions/tutorial_controllers.rst b/development/extensions/tutorial_controllers.rst index 397ddc27..09de7d87 100644 --- a/development/extensions/tutorial_controllers.rst +++ b/development/extensions/tutorial_controllers.rst @@ -188,11 +188,11 @@ with the following content including the phpBB header and footer: .. code-block:: html - + {% include 'overall_header.html' %} -

    {DEMO_MESSAGE}

    +

    {{ DEMO_MESSAGE }}

    - + {% include 'overall_footer.html' %} .. note:: diff --git a/development/extensions/tutorial_events.rst b/development/extensions/tutorial_events.rst index ac392b8f..9a391199 100644 --- a/development/extensions/tutorial_events.rst +++ b/development/extensions/tutorial_events.rst @@ -26,7 +26,7 @@ multiple useful injection points. A typical template event looks like: :: - + {% EVENT event_name_and_position %} .. seealso:: @@ -66,8 +66,8 @@ simple list element, with a link and a description: .. code-block:: html
  • - - {L_DEMO_PAGE} + + {{ lang('DEMO_PAGE') }}
  • diff --git a/development/extensions/tutorial_key_concepts.rst b/development/extensions/tutorial_key_concepts.rst index 7b4a8cb2..199eae76 100644 --- a/development/extensions/tutorial_key_concepts.rst +++ b/development/extensions/tutorial_key_concepts.rst @@ -268,15 +268,15 @@ Javascript and CSS files Javascript and CSS files can be stored anywhere inside your extension. However, the most common locations are within your style folders. Adding these scripts to your extension's templates can be conveniently handled using -phpBB's ```` and ```` template syntax. +phpBB's ``{% INCLUDECSS %}`` and ``{% INCLUDEJS %}`` template syntax. The format for these INCLUDE tags takes the following form: -.. code-block:: html +.. code-block:: twig - + {% INCLUDECSS '@vendor_extname/scriptname.css' %} - + {% INCLUDEJS '@vendor_extname/scriptname.js' %} The INCLUDECSS tag will look in the extension's style **theme** folder for the named file, based on the current style of the user, or the all style folder if one exists. The INCLUDECSS tag will automatically generate a ```` @@ -292,15 +292,15 @@ for the supplied JS file in the footer of the HTML document. When including JavaScript/CSS libraries and frameworks such as jQuery-UI or Font Awesome, the potential for resource overlap between extensions can be mitigated using a simple work-around endorsed by the phpBB -Extensions Team. Using the the ```` tag you should test if the script your extension wants to include +Extensions Team. Using the the ``{% DEFINE %}`` tag you should test if the script your extension wants to include is already defined, and if not, then include your script and define the script. For example: -.. code-block:: html +.. code-block:: twig - - - - + {% if not $INCLUDED_JQUERYUIJS %} + {% INCLUDEJS '@vendor_extname/jquery-ui.js' %} + {% DEFINE $INCLUDED_JQUERYUIJS = true %} + {% endif %} Some example template variable definitions to use with common libraries (the common practice should be to name the variable definition after the library filename, e.g. highslide.js becomes HIGHSLIDEJS): diff --git a/development/extensions/tutorial_modules.rst b/development/extensions/tutorial_modules.rst index f8edae7b..4595c2a9 100644 --- a/development/extensions/tutorial_modules.rst +++ b/development/extensions/tutorial_modules.rst @@ -198,34 +198,34 @@ We will use ``ext/acme/demo/adm/style/acp_demo_body.html``. Therefore, ACP template files must be stored in ``./adm/style/`` while MCP and UCP template files are stored in ``./styles/prosilver/template/``. -.. code-block:: html +.. code-block:: - + {% INCLUDE 'overall_header.html' %} -

    {L_SETTINGS}

    +

    {{ lang('SETTINGS') }}

    -
    +
    -
    -
    checked="checked" /> {L_YES}   - checked="checked" /> {L_NO}
    +
    +
    {{ lang('YES') }}   + {{ lang('NO') }}

    -   - +   +

    - {S_FORM_TOKEN} + {{ S_FORM_TOKEN }}
    - + {% INCLUDE 'overall_footer.html' %} This template renders out a form with a single option for toggling the *acme_demo_goodbye* setting via two radio buttons, and two input buttons -to submit or reset the form. Note that the ``{S_FORM_TOKEN}`` template +to submit or reset the form. Note that the ``{{ S_FORM_TOKEN }}`` template variable is required as part of the `form key`_ security check. Module language keys From 9ca2785f989b75965a7fc5a3ae758e7bd23a4d4c Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Wed, 14 Apr 2021 20:12:26 +0200 Subject: [PATCH 167/242] Add sphinx_rtd_theme to extensions --- development/conf.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/development/conf.py b/development/conf.py index 7cae0ce2..cf24dbcd 100644 --- a/development/conf.py +++ b/development/conf.py @@ -34,7 +34,8 @@ 'sensio.sphinx.phpcode', 'sensio.sphinx.bestpractice', 'sphinxcontrib.phpdomain', - 'sphinx_multiversion' + 'sphinx_multiversion', + 'sphinx_rtd_theme' ] # Add any paths that contain templates here, relative to this directory. From 78d175aaa9777c5d7a8937c690a30753db79d91b Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Wed, 14 Apr 2021 20:40:07 +0200 Subject: [PATCH 168/242] Remove duplicate section about 3.2.x minor updates This already exists for 3.3.x. Fixes #233. --- .../content/en/chapters/upgrade_guide.xml | 270 +----------------- 1 file changed, 13 insertions(+), 257 deletions(-) diff --git a/documentation/content/en/chapters/upgrade_guide.xml b/documentation/content/en/chapters/upgrade_guide.xml index 9b3469da..709aa0a1 100644 --- a/documentation/content/en/chapters/upgrade_guide.xml +++ b/documentation/content/en/chapters/upgrade_guide.xml @@ -100,7 +100,7 @@ For more information, see: Knowledge Base: Transferring attachment files with Filezilla
    - +
    @@ -172,250 +172,6 @@ For more information, see: Knowledge Base: Transferring attachment files with Filezilla
    - -
    - - - - Noxwizard - - - - Minor Updates Within 3.2.x - - phpBB aims to be backwards compatible within minor releases, but if you are using extensions, language packs, or custom styles, you should check them for updates prior to updating phpBB. - - - There are several update paths available depending on the types of edits you have made to your board: - - If you have made no modifications to core files, this is the easiest approach. - If you wish to only update the files that have changed between two releases, use this approach. - If you have made modifications to core files and do not want to manually re-apply them, use this approach. - For those comfortable using the patch utility, patch files are available. - - - - If you have previously abandoned an update attempt to try a different method, you will need to remove the following files from the server: - - store/install_config.php - store/io_lock.lock - - - - - -
    - - - - Noxwizard - - - - Full Package - This update method will remove most existing files and then put the new ones in place. - - Make a backup of the original files - Make a backup of the database - Download the phpBB 3.2 Full Package archive - Extract the contents of the archive to your computer and open the phpBB3 directory - Delete the following files from the package: - - The config.php file - The images/ directory - The files/ directory - The store/ directory - - - On your website, delete all files from your board EXCEPT for: - - The config.php file - The ext/ directory - The images/ directory - The files/ directory - The store/ directory - The styles/ directory - - - - Upload the contents of the phpBB3 directory from your computer to your forum's directory. You may be prompted to overwrite the remaining files. If prompted to merge or overwrite directories, choose to merge them. - The docs/ folder is for your personal use and it is not necessary to upload it to your forum. - - Update the database: - - - For large boards, you may wish to update via the command line instead of using a web browser. From your board's root, execute the following command: php ./bin/phpbbcli.php db:migrate --safe-mode - - - Using your web browser, visit /install/app.php/update in your board's root (e.g. http://www.example.com/yourforum/install/app.php/update). You will see the following warning message: - No valid update directory was found, please make sure you uploaded the relevant files. This is expected and not an error. - - Select "Update database only" and click Submit - - Wait for the progress bar to reach 100% and for a message indicating that the update has completed - Depending on your previous version this will make a number of database changes. You may receive FAILURES during this procedure. They should not be a cause for concern unless you see an actual ERROR, in which case the script will stop (in this case you should seek help via our forums). - - - - Delete the install/ directory on the server - - - Ensure that the root level .htaccess file is included in the upload. Some FTP clients do not show files whose names start with a period and you may need to enable the display of hidden files. - - - When backing up your files via FTP, ensure that the client is in binary mode. If using Filezilla, ensure that the "transfer files without extensions" setting is set to "binary mode". - For more information, see: Knowledge Base: Transferring attachment files with Filezilla - -
    - -
    - - - - Noxwizard - - - - Changed Files - This method is meant for those wanting to only replace the files that were changed between a previous version and the latest version. - This package contains a number of sub-archives, each contains the files changed from a given release to the latest version. You should select the appropriate archive for your current version, e.g. if you currently have 3.2.0 and are updating to 3.2.2, you should select the phpBB-3.2.0_to_3.2.2.zip/tar.bz2 sub-archive. - - Make a backup of the original files - Make a backup of the database - Locally, perform for the following steps: - - Download the phpBB 3.2 Changed Files archive - Extract the install/ directory - Extract the vendor/ directory - Extract the contents of the desired sub-archive for your version - - - On your web server, delete the vendor/ directory - Upload the install/ directory - Upload the vendor/ directory - Upload the contents of the selected sub-archive - Update the database: - - - For large boards, you may wish to update via the command line instead of using a web browser. From your board's root, execute the following command: php ./bin/phpbbcli.php db:migrate --safe-mode - - - Using your web browser, visit /install/app.php/update in your board's root (e.g. http://www.example.com/yourforum/install/app.php/update). You will see the following warning message: - No valid update directory was found, please make sure you uploaded the relevant files. This is expected and not an error. - - Select "Update database only" and click Submit - - Wait for the progress bar to reach 100% and for a message indicating that the update has completed - Depending on your previous version this will make a number of database changes. You may receive FAILURES during this procedure. They should not be a cause for concern unless you see an actual ERROR, in which case the script will stop (in this case you should seek help via our forums). - - - - Delete the install/ directory on the server - -
    - -
    - - - - Noxwizard - - - - Automatic Update - This update method is only recommended for installations with modifications to core phpBB files. This package detects changed files automatically and merges in changes if needed. - A number of automatic update files are available, and you should choose the one that corresponds to the version of the board that you are currently running. For example, if your current version is 3.2.0 and you are updating to 3.2.2, you need the phpBB-3.2.0_to_3.2.2.zip/tar.bz2 file. - - Make a backup of the original files - Make a backup of the database - Locally, perform for the following steps: - - Download the phpBB 3.2 Automatic Update archive - Extract the install/ directory - Extract the vendor/ directory - - - On your web server, delete the vendor/ directory - Upload the install/ directory - Upload the vendor/ directory - Run the updater: - - - For large boards, you may wish to update the database via the command line instead of using a web browser. From your board's root, execute the following command: php ./bin/phpbbcli.php db:migrate --safe-mode - - Using your web browser, visit /install in your board's root (e.g. http://www.example.com/yourforum/install). - Click the Update tab - Click Update - Select "Update filesystem and database" and click Submit - - Depending on file ownership, there are several options available to perform this update: - - Download modified files in an archive: This will generate an archive containing all of the updated files. After downloading it, you upload its contents to the server. - Update files via FTP (Automatic): You provide FTP credentials and file paths so that the server may FTP the files in place. - Update files via direct access (Automatic): If the web server has write permissions, the updater can write the changes directly to the files - - - If there are conflicts, you will be prompted to resolve them. - - Click Update Files - Click "Continue Update Process" to update the database - - - Delete the install/ directory on the server - -
    - -
    - - - - Noxwizard - - - - Patch Files - This method is for advanced users who wish to use a patch/diff style update process. If you don't know what the patch utility is, this method is not for you. - A number of patch files are provided and you should choose the one that corresponds to the version of the board that you are currently running. For example, if your current version is 3.2.0 and you are updating to 3.2.2, you need the phpBB-3.2.0_to_3.2.2.patch file. - - Make a backup of the original files - Make a backup of the database - Locally, perform for the following steps: - - Download the phpBB 3.2 Patch Files archive - Extract the install/ directory - Extract the vendor/ directory - Extract the desired patch file for your version - - - On your web server, delete the vendor/ directory - Upload the install/ directory - Upload the vendor/ directory - Upload the patch file to the parent directory containing the phpBB core files (i.e. index.php, viewforum.php, etc.). With this done you should run the following command: - patch -cl -d [PHPBB DIRECTORY] -p1 < [PATCH NAME] (where PHPBB DIRECTORY is the directory name your phpBB Installation resides in, for example phpBB, and where PATCH NAME is the relevant filename of the selected patch file). - This should complete quickly, hopefully without any HUNK FAILED comments. - If you do get failures, you should look at using the Code Changes page to update the files which failed to patch. Alternatively, if you know how, you can examine the .rej files to determine what failed where and make manual adjustments to the relevant source. - - Update the database: - - - For large boards, you may wish to update via the command line instead of using a web browser. From your board's root, execute the following command: php ./bin/phpbbcli.php db:migrate --safe-mode - - - Using your web browser, visit /install/app.php/update in your board's root (e.g. http://www.example.com/yourforum/install/app.php/update). You will see the following warning message: - No valid update directory was found, please make sure you uploaded the relevant files. This is expected and not an error. - - Select "Update database only" and click Submit - - Wait for the progress bar to reach 100% and for a message indicating that the update has completed - Depending on your previous version this will make a number of database changes. You may receive FAILURES during this procedure. They should not be a cause for concern unless you see an actual ERROR, in which case the script will stop (in this case you should seek help via our forums). - - - - Delete the install/ directory on the server - Delete the uploaded patch file from the server - -
    -
    @@ -488,7 +244,7 @@ For more information, see: Knowledge Base: Transferring attachment files with Filezilla
    - +
    @@ -509,7 +265,7 @@ If you have made modifications to core files and do not want to manually re-apply them, use this approach. For those comfortable using the patch utility, patch files are available. - + If you have previously abandoned an update attempt to try a different method, you will need to remove the following files from the server: @@ -518,8 +274,8 @@ - - + +
    @@ -563,7 +319,7 @@ For large boards, you may wish to update via the command line instead of using a web browser. From your board's root, execute the following command: php ./bin/phpbbcli.php db:migrate --safe-mode - Using your web browser, visit /install/app.php/update in your board's root (e.g. http://www.example.com/yourforum/install/app.php/update). You will see the following warning message: + Using your web browser, visit /install/app.php/update in your board's root (e.g. http://www.example.com/yourforum/install/app.php/update). You will see the following warning message: No valid update directory was found, please make sure you uploaded the relevant files. This is expected and not an error. Select "Update database only" and click Submit @@ -583,7 +339,7 @@ For more information, see: Knowledge Base: Transferring attachment files with Filezilla
    - +
    @@ -616,7 +372,7 @@ For large boards, you may wish to update via the command line instead of using a web browser. From your board's root, execute the following command: php ./bin/phpbbcli.php db:migrate --safe-mode - Using your web browser, visit /install/app.php/update in your board's root (e.g. http://www.example.com/yourforum/install/app.php/update). You will see the following warning message: + Using your web browser, visit /install/app.php/update in your board's root (e.g. http://www.example.com/yourforum/install/app.php/update). You will see the following warning message: No valid update directory was found, please make sure you uploaded the relevant files. This is expected and not an error. Select "Update database only" and click Submit @@ -629,7 +385,7 @@ Delete the install/ directory on the server
    - +
    @@ -680,7 +436,7 @@ Delete the install/ directory on the server
    - +
    @@ -706,8 +462,8 @@ On your web server, delete the vendor/ directory Upload the install/ directory Upload the vendor/ directory - Upload the patch file to the parent directory containing the phpBB core files (i.e. index.php, viewforum.php, etc.). With this done you should run the following command: - patch -cl -d [PHPBB DIRECTORY] -p1 < [PATCH NAME] (where PHPBB DIRECTORY is the directory name your phpBB Installation resides in, for example phpBB, and where PATCH NAME is the relevant filename of the selected patch file). + Upload the patch file to the parent directory containing the phpBB core files (i.e. index.php, viewforum.php, etc.). With this done you should run the following command: + patch -cl -d [PHPBB DIRECTORY] -p1 < [PATCH NAME] (where PHPBB DIRECTORY is the directory name your phpBB Installation resides in, for example phpBB, and where PATCH NAME is the relevant filename of the selected patch file). This should complete quickly, hopefully without any HUNK FAILED comments. If you do get failures, you should look at using the Code Changes page to update the files which failed to patch. Alternatively, if you know how, you can examine the .rej files to determine what failed where and make manual adjustments to the relevant source. @@ -717,7 +473,7 @@ For large boards, you may wish to update via the command line instead of using a web browser. From your board's root, execute the following command: php ./bin/phpbbcli.php db:migrate --safe-mode - Using your web browser, visit /install/app.php/update in your board's root (e.g. http://www.example.com/yourforum/install/app.php/update). You will see the following warning message: + Using your web browser, visit /install/app.php/update in your board's root (e.g. http://www.example.com/yourforum/install/app.php/update). You will see the following warning message: No valid update directory was found, please make sure you uploaded the relevant files. This is expected and not an error. Select "Update database only" and click Submit From 9f256a324d9890aff82d5b52d0c561b92fba5e2c Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Wed, 14 Apr 2021 12:26:31 -0700 Subject: [PATCH 169/242] Create contributing guidelines --- CONTRIBUTING.md | 76 +++++++++++++++++++++++++++++++++++++++++++++++++ readme.md | 15 ++++------ 2 files changed, 81 insertions(+), 10 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..e6615a58 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,76 @@ +# Contribute to phpBB Documentation + +Do you have an improvement, bug fix or translation for our Docs? + +## Contents: +1. [Fork and Clone](#fork-and-clone) +2. [Create a Branch](#create-a-branch) +3. [Submit a Pull Request](#submit-a-pull-request) +4. [Build Development Docs](#build-development-docs) + +## Fork and Clone + +1. On GitHub, create a fork of `phpbb/documentation` to your GitHub account. + +2. Create a local clone of your fork: +```shell +$ git clone git://github.com/YOUR_GITHUB_NAME/documentation.git +``` + +## Create a Branch + +1. Create a new branch in your repository before doing any work. It should be based off the branch you intend to update: +```shell +$ git checkout -b myNewbranch origin/master +``` + +2. Do work on your branch, commit your changes and push it to your repository: +```shell +$ git commit -a -m "My new feature or bug fixes" +$ git push origin myNewbranch +``` + +## Submit a Pull Request + +1. Go to your repository on GitHub.com. + +2. Click the Pull Request button. + +3. Make sure the correct branch is selected in the base branch dropdown menu. + +## Build Development Docs + +You can build our Development Docs in your local environment to make it easier when writing new or updated +documentation. The following steps may vary slightly depending on your OS, so if you run into any trouble you may +ask for guidance in our [Discord or IRC Channels](https://www.phpbb.com/support/chat/). + +1. Make sure you have Python3 installed (you can check by running `$ python -V`) + +2. Make sure your have PIP installed (you can check by running `$ pip -V`) + +3. Install [Sphinx Docs](https://www.sphinx-doc.org/en/master/usage/installation.html): + ```shell + $ pip install -U sphinx + ``` + +4. Verify Sphinx installed: + ```shell + $ sphinx-build --version + ``` + > You may need to set a shell $PATH variable to point to wherever your Sphinx binaries were installed in your system + +5. Install all the dependencies needed for our Docs: + ```shell + $ pip install sphinx_rtd_theme + $ pip install sphinxcontrib-phpdomain + $ pip install sphinx-multiversion + $ sudo pip install git+https://github.com/marc1706/sphinx-php.git + ``` + +6. Build the Docs + ```shell + $ cd development + $ make html + ``` + +7. You can now view the Docs by pointing a browser to `development/_build/html/index.html` diff --git a/readme.md b/readme.md index 2dde6fe3..7ae49821 100644 --- a/readme.md +++ b/readme.md @@ -1,19 +1,14 @@ -# phpBB Documentation +# phpBB User Documentation -Documentation for board visitors, moderators and administrators. Can be seen online [here](http://www.phpbb.com/support/documentation/3.2/) +Documentation for board visitors, moderators and administrators can be seen online [here](http://www.phpbb.com/support/documentation/3.2/) -## Patches +# phpBB Developer Documentation -Do you have an improvement? Did you fix a bug? Fork our GitHub repo, make your changes in a separate branch and send a pull request. -Please read the [Git Sub-Project Guidelines](http://wiki.phpbb.com/Sub-Project_Contribution_Guidelines) before forking and fixing bugs. - -## Translations - -If you have a translation please read the information on patches. +Documentation for phpBB development and extension authors can be seen online [here](https://area51.phpbb.com/docs/dev/) ## Get Involved -You can get involved by providing patches/improvements (See Above). +Do you have an improvement, bug fix or translation for our Docs? Read our [Contributing guidelines](CONTRIBUTING.md) to help improve our Documentation. ## License Documentation © 2020 [phpBB Limited](https://www.phpbb.com/) From 517926324f1ff2877f104777de778a7f242ddb51 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Fri, 16 Apr 2021 08:31:39 -0700 Subject: [PATCH 170/242] readme fixes --- readme.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/readme.md b/readme.md index 7ae49821..29e5e578 100644 --- a/readme.md +++ b/readme.md @@ -1,15 +1,15 @@ # phpBB User Documentation -Documentation for board visitors, moderators and administrators can be seen online [here](http://www.phpbb.com/support/documentation/3.2/) +Documentation for board visitors, moderators and administrators can be seen online [here](https://www.phpbb.com/support/documentation/3.3/). # phpBB Developer Documentation -Documentation for phpBB development and extension authors can be seen online [here](https://area51.phpbb.com/docs/dev/) +Documentation for phpBB development and extension authors can be seen online [here](https://area51.phpbb.com/docs/dev/). ## Get Involved Do you have an improvement, bug fix or translation for our Docs? Read our [Contributing guidelines](CONTRIBUTING.md) to help improve our Documentation. ## License -Documentation © 2020 [phpBB Limited](https://www.phpbb.com/) -
    Licensed under the [CC Attribution-NonCommercial-ShareAlike 3.0](https://creativecommons.org/licenses/by-nc-sa/3.0/) license +Documentation © 2021 [phpBB Limited](https://www.phpbb.com/). +
    Licensed under the [CC Attribution-NonCommercial-ShareAlike 3.0](https://creativecommons.org/licenses/by-nc-sa/3.0/) license. From 76e343f5fbd23ecd43d0a8ea4f637bf3501ba1f2 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Fri, 16 Apr 2021 11:42:49 -0700 Subject: [PATCH 171/242] Use release version for github version --- development/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/conf.py b/development/conf.py index cf24dbcd..f56cad3c 100644 --- a/development/conf.py +++ b/development/conf.py @@ -123,7 +123,7 @@ display_github=True, github_repo='documentation', github_user='phpbb', - github_version=version + ".x", + github_version=release, source_suffix='.rst', ) From c45e43fe92110b973dee3f4e98c58456f559ab9b Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Sat, 17 Apr 2021 07:22:45 -0700 Subject: [PATCH 172/242] Use correct subsubsections convention --- development/db/dbal.rst | 34 +++++++++---------- development/development/git.rst | 26 +++++++------- .../extensions/tutorial_authentication.rst | 10 +++--- .../extensions/tutorial_migrations.rst | 8 ++--- development/extensions/tutorial_modules.rst | 2 +- .../extensions/tutorial_notifications.rst | 10 +++--- development/request/request.rst | 18 +++++----- 7 files changed, 54 insertions(+), 54 deletions(-) diff --git a/development/db/dbal.rst b/development/db/dbal.rst index 0b3e5dcf..55eb8be1 100644 --- a/development/db/dbal.rst +++ b/development/db/dbal.rst @@ -50,7 +50,7 @@ Example using :class:`config.php`: unset($dbpasswd); Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Usage" @@ -116,7 +116,7 @@ Example: $result = $db->sql_query($sql); Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Usage" :delim: # @@ -156,7 +156,7 @@ Example: $db->sql_query($sql); Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Usage" :delim: # @@ -180,7 +180,7 @@ Example: Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Usage" :delim: | @@ -205,7 +205,7 @@ Example: AND post_text = '" . $db->sql_escape($string) . "'"; Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Usage" :delim: | @@ -221,7 +221,7 @@ Defined in the base driver (``_sql_like_expression`` is defined in the specific The ``sql_not_like_expression`` is identical to ``sql_like_expression`` apart from that it builds a NOT LIKE statement. Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Usage" :delim: | @@ -229,11 +229,11 @@ Parameters Expression | The expression to use. Every wildcard is escaped, except $db->get_any_char() and $db->get_one_char() get_one_char -++++++++++++ +^^^^^^^^^^^^ Wildcards for matching exactly one (``_``) character within LIKE expressions. get_any_char -++++++++++++ +^^^^^^^^^^^^ Wildcards for matching any (``%``) character within LIKE expressions Example: @@ -267,7 +267,7 @@ Example: $result = $db->sql_query_limit($sql, 10); Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Usage" :delim: | @@ -296,7 +296,7 @@ Example: Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Usage" :delim: | @@ -321,7 +321,7 @@ Example: Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Usage" :delim: | @@ -357,7 +357,7 @@ Example: Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Usage" :delim: | @@ -418,7 +418,7 @@ Example: Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Usage" :delim: # @@ -433,7 +433,7 @@ Returns an array with the result of using the ``sql_fetchrow`` method on every r Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Usage" :delim: # @@ -471,7 +471,7 @@ Example with a while-loop: Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Usage" :delim: # @@ -484,7 +484,7 @@ Seeks to given row number. The row number is zero-based. Defined in the specific Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Usage" :delim: # @@ -514,7 +514,7 @@ Example: Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Usage" :delim: # diff --git a/development/development/git.rst b/development/development/git.rst index 062dd83f..918164a5 100644 --- a/development/development/git.rst +++ b/development/development/git.rst @@ -22,7 +22,7 @@ phpBB Repository ---------------- Forking and Cloning -+++++++++++++++++++ +^^^^^^^^^^^^^^^^^^^ To contribute to phpBB development, you should sign up for a `GitHub `_ user account if you don't already have one. @@ -35,7 +35,7 @@ Clone your fork of phpBB's repository to your computer: See `Set Up Git `_ for help on setting up Git. Branches -++++++++ +^^^^^^^^ - `master `_ - The latest unstable development version with new features etc. - `3.3.x `_ - Development branch of the 3.3 line. Bug fixes and minor feature changes are applied here. - `3.2.x `_ - Development branch of the 3.2 line. Bug fixes and minor feature changes are applied here. @@ -44,7 +44,7 @@ Branches - `2.0.x `_ - Development branch of the deprecated 2.0 line. Tags -++++ +^^^^ Tags are released versions. Stable ones get merged into the master branch. - release-3.Y.Z-aX - Alpha release X of the 3.Y.Z line. @@ -58,7 +58,7 @@ will be merged into higher branches, including master. All feature development should take place in master. Read more about the workflow in the next section. How to contribute? -++++++++++++++++++ +^^^^^^^^^^^^^^^^^^ When fixing a bug, please post in the `bug tracker `__. When adding a feature to 3.x post your patch for review in a new topic on the `[3.x] Discussion forum `__ at @@ -139,7 +139,7 @@ Review `Forking and Cloning`_. Configuration ------------- Git -+++ +^^^ Add your Username to Git on your system: :: @@ -163,7 +163,7 @@ Add the upstream remote (you can change 'upstream' to whatever you like): fork of the phpBB GitHub repo will, by default, use the *origin* remote url. Composer -++++++++ +^^^^^^^^ To be able to run an installation from the repo (and not from a pre-built package) you need to run the following shell commands to install phpBB's dependencies. @@ -180,7 +180,7 @@ Ignore any *abandoned package* warnings. further information. Hooks -+++++ +^^^^^ The phpBB repository contains some client-side hooks that can aid development. They are located in the ``git-tools/hooks`` directory. These hooks do things like preparing and validating commit messages, checking for PHP syntax errors. There is a script to set @@ -214,7 +214,7 @@ Workflow --------- Pulling in upstream changes -+++++++++++++++++++++++++++ +^^^^^^^^^^^^^^^^^^^^^^^^^^^ You will need to merge in changes made to the upstream repository for them to appear in your fork, the steps to do this follow. We're assuming you are performing this on the **master** branch, but it could be a bug fix branch or a develop release branch, so ensure you are on @@ -236,7 +236,7 @@ different branches this section refers to later. .. image:: images/Phpbb-git-workflow.png Bug fixing -++++++++++ +^^^^^^^^^^ Ensure you are using the correct develop branch (e.g. *3.2.x*) first and not the *master* branch. In this example we are using 3.2.x. @@ -252,7 +252,7 @@ branch. In this example we are using 3.2.x. git push origin ticket/12345 # Push the branch back to GitHub Starting a new feature -++++++++++++++++++++++ +^^^^^^^^^^^^^^^^^^^^^^ Ensure you are using the correct develop branch (e.g. *master*) first. In this example we are using master. @@ -267,7 +267,7 @@ we are using master. git push origin feature/my-fancy-new-feature # Push the branch back to GitHub Collaborating with other developers on a feature -++++++++++++++++++++++++++++++++++++++++++++++++ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ You have pushed a new feature to GitHub and another developer has worked on it. This is how you can integrate their changes into your own feature branch. @@ -281,7 +281,7 @@ how you can integrate their changes into your own feature branch. git push origin feature/my-fancy-new-feature # Push the branch back to GitHub Merging a feature or bugfix branch -++++++++++++++++++++++++++++++++++ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Once a feature or bug-fix is complete it can be merged back into the master branch. To preserve history we never fast-forward such merges. In this example we will merge the bug-fix created earlier into 3.2.x. We then merge the changes into 3.3.x and then merge 3.3.x into master @@ -300,7 +300,7 @@ to keep these branches up to date. Additionally the merge.log config setting of Git is set to true, producing a summary of merged commits. Merging into phpBB repository -+++++++++++++++++++++++++++++ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This *only* applies to Development Team Members. The following steps should be taken when merging a topic branch into the phpBB repository. diff --git a/development/extensions/tutorial_authentication.rst b/development/extensions/tutorial_authentication.rst index 886b5ebc..860721f8 100644 --- a/development/extensions/tutorial_authentication.rst +++ b/development/extensions/tutorial_authentication.rst @@ -27,7 +27,7 @@ are part of an extension must provide their own YAML file defining the service in addition to all normal requirements of an extension. The class file -++++++++++++++ +^^^^^^^^^^^^^^ The provider class must implement the ``\phpbb\auth\provider\provider_interface`` in order to ensure proper functionality. However, it is recommended to extend ``\phpbb\auth\provider\base`` so as to not implement unneeded methods and to ensure @@ -107,7 +107,7 @@ authentication provider class is show below: } The service file -++++++++++++++++ +^^^^^^^^^^^^^^^^ For proper `dependency injection `_ the provider must be added to ``services.yml``. The name of the service must be in the form of ``auth.provider.`` in order for phpBB to register it. @@ -126,7 +126,7 @@ for the class to be made available in phpBB. - { name: auth.provider } The template file -+++++++++++++++++ +^^^^^^^^^^^^^^^^^ Following the above steps renders the authentication provider visible in the ACP. However, to allow an admin to configure your plugin the available fields need to be created in order to reach the configuration from the php-auth-provider plugin. @@ -171,7 +171,7 @@ phpBB. They are copies of the bitly service implementation from phpBB3's develop branch. The Class file -++++++++++++++ +^^^^^^^^^^^^^^ .. code-block:: php `` in order for phpBB to diff --git a/development/extensions/tutorial_migrations.rst b/development/extensions/tutorial_migrations.rst index 0912b18f..f06bf697 100644 --- a/development/extensions/tutorial_migrations.rst +++ b/development/extensions/tutorial_migrations.rst @@ -29,7 +29,7 @@ Database changes ---------------- Schema changes -++++++++++++++ +^^^^^^^^^^^^^^ The ``update_schema()`` method is for facilitating schema changes, such as adding new tables, columns, keys and indexes. @@ -42,7 +42,7 @@ We recommend putting schema changes in their own migration. Learn more: :doc:`../migrations/schema_changes`. Data changes -++++++++++++ +^^^^^^^^^^^^ The ``update_data()`` method is for inserting, updating and dropping field data. @@ -81,7 +81,7 @@ Migration dependencies ---------------------- depends_on() -++++++++++++ +^^^^^^^^^^^^ The ``depends_on()`` method is used to define a migration's dependencies. Dependencies tell the migrator what order migrations must be installed in. @@ -89,7 +89,7 @@ Dependencies tell the migrator what order migrations must be installed in. Learn more: :doc:`../migrations/dependencies`. effectively_installed() -+++++++++++++++++++++++ +^^^^^^^^^^^^^^^^^^^^^^^ The ``effectively_installed()`` method is used primarily to help transition from a previous database installer method (such as a MOD that used UMIL) diff --git a/development/extensions/tutorial_modules.rst b/development/extensions/tutorial_modules.rst index 4595c2a9..8d680711 100644 --- a/development/extensions/tutorial_modules.rst +++ b/development/extensions/tutorial_modules.rst @@ -229,7 +229,7 @@ to submit or reset the form. Note that the ``{{ S_FORM_TOKEN }}`` template variable is required as part of the `form key`_ security check. Module language keys -++++++++++++++++++++ +^^^^^^^^^^^^^^^^^^^^ Between our module class and template files, we have added some new language keys. We can add them to our language array in ``acme/demo/language/en/demo.php``: diff --git a/development/extensions/tutorial_notifications.rst b/development/extensions/tutorial_notifications.rst index 7d09dc43..4b177ad3 100644 --- a/development/extensions/tutorial_notifications.rst +++ b/development/extensions/tutorial_notifications.rst @@ -490,7 +490,7 @@ It should return an array with the user identifiers as keys and the notification There are various helper functions that help you achieve the desired outcome. check_user_notification_options -+++++++++++++++++++++++++++++++ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ You can send an array of user identifiers to this function. It will then check the available notification methods for each user. If the notification type is available in the :abbr:`UCP (User Control Panel)`, it will check the user's preferences. @@ -498,7 +498,7 @@ Otherwise it will use the default notification methods; the board method and the The array that is returned by this function can be used as a return value for find_users_for_notification_. get_authorised_recipients -+++++++++++++++++++++++++ +^^^^^^^^^^^^^^^^^^^^^^^^^ If your notification is for an event within a specific forum, you might want to check the users' authentication. This can be done using this function, which will check all users' ``f_read`` permission for the provided ``forum_id``. The array that is returned by this function is already put through check_user_notification_options_. @@ -1082,7 +1082,7 @@ mark_notifications ------------------ Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Description" @@ -1098,7 +1098,7 @@ mark_notifications_by_parent ---------------------------- Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Description" @@ -1119,7 +1119,7 @@ However, there can be times where it is more convenient or accurate to work dire For example, when the notifications are listed in the :abbr:`UCP (User Control Panel)` and a user can select specific notifications to be marked as read. Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Description" diff --git a/development/request/request.rst b/development/request/request.rst index e38cab31..c19ea3be 100644 --- a/development/request/request.rst +++ b/development/request/request.rst @@ -89,7 +89,7 @@ If no super global is specified, it will default to the ``REQUEST`` super global $session = $request->variable('user_sid', \phpbb\request\request_interface::COOKIE); Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Description" @@ -116,7 +116,7 @@ This is a short hand for ``$request->variable('variable', \phpbb\request\request } Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Description" @@ -203,7 +203,7 @@ The nesting increased with each value provided. */ Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Description" @@ -234,7 +234,7 @@ So for ```` the variable name is ``attachme } Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Description" @@ -263,7 +263,7 @@ This function is a shortcut to retrieve the value of the client's HTTP headers. } Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Description" @@ -289,7 +289,7 @@ It also provides a fallback to ``getenv()`` as some CGI setups may need it. $server_port = $request->server('SERVER_PORT', 0); Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Description" @@ -329,7 +329,7 @@ Changes which are performed on the super globals directly will **not** have any } Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Description" @@ -376,7 +376,7 @@ It will then return all the names *(keys)* that exist for that super global. return $hidden; Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Description" @@ -414,7 +414,7 @@ It will then return the original array with all the variables for that super glo } Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Description" From c918e81673d043dc309a717e02b5f8776ea797d9 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Sat, 17 Apr 2021 07:23:00 -0700 Subject: [PATCH 173/242] Fix inconsitent title section error --- development/extensions/tutorial_notifications.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/development/extensions/tutorial_notifications.rst b/development/extensions/tutorial_notifications.rst index 4b177ad3..fdb4928f 100644 --- a/development/extensions/tutorial_notifications.rst +++ b/development/extensions/tutorial_notifications.rst @@ -1034,8 +1034,11 @@ such as when an action occurs that would make your notification irrelevant. This function is very simple to use, and requires only a few basic parameters: +delete_notifications +-------------------- + Parameters -++++++++++ +^^^^^^^^^^ .. csv-table:: :header: "Parameter", "Description" From 2c5f481256561163e948e1eebcfcbd98d736dd04 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Wed, 21 Apr 2021 11:27:00 -0700 Subject: [PATCH 174/242] Fix float issues from responsive tables --- development/_static/css/phpbb.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/development/_static/css/phpbb.css b/development/_static/css/phpbb.css index ae3efff6..13a74e6f 100644 --- a/development/_static/css/phpbb.css +++ b/development/_static/css/phpbb.css @@ -10,6 +10,10 @@ max-width: none; /* use max-width: 800px for button navigation, not content */ } +.wy-table-responsive { + clear: both; +} + .wy-table-responsive table { width: 100%; } From ce6469c9fc04fc7571cd24dfc0bccd4b32402de6 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Thu, 6 May 2021 21:17:32 +0200 Subject: [PATCH 175/242] Rename automatic to advanced update --- documentation/content/en/chapters/upgrade_guide.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/documentation/content/en/chapters/upgrade_guide.xml b/documentation/content/en/chapters/upgrade_guide.xml index 709aa0a1..1681ab6f 100644 --- a/documentation/content/en/chapters/upgrade_guide.xml +++ b/documentation/content/en/chapters/upgrade_guide.xml @@ -262,7 +262,7 @@ If you have made no modifications to core files, this is the easiest approach. If you wish to only update the files that have changed between two releases, use this approach. - If you have made modifications to core files and do not want to manually re-apply them, use this approach. + If you have made modifications to core files and do not want to manually re-apply them, use this approach. For those comfortable using the patch utility, patch files are available. @@ -386,7 +386,7 @@
    -
    +
    @@ -394,15 +394,15 @@ - Automatic Update + Advanced Update This update method is only recommended for installations with modifications to core phpBB files. This package detects changed files automatically and merges in changes if needed. - A number of automatic update files are available, and you should choose the one that corresponds to the version of the board that you are currently running. For example, if your current version is 3.3.0 and you are updating to 3.3.1, you need the phpBB-3.3.0_to_3.3.1.zip/tar.bz2 file. + A number of advanced update files are available, and you should choose the one that corresponds to the version of the board that you are currently running. For example, if your current version is 3.3.0 and you are updating to 3.3.1, you need the phpBB-3.3.0_to_3.3.1.zip/tar.bz2 file. Make a backup of the original files Make a backup of the database Locally, perform for the following steps: - Download the phpBB 3.3 Automatic Update archive + Download the phpBB 3.3 Advanced Update archive Extract the install/ directory Extract the vendor/ directory From 91dce6e1eb65c00b05cdddf131d940a8231ef417 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Mon, 26 Jul 2021 18:03:57 -0700 Subject: [PATCH 176/242] Add documentation for Role Exists permission tool --- development/migrations/tools/permission.rst | 32 +++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/development/migrations/tools/permission.rst b/development/migrations/tools/permission.rst index 1ed07b16..3a4becf4 100644 --- a/development/migrations/tools/permission.rst +++ b/development/migrations/tools/permission.rst @@ -63,7 +63,7 @@ Add a new permission role .. code-block:: php - ['permission.role_add', [role name, role type (u_, m_, a_), role description ]], + ['permission.role_add', [role name, role type (u_, m_, a_), role description]], Example ------- @@ -86,7 +86,7 @@ Update a permission role .. code-block:: php - ['permission.role_update', [old role name, new role name ]], + ['permission.role_update', [old role name, new role name]], Example ------- @@ -168,3 +168,31 @@ Example ['permission.permission_unset', ['REGISTERED', 'u_new', 'group']], // Remove u_new permission from group REGISTERED ]; } + +Role Exists +=========== +Check if a permission role exists before attempting to set/unset permissions on it + +.. code-block:: php + + ['permission.role_exists', [role name]], + +Example +------- + +.. code-block:: php + + public function update_data() + { + return [ + ['if', [ + ['permission.role_exists', ['ROLE_ADMIN_FULL']], // Check if ROLE_ADMIN_FULL exists before updating it + ['permission.permission_set', ['ROLE_ADMIN_FULL', 'a_new']], // Give ROLE_ADMIN_FULL a_new permission + ]], + + ['if', [ + ['permission.role_exists', ['ROLE_MOD_FULL']], // Check if ROLE_MOD_FULL exists before updating it + ['permission.permission_unset', ['ROLE_MOD_FULL', 'm_new']], // Remove m_new permission from role ROLE_MOD_FULL + ]], + ]; + } From a1df26c40342ace1afdc59c930b753fac237b52a Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Tue, 27 Jul 2021 09:12:51 -0700 Subject: [PATCH 177/242] Note version --- development/migrations/tools/permission.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/migrations/tools/permission.rst b/development/migrations/tools/permission.rst index 3a4becf4..6d2d67c5 100644 --- a/development/migrations/tools/permission.rst +++ b/development/migrations/tools/permission.rst @@ -171,7 +171,7 @@ Example Role Exists =========== -Check if a permission role exists before attempting to set/unset permissions on it +Check if a permission role exists before attempting to set/unset permissions on it (introduced in phpBB 3.3.2) .. code-block:: php From 9a43d4998fb509210ca65c81e6234e467cf8081e Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Mon, 16 Aug 2021 22:14:33 -0700 Subject: [PATCH 178/242] Update Ext Skeleton requirements --- development/extensions/skeleton_extension.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/development/extensions/skeleton_extension.rst b/development/extensions/skeleton_extension.rst index 11f063b8..5ee88afe 100644 --- a/development/extensions/skeleton_extension.rst +++ b/development/extensions/skeleton_extension.rst @@ -42,8 +42,8 @@ installed into a phpBB board just the same as any other. Requirements ------------ -- A phpBB board, version 3.2.0 or newer. -- PHP version 5.4 or newer. +- A phpBB board, version 3.2.3 or newer. +- PHP version 5.6 or newer. - PHP ZipArchive module enabled. Installation From 72460e943f65227a03f1ca3c3cacd438e3d8977c Mon Sep 17 00:00:00 2001 From: Christian Schnegelberger Date: Thu, 16 Sep 2021 21:21:41 +0200 Subject: [PATCH 179/242] Use code ticks for cli options --- development/cli/getting_started.rst | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/development/cli/getting_started.rst b/development/cli/getting_started.rst index 608bd595..41c7336e 100644 --- a/development/cli/getting_started.rst +++ b/development/cli/getting_started.rst @@ -64,14 +64,14 @@ Common options that can be used with any of phpBB's CLI commands. :header: "Option", "Usage" :delim: | - --help (-h) | Display a help message - --quiet (-q) | Do not output any message - --verbose (-v,-vv,-vvv) | Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug - --version (-V) | Display this application version - --ansi | Force ANSI (colors) output - --no-ansi | Disable ANSI (colors) output - --no-interaction (-n) | Do not ask any interactive question - --safe-mode | Run in Safe Mode (without extensions) + ``--help (-h)`` | Display a help message + ``--quiet (-q)`` | Do not output any message + ``--verbose (-v,-vv,-vvv)`` | Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug + ``--version (-V)`` | Display this application version + ``--ansi`` | Force ANSI (colors) output + ``--no-ansi`` | Disable ANSI (colors) output + ``--no-interaction (-n)`` | Do not ask any interactive question + ``--safe-mode`` | Run in Safe Mode (without extensions) Install phpBB using the CLI =========================== From cf667919cdf223b22894c5b3c9dcc2d8ad6b2420 Mon Sep 17 00:00:00 2001 From: Christian Schnegelberger Date: Thu, 16 Sep 2021 21:30:13 +0200 Subject: [PATCH 180/242] Replace parenthesis with commas --- development/cli/getting_started.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/development/cli/getting_started.rst b/development/cli/getting_started.rst index 41c7336e..871b3995 100644 --- a/development/cli/getting_started.rst +++ b/development/cli/getting_started.rst @@ -64,13 +64,13 @@ Common options that can be used with any of phpBB's CLI commands. :header: "Option", "Usage" :delim: | - ``--help (-h)`` | Display a help message - ``--quiet (-q)`` | Do not output any message - ``--verbose (-v,-vv,-vvv)`` | Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug - ``--version (-V)`` | Display this application version + ``--help, -h`` | Display a help message + ``--quiet, -q`` | Do not output any message + ``--verbose, -v, -vv, -vvv`` | Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug + ``--version, -V`` | Display this application version ``--ansi`` | Force ANSI (colors) output ``--no-ansi`` | Disable ANSI (colors) output - ``--no-interaction (-n)`` | Do not ask any interactive question + ``--no-interaction, -n`` | Do not ask any interactive question ``--safe-mode`` | Run in Safe Mode (without extensions) Install phpBB using the CLI From 6e8ef5a6a3602e62c7a3bafcb1217166488a9c4f Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 3 Oct 2021 17:22:03 +0200 Subject: [PATCH 181/242] Update events for 3.3.5 --- development/extensions/events_list.rst | 36 ++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/development/extensions/events_list.rst b/development/extensions/events_list.rst index 502f3818..cebae3b8 100644 --- a/development/extensions/events_list.rst +++ b/development/extensions/events_list.rst @@ -405,6 +405,12 @@ PHP Events +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | core.mcp_front_reports_listing_query_before | includes/mcp/mcp_front.php | forum_list, sql_ary | 3.1.0-RC3 | Alter sql query to get latest reported posts | +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_front_view_modify_posts_data_sql | includes/mcp/mcp_front.php | forum_list, forum_names, post_list, sql, total | 3.3.5-RC1 | Alter posts data SQL query | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_front_view_modify_reported_post_row | includes/mcp/mcp_front.php | forum_list, mode, reported_post_row, row | 3.3.5-RC1 | Alter reported posts template block for MCP front page | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_front_view_modify_unapproved_post_row | includes/mcp/mcp_front.php | forum_names, mode, row, unapproved_post_row | 3.3.5-RC1 | Alter unapproved posts template block for MCP front page | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | core.mcp_front_view_queue_postid_list_after | includes/mcp/mcp_front.php | forum_list, forum_names, post_list, total | 3.1.0-RC3 | Alter list of posts and total as required | +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | core.mcp_get_post_data_after | includes/functions_mcp.php | acl_list, post_ids, read_tracking, rowset | 3.3.1-RC1 | This event allows you to modify post data displayed in the MCP | @@ -417,6 +423,8 @@ PHP Events +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | core.mcp_main_fork_sql_after | includes/mcp/mcp_main.php | new_post_id, new_topic_id, row, to_forum_id | 3.2.4-RC1 | Perform actions after forked topic is created. | +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_main_modify_fork_post_sql | includes/mcp/mcp_main.php | counter, new_topic_id, row, sql_ary, to_forum_id | 3.3.5-RC1 | Modify the forked post's sql array before it's inserted into the database. | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | core.mcp_main_modify_fork_sql | includes/mcp/mcp_main.php | sql_ary, topic_row | 3.1.11-RC1 | Perform actions before forked topic is created. | +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | core.mcp_main_modify_shadow_sql | includes/mcp/mcp_main.php | row, shadow | 3.1.11-RC1 | Perform actions before shadow topic is created. | @@ -441,6 +449,10 @@ PHP Events +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | core.mcp_reports_get_reports_query_before | includes/mcp/mcp_reports.php | forum_list, limit_time_sql, sort_order_sql, sql, topic_id | 3.1.0-RC4 | Alter sql query to get report id of all reports for requested forum and topic or just forum | +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_reports_modify_post_row | includes/mcp/mcp_reports.php | forum_data, mode, post_row, row, start, topic_id | 3.3.5-RC1 | Alter posts template block for MCP reports | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_reports_modify_reports_data_sql | includes/mcp/mcp_reports.php | forum_list, sort_order_sql, sql, topic_id | 3.3.5-RC1 | Alter sql query to get reports data for requested forum and topic or just forum | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | core.mcp_reports_report_details_query_after | includes/mcp/mcp_reports.php | forum_id, post_id, report, report_id, sql_ary | 3.1.5-RC1 | Allow changing the data obtained from the user-submitted report. | +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | core.mcp_reports_report_details_query_before | includes/mcp/mcp_reports.php | forum_id, post_id, report_id, sql_ary | 3.1.5-RC1 | Allow changing the query to obtain the user-submitted report. | @@ -458,6 +470,10 @@ PHP Events +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | core.mcp_topic_review_modify_row | includes/mcp/mcp_topic.php | current_row_number, forum_id, id, mode, post_row, row, start, topic_id, topic_info, total | 3.1.4-RC1 | Event to modify the template data block for topic reviews in the MCP | +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_topic_review_modify_topic_row | includes/mcp/mcp_topic.php | action, forum_id, has_unapproved_posts, icon_id, id, mode, s_topic_icons, start, subject, to_forum_id, to_topic_id, topic_id, topic_info, topic_row, total | 3.3.5-RC1 | Event to modify the template data block for topic data output in the MCP | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.mcp_topic_split_topic_after | includes/mcp/mcp_topic.php | action, forum_id, start, subject, to_forum_id, to_topic_id, topic_id, topic_info | 3.3.5-RC1 | Event to access topic data after split | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | core.mcp_topics_merge_posts_after | includes/mcp/mcp_topic.php | to_topic_id, topic_id | 3.1.11-RC1 | Perform additional actions after merging posts. | +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | core.mcp_view_forum_modify_sql | includes/mcp/mcp_forum.php | forum_id, limit_time_sql, sort_order_sql, sql, start, topics_per_page | 3.1.2-RC1 | Modify SQL query before MCP forum view topic list is queried | @@ -648,6 +664,10 @@ PHP Events +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | core.phpbb_log_get_topic_auth_sql_before | phpbb/log/log.php | sql_ary, topic_ids | 3.1.11-RC1 | Allow modifying SQL query before topic data is retrieved. | +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.phpbb_mail_after | includes/functions_messenger.php | additional_parameters, eol, headers, msg, result, subject, to | 3.3.6-RC1 | Execute code after sending out emails with PHP's mail function | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.phpbb_mail_before | includes/functions_messenger.php | additional_parameters, eol, headers, msg, subject, to | 3.3.6-RC1 | Modify data before sending out emails with PHP's mail function | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | core.pm_modify_message_subject | includes/ucp/ucp_pm_compose.php | message_subject | 3.2.8-RC1 | This event allows you to modify the PM subject of the PM being quoted | +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | core.posting_modify_bbcode_status | posting.php | bbcode_status, flash_status, img_status, quote_status, smilies_status, url_status | 3.3.3-RC1 | Event to override message BBCode status indications | @@ -796,6 +816,14 @@ PHP Events +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | core.submit_post_modify_sql_data | includes/functions_posting.php | data, poll, post_mode, sql_data, subject, topic_type, username | 3.1.3-RC1 | Modify sql query data for post submitting | +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.sync_forum_last_post_info_sql | includes/functions_admin.php | sql_ary | 3.3.5-RC1 | Event to modify the SQL array to get the post and user data from all forums' last posts | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.sync_modify_forum_data | includes/functions_admin.php | fieldnames, forum_data, post_info | 3.3.5-RC1 | Event to modify the SQL array to get the post and user data from all forums' last posts | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.sync_modify_topic_data | includes/functions_admin.php | row, topic_data, topic_id | 3.3.5-RC1 | Event to modify the topic_data when syncing topics | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.sync_topic_last_post_info_sql | includes/functions_admin.php | custom_fieldnames, sql_ary | 3.3.5-RC1 | Event to modify the SQL array to get the post and user data from all topics' last posts | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | core.text_formatter_s9e_configure_after | phpbb/textformatter/s9e/factory.php | configurator | 3.2.0-a1 | Modify the s9e\TextFormatter configurator after the default settings are set | +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | core.text_formatter_s9e_configure_before | phpbb/textformatter/s9e/factory.php | configurator | 3.2.0-a1 | Modify the s9e\TextFormatter configurator before the default settings are set | @@ -977,6 +1005,10 @@ PHP Events +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | core.ucp_switch_permissions | ucp.php | message, user_id, user_row | 3.1.11-RC1 | Event to run code after permissions are switched | +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.update_post_info_modify_posts_sql | includes/functions_posting.php | sql_ary, type | 3.3.5-RC1 | Event to modify the SQL array to get the post and user data from all last posts | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | core.update_post_info_modify_sql | includes/functions_posting.php | rowset, type, update_sql | 3.3.5-RC1 | Event to modify the update_sql array to add new update data for forum or topic last posts | + +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | core.update_session_after | phpbb/session.php | session_data, session_id | 3.1.6-RC1 | Event to send update session information to extension | | | | | | Read-only event | +-----------------------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -1893,6 +1925,10 @@ Template Events | viewtopic_body_postrow_rank_before | viewtopic_body.html | 3.1.6-RC1 | Add data before the rank on the user profile when viewing | | | | | a post | +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_postrow_signature_after | viewtopic_body.html | 3.3.5-RC1 | Add content after the signature | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | viewtopic_body_postrow_signature_before | viewtopic_body.html | 3.3.5-RC1 | Add content before the signature | + +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ | viewtopic_body_topic_actions_before | viewtopic_body.html | 3.1.0-a4 | Add data before the topic actions buttons (after the posts sorting options) | +-------------------------------------------------------+----------------------------------------------------------+------------------+----------------------------------------------------------------------------------------------------------------------------------+ | viewtopic_buttons_bottom_after | viewtopic_body.html | 3.1.0-RC5 | Add buttons after Post Reply button on the bottom of the posts's list | From 40c6b57103e6c2aa82afdbcc68549f8371b51397 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Tue, 11 Jan 2022 21:59:48 +0100 Subject: [PATCH 182/242] Add short documentation for the general development process --- .../images/new_feature_process.svg | 4 + development/development/processes.rst | 111 ++++++++++++++++++ development/index.rst | 1 + 3 files changed, 116 insertions(+) create mode 100644 development/development/images/new_feature_process.svg create mode 100644 development/development/processes.rst diff --git a/development/development/images/new_feature_process.svg b/development/development/images/new_feature_process.svg new file mode 100644 index 00000000..4baca669 --- /dev/null +++ b/development/development/images/new_feature_process.svg @@ -0,0 +1,4 @@ + + + +

    💡 
    Idea

    💡...

    📝
    Feature Request

    📝 Feature Request

    Acceptance
    ✅ Acceptance
    💻
    Implementation / Code Review
    💻Implementation / Cod...

    🏁
    Finalization / Feature Merge

    🏁Finalization / Featu...


    Rejection

    ❌ Rejection
    Text is not SVG - cannot display
    \ No newline at end of file diff --git a/development/development/processes.rst b/development/development/processes.rst new file mode 100644 index 00000000..9e1292bf --- /dev/null +++ b/development/development/processes.rst @@ -0,0 +1,111 @@ +Development Processes +===================== + +New Features +------------ +This document outlines the process that is in place to propose new features that can be added to phpBB. +phpBB uses this system to assure that a given feature is added as proposed and to make sure that feature requests +are handled transparently by relying on community input. + +When proposing features or adjustments to phpBB, there are two possible routes to take: + +- **Ideas** + Generally more informal ideas from a user perspective. Usually short descriptions without too much technical detail. + +- **Feature Requests** + More technical proposal for new features. Should take a deeper look at the technical background + and ways to implement this new feature. Base for further discussions with the development team. + +In the end, both of these will end up following the same general process: + +.. image:: images/new_feature_process.svg + +Ideas +^^^^^ +Ideas are generally more informal ideas that describe the request for a new feature from the user perspective. +They are aimed at quickly gathering new ideas based on day to day use of phpBB. + +Informal Ideas should be proposed in `phpBB Ideas `_. +There it's possible to both gather feedback and support of other users. + +More detailed technical discussions should however take place in a *Feature request*. + +Feature Requests +^^^^^^^^^^^^^^^^ +In contrast to the above mentioned *Ideas*, a *Feature Request* should be focused more on the technical solution for +the proposed feature. They maybe be based on an *Idea* but that is not mandatory. + +New feature requests can either be started by creating a ticket in the `phpBB Tracker `_ or +by creating a new discussion topic on the `Area51 Forums `_. + +Try to describe the technical details of the proposed features, how it will be used, and recommendations for an possible +implementation. Include your expectations of the amount of changes that are needed and attempt to discuss the complexity +of the proposal. + +Members of the community will be able to participate in the discussion, give their feedback, and help with preparing a +plan on how to best implement the feature in small and easy to track steps. + +Feature Acceptance +^^^^^^^^^^^^^^^^^^ +After a feature has been accepted by the *phpBB Development Team*, there should be at least one ticket in the +`phpBB Tracker `_. +A new feature should be split up into smaller, intermediate steps to ease implementation and review of the proposed +changes. It is also possible to use *Epics* in the tracker for a better overview of necessary steps. + +Each step of a feature can then be reviewed and integrated separately. As a result of that, code reviews will be easier, +quicker, and should also result in overall better code and features. + +Implementation & Review +^^^^^^^^^^^^^^^^^^^^^^^ +Implementation of a feature or its intermediate steps usually follows the acceptance by the *phpBB Development Team*. +Please make sure that your code follows our `Coding Guidelines `_. + +When using external libraries, please make sure that they are compatible with our license. If you are unsure about +whether a certain type of license is acceptable, please ask the *phpBB Development Team*. +PHP libraries **MUST** be installed with composer and should generally be considered well maintained. + +Once the code is ready to be reviewed, a pull request should be created in our `GitHub repository `_. +Target versions should be picked in accordance with `Target Versions`_. + +Finalization / Feature Merge +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +After the code has been reviewed by the *phpBB Development Team*, it is typically approved and merged. In case there are +issues with the code, these should be resolved as part of the code review. It can however also make sense to create +follow-up tickets to take care of some additional work or adjustments to the proposed feature. + +Once a pull request has been merged, typical follow-up work should be adding documentation for the new feature, creating +blog posts as a form of pre-announcement, or starting work on the next intermediate step. + + +Target Versions +--------------- +The appropriate target version for any given change or feature usually depends on the following attributes: + +- Type: Bugfix, behavioral change, or new feature +- Size & complexity +- Backwards compatibility (BC) + +Based on these and the semantic versioning scheme these general rules should apply: + +- **PATCH** version releases: + - Bug fixes without BC breaks + - Security fixes incl. BC breaks + - Minor behavioral changes without BC breaks + - Minor new features without BC breaks + - Updates to third parties without BC breaks + +- **MINOR** version releases: + Same as in **PATCH** version releases with addition of: + + - Bug fixes incl. BC breaks + - Major behavioral changes without BC breaks + - Major new features without BC breaks + - Updates to third parties without *significant* BC breaks + +- **MAJOR** version releases: + Same as in **PATCH** and **MINOR** version releases with addition of: + + - Major behavioral changes incl. BC breaks + - Major new features incl. BC breaks + - Updates to third parties incl. *significant* BC breaks, + diff --git a/development/index.rst b/development/index.rst index 94f052c7..fe86d6ba 100644 --- a/development/index.rst +++ b/development/index.rst @@ -6,6 +6,7 @@ Contents: .. toctree:: :maxdepth: 2 + development/processes development/git development/coding_guidelines cli/index From acaf41548c0ac7fe39d504ed592a0a0d4529c62d Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Wed, 12 Jan 2022 17:16:05 +0100 Subject: [PATCH 183/242] Adjustments to wording and make it more British English --- development/development/processes.rst | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/development/development/processes.rst b/development/development/processes.rst index 9e1292bf..18b18779 100644 --- a/development/development/processes.rst +++ b/development/development/processes.rst @@ -58,7 +58,10 @@ quicker, and should also result in overall better code and features. Implementation & Review ^^^^^^^^^^^^^^^^^^^^^^^ Implementation of a feature or its intermediate steps usually follows the acceptance by the *phpBB Development Team*. -Please make sure that your code follows our `Coding Guidelines `_. +All code needs to follow our `Coding Guidelines `_. The implementation itself can be done by +the requester, a *phpBB Development Team* member, or any other developer. Feature acceptance by the +*phpBB Development Team* does not mean that implementation of it is mandatory or that it will have to be implemented +by the *phpBB Development Team* itself. When using external libraries, please make sure that they are compatible with our license. If you are unsure about whether a certain type of license is acceptable, please ask the *phpBB Development Team*. @@ -67,7 +70,7 @@ PHP libraries **MUST** be installed with composer and should generally be consid Once the code is ready to be reviewed, a pull request should be created in our `GitHub repository `_. Target versions should be picked in accordance with `Target Versions`_. -Finalization / Feature Merge +Finalisation / Feature Merge ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ After the code has been reviewed by the *phpBB Development Team*, it is typically approved and merged. In case there are issues with the code, these should be resolved as part of the code review. It can however also make sense to create @@ -81,7 +84,7 @@ Target Versions --------------- The appropriate target version for any given change or feature usually depends on the following attributes: -- Type: Bugfix, behavioral change, or new feature +- Type: Bugfix, behavioural change, or new feature - Size & complexity - Backwards compatibility (BC) @@ -90,7 +93,7 @@ Based on these and the semantic versioning scheme these general rules should app - **PATCH** version releases: - Bug fixes without BC breaks - Security fixes incl. BC breaks - - Minor behavioral changes without BC breaks + - Minor behavioural changes without BC breaks - Minor new features without BC breaks - Updates to third parties without BC breaks @@ -98,14 +101,13 @@ Based on these and the semantic versioning scheme these general rules should app Same as in **PATCH** version releases with addition of: - Bug fixes incl. BC breaks - - Major behavioral changes without BC breaks + - Major behavioural changes without BC breaks - Major new features without BC breaks - Updates to third parties without *significant* BC breaks - **MAJOR** version releases: Same as in **PATCH** and **MINOR** version releases with addition of: - - Major behavioral changes incl. BC breaks + - Major behavioural changes incl. BC breaks - Major new features incl. BC breaks - Updates to third parties incl. *significant* BC breaks, - From 41daf5381a0d1f9580c700c7a064b47df9869c3a Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 20 Feb 2022 11:05:17 +0100 Subject: [PATCH 184/242] Make it clear that the "Advanced Update" is only for expert users --- documentation/content/en/chapters/admin_guide.xml | 4 ++-- documentation/content/en/chapters/upgrade_guide.xml | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/documentation/content/en/chapters/admin_guide.xml b/documentation/content/en/chapters/admin_guide.xml index a0babd26..a49551c1 100644 --- a/documentation/content/en/chapters/admin_guide.xml +++ b/documentation/content/en/chapters/admin_guide.xml @@ -2487,9 +2487,9 @@ Checking for updates - The phpBB 3.3.x branch is usually updated every couple of months as necessary. Bugfixes, new features and other changes are included in these updates. The minor version number gets incremented each time. It is strongly recommended to keep your phpBB installation up to date. Updating from older versions is more difficult and you will have a hard time finding solutions to possible conflicts. You can update with the Automatic Update Package, which is able to merge modifications from MODs with the updates or you can use one of the other packages provided. + The phpBB 3.3.x branch is usually updated every couple of months as necessary. Bugfixes, new features and other changes are included in these updates. The minor version number gets incremented each time. It is strongly recommended keeping your phpBB installation up to date. Updating from older versions is more difficult, and you will have a hard time finding solutions to possible conflicts. You should use the Full Package Update to update your board, especially if your board does not have any modifications to core files. Only expert users may also update with the Advanced Update Package, which is able to merge modifications to core files. You will be notified in your ACP if a new version is released, you will also have a link to the newest release announcement, which will brief you on the added features and the overall changelog. - Updating with the Automatic Update Package is very simple. First, you will go to the linked phpBB.com downloads page and download the appropriate file. You will extract the contents on your PC and upload them to the root directory of your board. The board will be offline for normal users for the moment. Then simply go to the install/ directory and select the Update tab, the updater will then give you further instructions. + Updating with the Full Package is very simple. First, you will go to the linked phpBB.com downloads page and download the full package of the latest version. You will extract the contents on your PC and upload them to the root directory of your board, overwriting any old files. The board will be offline for normal users for the moment. Then simply go to the install/ directory and select the Update tab, continue with updating your board by clicking on "Update database only".
    diff --git a/documentation/content/en/chapters/upgrade_guide.xml b/documentation/content/en/chapters/upgrade_guide.xml index 1681ab6f..1747309a 100644 --- a/documentation/content/en/chapters/upgrade_guide.xml +++ b/documentation/content/en/chapters/upgrade_guide.xml @@ -394,8 +394,9 @@ - Advanced Update - This update method is only recommended for installations with modifications to core phpBB files. This package detects changed files automatically and merges in changes if needed. + Advanced Update (Expert users) + This update method should only be used for installations with modifications to core phpBB files. If you simply use Extensions or custom Styles and have not modified core files, please use the Full Package update. + This package detects changed files and merges in changes if needed. Since this type of update has a potential to cause issues while upgrading, it is not recommended being used for updates and/or upgrades. A number of advanced update files are available, and you should choose the one that corresponds to the version of the board that you are currently running. For example, if your current version is 3.3.0 and you are updating to 3.3.1, you need the phpBB-3.3.0_to_3.3.1.zip/tar.bz2 file. Make a backup of the original files From 93148fee46ac734c273d2b9a544bb6bb1d8cdf00 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 20 Feb 2022 14:42:49 +0100 Subject: [PATCH 185/242] Add tutorial for parsing text from wiki --- development/extensions/index.rst | 1 + .../extensions/tutorial_parsing_text.rst | 142 ++++++++++++++++++ 2 files changed, 143 insertions(+) create mode 100644 development/extensions/tutorial_parsing_text.rst diff --git a/development/extensions/index.rst b/development/extensions/index.rst index 7f33a547..e9c7b579 100644 --- a/development/extensions/index.rst +++ b/development/extensions/index.rst @@ -16,6 +16,7 @@ Welcome to phpBB's extension development tutorial and documentation. tutorial_notifications tutorial_permissions tutorial_authentication + tutorial_parsing_text tutorial_bbcodes tutorial_advanced tutorial_testing diff --git a/development/extensions/tutorial_parsing_text.rst b/development/extensions/tutorial_parsing_text.rst new file mode 100644 index 00000000..9a0fed68 --- /dev/null +++ b/development/extensions/tutorial_parsing_text.rst @@ -0,0 +1,142 @@ +====================== +Tutorial: Parsing text +====================== + +Database fields +=============== +phpBB uses the following database fields where BBCode is allowed (forum description, forum rules, post content, ...): + +- **foo** - Text itself +- **foo_bbcode_uid** - a randomly generated unique identifier to mark the BBCodes and used for quicker parsing +- **foo_bbcode_bitfield** - a `bit field `_ containing the information which bbcode is used in the text so only the relevant ones need to be loaded from the database. +- **foo_options** - a bit field containing the information whether bbcode, smilies and magic urls are enabled (OPTION_FLAG_BBCODE, OPTION_FLAG_SMILIES and OPTION_FLAG_LINKS). Sometimes you will find this separated into enable_bbcode, enable_smilies and enable_magic_url + +Column names will vary, replace ``foo`` with the respective column name (e.g. ``text``, ``text_bbcode_uid``, ...). + +Parsing text with BBCodes & smilies +=================================== + +Inserting text into DB +---------------------- + +.. code-block:: php + + $text = $this->request->variable('text', '', true); + $uid = $bitfield = $options = ''; // will be modified by generate_text_for_storage + $allow_bbcode = $allow_urls = $allow_smilies = true; + generate_text_for_storage($text, $uid, $bitfield, $options, $allow_bbcode, $allow_urls, $allow_smilies); + + $sql_ary = array( + 'text' => $text, + 'bbcode_uid' => $uid, + 'bbcode_bitfield' => $bitfield, + 'bbcode_options' => $options, + ); + + $sql = 'INSERT INTO ' . YOUR_TABLE . ' ' . $this->db->sql_build_array('INSERT', $sql_ary); + $this->db->sql_query($sql); + +The above method uses the bbcode options database field which is used in many places instead of enable_smiles, +enable_bbcode and enable_magic_url. Here is how to insert it into the database using the enable_smilies, enable_bbcode +and enable_magic_url tables. + +.. code-block:: php + + $text = $this->request->variable('text', '', true); + $uid = $bitfield = $options = ''; // will be modified by generate_text_for_storage + $allow_bbcode = $allow_urls = $allow_smilies = true; + generate_text_for_storage($text, $uid, $bitfield, $options, $allow_bbcode, $allow_urls, $allow_smilies); + + $sql_ary = array( + 'text' => $text, + 'bbcode_uid' => $uid, + 'bbcode_bitfield' => $bitfield, + 'enable_bbcode' => $allow_bbcode, + 'enable_magic_url' => $allow_urls, + 'enable_smilies' => $allow_smilies, + ); + + $sql = 'INSERT INTO ' . YOUR_TABLE . ' ' . $this->db->sql_build_array('INSERT', $sql_ary); + $this->db->sql_query($sql); + +Displaying text from DB +----------------------- + +This example uses the bbcode_options field which is used in forums and groups description parsing: + +.. code-block:: php + + $sql = 'SELECT text, bbcode_uid, bbcode_bitfield, bbcode_options + FROM ' . YOUR_TABLE; + $result = $this->db->sql_query($sql); + $row = $this->db->sql_fetchrow($result); + $this->db->sql_freeresult($result); + + $text = generate_text_for_display($row['text'], $row['bbcode_uid'], $row['bbcode_bitfield'], $row['bbcode_options']); + + $this->template->assign_vars([ + 'TEXT' => $text, + ]); + +The next one uses the enable_bbcode, enable_smilies and enable_magic_url flags which can be used instead of the above method and is used in parsing posts: + +.. code-block:: php + + $sql = 'SELECT text, bbcode_uid, bbcode_bitfield, enable_bbcode, enable_smilies, enable_magic_url + FROM ' . YOUR_TABLE; + $result = $this->db->sql_query($sql); + $row = $this->db->sql_fetchrow($result); + $this->db->sql_freeresult($result); + + $row['bbcode_options'] = (($row['enable_bbcode']) ? OPTION_FLAG_BBCODE : 0) + + (($row['enable_smilies']) ? OPTION_FLAG_SMILIES : 0) + + (($row['enable_magic_url']) ? OPTION_FLAG_LINKS : 0); + $text = generate_text_for_display($row['text'], $row['bbcode_uid'], $row['bbcode_bitfield'], $row['bbcode_options']); + + $this->template->assign_vars([ + 'TEXT' => $text, + ]); + +Generating text for editing +--------------------------- + +.. code-block:: php + + $sql = 'SELECT text, bbcode_uid, bbcode_options + FROM ' . YOUR_TABLE; + $result = $this->db->sql_query_limit($sql, 1); + $row = $this->db->sql_fetchrow($result); + $this->db->sql_freeresult($result); + + $post_data = generate_text_for_edit($row['text'], $row['bbcode_uid'], $row['bbcode_options']); + + $this->template->assign_vars([ + 'POST_TEXT' => $post_data['text'], + 'S_ALLOW_BBCODES' => $post_data['allow_bbcode'], + 'S_ALLOW_SMILIES' => $post_data['allow_smilies'], + 'S_ALLOW_URLS' => $post_data['allow_urls'], + ]); + +Database fields for BBCode +-------------------------- + +The following column definitions are expected for BBCodes: + +.. code-block:: + + "text": [ + "MTEXT_UNI", + "" // Default empty string + ], + "bbcode_uid": [ + "VCHAR:8", + "" // Default empty string + ], + "bbcode_bitfield": [ + "VCHAR:255", + "" // Default empty string + ], + "bbcode_options": [ + "UINT:11", + 7 // Default all enabled + ], From 4062131137a1d5b1ab8584c18880e0896054bc12 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 20 Feb 2022 16:31:03 +0100 Subject: [PATCH 186/242] Add info that bitfield is no longer used --- development/extensions/tutorial_parsing_text.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/extensions/tutorial_parsing_text.rst b/development/extensions/tutorial_parsing_text.rst index 9a0fed68..176a66cf 100644 --- a/development/extensions/tutorial_parsing_text.rst +++ b/development/extensions/tutorial_parsing_text.rst @@ -8,7 +8,7 @@ phpBB uses the following database fields where BBCode is allowed (forum descript - **foo** - Text itself - **foo_bbcode_uid** - a randomly generated unique identifier to mark the BBCodes and used for quicker parsing -- **foo_bbcode_bitfield** - a `bit field `_ containing the information which bbcode is used in the text so only the relevant ones need to be loaded from the database. +- **foo_bbcode_bitfield** - a `bit field `_ containing the information which bbcode is used in the text so only the relevant ones need to be loaded from the database. **NOTE: No longer used in posts generated in phpBB 3.2+** - **foo_options** - a bit field containing the information whether bbcode, smilies and magic urls are enabled (OPTION_FLAG_BBCODE, OPTION_FLAG_SMILIES and OPTION_FLAG_LINKS). Sometimes you will find this separated into enable_bbcode, enable_smilies and enable_magic_url Column names will vary, replace ``foo`` with the respective column name (e.g. ``text``, ``text_bbcode_uid``, ...). From 5e73e5f02c83c92d5e98a82e53d3f06f4df15f71 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 20 Feb 2022 17:08:58 +0100 Subject: [PATCH 187/242] Add tutorial for template syntax --- development/extensions/index.rst | 1 + development/extensions/tutorial_templates.rst | 397 ++++++++++++++++++ 2 files changed, 398 insertions(+) create mode 100644 development/extensions/tutorial_templates.rst diff --git a/development/extensions/index.rst b/development/extensions/index.rst index e9c7b579..0e1cc909 100644 --- a/development/extensions/index.rst +++ b/development/extensions/index.rst @@ -18,6 +18,7 @@ Welcome to phpBB's extension development tutorial and documentation. tutorial_authentication tutorial_parsing_text tutorial_bbcodes + tutorial_templates tutorial_advanced tutorial_testing * diff --git a/development/extensions/tutorial_templates.rst b/development/extensions/tutorial_templates.rst new file mode 100644 index 00000000..d5955d6b --- /dev/null +++ b/development/extensions/tutorial_templates.rst @@ -0,0 +1,397 @@ +========================= +Tutorial: Template syntax +========================= + +Introduction +============ + +Starting with version 3.1, phpBB is using the twig template engine that also provides extensive documentation: +`Twig Documentation `_ + +This tutorial will cover some of the details on the implementation of phpBB's own syntax as used before phpBB 3.2, +as well as some specific phpBB specific implementations for using the template engine. + +Assigning data +============== + +Variables +--------- + +Assign a single variable: + +.. code-block:: php + + $template->assign_var('FOO', $foo); + +Assigning multiple variables: + +.. code-block:: php + + $template->assign_vars([ + 'FOO' => $foo, + 'BAR' => $bar, + 'BAZ' => $baz + ]); + +Default Template Variables +-------------------------- + +There are some variables set in phpBB's page_header function that are common to all templates and which may be useful to a style or extension author. + +.. list-table:: + :widths: 20 60 20 + :header-rows: 1 + + * - Template variable + - Description + - Sample output + * - ``T_ASSETS_PATH`` + - The path to assets files (``assets`` path in root of phpBB installation) + - ``./assets`` + * - ``T_THEME_PATH`` + - The path to the currently selected style's theme folder (where all the css files are stored) + - ``./styles/prosilver/theme`` + * - ``T_TEMPLATE_PATH`` + - The path to the currently selected style's template folder + - ``./styles/prosilver/template`` + * - ``T_IMAGES_PATH`` + - The path to phpBB's image folder + - ``./images`` + * - ``T_SMILIES_PATH`` + - The path to the smiley folder + - ``./images/similies`` + * - ``T_AVATAR_PATH`` + - The path to the avatar upload folder + - ``./images/avatars/upload`` + * - ``T_AVATAR_GALLERY_PATH`` + - The path to the avatar gallery folder + - ``./images/avatars/gallery`` + * - ``T_ICONS_PATH`` + - The path to topic icons folder + - ``./images/icons`` + * - ``T_RANKS_PATH`` + - The path to the rank images + - ``./images/ranks`` + * - ``T_UPLOAD_PATH`` + - The path to phpBB's upload folder (shouldn't be used directly). + - ``./files`` + +Blocks +------ + +Blocks are used to assign any number of items of the same type, e.g. topics or posts ("foreach loop"). + +.. code-block:: php + + while ($row = $db->sql_fetchrow($result)) + { + $template->assign_block_vars('loopname', [ + 'FOO' => $row['foo'], + 'BAR' => $row['bar'] + ]); + } + +Nested loops: + +.. code-block:: php + + while ($topic = $db->sql_fetchrow($result)) + { + $template->assign_block_vars('topic', [ + 'TOPIC_ID' => $topic['topic_id'] + ]); + + while ($post = $db->sql_fetchrow($result)) + { + $template->assign_block_vars('topic.post', [ + 'POST_ID' => $post['post_id'] + ]); + } + } + +The blocks and nested loops can then be used accordingly in HTML files (see `Syntax elements`_). + +Syntax elements +=============== + +This section will highlight phpBB specific syntax elements in the template engine. +The phpBB specific syntax will be deprecated in a later version of phpBB. It is therefore recommended to use +the twig syntax instead: + +- `Twig Documentation `_ + +Comments +-------- + +To make comments inside the template you can use: + +.. code-block:: html + + + Your comments can go here, because "0" is always false. + + +Variables +--------- + +Variables take the form ``{X_YYYYY}`` with the data being assigned from the source. Most language strings are not +assigned from the source. When a language variable is found ``{L_YYYYYY}`` phpBB first looks if an assigned variable +exists with that name. If it does, it uses that. If not it looks if an existing string defined in the language file +exists. + +Blocks +------ + +The basic block level loop remains and takes the form: + +.. code-block:: html + + + markup, {loopname.X_YYYYY}, etc. + + +However this has now been extended with the following additions. Firstly you can set the start and end points of the loop. +For example: + +.. code-block:: html + + + markup + + +Will start the loop on the third entry (note that indexes start at *zero*). Extensions of this are: + +- ``loopname(2,4)``: Starts loop on third values, ends on fourth +- ``loopname(-4)``: Starts loop fourth from last value +- ``loopname(2,-4)``: Starts loop on third value, ends four from end + +A further extension to begin is BEGINELSE: + +.. code-block:: html + + + markup + + markup + + +This will cause the markup between ``BEGINELSE`` and ``END`` to be output if the loop contains no values. +This is useful for forums with no topics (for example) ... in some ways it replaces "bits of" the existing +"switch" type control (the rest being replaced by conditionals, see below). + +You can also check if your loop has any content similar to using ``count()`` in PHP: + +.. code-block:: html + + + + markup, {loopname.X_YYYYY}, etc. + + + +``.loopname`` will basically output the size of the block array. This makes sense if you want to prevent for example +an empty `` tag, which would not be HTML valid. -``.loopname`` will basically output the size of the block array. This makes sense if you want to prevent for example -an empty