diff options
| author | Joas Schilling <nickvergessen@gmx.de> | 2014-06-22 19:40:56 +0200 |
|---|---|---|
| committer | Joas Schilling <nickvergessen@gmx.de> | 2014-06-22 19:40:56 +0200 |
| commit | 7afc13b4db3a1444c5464f4f4f05a72cabede964 (patch) | |
| tree | e4ffd41c5232a5afe80ec74af8278b9b6cce7916 /phpBB | |
| parent | afe9d3c3f39ca1c69146778882f2b0250dfa3ed7 (diff) | |
| parent | d4679e6a95b45d839f854493682ebe64651260da (diff) | |
| download | forums-7afc13b4db3a1444c5464f4f4f05a72cabede964.tar forums-7afc13b4db3a1444c5464f4f4f05a72cabede964.tar.gz forums-7afc13b4db3a1444c5464f4f4f05a72cabede964.tar.bz2 forums-7afc13b4db3a1444c5464f4f4f05a72cabede964.tar.xz forums-7afc13b4db3a1444c5464f4f4f05a72cabede964.zip | |
Merge pull request #2615 from Dragooon/ticket/12730
[ticket/12730] Add Google+ profile field
* Dragooon/ticket/12730:
[ticket/12730] Update Google+ button class to use proper identification
[ticket/12730] Update maxlen for type_googleplus to 255
[ticket/12730] Fix type_googleplus_test to use same validation rule as the field
[ticket/12730] Update field_length to be 20 by default for Google+
[ticket/12730] Google+ field_order should be 13
[ticket/12730] Switch service name to googleplus for type_googleplus
[ticket/12730] Restore field_length to 10 for type_googleplus
[ticket/12730] Add functional test for Google+ field
[ticket/12730] Value shouldn't be escaped for schema_data.sql
[ticket/12730] Missing newline at type_googleplus_test.php
[ticket/12730] Set field_active to 1 for Google+ field
[ticket/12730] Add unit test for type_googleplus
[ticket/12730] Add missing brackets to type_googleplus.php
[ticket/12730] Update field_order for Google+ CPF
[ticket/12730] Use string template for Google+ CPF instead of a new one
[ticket/12730] Minor formatting fixes
[ticket/12730] Incorrect indentation for type_googleplus
[ticket/12730] Spaces in block header
[ticket/12730] Add a Google+ field by default
[ticket/12730] Add Google+ profile field type
Diffstat (limited to 'phpBB')
| -rw-r--r-- | phpBB/config/profilefields.yml | 9 | ||||
| -rw-r--r-- | phpBB/install/schemas/schema.json | 4 | ||||
| -rw-r--r-- | phpBB/install/schemas/schema_data.sql | 1 | ||||
| -rw-r--r-- | phpBB/language/en/acp/profile.php | 1 | ||||
| -rw-r--r-- | phpBB/language/en/common.php | 1 | ||||
| -rw-r--r-- | phpBB/language/en/memberlist.php | 1 | ||||
| -rw-r--r-- | phpBB/phpbb/db/migration/data/v310/profilefield_googleplus.php | 60 | ||||
| -rw-r--r-- | phpBB/phpbb/profilefields/type/type_googleplus.php | 58 | ||||
| -rw-r--r-- | phpBB/styles/prosilver/theme/buttons.css | 2 |
9 files changed, 136 insertions, 1 deletions
diff --git a/phpBB/config/profilefields.yml b/phpBB/config/profilefields.yml index 00f025e141..ce2a84b12b 100644 --- a/phpBB/config/profilefields.yml +++ b/phpBB/config/profilefields.yml @@ -55,6 +55,15 @@ services: tags: - { name: profilefield.type } + profilefields.type.googleplus: + class: phpbb\profilefields\type\type_googleplus + arguments: + - @request + - @template + - @user + tags: + - { name: profilefield.type } + profilefields.type.int: class: phpbb\profilefields\type\type_int arguments: diff --git a/phpBB/install/schemas/schema.json b/phpBB/install/schemas/schema.json index c6974aab21..a3ffd923a1 100644 --- a/phpBB/install/schemas/schema.json +++ b/phpBB/install/schemas/schema.json @@ -2104,6 +2104,10 @@ "VCHAR", "" ], + "pf_phpbb_googleplus": [ + "VCHAR", + "" + ], "pf_phpbb_interests": [ "MTEXT", "" diff --git a/phpBB/install/schemas/schema_data.sql b/phpBB/install/schemas/schema_data.sql index 1087ba1851..9b9b7f77f1 100644 --- a/phpBB/install/schemas/schema_data.sql +++ b/phpBB/install/schemas/schema_data.sql @@ -810,6 +810,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_twitter', 'profilefields.type.string', 'phpbb_twitter', '20', '1', '15', '', '', '[\w_]+', 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 10, 1, 'VIEW_TWITTER_PROFILE', 'http://twitter.com/%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_skype', 'profilefields.type.string', 'phpbb_skype', '20', '6', '32', '', '', '[a-zA-Z][\w\.,\-_]+', 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 11, 1, 'VIEW_SKYPE_PROFILE', 'skype:%s?userinfo'); 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_youtube', 'profilefields.type.string', 'phpbb_youtube', '20', '3', '60', '', '', '[a-zA-Z][\w\.,\-_]+', 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 12, 1, 'VIEW_YOUTUBE_CHANNEL', 'http://youtube.com/user/%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_googleplus', 'profilefields.type.googleplus', 'phpbb_googleplus', '20', '3', '255', '', '', '[\w]+', 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 13, 1, 'VIEW_GOOGLEPLUS_PROFILE', 'http://plus.google.com/%s'); # User Notification Options (for first user) INSERT INTO phpbb_user_notifications (item_type, item_id, user_id, method) VALUES('post', 0, 2, ''); diff --git a/phpBB/language/en/acp/profile.php b/phpBB/language/en/acp/profile.php index fe3ad814cb..67813bcba4 100644 --- a/phpBB/language/en/acp/profile.php +++ b/phpBB/language/en/acp/profile.php @@ -93,6 +93,7 @@ $lang = array_merge($lang, array( 'FIELD_DESCRIPTION' => 'Field description', 'FIELD_DESCRIPTION_EXPLAIN' => 'The explanation for this field presented to the user.', 'FIELD_DROPDOWN' => 'Dropdown box', + 'FIELD_GOOGLEPLUS' => 'Google+', 'FIELD_IDENT' => 'Field identification', 'FIELD_IDENT_ALREADY_EXIST' => 'The chosen field identification already exist. Please choose another name.', 'FIELD_IDENT_EXPLAIN' => 'The field identification is a name to identify the profile field within the database and the templates.', diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index 46f19359cd..757b9d7251 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -284,6 +284,7 @@ $lang = array_merge($lang, array( 'GB' => 'GB', 'GIB' => 'GiB', 'GO' => 'Go', + 'GOOGLEPLUS' => 'Google+', 'GOTO_FIRST_POST' => 'Go to first post', 'GOTO_LAST_POST' => 'Go to last post', 'GOTO_PAGE' => 'Go to page', diff --git a/phpBB/language/en/memberlist.php b/phpBB/language/en/memberlist.php index b5fd21e5e3..e02f9ff525 100644 --- a/phpBB/language/en/memberlist.php +++ b/phpBB/language/en/memberlist.php @@ -148,4 +148,5 @@ $lang = array_merge($lang, array( 'VIEW_SKYPE_PROFILE' => 'View Skype Profile', 'VIEW_TWITTER_PROFILE' => 'View Twitter Profile', 'VIEW_YOUTUBE_CHANNEL' => 'View YouTube Channel', + 'VIEW_GOOGLEPLUS_PROFILE' => 'View Google+ Profile', )); diff --git a/phpBB/phpbb/db/migration/data/v310/profilefield_googleplus.php b/phpBB/phpbb/db/migration/data/v310/profilefield_googleplus.php new file mode 100644 index 0000000000..9bef0a4c0b --- /dev/null +++ b/phpBB/phpbb/db/migration/data/v310/profilefield_googleplus.php @@ -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_googleplus 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_googleplus'; + + protected $profilefield_database_type = array('VCHAR', ''); + + protected $profilefield_data = array( + 'field_name' => 'phpbb_googleplus', + 'field_type' => 'profilefields.type.googleplus', + 'field_ident' => 'phpbb_googleplus', + 'field_length' => '20', + 'field_minlen' => '3', + 'field_maxlen' => '255', + '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_GOOGLEPLUS_PROFILE', + 'field_contact_url' => 'http://plus.google.com/%s', + ); +} diff --git a/phpBB/phpbb/profilefields/type/type_googleplus.php b/phpBB/phpbb/profilefields/type/type_googleplus.php new file mode 100644 index 0000000000..df1bcc7f4b --- /dev/null +++ b/phpBB/phpbb/profilefields/type/type_googleplus.php @@ -0,0 +1,58 @@ +<?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\profilefields\type; + +class type_googleplus extends type_string +{ + /** + * {@inheritDoc} + */ + public function get_service_name() + { + return 'profilefields.type.googleplus'; + } + + /** + * {@inheritDoc} + */ + public function get_default_option_values() + { + return array( + 'field_length' => 20, + 'field_minlen' => 3, + 'field_maxlen' => 255, + 'field_validation' => '[\w]+', + 'field_novalue' => '', + 'field_default_value' => '', + ); + } + + /** + * {@inheritDoc} + */ + public function get_profile_contact_value($field_value, $field_data) + { + if (!$field_value && !$field_data['field_show_novalue']) + { + return null; + } + + if (!is_numeric($field_value)) + { + $field_value = '+' . $field_value; + } + + return $field_value; + } +} diff --git a/phpBB/styles/prosilver/theme/buttons.css b/phpBB/styles/prosilver/theme/buttons.css index 19cb547bd4..c5e97d03c4 100644 --- a/phpBB/styles/prosilver/theme/buttons.css +++ b/phpBB/styles/prosilver/theme/buttons.css @@ -143,7 +143,7 @@ ul.linklist.bulletin li.small-icon:before { .phpbb_website-icon { background-position: -40px 0; } .phpbb_youtube-icon { background-position: -98px 0; } .phpbb_facebook-icon { background-position: -119px 0; } -.phpbb_google_plus-icon { background-position: -140px 0; } +.phpbb_googleplus-icon { background-position: -140px 0; } .phpbb_skype-icon { background-position: -161px 0; } .phpbb_twitter-icon { background-position: -203px 0; } .phpbb_yahoo-icon { background-position: -224px 0; } |
