mirror of
https://github.com/phpbb/phpbb.git
synced 2025-08-10 10:44:20 +02:00
Merge branch '3.1.x'
Conflicts: phpBB/includes/acp/acp_profile.php
This commit is contained in:
@@ -35,7 +35,7 @@ class acp_profile
|
||||
{
|
||||
global $config, $db, $user, $auth, $template, $cache;
|
||||
global $phpbb_root_path, $phpbb_admin_path, $phpEx, $table_prefix;
|
||||
global $request, $phpbb_container, $phpbb_log;
|
||||
global $request, $phpbb_container, $phpbb_log, $phpbb_dispatcher;
|
||||
|
||||
include($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
|
||||
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
|
||||
@@ -375,6 +375,32 @@ class acp_profile
|
||||
'field_is_contact',
|
||||
);
|
||||
|
||||
/**
|
||||
* Event to add initialization for new profile field table fields
|
||||
*
|
||||
* @event core.acp_profile_create_edit_init
|
||||
* @var string action create|edit
|
||||
* @var int step Configuration step (1|2|3)
|
||||
* @var bool submit Form has been submitted
|
||||
* @var bool save Configuration should be saved
|
||||
* @var string field_type Type of the field we are dealing with
|
||||
* @var array field_row Array of data about the field
|
||||
* @var array exclude Array of excluded fields by step
|
||||
* @var array visibility_ary Array of fields that are visibility related
|
||||
* @since 3.1.6-RC1
|
||||
*/
|
||||
$vars = array(
|
||||
'action',
|
||||
'step',
|
||||
'submit',
|
||||
'save',
|
||||
'field_type',
|
||||
'field_row',
|
||||
'exclude',
|
||||
'visibility_ary',
|
||||
);
|
||||
extract($phpbb_dispatcher->trigger_event('core.acp_profile_create_edit_init', compact($vars)));
|
||||
|
||||
$options = $profile_field->prepare_options_form($exclude, $visibility_ary);
|
||||
|
||||
$cp->vars['field_ident'] = ($action == 'create' && $step == 1) ? utf8_clean_string($request->variable('field_ident', $field_row['field_ident'], true)) : $request->variable('field_ident', $field_row['field_ident']);
|
||||
@@ -650,6 +676,33 @@ class acp_profile
|
||||
break;
|
||||
}
|
||||
|
||||
$field_data = $cp->vars;
|
||||
/**
|
||||
* Event to add template variables for new profile field table fields
|
||||
*
|
||||
* @event core.acp_profile_create_edit_after
|
||||
* @var string action create|edit
|
||||
* @var int step Configuration step (1|2|3)
|
||||
* @var bool submit Form has been submitted
|
||||
* @var bool save Configuration should be saved
|
||||
* @var string field_type Type of the field we are dealing with
|
||||
* @var array field_data Array of data about the field
|
||||
* @var array s_hidden_fields Array of hidden fields in case this needs modification
|
||||
* @var array options Array of options specific to this step
|
||||
* @since 3.1.6-RC1
|
||||
*/
|
||||
$vars = array(
|
||||
'action',
|
||||
'step',
|
||||
'submit',
|
||||
'save',
|
||||
'field_type',
|
||||
'field_data',
|
||||
's_hidden_fields',
|
||||
'options',
|
||||
);
|
||||
extract($phpbb_dispatcher->trigger_event('core.acp_profile_create_edit_after', compact($vars)));
|
||||
|
||||
$template->assign_vars(array(
|
||||
'S_HIDDEN_FIELDS' => $s_hidden_fields)
|
||||
);
|
||||
@@ -816,7 +869,7 @@ class acp_profile
|
||||
*/
|
||||
function save_profile_field(&$cp, $field_type, $action = 'create')
|
||||
{
|
||||
global $db, $config, $user, $phpbb_container, $phpbb_log, $request;
|
||||
global $db, $config, $user, $phpbb_container, $phpbb_log, $request, $phpbb_dispatcher;
|
||||
|
||||
$field_id = $request->variable('field_id', 0);
|
||||
|
||||
@@ -858,6 +911,25 @@ class acp_profile
|
||||
'field_contact_url' => $cp->vars['field_contact_url'],
|
||||
);
|
||||
|
||||
$field_data = $cp->vars;
|
||||
/**
|
||||
* Event to modify profile field configuration data before saving to database
|
||||
*
|
||||
* @event core.acp_profile_create_edit_save_before
|
||||
* @var string action create|edit
|
||||
* @var string field_type Type of the field we are dealing with
|
||||
* @var array field_data Array of data about the field
|
||||
* @var array profile_fields Array of fields to be sent to the database
|
||||
* @since 3.1.6-RC1
|
||||
*/
|
||||
$vars = array(
|
||||
'action',
|
||||
'field_type',
|
||||
'field_data',
|
||||
'profile_fields',
|
||||
);
|
||||
extract($phpbb_dispatcher->trigger_event('core.acp_profile_create_edit_save_before', compact($vars)));
|
||||
|
||||
if ($action == 'create')
|
||||
{
|
||||
$profile_fields += array(
|
||||
|
Reference in New Issue
Block a user