Verzeichnisstruktur phpBB-3.2.0


Veröffentlicht
06.01.2017

So funktioniert es


Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück

Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

(Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

ucp_prefs.php

Zuletzt modifiziert: 09.10.2024, 12:52 - Dateigröße: 19.79 KiB


001  <?php
002  /**
003  *
004  * This file is part of the phpBB Forum Software package.
005  *
006  * @copyright (c) phpBB Limited <https://www.phpbb.com>
007  * @license GNU General Public License, version 2 (GPL-2.0)
008  *
009  * For full copyright and license information, please see
010  * the docs/CREDITS.txt file.
011  *
012  */
013   
014  /**
015  * @ignore
016  */
017  if (!defined('IN_PHPBB'))
018  {
019      exit;
020  }
021   
022  /**
023  * ucp_prefs
024  * Changing user preferences
025  */
026  class ucp_prefs
027  {
028      var $u_action;
029   
030      function main($id, $mode)
031      {
032          global $config, $db, $user, $auth, $template, $phpbb_dispatcher, $request;
033   
034          $submit = (isset($_POST['submit'])) ? true : false;
035          $error = $data = array();
036          $s_hidden_fields = '';
037   
038          switch ($mode)
039          {
040              case 'personal':
041                  add_form_key('ucp_prefs_personal');
042                  $data = array(
043                      'notifymethod'    => $request->variable('notifymethod', $user->data['user_notify_type']),
044                      'dateformat'    => $request->variable('dateformat', $user->data['user_dateformat'], true),
045                      'lang'            => basename($request->variable('lang', $user->data['user_lang'])),
046                      'user_style'        => $request->variable('user_style', (int) $user->data['user_style']),
047                      'tz'            => $request->variable('tz', $user->data['user_timezone']),
048   
049                      'viewemail'        => $request->variable('viewemail', (bool) $user->data['user_allow_viewemail']),
050                      'massemail'        => $request->variable('massemail', (bool) $user->data['user_allow_massemail']),
051                      'hideonline'    => $request->variable('hideonline', (bool) !$user->data['user_allow_viewonline']),
052                      'allowpm'        => $request->variable('allowpm', (bool) $user->data['user_allow_pm']),
053                  );
054   
055                  if ($data['notifymethod'] == NOTIFY_IM && (!$config['jab_enable'] || !$user->data['user_jabber'] || !@extension_loaded('xml')))
056                  {
057                      // Jabber isnt enabled, or no jabber field filled in. Update the users table to be sure its correct.
058                      $data['notifymethod'] = NOTIFY_BOTH;
059                  }
060   
061                  /**
062                  * Add UCP edit global settings data before they are assigned to the template or submitted
063                  *
064                  * To assign data to the template, use $template->assign_vars()
065                  *
066                  * @event core.ucp_prefs_personal_data
067                  * @var    bool    submit        Do we display the form only
068                  *                            or did the user press submit
069                  * @var    array    data        Array with current ucp options data
070                  * @var    array    error        Array with list of errors
071                  * @since 3.1.0-a1
072                  * @changed 3.1.4-RC1 Added error variable to the event
073                  */
074                  $vars = array('submit', 'data', 'error');
075                  extract($phpbb_dispatcher->trigger_event('core.ucp_prefs_personal_data', compact($vars)));
076   
077                  if ($submit)
078                  {
079                      if ($config['override_user_style'])
080                      {
081                          $data['user_style'] = (int) $config['default_style'];
082                      }
083                      else if (!phpbb_style_is_active($data['user_style']))
084                      {
085                          $data['user_style'] = (int) $user->data['user_style'];
086                      }
087   
088                      $error = array_merge(validate_data($data, array(
089                          'dateformat'    => array('string', false, 1, 64),
090                          'lang'            => array('language_iso_name'),
091                          'tz'            => array('timezone'),
092                      )), $error);
093   
094                      if (!check_form_key('ucp_prefs_personal'))
095                      {
096                          $error[] = 'FORM_INVALID';
097                      }
098   
099                      if (!sizeof($error))
100                      {
101                          $sql_ary = array(
102                              'user_allow_pm'            => $data['allowpm'],
103                              'user_allow_viewemail'    => $data['viewemail'],
104                              'user_allow_massemail'    => $data['massemail'],
105                              'user_allow_viewonline'    => ($auth->acl_get('u_hideonline')) ? !$data['hideonline'] : $user->data['user_allow_viewonline'],
106                              'user_notify_type'        => $data['notifymethod'],
107                              'user_options'            => $user->data['user_options'],
108   
109                              'user_dateformat'        => $data['dateformat'],
110                              'user_lang'                => $data['lang'],
111                              'user_timezone'            => $data['tz'],
112                              'user_style'            => $data['user_style'],
113                          );
114   
115                          /**
116                          * Update UCP edit global settings data on form submit
117                          *
118                          * @event core.ucp_prefs_personal_update_data
119                          * @var    array    data        Submitted display options data
120                          * @var    array    sql_ary        Display options data we update
121                          * @since 3.1.0-a1
122                          */
123                          $vars = array('data', 'sql_ary');
124                          extract($phpbb_dispatcher->trigger_event('core.ucp_prefs_personal_update_data', compact($vars)));
125   
126                          $sql = 'UPDATE ' . USERS_TABLE . '
127                              SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
128                              WHERE user_id = ' . $user->data['user_id'];
129                          $db->sql_query($sql);
130   
131                          meta_refresh(3, $this->u_action);
132                          $message = $user->lang['PREFERENCES_UPDATED'] . '<br /><br />' . sprintf($user->lang['RETURN_UCP'], '<a href="' . $this->u_action . '">', '</a>');
133                          trigger_error($message);
134                      }
135   
136                      // Replace "error" strings with their real, localised form
137                      $error = array_map(array($user, 'lang'), $error);
138                  }
139   
140                  $dateformat_options = '';
141   
142                  foreach ($user->lang['dateformats'] as $format => $null)
143                  {
144                      $dateformat_options .= '<option value="' . $format . '"' . (($format == $data['dateformat']) ? ' selected="selected"' : '') . '>';
145                      $dateformat_options .= $user->format_date(time(), $format, false) . ((strpos($format, '|') !== false) ? $user->lang['VARIANT_DATE_SEPARATOR'] . $user->format_date(time(), $format, true) : '');
146                      $dateformat_options .= '</option>';
147                  }
148   
149                  $s_custom = false;
150   
151                  $dateformat_options .= '<option value="custom"';
152                  if (!isset($user->lang['dateformats'][$data['dateformat']]))
153                  {
154                      $dateformat_options .= ' selected="selected"';
155                      $s_custom = true;
156                  }
157                  $dateformat_options .= '>' . $user->lang['CUSTOM_DATEFORMAT'] . '</option>';
158   
159                  phpbb_timezone_select($template, $user, $data['tz'], true);
160   
161                  // check if there are any user-selectable languages
162                  $sql = 'SELECT COUNT(lang_id) as languages_count
163                                  FROM ' . LANG_TABLE;
164                  $result = $db->sql_query($sql);
165                  if ($db->sql_fetchfield('languages_count') > 1)
166                  {
167                      $s_more_languages = true;
168                  }
169                  else
170                  {
171                      $s_more_languages = false;
172                  }
173                  $db->sql_freeresult($result);
174   
175                  // check if there are any user-selectable styles
176                  $sql = 'SELECT COUNT(style_id) as styles_count
177                                  FROM ' . STYLES_TABLE . '
178                                  WHERE style_active = 1';
179                  $result = $db->sql_query($sql);
180                  if ($db->sql_fetchfield('styles_count') > 1)
181                  {
182                      $s_more_styles = true;
183                  }
184                  else
185                  {
186                      $s_more_styles = false;
187                  }
188                  $db->sql_freeresult($result);
189   
190                  $template->assign_vars(array(
191                      'ERROR'                => (sizeof($error)) ? implode('<br />', $error) : '',
192   
193                      'S_NOTIFY_EMAIL'    => ($data['notifymethod'] == NOTIFY_EMAIL) ? true : false,
194                      'S_NOTIFY_IM'        => ($data['notifymethod'] == NOTIFY_IM) ? true : false,
195                      'S_NOTIFY_BOTH'        => ($data['notifymethod'] == NOTIFY_BOTH) ? true : false,
196                      'S_VIEW_EMAIL'        => $data['viewemail'],
197                      'S_MASS_EMAIL'        => $data['massemail'],
198                      'S_ALLOW_PM'        => $data['allowpm'],
199                      'S_HIDE_ONLINE'        => $data['hideonline'],
200   
201                      'DATE_FORMAT'            => $data['dateformat'],
202                      'A_DATE_FORMAT'            => addslashes($data['dateformat']),
203                      'S_DATEFORMAT_OPTIONS'    => $dateformat_options,
204                      'S_CUSTOM_DATEFORMAT'    => $s_custom,
205                      'DEFAULT_DATEFORMAT'    => $config['default_dateformat'],
206                      'A_DEFAULT_DATEFORMAT'    => addslashes($config['default_dateformat']),
207   
208                      'S_MORE_LANGUAGES'    => $s_more_languages,
209                      'S_MORE_STYLES'            => $s_more_styles,
210   
211                      'S_LANG_OPTIONS'        => language_select($data['lang']),
212                      'S_STYLE_OPTIONS'        => ($config['override_user_style']) ? '' : style_select($data['user_style']),
213                      'S_CAN_HIDE_ONLINE'        => ($auth->acl_get('u_hideonline')) ? true : false,
214                      'S_SELECT_NOTIFY'        => ($config['jab_enable'] && $user->data['user_jabber'] && @extension_loaded('xml')) ? true : false)
215                  );
216   
217              break;
218   
219              case 'view':
220   
221                  add_form_key('ucp_prefs_view');
222   
223                  $data = array(
224                      'topic_sk'        => $request->variable('topic_sk', (!empty($user->data['user_topic_sortby_type'])) ? $user->data['user_topic_sortby_type'] : 't'),
225                      'topic_sd'        => $request->variable('topic_sd', (!empty($user->data['user_topic_sortby_dir'])) ? $user->data['user_topic_sortby_dir'] : 'd'),
226                      'topic_st'        => $request->variable('topic_st', (!empty($user->data['user_topic_show_days'])) ? (int) $user->data['user_topic_show_days'] : 0),
227   
228                      'post_sk'        => $request->variable('post_sk', (!empty($user->data['user_post_sortby_type'])) ? $user->data['user_post_sortby_type'] : 't'),
229                      'post_sd'        => $request->variable('post_sd', (!empty($user->data['user_post_sortby_dir'])) ? $user->data['user_post_sortby_dir'] : 'a'),
230                      'post_st'        => $request->variable('post_st', (!empty($user->data['user_post_show_days'])) ? (int) $user->data['user_post_show_days'] : 0),
231   
232                      'images'        => $request->variable('images', (bool) $user->optionget('viewimg')),
233                      'flash'            => $request->variable('flash', (bool) $user->optionget('viewflash')),
234                      'smilies'        => $request->variable('smilies', (bool) $user->optionget('viewsmilies')),
235                      'sigs'            => $request->variable('sigs', (bool) $user->optionget('viewsigs')),
236                      'avatars'        => $request->variable('avatars', (bool) $user->optionget('viewavatars')),
237                      'wordcensor'    => $request->variable('wordcensor', (bool) $user->optionget('viewcensors')),
238                  );
239   
240                  /**
241                  * Add UCP edit display options data before they are assigned to the template or submitted
242                  *
243                  * To assign data to the template, use $template->assign_vars()
244                  *
245                  * @event core.ucp_prefs_view_data
246                  * @var    bool    submit        Do we display the form only
247                  *                            or did the user press submit
248                  * @var    array    data        Array with current ucp options data
249                  * @since 3.1.0-a1
250                  */
251                  $vars = array('submit', 'data');
252                  extract($phpbb_dispatcher->trigger_event('core.ucp_prefs_view_data', compact($vars)));
253   
254                  if ($submit)
255                  {
256                      $error = validate_data($data, array(
257                          'topic_sk'    => array(
258                              array('string', false, 1, 1),
259                              array('match', false, '#(a|r|s|t|v)#'),
260                          ),
261                          'topic_sd'    => array(
262                              array('string', false, 1, 1),
263                              array('match', false, '#(a|d)#'),
264                          ),
265                          'post_sk'    => array(
266                              array('string', false, 1, 1),
267                              array('match', false, '#(a|s|t)#'),
268                          ),
269                          'post_sd'    => array(
270                              array('string', false, 1, 1),
271                              array('match', false, '#(a|d)#'),
272                          ),
273                      ));
274   
275                      if (!check_form_key('ucp_prefs_view'))
276                      {
277                          $error[] = 'FORM_INVALID';
278                      }
279   
280                      if (!sizeof($error))
281                      {
282                          $user->optionset('viewimg', $data['images']);
283                          $user->optionset('viewflash', $data['flash']);
284                          $user->optionset('viewsmilies', $data['smilies']);
285                          $user->optionset('viewsigs', $data['sigs']);
286                          $user->optionset('viewavatars', $data['avatars']);
287   
288                          if ($auth->acl_get('u_chgcensors'))
289                          {
290                              $user->optionset('viewcensors', $data['wordcensor']);
291                          }
292   
293                          $sql_ary = array(
294                              'user_options'                => $user->data['user_options'],
295                              'user_topic_sortby_type'    => $data['topic_sk'],
296                              'user_post_sortby_type'        => $data['post_sk'],
297                              'user_topic_sortby_dir'        => $data['topic_sd'],
298                              'user_post_sortby_dir'        => $data['post_sd'],
299   
300                              'user_topic_show_days'    => $data['topic_st'],
301                              'user_post_show_days'    => $data['post_st'],
302                          );
303   
304                          /**
305                          * Update UCP edit display options data on form submit
306                          *
307                          * @event core.ucp_prefs_view_update_data
308                          * @var    array    data        Submitted display options data
309                          * @var    array    sql_ary        Display options data we update
310                          * @since 3.1.0-a1
311                          */
312                          $vars = array('data', 'sql_ary');
313                          extract($phpbb_dispatcher->trigger_event('core.ucp_prefs_view_update_data', compact($vars)));
314   
315                          $sql = 'UPDATE ' . USERS_TABLE . '
316                              SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
317                              WHERE user_id = ' . $user->data['user_id'];
318                          $db->sql_query($sql);
319   
320                          meta_refresh(3, $this->u_action);
321                          $message = $user->lang['PREFERENCES_UPDATED'] . '<br /><br />' . sprintf($user->lang['RETURN_UCP'], '<a href="' . $this->u_action . '">', '</a>');
322                          trigger_error($message);
323                      }
324   
325                      // Replace "error" strings with their real, localised form
326                      $error = array_map(array($user, 'lang'), $error);
327                  }
328   
329                  $sort_dir_text = array('a' => $user->lang['ASCENDING'], 'd' => $user->lang['DESCENDING']);
330   
331                  // Topic ordering options
332                  $limit_topic_days = array(0 => $user->lang['ALL_TOPICS'], 1 => $user->lang['1_DAY'], 7 => $user->lang['7_DAYS'], 14 => $user->lang['2_WEEKS'], 30 => $user->lang['1_MONTH'], 90 => $user->lang['3_MONTHS'], 180 => $user->lang['6_MONTHS'], 365 => $user->lang['1_YEAR']);
333   
334                  $sort_by_topic_text = array('a' => $user->lang['AUTHOR'], 't' => $user->lang['POST_TIME'], 'r' => $user->lang['REPLIES'], 's' => $user->lang['SUBJECT'], 'v' => $user->lang['VIEWS']);
335                  $sort_by_topic_sql = array('a' => 't.topic_first_poster_name', 't' => array('t.topic_last_post_time', 't.topic_last_post_id'), 'r' => 't.topic_posts_approved', 's' => 't.topic_title', 'v' => 't.topic_views');
336   
337                  // Post ordering options
338                  $limit_post_days = array(0 => $user->lang['ALL_POSTS'], 1 => $user->lang['1_DAY'], 7 => $user->lang['7_DAYS'], 14 => $user->lang['2_WEEKS'], 30 => $user->lang['1_MONTH'], 90 => $user->lang['3_MONTHS'], 180 => $user->lang['6_MONTHS'], 365 => $user->lang['1_YEAR']);
339   
340                  $sort_by_post_text = array('a' => $user->lang['AUTHOR'], 't' => $user->lang['POST_TIME'], 's' => $user->lang['SUBJECT']);
341                  $sort_by_post_sql = array('a' => 'u.username_clean', 't' => 'p.post_id', 's' => 'p.post_subject');
342   
343                  $_options = array('topic', 'post');
344                  foreach ($_options as $sort_option)
345                  {
346                      ${'s_limit_' . $sort_option . '_days'} = '<select name="' . $sort_option . '_st">';
347                      foreach (${'limit_' . $sort_option . '_days'} as $day => $text)
348                      {
349                          $selected = ($data[$sort_option . '_st'] == $day) ? ' selected="selected"' : '';
350                          ${'s_limit_' . $sort_option . '_days'} .= '<option value="' . $day . '"' . $selected . '>' . $text . '</option>';
351                      }
352                      ${'s_limit_' . $sort_option . '_days'} .= '</select>';
353   
354                      ${'s_sort_' . $sort_option . '_key'} = '<select name="' . $sort_option . '_sk">';
355                      foreach (${'sort_by_' . $sort_option . '_text'} as $key => $text)
356                      {
357                          $selected = ($data[$sort_option . '_sk'] == $key) ? ' selected="selected"' : '';
358                          ${'s_sort_' . $sort_option . '_key'} .= '<option value="' . $key . '"' . $selected . '>' . $text . '</option>';
359                      }
360                      ${'s_sort_' . $sort_option . '_key'} .= '</select>';
361   
362                      ${'s_sort_' . $sort_option . '_dir'} = '<select name="' . $sort_option . '_sd">';
363                      foreach ($sort_dir_text as $key => $value)
364                      {
365                          $selected = ($data[$sort_option . '_sd'] == $key) ? ' selected="selected"' : '';
366                          ${'s_sort_' . $sort_option . '_dir'} .= '<option value="' . $key . '"' . $selected . '>' . $value . '</option>';
367                      }
368                      ${'s_sort_' . $sort_option . '_dir'} .= '</select>';
369                  }
370   
371                  /**
372                  * Run code before view form is displayed
373                  *
374                  * @event core.ucp_prefs_view_after
375                  * @var    bool    submit                Do we display the form only
376                  *                                    or did the user press submit
377                  * @var    array    data                Array with current ucp options data
378                  * @var    array    sort_dir_text        Array with sort dir language strings
379                  * @var    array    limit_topic_days    Topic ordering options
380                  * @var    array    sort_by_topic_text    Topic ordering language strings
381                  * @var    array    sort_by_topic_sql    Topic ordering sql
382                  * @var    array    limit_post_days        Post ordering options
383                  * @var    array    sort_by_post_text    Post ordering language strings
384                  * @var    array    sort_by_post_sql    Post ordering sql
385                  * @var    array    _options            Sort options
386                  * @var    string    s_limit_topic_days    Sort limit topic by days select box
387                  * @var    string    s_sort_topic_key    Sort topic key select box
388                  * @var    string    s_sort_topic_dir    Sort topic dir select box
389                  * @var    string    s_limit_post_days    Sort limit post by days select box
390                  * @var    string    s_sort_post_key        Sort post key select box
391                  * @var    string    s_sort_post_dir        Sort post dir select box
392                  * @since 3.1.8-RC1
393                  */
394                  $vars = array(
395                      'submit',
396                      'data',
397                      'sort_dir_text',
398                      'limit_topic_days',
399                      'sort_by_topic_text',
400                      'sort_by_topic_sql',
401                      'limit_post_days',
402                      'sort_by_post_text',
403                      'sort_by_post_sql',
404                      '_options',
405                      's_limit_topic_days',
406                      's_sort_topic_key',
407                      's_sort_topic_dir',
408                      's_limit_post_days',
409                      's_sort_post_key',
410                      's_sort_post_dir',
411                  );
412                  extract($phpbb_dispatcher->trigger_event('core.ucp_prefs_view_after', compact($vars)));
413   
414                  $template->assign_vars(array(
415                      'ERROR'                => (sizeof($error)) ? implode('<br />', $error) : '',
416   
417                      'S_IMAGES'            => $data['images'],
418                      'S_FLASH'            => $data['flash'],
419                      'S_SMILIES'            => $data['smilies'],
420                      'S_SIGS'            => $data['sigs'],
421                      'S_AVATARS'            => $data['avatars'],
422                      'S_DISABLE_CENSORS'    => $data['wordcensor'],
423   
424                      'S_CHANGE_CENSORS'        => ($auth->acl_get('u_chgcensors') && $config['allow_nocensors']) ? true : false,
425   
426                      'S_TOPIC_SORT_DAYS'        => $s_limit_topic_days,
427                      'S_TOPIC_SORT_KEY'        => $s_sort_topic_key,
428                      'S_TOPIC_SORT_DIR'        => $s_sort_topic_dir,
429                      'S_POST_SORT_DAYS'        => $s_limit_post_days,
430                      'S_POST_SORT_KEY'        => $s_sort_post_key,
431                      'S_POST_SORT_DIR'        => $s_sort_post_dir)
432                  );
433   
434              break;
435   
436              case 'post':
437   
438                  $data = array(
439                      'bbcode'    => $request->variable('bbcode', $user->optionget('bbcode')),
440                      'smilies'    => $request->variable('smilies', $user->optionget('smilies')),
441                      'sig'        => $request->variable('sig', $user->optionget('attachsig')),
442                      'notify'    => $request->variable('notify', (bool) $user->data['user_notify']),
443                  );
444                  add_form_key('ucp_prefs_post');
445   
446                  /**
447                  * Add UCP edit posting defaults data before they are assigned to the template or submitted
448                  *
449                  * To assign data to the template, use $template->assign_vars()
450                  *
451                  * @event core.ucp_prefs_post_data
452                  * @var    bool    submit        Do we display the form only
453                  *                            or did the user press submit
454                  * @var    array    data        Array with current ucp options data
455                  * @since 3.1.0-a1
456                  */
457                  $vars = array('submit', 'data');
458                  extract($phpbb_dispatcher->trigger_event('core.ucp_prefs_post_data', compact($vars)));
459   
460                  if ($submit)
461                  {
462                      if (check_form_key('ucp_prefs_post'))
463                      {
464                          $user->optionset('bbcode', $data['bbcode']);
465                          $user->optionset('smilies', $data['smilies']);
466                          $user->optionset('attachsig', $data['sig']);
467   
468                          $sql_ary = array(
469                              'user_options'    => $user->data['user_options'],
470                              'user_notify'    => $data['notify'],
471                          );
472   
473                          /**
474                          * Update UCP edit posting defaults data on form submit
475                          *
476                          * @event core.ucp_prefs_post_update_data
477                          * @var    array    data        Submitted display options data
478                          * @var    array    sql_ary        Display options data we update
479                          * @since 3.1.0-a1
480                          */
481                          $vars = array('data', 'sql_ary');
482                          extract($phpbb_dispatcher->trigger_event('core.ucp_prefs_post_update_data', compact($vars)));
483   
484                          $sql = 'UPDATE ' . USERS_TABLE . '
485                              SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
486                              WHERE user_id = ' . $user->data['user_id'];
487                          $db->sql_query($sql);
488   
489                          $msg = $user->lang['PREFERENCES_UPDATED'];
490                      }
491                      else
492                      {
493                          $msg = $user->lang['FORM_INVALID'];
494                      }
495                      meta_refresh(3, $this->u_action);
496                      $message = $msg . '<br /><br />' . sprintf($user->lang['RETURN_UCP'], '<a href="' . $this->u_action . '">', '</a>');
497                      trigger_error($message);
498                  }
499   
500                  $template->assign_vars(array(
501                      'S_BBCODE'    => $data['bbcode'],
502                      'S_SMILIES'    => $data['smilies'],
503                      'S_SIG'        => $data['sig'],
504                      'S_NOTIFY'    => $data['notify'])
505                  );
506              break;
507          }
508   
509          /**
510          * Modify UCP preferences data before the page load
511          *
512          * @event core.ucp_prefs_modify_common
513          * @var    array    data        Array with current/submitted UCP options data
514          * @var    array    error        Errors data
515          * @var    string    mode        UCP prefs operation mode
516          * @var    string    s_hidden_fields        Hidden fields data
517          * @since 3.1.0-RC3
518          */
519          $vars = array(
520              'data',
521              'error',
522              'mode',
523              's_hidden_fields',
524          );
525          extract($phpbb_dispatcher->trigger_event('core.ucp_prefs_modify_common', compact($vars)));
526   
527          $template->assign_vars(array(
528              'L_TITLE'            => $user->lang['UCP_PREFS_' . strtoupper($mode)],
529   
530              'S_HIDDEN_FIELDS'    => $s_hidden_fields,
531              'S_UCP_ACTION'        => $this->u_action)
532          );
533   
534          $this->tpl_name = 'ucp_prefs_' . $mode;
535          $this->page_title = 'UCP_PREFS_' . strtoupper($mode);
536      }
537  }
538