mirror of
https://github.com/phpbb/phpbb.git
synced 2025-08-09 10:16:36 +02:00
Merge branch '3.2.x' into 3.3.x
This commit is contained in:
@@ -46,6 +46,13 @@ class phpbb_functional_fileupload_form_test extends phpbb_functional_test_case
|
||||
|
||||
private function upload_file($filename, $mimetype)
|
||||
{
|
||||
$crawler = self::$client->request(
|
||||
'GET',
|
||||
'posting.php?mode=reply&f=2&t=1&sid=' . $this->sid
|
||||
);
|
||||
|
||||
$file_form_data = array_merge(['add_file' => $this->lang('ADD_FILE')], $this->get_hidden_fields($crawler, 'posting.php?mode=reply&f=2&t=1&sid=' . $this->sid));
|
||||
|
||||
$file = array(
|
||||
'tmp_name' => $this->path . $filename,
|
||||
'name' => $filename,
|
||||
@@ -57,7 +64,7 @@ class phpbb_functional_fileupload_form_test extends phpbb_functional_test_case
|
||||
$crawler = self::$client->request(
|
||||
'POST',
|
||||
'posting.php?mode=reply&f=2&t=1&sid=' . $this->sid,
|
||||
array('add_file' => $this->lang('ADD_FILE')),
|
||||
$file_form_data,
|
||||
array('fileupload' => $file)
|
||||
);
|
||||
|
||||
|
@@ -76,6 +76,10 @@ class phpbb_functional_plupload_test extends phpbb_functional_test_case
|
||||
$chunk_size = ceil(filesize($this->path . 'valid.jpg') / self::CHUNKS);
|
||||
$handle = fopen($this->path . 'valid.jpg', 'rb');
|
||||
|
||||
$crawler = self::$client->request('POST', $url . '&sid=' . $this->sid);
|
||||
|
||||
$file_form_data = $this->get_hidden_fields($crawler, $url);
|
||||
|
||||
for ($i = 0; $i < self::CHUNKS; $i++)
|
||||
{
|
||||
$chunk = fread($handle, $chunk_size);
|
||||
@@ -94,13 +98,13 @@ class phpbb_functional_plupload_test extends phpbb_functional_test_case
|
||||
$crawler = self::$client->request(
|
||||
'POST',
|
||||
$url . '&sid=' . $this->sid,
|
||||
array(
|
||||
array_merge(array(
|
||||
'chunk' => $i,
|
||||
'chunks' => self::CHUNKS,
|
||||
'name' => md5('valid') . '.jpg',
|
||||
'real_filename' => 'valid.jpg',
|
||||
'add_file' => $this->lang('ADD_FILE'),
|
||||
),
|
||||
), $file_form_data),
|
||||
array('fileupload' => $file),
|
||||
array('X-PHPBB-USING-PLUPLOAD' => '1')
|
||||
);
|
||||
@@ -134,17 +138,19 @@ class phpbb_functional_plupload_test extends phpbb_functional_test_case
|
||||
'error' => UPLOAD_ERR_OK,
|
||||
);
|
||||
|
||||
$file_form_data = $this->get_hidden_fields(null, $url);
|
||||
|
||||
self::$client->setServerParameter('HTTP_X_PHPBB_USING_PLUPLOAD', '1');
|
||||
self::$client->request(
|
||||
'POST',
|
||||
$url . '&sid=' . $this->sid,
|
||||
array(
|
||||
array_merge(array(
|
||||
'chunk' => '0',
|
||||
'chunks' => '1',
|
||||
'name' => md5('valid') . '.jpg',
|
||||
'real_filename' => 'valid.jpg',
|
||||
'add_file' => $this->lang('ADD_FILE'),
|
||||
),
|
||||
), $file_form_data),
|
||||
array('fileupload' => $file)
|
||||
);
|
||||
|
||||
|
@@ -1,5 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<dataset>
|
||||
<table name="phpbb_banlist">
|
||||
<column>ban_id</column>
|
||||
<column>ban_userid</column>
|
||||
<column>ban_exclude</column>
|
||||
<column>ban_end</column>
|
||||
<column>ban_email</column>
|
||||
<column>ban_give_reason</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>0</value>
|
||||
<value>0</value>
|
||||
<value>0</value>
|
||||
<value>banned@example.com</value>
|
||||
<value></value>
|
||||
</row>
|
||||
<row>
|
||||
<value>2</value>
|
||||
<value>0</value>
|
||||
<value>0</value>
|
||||
<value>0</value>
|
||||
<value>banned2@example.com</value>
|
||||
<value>just because</value>
|
||||
</row>
|
||||
</table>
|
||||
<table name="phpbb_users">
|
||||
<column>user_id</column>
|
||||
<column>username</column>
|
||||
|
@@ -28,10 +28,16 @@ class phpbb_functions_validate_user_email_test extends phpbb_database_test_case
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
global $cache, $phpbb_dispatcher, $phpbb_root_path, $phpEx;
|
||||
|
||||
parent::setUp();
|
||||
|
||||
$cache = new \phpbb\cache\driver\file();
|
||||
$cache->purge();
|
||||
$this->db = $this->new_dbal();
|
||||
$this->user = new phpbb_mock_user;
|
||||
$phpbb_dispatcher = new phpbb_mock_event_dispatcher();
|
||||
$language = new phpbb\language\language(new phpbb\language\language_file_loader($phpbb_root_path, $phpEx));
|
||||
$this->user = new phpbb\user($language, '\phpbb\datetime');
|
||||
$this->helper = new phpbb_functions_validate_data_helper($this);
|
||||
}
|
||||
|
||||
@@ -47,7 +53,6 @@ class phpbb_functions_validate_user_email_test extends phpbb_database_test_case
|
||||
$config['email_check_mx'] = $check_mx;
|
||||
$db = $this->db;
|
||||
$user = $this->user;
|
||||
$user->optionset('banned_users', array('banned@example.com'));
|
||||
}
|
||||
|
||||
public static function validate_user_email_data()
|
||||
@@ -58,7 +63,8 @@ class phpbb_functions_validate_user_email_test extends phpbb_database_test_case
|
||||
array('valid_complex', array(), "'%$~test@example.com"),
|
||||
array('invalid', array('EMAIL_INVALID'), 'fööbar@example.com'),
|
||||
array('taken', array('EMAIL_TAKEN'), 'admin@example.com'),
|
||||
array('banned', array('EMAIL_BANNED'), 'banned@example.com'),
|
||||
array('banned', ['just because'], 'banned2@example.com'),
|
||||
array('banned', ['EMAIL_BANNED'], 'banned@example.com')
|
||||
);
|
||||
}
|
||||
|
||||
|
@@ -1232,24 +1232,14 @@ class phpbb_functional_test_case extends phpbb_test_case
|
||||
'error' => UPLOAD_ERR_OK,
|
||||
);
|
||||
|
||||
$crawler = self::$client->request('POST', $posting_url, array('add_file' => $this->lang('ADD_FILE')), array('fileupload' => $file));
|
||||
$file_form_data = array_merge(['add_file' => $this->lang('ADD_FILE')], $this->get_hidden_fields($crawler, $posting_url));
|
||||
|
||||
$crawler = self::$client->request('POST', $posting_url, $file_form_data, array('fileupload' => $file));
|
||||
}
|
||||
unset($form_data['upload_files']);
|
||||
}
|
||||
|
||||
$hidden_fields = array(
|
||||
$crawler->filter('[type="hidden"]')->each(function ($node, $i) {
|
||||
return array('name' => $node->attr('name'), 'value' => $node->attr('value'));
|
||||
}),
|
||||
);
|
||||
|
||||
foreach ($hidden_fields as $fields)
|
||||
{
|
||||
foreach($fields as $field)
|
||||
{
|
||||
$form_data[$field['name']] = $field['value'];
|
||||
}
|
||||
}
|
||||
$form_data = array_merge($form_data, $this->get_hidden_fields($crawler, $posting_url));
|
||||
|
||||
// I use a request because the form submission method does not allow you to send data that is not
|
||||
// contained in one of the actual form fields that the browser sees (i.e. it ignores "hidden" inputs)
|
||||
@@ -1380,4 +1370,37 @@ class phpbb_functional_test_case extends phpbb_test_case
|
||||
|
||||
return self::request('GET', substr($link, strpos($link, 'mcp.')));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get hidden fields for URL
|
||||
*
|
||||
* @param Symfony\Component\DomCrawler\Crawler|null $crawler Crawler instance or null
|
||||
* @param string $url Request URL
|
||||
*
|
||||
* @return array Hidden form fields array
|
||||
*/
|
||||
protected function get_hidden_fields($crawler, $url)
|
||||
{
|
||||
if (!$crawler)
|
||||
{
|
||||
$crawler = self::$client->request('GET', $url);
|
||||
}
|
||||
$hidden_fields = [
|
||||
$crawler->filter('[type="hidden"]')->each(function ($node, $i) {
|
||||
return ['name' => $node->attr('name'), 'value' => $node->attr('value')];
|
||||
}),
|
||||
];
|
||||
|
||||
$file_form_data = [];
|
||||
|
||||
foreach ($hidden_fields as $fields)
|
||||
{
|
||||
foreach($fields as $field)
|
||||
{
|
||||
$file_form_data[$field['name']] = $field['value'];
|
||||
}
|
||||
}
|
||||
|
||||
return $file_form_data;
|
||||
}
|
||||
}
|
||||
|
@@ -70,7 +70,7 @@ class phpbb_textformatter_s9e_default_formatting_test extends phpbb_test_case
|
||||
),
|
||||
array(
|
||||
'[size=75]smaller[/size]',
|
||||
'<span style="font-size:75%;line-height:normal">smaller</span>'
|
||||
'<span style="font-size: 75%; line-height: normal">smaller</span>'
|
||||
),
|
||||
array(
|
||||
'[quote]quoted[/quote]',
|
||||
|
@@ -1 +1 @@
|
||||
<span style="font-size:200%;line-height:normal"></span><div style="text-align:center"><span style="font-size:200%;line-height:normal">xxx</span></div>
|
||||
<span style="font-size: 200%; line-height: normal"></span><div style="text-align:center"><span style="font-size: 200%; line-height: normal">xxx</span></div>
|
Reference in New Issue
Block a user