mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 14:18:52 +00:00
Merge pull request #2611 from Dragooon/ticket/12729
[ticket/12729] Add Facebook custom profile field * Dragooon/ticket/12729: [ticket/12729] Add functional test for Facebook field [ticket/12730] Values needn't be escaped for schema_data.sql [ticket/12729] Set field_active as 1 for Facebook profile field [ticket/12729] Add unit test for ALPHA_DOTS validation [ticket/12729] Move ALPHA_DOTS to above ALPHA_SPACERS [ticket/12729] Convert spaces to tabs [ticket/12729] Fix block header spacing for profilefield_facebook.php [ticket/12729] Update schema.json [ticket/12729] Unnecessary whitespace in profilefield_facebook.php [ticket/12729] Cleanup schema_data.sql for Facebook field [ticket/12729] Add Facebook custom profile field
This commit is contained in:
commit
8595fee040
9 changed files with 83 additions and 0 deletions
|
@ -2088,6 +2088,10 @@
|
||||||
"UINT",
|
"UINT",
|
||||||
0
|
0
|
||||||
],
|
],
|
||||||
|
"pf_phpbb_facebook": [
|
||||||
|
"VCHAR",
|
||||||
|
""
|
||||||
|
],
|
||||||
"pf_phpbb_interests": [
|
"pf_phpbb_interests": [
|
||||||
"MTEXT",
|
"MTEXT",
|
||||||
""
|
""
|
||||||
|
|
|
@ -806,6 +806,7 @@ INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_len
|
||||||
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_icq', 'profilefields.type.string', 'phpbb_icq', '20', '3', '15', '', '', '[0-9]+', 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 6, 1, 'SEND_ICQ_MESSAGE', 'https://www.icq.com/people/%s/');
|
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_icq', 'profilefields.type.string', 'phpbb_icq', '20', '3', '15', '', '', '[0-9]+', 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 6, 1, 'SEND_ICQ_MESSAGE', 'https://www.icq.com/people/%s/');
|
||||||
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_wlm', 'profilefields.type.string', 'phpbb_wlm', '40', '5', '255', '', '', '.*', 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 7, 1, '', '');
|
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_wlm', 'profilefields.type.string', 'phpbb_wlm', '40', '5', '255', '', '', '.*', 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 7, 1, '', '');
|
||||||
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_yahoo', 'profilefields.type.string', 'phpbb_yahoo', '40', '5', '255', '', '', '.*', 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 8, 1, 'SEND_YIM_MESSAGE', 'http://edit.yahoo.com/config/send_webmesg?.target=%s&.src=pg');
|
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_yahoo', 'profilefields.type.string', 'phpbb_yahoo', '40', '5', '255', '', '', '.*', 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 8, 1, 'SEND_YIM_MESSAGE', 'http://edit.yahoo.com/config/send_webmesg?.target=%s&.src=pg');
|
||||||
|
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_facebook', 'profilefields.type.string', 'phpbb_facebook', '20', '5', '50', '', '', '[\w.]+', 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 9, 1, 'VIEW_FACEBOOK_PROFILE', 'http://facebook.com/%s/');
|
||||||
|
|
||||||
# User Notification Options (for first user)
|
# User Notification Options (for first user)
|
||||||
INSERT INTO phpbb_user_notifications (item_type, item_id, user_id, method) VALUES('post', 0, 2, '');
|
INSERT INTO phpbb_user_notifications (item_type, item_id, user_id, method) VALUES('post', 0, 2, '');
|
||||||
|
|
|
@ -39,6 +39,7 @@ if (empty($lang) || !is_array($lang))
|
||||||
// Custom profile fields
|
// Custom profile fields
|
||||||
$lang = array_merge($lang, array(
|
$lang = array_merge($lang, array(
|
||||||
'ADDED_PROFILE_FIELD' => 'Successfully added custom profile field.',
|
'ADDED_PROFILE_FIELD' => 'Successfully added custom profile field.',
|
||||||
|
'ALPHA_DOTS' => 'Alphanumeric and dots (periods)',
|
||||||
'ALPHA_ONLY' => 'Alphanumeric only',
|
'ALPHA_ONLY' => 'Alphanumeric only',
|
||||||
'ALPHA_SPACERS' => 'Alphanumeric and spacers',
|
'ALPHA_SPACERS' => 'Alphanumeric and spacers',
|
||||||
'ALPHA_UNDERSCORE' => 'Alphanumeric and underscores',
|
'ALPHA_UNDERSCORE' => 'Alphanumeric and underscores',
|
||||||
|
|
|
@ -226,6 +226,7 @@ $lang = array_merge($lang, array(
|
||||||
'EXTENSION_DISABLED_AFTER_POSTING' => 'The extension <strong>%s</strong> has been deactivated and can no longer be displayed.',
|
'EXTENSION_DISABLED_AFTER_POSTING' => 'The extension <strong>%s</strong> has been deactivated and can no longer be displayed.',
|
||||||
'EXTENSION_DOES_NOT_EXIST' => 'The extension <strong>%s</strong> does not exist.',
|
'EXTENSION_DOES_NOT_EXIST' => 'The extension <strong>%s</strong> does not exist.',
|
||||||
|
|
||||||
|
'FACEBOOK' => 'Facebook',
|
||||||
'FAQ' => 'FAQ',
|
'FAQ' => 'FAQ',
|
||||||
'FAQ_EXPLAIN' => 'Frequently Asked Questions',
|
'FAQ_EXPLAIN' => 'Frequently Asked Questions',
|
||||||
'FILENAME' => 'Filename',
|
'FILENAME' => 'Filename',
|
||||||
|
|
|
@ -144,4 +144,5 @@ $lang = array_merge($lang, array(
|
||||||
'USERS_PER_PAGE' => 'Users per page',
|
'USERS_PER_PAGE' => 'Users per page',
|
||||||
|
|
||||||
'VIEWING_PROFILE' => 'Viewing profile - %s',
|
'VIEWING_PROFILE' => 'Viewing profile - %s',
|
||||||
|
'VIEW_FACEBOOK_PROFILE' => 'View Facebook Profile',
|
||||||
));
|
));
|
||||||
|
|
60
phpBB/phpbb/db/migration/data/v310/profilefield_facebook.php
Normal file
60
phpBB/phpbb/db/migration/data/v310/profilefield_facebook.php
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
<?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 phpbb\db\migration\data\v310;
|
||||||
|
|
||||||
|
class profilefield_facebook extends \phpbb\db\migration\profilefield_base_migration
|
||||||
|
{
|
||||||
|
static public function depends_on()
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
'\phpbb\db\migration\data\v310\profilefield_types',
|
||||||
|
'\phpbb\db\migration\data\v310\profilefield_show_novalue',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function update_data()
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
array('custom', array(array($this, 'create_custom_field'))),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected $profilefield_name = 'phpbb_facebook';
|
||||||
|
|
||||||
|
protected $profilefield_database_type = array('VCHAR', '');
|
||||||
|
|
||||||
|
protected $profilefield_data = array(
|
||||||
|
'field_name' => 'phpbb_facebook',
|
||||||
|
'field_type' => 'profilefields.type.string',
|
||||||
|
'field_ident' => 'phpbb_facebook',
|
||||||
|
'field_length' => '20',
|
||||||
|
'field_minlen' => '5',
|
||||||
|
'field_maxlen' => '50',
|
||||||
|
'field_novalue' => '',
|
||||||
|
'field_default_value' => '',
|
||||||
|
'field_validation' => '[\w.]+',
|
||||||
|
'field_required' => 0,
|
||||||
|
'field_show_novalue' => 0,
|
||||||
|
'field_show_on_reg' => 0,
|
||||||
|
'field_show_on_pm' => 1,
|
||||||
|
'field_show_on_vt' => 1,
|
||||||
|
'field_show_profile' => 1,
|
||||||
|
'field_hide' => 0,
|
||||||
|
'field_no_view' => 0,
|
||||||
|
'field_active' => 1,
|
||||||
|
'field_is_contact' => 1,
|
||||||
|
'field_contact_desc' => 'VIEW_FACEBOOK_PROFILE',
|
||||||
|
'field_contact_url' => 'http://facebook.com/%s/',
|
||||||
|
);
|
||||||
|
}
|
|
@ -20,6 +20,7 @@ abstract class type_string_common extends type_base
|
||||||
'NUMBERS_ONLY' => '[0-9]+',
|
'NUMBERS_ONLY' => '[0-9]+',
|
||||||
'ALPHA_ONLY' => '[\w]+',
|
'ALPHA_ONLY' => '[\w]+',
|
||||||
'ALPHA_UNDERSCORE' => '[\w_]+',
|
'ALPHA_UNDERSCORE' => '[\w_]+',
|
||||||
|
'ALPHA_DOTS' => '[\w.]+',
|
||||||
'ALPHA_SPACERS' => '[\w_\+\. \-\[\]]+',
|
'ALPHA_SPACERS' => '[\w_\+\. \-\[\]]+',
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@ class phpbb_functional_ucp_profile_test extends phpbb_functional_test_case
|
||||||
|
|
||||||
$form = $crawler->selectButton('Submit')->form(array(
|
$form = $crawler->selectButton('Submit')->form(array(
|
||||||
'pf_phpbb_location' => 'Bertie´s Empire',
|
'pf_phpbb_location' => 'Bertie´s Empire',
|
||||||
|
'pf_phpbb_facebook' => 'phpbb',
|
||||||
));
|
));
|
||||||
$crawler = self::submit($form);
|
$crawler = self::submit($form);
|
||||||
$this->assertContainsLang('PROFILE_UPDATED', $crawler->filter('#message')->text());
|
$this->assertContainsLang('PROFILE_UPDATED', $crawler->filter('#message')->text());
|
||||||
|
@ -33,5 +34,6 @@ class phpbb_functional_ucp_profile_test extends phpbb_functional_test_case
|
||||||
$crawler = self::request('GET', 'ucp.php?i=ucp_profile&mode=profile_info');
|
$crawler = self::request('GET', 'ucp.php?i=ucp_profile&mode=profile_info');
|
||||||
$form = $crawler->selectButton('Submit')->form();
|
$form = $crawler->selectButton('Submit')->form();
|
||||||
$this->assertEquals('Bertie´s Empire', $form->get('pf_phpbb_location')->getValue());
|
$this->assertEquals('Bertie´s Empire', $form->get('pf_phpbb_location')->getValue());
|
||||||
|
$this->assertEquals('phpbb', $form->get('pf_phpbb_facebook')->getValue());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -143,6 +143,18 @@ class phpbb_profilefield_type_string_test extends phpbb_test_case
|
||||||
false,
|
false,
|
||||||
'Required field should accept a characters only field',
|
'Required field should accept a characters only field',
|
||||||
),
|
),
|
||||||
|
array(
|
||||||
|
'Valid.Username123',
|
||||||
|
array('field_validation' => '[\w.]+'),
|
||||||
|
false,
|
||||||
|
'Required field should accept a alphanumeric field with dots',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'Invalid.,username123',
|
||||||
|
array('field_validation' => '[\w.]+'),
|
||||||
|
'FIELD_INVALID_CHARS_ALPHA_DOTS-field',
|
||||||
|
'Required field should reject field with comma',
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue