diff --git a/phpBB/docs/events.md b/phpBB/docs/events.md index af6e6bdb1c..bef4727149 100644 --- a/phpBB/docs/events.md +++ b/phpBB/docs/events.md @@ -179,6 +179,66 @@ ucp_pm_viewmessage_print_head_append * Location: styles/prosilver/template/ucp_pm_viewmessage_print.html * Purpose: Add asset calls directly before the `` tag of the Print PM screen +ucp_prefs_personal_prepend +=== +* Locations: + + styles/prosilver/template/ucp_prefs_personal.html + + styles/subsilver2/template/ucp_prefs_personal.html +* Purpose: Add user options to the top of the Edit Global Settings block + +ucp_prefs_personal_append +=== +* Locations: + + styles/prosilver/template/ucp_prefs_personal.html + + styles/subsilver2/template/ucp_prefs_personal.html +* Purpose: Add user options to the bottom of the Edit Global Settings block + +ucp_prefs_post_prepend +=== +* Locations: + + styles/prosilver/template/ucp_prefs_post.html + + styles/subsilver2/template/ucp_prefs_post.html +* Purpose: Add user options to the top of the Edit Posting Defaults block + +ucp_prefs_post_append +=== +* Locations: + + styles/prosilver/template/ucp_prefs_post.html + + styles/subsilver2/template/ucp_prefs_post.html +* Purpose: Add user options to the bottom of the Edit Posting Defaults block + +ucp_prefs_view_radio_buttons_prepend +=== +* Locations: + + styles/prosilver/template/ucp_prefs_view.html + + styles/subsilver2/template/ucp_prefs_view.html +* Purpose: Add options to the top of the radio buttons block of the Edit +Display Options screen + +ucp_prefs_view_radio_buttons_append +=== +* Locations: + + styles/prosilver/template/ucp_prefs_view.html + + styles/subsilver2/template/ucp_prefs_view.html +* Purpose: Add options to the bottom of the radio buttons block of the Edit +Display Options screen + +ucp_prefs_view_select_menu_prepend +=== +* Locations: + + styles/prosilver/template/ucp_prefs_view.html + + styles/subsilver2/template/ucp_prefs_view.html +* Purpose: Add options to the top of the drop-down lists block of the Edit +Display Options screen + +ucp_prefs_view_select_menu_append +=== +* Locations: + + styles/prosilver/template/ucp_prefs_view.html + + styles/subsilver2/template/ucp_prefs_view.html +* Purpose: Add options to the bottom of the drop-down lists block of the Edit +Display Options screen + viewtopic_print_head_append === * Location: styles/prosilver/template/viewtopic_print.html diff --git a/phpBB/includes/ucp/ucp_prefs.php b/phpBB/includes/ucp/ucp_prefs.php index f24578da84..e80cc2dce3 100644 --- a/phpBB/includes/ucp/ucp_prefs.php +++ b/phpBB/includes/ucp/ucp_prefs.php @@ -26,7 +26,7 @@ class ucp_prefs function main($id, $mode) { - global $config, $db, $user, $auth, $template, $phpbb_root_path, $phpEx; + global $config, $db, $user, $auth, $template, $phpbb_dispatcher, $phpbb_root_path, $phpEx; $submit = (isset($_POST['submit'])) ? true : false; $error = $data = array(); @@ -55,6 +55,20 @@ class ucp_prefs $data['notifymethod'] = NOTIFY_BOTH; } + /** + * Add UCP edit global settings data before they are assigned to the template or submitted + * + * To assign data to the template, use $template->assign_vars() + * + * @event core.ucp_prefs_personal_data + * @var bool submit Do we display the form only + * or did the user press submit + * @var array data Array with current ucp options data + * @since 3.1-A1 + */ + $vars = array('submit', 'data'); + extract($phpbb_dispatcher->trigger_event('core.ucp_prefs_personal_data', compact($vars))); + if ($submit) { if ($config['override_user_style']) @@ -93,6 +107,17 @@ class ucp_prefs 'user_style' => $data['style'], ); + /** + * Update UCP edit global settings data on form submit + * + * @event core.ucp_prefs_personal_update_data + * @var array data Submitted display options data + * @var array sql_ary Display options data we udpate + * @since 3.1-A1 + */ + $vars = array('data', 'sql_ary'); + extract($phpbb_dispatcher->trigger_event('core.ucp_prefs_personal_update_data', compact($vars))); + $sql = 'UPDATE ' . USERS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . ' WHERE user_id = ' . $user->data['user_id']; @@ -209,6 +234,20 @@ class ucp_prefs 'wordcensor' => request_var('wordcensor', (bool) $user->optionget('viewcensors')), ); + /** + * Add UCP edit display options data before they are assigned to the template or submitted + * + * To assign data to the template, use $template->assign_vars() + * + * @event core.ucp_prefs_view_data + * @var bool submit Do we display the form only + * or did the user press submit + * @var array data Array with current ucp options data + * @since 3.1-A1 + */ + $vars = array('submit', 'data'); + extract($phpbb_dispatcher->trigger_event('core.ucp_prefs_view_data', compact($vars))); + if ($submit) { $error = validate_data($data, array( @@ -247,6 +286,17 @@ class ucp_prefs 'user_post_show_days' => $data['post_st'], ); + /** + * Update UCP edit display options data on form submit + * + * @event core.ucp_prefs_view_update_data + * @var array data Submitted display options data + * @var array sql_ary Display options data we udpate + * @since 3.1-A1 + */ + $vars = array('data', 'sql_ary'); + extract($phpbb_dispatcher->trigger_event('core.ucp_prefs_view_update_data', compact($vars))); + $sql = 'UPDATE ' . USERS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . ' WHERE user_id = ' . $user->data['user_id']; @@ -335,6 +385,20 @@ class ucp_prefs ); add_form_key('ucp_prefs_post'); + /** + * Add UCP edit posting defaults data before they are assigned to the template or submitted + * + * To assign data to the template, use $template->assign_vars() + * + * @event core.ucp_prefs_post_data + * @var bool submit Do we display the form only + * or did the user press submit + * @var array data Array with current ucp options data + * @since 3.1-A1 + */ + $vars = array('submit', 'data'); + extract($phpbb_dispatcher->trigger_event('core.ucp_prefs_post_data', compact($vars))); + if ($submit) { if (check_form_key('ucp_prefs_post')) @@ -348,6 +412,17 @@ class ucp_prefs 'user_notify' => $data['notify'], ); + /** + * Update UCP edit posting defaults data on form submit + * + * @event core.ucp_prefs_post_update_data + * @var array data Submitted display options data + * @var array sql_ary Display options data we udpate + * @since 3.1-A1 + */ + $vars = array('data', 'sql_ary'); + extract($phpbb_dispatcher->trigger_event('core.ucp_prefs_post_update_data', compact($vars))); + $sql = 'UPDATE ' . USERS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . ' WHERE user_id = ' . $user->data['user_id']; diff --git a/phpBB/styles/prosilver/template/ucp_prefs_personal.html b/phpBB/styles/prosilver/template/ucp_prefs_personal.html index 9a639786b7..8111496dcb 100644 --- a/phpBB/styles/prosilver/template/ucp_prefs_personal.html +++ b/phpBB/styles/prosilver/template/ucp_prefs_personal.html @@ -9,6 +9,7 @@
diff --git a/phpBB/styles/prosilver/template/ucp_prefs_post.html b/phpBB/styles/prosilver/template/ucp_prefs_post.html index 6c68b2bccc..891e49af6f 100644 --- a/phpBB/styles/prosilver/template/ucp_prefs_post.html +++ b/phpBB/styles/prosilver/template/ucp_prefs_post.html @@ -8,6 +8,7 @@ diff --git a/phpBB/styles/prosilver/template/ucp_prefs_view.html b/phpBB/styles/prosilver/template/ucp_prefs_view.html index 51561349c3..7f8d0a344c 100644 --- a/phpBB/styles/prosilver/template/ucp_prefs_view.html +++ b/phpBB/styles/prosilver/template/ucp_prefs_view.html @@ -9,6 +9,7 @@ diff --git a/phpBB/styles/subsilver2/template/ucp_prefs_personal.html b/phpBB/styles/subsilver2/template/ucp_prefs_personal.html index 8f6e345e69..cd5fc9a13f 100644 --- a/phpBB/styles/subsilver2/template/ucp_prefs_personal.html +++ b/phpBB/styles/subsilver2/template/ucp_prefs_personal.html @@ -29,6 +29,7 @@