1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-03-21 16:10:38 +01:00

Merge branch '3.2.x'

This commit is contained in:
Marc Alexander 2018-06-17 15:40:02 +02:00
commit 5a9b8a815d
No known key found for this signature in database
GPG Key ID: 50E0D2423696F995
10 changed files with 229 additions and 11 deletions

View File

@ -501,6 +501,29 @@ class mcp_queue
AND t.topic_id = p.topic_id
AND u.user_id = p.poster_id
ORDER BY ' . $sort_order_sql;
/**
* Alter sql query to get information on all posts in queue
*
* @event core.mcp_queue_get_posts_for_posts_query_before
* @var string sql String with the query to be executed
* @var array forum_list List of forums that contain the posts
* @var int visibility_const Integer with one of the possible ITEM_* constant values
* @var int topic_id topic_id in the page request
* @var string limit_time_sql String with the SQL code to limit the time interval of the post (Note: May be empty string)
* @var string sort_order_sql String with the ORDER BY SQL code used in this query
* @since 3.2.3-RC2
*/
$vars = array(
'sql',
'forum_list',
'visibility_const',
'topic_id',
'limit_time_sql',
'sort_order_sql',
);
extract($phpbb_dispatcher->trigger_event('core.mcp_queue_get_posts_for_posts_query_before', compact($vars)));
$result = $db->sql_query($sql);
$post_data = $rowset = array();
@ -588,7 +611,7 @@ class mcp_queue
$row['post_username'] = $row['username'] ?: $user->lang['GUEST'];
}
$template->assign_block_vars('postrow', array(
$post_row = array(
'U_TOPIC' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $row['forum_id'] . '&t=' . $row['topic_id']),
'U_VIEWFORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $row['forum_id']),
'U_VIEWPOST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $row['forum_id'] . '&p=' . $row['post_id']) . (($mode == 'unapproved_posts') ? '#p' . $row['post_id'] : ''),
@ -606,7 +629,25 @@ class mcp_queue
'TOPIC_TITLE' => $row['topic_title'],
'POST_TIME' => $user->format_date($row['post_time']),
'S_HAS_ATTACHMENTS' => $auth->acl_get('u_download') && $auth->acl_get('f_download', $row['forum_id']) && $row['post_attachment'],
));
);
/**
* Alter sql query to get information on all topics in the list of forums provided.
*
* @event core.mcp_queue_get_posts_modify_post_row
* @var array post_row Template variables for current post
* @var array row Post data
* @var array forum_names Forum names
* @since 3.2.3-RC2
*/
$vars = array(
'post_row',
'row',
'forum_names',
);
extract($phpbb_dispatcher->trigger_event('core.mcp_queue_get_posts_modify_post_row', compact($vars)));
$template->assign_block_vars('postrow', $post_row);
}
unset($rowset, $forum_names);

View File

@ -404,10 +404,10 @@ $lang = array_merge($lang, array(
'READ_NOTIFICATION_EXPIRE_DAYS_EXPLAIN' => 'Number of days that will elapse before a read notification will automatically be deleted. Set this value to 0 to make notifications permanent.',
'RECOMPILE_STYLES' => 'Recompile stale style components',
'RECOMPILE_STYLES_EXPLAIN' => 'Check for updated style components on filesystem and recompile.',
'YES_ACCURATE_PM_BUTTON' => 'Enable permission specific PM button in topic pages',
'YES_ACCURATE_PM_BUTTON_EXPLAIN' => 'If this setting is enabled, only post profiles of users who are permitted to read private messages will have a private message button.',
'YES_ANON_READ_MARKING' => 'Enable topic marking for guests',
'YES_ANON_READ_MARKING_EXPLAIN' => 'Stores read/unread status information for guests. If disabled, posts are always marked read for guests.',
'YES_ACCURATE_PM_BUTTON' => 'Enable accurate PM indicator in topic pages',
'YES_ACCURATE_PM_BUTTON_EXPLAIN' => 'If this setting is enabled, only users who are permitted to read private messages will have a private message button.',
'YES_BIRTHDAYS' => 'Enable birthday listing',
'YES_BIRTHDAYS_EXPLAIN' => 'If disabled the birthday listing is no longer displayed. To let this setting take effect the birthday feature needs to be enabled too.',
'YES_JUMPBOX' => 'Enable display of jumpbox',

View File

@ -92,7 +92,7 @@ $lang = array_merge($lang, array(
'GROUP_OPEN' => 'Open',
'GROUP_PENDING' => 'Pending members',
'GROUP_MAX_RECIPIENTS' => 'Maximum number of allowed recipients per private message',
'GROUP_MAX_RECIPIENTS_EXPLAIN' => 'The maximum number of allowed recipients in a private message. The maximum for all groups of the user is used to determine the actual value.<br />Set this value to 0 to overwrite the setting for all users of this group with the board-wide setting.',
'GROUP_MAX_RECIPIENTS_EXPLAIN' => 'The maximum number of allowed recipients in a private message. The maximum for all groups of the user is used to determine the actual value.<br />Set this value to 0 to overwrite the setting for all users of this group with the board-wide setting.',
'GROUP_OPTIONS_SAVE' => 'Group wide options',
'GROUP_PROMOTE' => 'Promote to group leader',
'GROUP_RANK' => 'Group rank',

View File

@ -519,12 +519,6 @@ class module implements \phpbb\db\migration\tool\tool_interface
// Allow '' to be sent as 0
$parent_id = $parent_id ?: 0;
// If automatic adding is in action, convert array back to string to simplify things
if (is_array($data) && count($data) == 1)
{
$data = $data['module_langname'];
}
if (!is_numeric($parent_id))
{
// Refresh the $module_categories array

View File

@ -0,0 +1,37 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace foo\bar\acp;
class acp_test_info
{
public function module()
{
return array(
'filename' => '\foo\bar\acp\acp_test_module',
'title' => 'ACP_NEW_MODULE',
'modes' => array(
'mode_1' => array(
'title' => 'ACP_NEW_MODULE_MODE_1',
'auth' => '',
'cat' => array('ACP_NEW_MODULE'),
),
'mode_2' => array(
'title' => 'ACP_NEW_MODULE_MODE_2',
'auth' => '',
'cat' => array('ACP_NEW_MODULE'),
),
),
);
}
}

View File

@ -0,0 +1,25 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace foo\bar\acp;
class acp_test_module
{
var $u_action;
function main($id, $mode)
{
$this->tpl_name = 'foobar';
$this->page_title = 'Bertie';
}
}

View File

@ -0,0 +1,24 @@
{
"name": "foo/bar",
"type": "phpbb-extension",
"description": "An example/sample extension to be used for testing purposes in phpBB Development.",
"version": "1.0.0",
"time": "2012-02-15 01:01:01",
"license": "GNU GPL v2",
"authors": [{
"name": "John Smith",
"username": "JohnSmith27",
"email": "email@phpbb.com",
"homepage": "http://phpbb.com",
"role": "N/A"
}],
"require": {
"php": ">=5.4.7"
},
"extra": {
"display-name": "phpBB BarFoo Extension",
"soft-require": {
"phpbb/phpbb": "3.2.*@dev"
}
}
}

View File

@ -0,0 +1,37 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace foo\bar\ucp;
class ucp_test_info
{
public function module()
{
return array(
'filename' => '\foo\bar\ucp\ucp_test_module',
'title' => 'UCP_NEW_MODULE',
'modes' => array(
'mode_1' => array(
'title' => 'UCP_NEW_MODULE_MODE_1',
'auth' => '',
'cat' => array('UCP_NEW_MODULE'),
),
'mode_2' => array(
'title' => 'UCP_NEW_MODULE_MODE_2',
'auth' => '',
'cat' => array('UCP_NEW_MODULE'),
),
),
);
}
}

View File

@ -0,0 +1,25 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace foo\bar\ucp;
class ucp_test_module
{
var $u_action;
function main($id, $mode)
{
$this->tpl_name = 'foobar';
$this->page_title = 'Bertie';
}
}

View File

@ -11,6 +11,9 @@
*
*/
require_once dirname(__FILE__) . '/ext/foo/bar/acp/acp_test_info.php';
require_once dirname(__FILE__) . '/ext/foo/bar/ucp/ucp_test_info.php';
class phpbb_dbal_migrator_tool_module_test extends phpbb_database_test_case
{
public function getDataSet()
@ -39,6 +42,9 @@ class phpbb_dbal_migrator_tool_module_test extends phpbb_database_test_case
$auth = $this->createMock('\phpbb\auth\auth');
$phpbb_log = new \phpbb\log\log($db, $user, $auth, $phpbb_dispatcher, $phpbb_root_path, 'adm/', $phpEx, LOG_TABLE);
// Correctly set the root path for this test to this directory, so the classes can be found
$phpbb_root_path = dirname(__FILE__) . '/';
$phpbb_extension_manager = new phpbb_mock_extension_manager($phpbb_root_path);
$module_manager = new \phpbb\module\module_manager($cache, $this->db, $phpbb_extension_manager, MODULES_TABLE, $phpbb_root_path, $phpEx);
@ -403,6 +409,35 @@ class phpbb_dbal_migrator_tool_module_test extends phpbb_database_test_case
$this->fail($e);
}
$this->assertEquals(true, $this->tool->exists('ucp', 'UCP_NEW_SUBCAT', 'UCP_NEW_MODULE'));
// Test adding new UCP module the automatic way, single mode
try
{
$this->tool->add('ucp', 'UCP_NEW_CAT', array(
'module_basename' => '\foo\bar\ucp\ucp_test_module',
'modes' => array('mode_1'),
));
}
catch (Exception $e)
{
$this->fail($e);
}
$this->assertEquals(true, $this->tool->exists('ucp', 'UCP_NEW_CAT', 'UCP_NEW_MODULE_MODE_1'));
$this->assertEquals(false, $this->tool->exists('ucp', 'UCP_NEW_CAT', 'UCP_NEW_MODULE_MODE_2'));
// Test adding new ACP module the automatic way, all modes
try
{
$this->tool->add('acp', 'ACP_NEW_CAT', array(
'module_basename' => '\foo\bar\acp\acp_test_module',
));
}
catch (Exception $e)
{
$this->fail($e);
}
$this->assertEquals(true, $this->tool->exists('acp', 'ACP_NEW_CAT', 'ACP_NEW_MODULE_MODE_1'));
$this->assertEquals(true, $this->tool->exists('acp', 'ACP_NEW_CAT', 'ACP_NEW_MODULE_MODE_2'));
}
public function test_remove()