1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-31 05:50:42 +02:00

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
This commit is contained in:
Joas Schilling
2014-06-22 19:40:56 +02:00
11 changed files with 200 additions and 1 deletions

View 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_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',
);
}

View File

@@ -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;
}
}