From 1665434853fb09e70337d23955e1c9a5f3f0d19d Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Wed, 7 Jul 2010 23:42:54 +0100 Subject: [feature/new-tz-handling] Remove code using legacy timezone properties. Code accessing the legacy user::$timezone and user::$dst properties has been removed and replaced with code utilising user::create_datetime(). Changed by Oleg: in viewtopic, memberlist and index use getTimestamp() + getOffset(). We show members that have birthdays on the specified date. getTimestamp() returns the current date in UTC. We add getOffset() to obtain the current local time in the viewing user's timezone. Then we find members having birthday on this date. Changed by Oleg again: Take leap year status out of the datetime object we have, this seems like it should work as one would expect. PHPBB3-9558 --- phpBB/memberlist.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'phpBB/memberlist.php') diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index 556db2fa5d..ea8a6fc44b 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -1684,7 +1684,8 @@ function show_profile($data, $user_notes_enabled = false, $warn_user_enabled = f if ($bday_year) { - $now = phpbb_gmgetdate(time() + $user->timezone + $user->dst); + $now = $user->create_datetime(); + $now = phpbb_gmgetdate($now->getTimestamp() + $now->getOffset()); $diff = $now['mon'] - $bday_month; if ($diff == 0) -- cgit v1.2.1 From 922147f05a75d5a0e00b34f0102bc014583df984 Mon Sep 17 00:00:00 2001 From: Drae Date: Wed, 4 Jul 2012 23:19:59 +0100 Subject: [ticket/10968] Render pagination within the template Since phpBB 2 pagination has been rendered mostly within the source. This limits just what designers can do with pagination. The current form is also questionable in terms of "best practice". The aim is to move rendering completely to the template via the use of a block element. Enabling S_ template vars also allows for control over specific aspects of the pagination output such as next, previous, active and ellipsis. Related to this - merging the capabilities of the topic_generate_pagination with generate_pagination removes an element of duplication. PHPBB3-10968 --- phpBB/memberlist.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'phpBB/memberlist.php') diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index ed87b6c448..f837a21666 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -1572,9 +1572,10 @@ switch ($mode) } } + generate_pagination($pagination_url, $total_users, $config['topics_per_page'], $start); + // Generate page $template->assign_vars(array( - 'PAGINATION' => generate_pagination($pagination_url, $total_users, $config['topics_per_page'], $start), 'PAGE_NUMBER' => on_page($total_users, $config['topics_per_page'], $start), 'TOTAL_USERS' => $user->lang('LIST_USERS', (int) $total_users), -- cgit v1.2.1 From dc71c0629e60acccd39b59538f2e7f5b09b32509 Mon Sep 17 00:00:00 2001 From: Drae Date: Thu, 5 Jul 2012 18:56:14 +0100 Subject: [feature/pagination-as-list] Various fixes and improvements Extracted common template code for prosilver as per subsilver2. Various other fixups and oversight corrections, changed name of the "new" template function and re-introduced existing version. Altered on_page to compensate for removal of some templating vars from pagination routine. PHPBB3-10968 --- phpBB/memberlist.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'phpBB/memberlist.php') diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index f837a21666..0957763873 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -1572,11 +1572,11 @@ switch ($mode) } } - generate_pagination($pagination_url, $total_users, $config['topics_per_page'], $start); + generate_template_pagination($pagination_url, 'pagination', $total_users, $config['topics_per_page'], $start); // Generate page $template->assign_vars(array( - 'PAGE_NUMBER' => on_page($total_users, $config['topics_per_page'], $start), + 'PAGE_NUMBER' => on_page($pagination_url, $total_users, $config['topics_per_page'], $start), 'TOTAL_USERS' => $user->lang('LIST_USERS', (int) $total_users), 'PROFILE_IMG' => $user->img('icon_user_profile', $user->lang['PROFILE']), -- cgit v1.2.1 From cf4d6e926dd83d61073ac355cdaf7778a18dcbf8 Mon Sep 17 00:00:00 2001 From: Drae Date: Fri, 6 Jul 2012 14:44:04 +0100 Subject: [feature/pagination-as-list] Rename and deprecate functions Returned and marked deprecated topic_generate_pagination. Rename new function in line with coding guidelines. PHPBB3-10968 --- phpBB/memberlist.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'phpBB/memberlist.php') diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index 0957763873..c11aefcc99 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -1572,7 +1572,7 @@ switch ($mode) } } - generate_template_pagination($pagination_url, 'pagination', $total_users, $config['topics_per_page'], $start); + phpbb_generate_template_pagination($pagination_url, 'pagination', $total_users, $config['topics_per_page'], $start); // Generate page $template->assign_vars(array( -- cgit v1.2.1 From 27d8aef528460e87efc90bc4fffc82c0d1fa87d9 Mon Sep 17 00:00:00 2001 From: Drae Date: Sun, 8 Jul 2012 21:07:28 +0100 Subject: [feature/pagination-as-list] Updates for nils comments Re-remove deprecated functions, change on_page to phpbb_on_page, add null returns, remove globals and pass as params. PHPBB3-10968 --- phpBB/memberlist.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'phpBB/memberlist.php') diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index c11aefcc99..52c4d2460b 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -1572,11 +1572,11 @@ switch ($mode) } } - phpbb_generate_template_pagination($pagination_url, 'pagination', $total_users, $config['topics_per_page'], $start); + phpbb_generate_template_pagination($template, $pagination_url, 'pagination', $total_users, $config['topics_per_page'], $start); // Generate page $template->assign_vars(array( - 'PAGE_NUMBER' => on_page($pagination_url, $total_users, $config['topics_per_page'], $start), + 'PAGE_NUMBER' => phpbb_on_page($template, $user, $pagination_url, $total_users, $config['topics_per_page'], $start), 'TOTAL_USERS' => $user->lang('LIST_USERS', (int) $total_users), 'PROFILE_IMG' => $user->img('icon_user_profile', $user->lang['PROFILE']), -- cgit v1.2.1 From 584d49459d22ebf47239fc97ad8358a5404dacf4 Mon Sep 17 00:00:00 2001 From: Drae Date: Thu, 12 Jul 2012 02:36:00 +0100 Subject: [feature/pagination-as-list] New parameter for name of start var Add a new parameter to hold the name of the start variable. This fulfills ticket PHPBB3-8535. PHPBB3-10968 --- phpBB/memberlist.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'phpBB/memberlist.php') diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index 52c4d2460b..8e762be0de 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -1572,7 +1572,7 @@ switch ($mode) } } - phpbb_generate_template_pagination($template, $pagination_url, 'pagination', $total_users, $config['topics_per_page'], $start); + phpbb_generate_template_pagination($template, $pagination_url, 'pagination', 'start', $total_users, $config['topics_per_page'], $start); // Generate page $template->assign_vars(array( -- cgit v1.2.1 From 9877ab1ff36dd66ccc517ffeb00832ff12ee7995 Mon Sep 17 00:00:00 2001 From: Oleg Pudeyev Date: Sat, 4 Feb 2012 07:12:00 -0500 Subject: [feature/events] Add core.memberlist_profile_data ledge. This is needed by the avatars on memberlist modification. PHPBB3-9550 --- phpBB/memberlist.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'phpBB/memberlist.php') diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index 4f9a8cdff3..0845eb23f6 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -1693,7 +1693,7 @@ function show_profile($data, $user_notes_enabled = false, $warn_user_enabled = f } // Dump it out to the template - return array( + $data = array( 'AGE' => $age, 'RANK_TITLE' => $rank_title, 'JOINED' => $user->format_date($data['user_regdate']), @@ -1741,6 +1741,13 @@ function show_profile($data, $user_notes_enabled = false, $warn_user_enabled = f 'L_VIEWING_PROFILE' => sprintf($user->lang['VIEWING_PROFILE'], $username), ); + + $vars = array('data'); + $event = new phpbb_event_data(compact($vars)); + $phpbb_dispatcher->dispatch('core.memberlist_profile_data', $event); + extract($event->get_data_filtered($vars)); + + return $data; } function _sort_last_active($first, $second) -- cgit v1.2.1 From ca8de4129cbedf8eff2d97350300f59b4bf47230 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Fri, 16 Mar 2012 00:49:38 +0100 Subject: [feature/events] Adding ledge memberlist_viewprofile Used by phpBB Gallery Note: this one is NOT obsoleted by the ledge in show_profile() PHPBB3-9550 --- phpBB/memberlist.php | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'phpBB/memberlist.php') diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index 0845eb23f6..108195dad8 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -575,6 +575,11 @@ switch ($mode) unset($module); } + $vars = array('member', 'user_notes_enabled', 'warn_user_enabled'); + $event = new phpbb_event_data(compact($vars)); + $phpbb_dispatcher->dispatch('core.memberlist_viewprofile', $event); + extract($event->get_data_filtered($vars)); + $template->assign_vars(show_profile($member, $user_notes_enabled, $warn_user_enabled)); // Custom Profile Fields -- cgit v1.2.1 From 365a71d63f01d6a8d65b5eafcd4d5fa2fb7ab0ac Mon Sep 17 00:00:00 2001 From: Oleg Pudeyev Date: Fri, 16 Mar 2012 02:12:29 -0400 Subject: [feature/events] Add missing dispatcher globalization. PHPBB3-9550 --- phpBB/memberlist.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'phpBB/memberlist.php') diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index 108195dad8..81369a9b57 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -1636,7 +1636,7 @@ page_footer(); */ function show_profile($data, $user_notes_enabled = false, $warn_user_enabled = false) { - global $config, $auth, $template, $user, $phpEx, $phpbb_root_path; + global $config, $auth, $template, $user, $phpEx, $phpbb_root_path, $phpbb_dispatcher; $username = $data['username']; $user_id = $data['user_id']; -- cgit v1.2.1 From 8af7d225ef481cd26e6fd7862847183d25727117 Mon Sep 17 00:00:00 2001 From: Michael Cullum Date: Tue, 20 Mar 2012 11:23:03 +0000 Subject: [feature/events] Change to use the new method of adding events PHPBB3-9550 --- phpBB/memberlist.php | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'phpBB/memberlist.php') diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index 81369a9b57..f0c0065261 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -576,9 +576,7 @@ switch ($mode) } $vars = array('member', 'user_notes_enabled', 'warn_user_enabled'); - $event = new phpbb_event_data(compact($vars)); - $phpbb_dispatcher->dispatch('core.memberlist_viewprofile', $event); - extract($event->get_data_filtered($vars)); + extract($phpbb_dispatcher->trigger_event('core.memberlist_viewprofile', compact($vars), $vars)); $template->assign_vars(show_profile($member, $user_notes_enabled, $warn_user_enabled)); @@ -1748,9 +1746,7 @@ function show_profile($data, $user_notes_enabled = false, $warn_user_enabled = f ); $vars = array('data'); - $event = new phpbb_event_data(compact($vars)); - $phpbb_dispatcher->dispatch('core.memberlist_profile_data', $event); - extract($event->get_data_filtered($vars)); + extract($phpbb_dispatcher->trigger_event('core.memberlist_profile_data', compact($vars), $vars)); return $data; } -- cgit v1.2.1 From 3f1b4e83aef7f7344cd551463b59de71bb4bd6fe Mon Sep 17 00:00:00 2001 From: Michael Cullum Date: Sat, 31 Mar 2012 13:39:41 +0100 Subject: [feature/events] Removing the third trigger_event parameter PHPBB3-9550 --- phpBB/memberlist.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'phpBB/memberlist.php') diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index f0c0065261..a417eaac1a 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -576,7 +576,7 @@ switch ($mode) } $vars = array('member', 'user_notes_enabled', 'warn_user_enabled'); - extract($phpbb_dispatcher->trigger_event('core.memberlist_viewprofile', compact($vars), $vars)); + extract($phpbb_dispatcher->trigger_event('core.memberlist_viewprofile', compact($vars))); $template->assign_vars(show_profile($member, $user_notes_enabled, $warn_user_enabled)); @@ -1746,7 +1746,7 @@ function show_profile($data, $user_notes_enabled = false, $warn_user_enabled = f ); $vars = array('data'); - extract($phpbb_dispatcher->trigger_event('core.memberlist_profile_data', compact($vars), $vars)); + extract($phpbb_dispatcher->trigger_event('core.memberlist_profile_data', compact($vars))); return $data; } -- cgit v1.2.1 From 4745d4ec6c5c25757818bf528f1019da4ebd2534 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 20 Jun 2012 16:01:51 +0200 Subject: [feature/php-events] Do not override the data parameter, so data is available PHPBB3-9550 --- phpBB/memberlist.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'phpBB/memberlist.php') diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index a417eaac1a..06c55e7956 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -1696,7 +1696,7 @@ function show_profile($data, $user_notes_enabled = false, $warn_user_enabled = f } // Dump it out to the template - $data = array( + $template_data = array( 'AGE' => $age, 'RANK_TITLE' => $rank_title, 'JOINED' => $user->format_date($data['user_regdate']), @@ -1745,10 +1745,10 @@ function show_profile($data, $user_notes_enabled = false, $warn_user_enabled = f 'L_VIEWING_PROFILE' => sprintf($user->lang['VIEWING_PROFILE'], $username), ); - $vars = array('data'); + $vars = array('data', 'template_data'); extract($phpbb_dispatcher->trigger_event('core.memberlist_profile_data', compact($vars))); - return $data; + return $template_data; } function _sort_last_active($first, $second) -- cgit v1.2.1 From a2c59bba858255e3dd9f0dd36983714bf33c27e0 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Thu, 2 Aug 2012 21:56:35 +0200 Subject: [feature/php-events] Fix naming, vars and docs of core.memberlist_view_profile PHPBB3-9550 --- phpBB/memberlist.php | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'phpBB/memberlist.php') diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index 06c55e7956..29a042409a 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -575,8 +575,25 @@ switch ($mode) unset($module); } - $vars = array('member', 'user_notes_enabled', 'warn_user_enabled'); - extract($phpbb_dispatcher->trigger_event('core.memberlist_viewprofile', compact($vars))); + /** + * Modify user data before we display the profile + * + * @event core.memberlist_view_profile + * @var array member Title of the index page + * @var bool user_notes_enabled Is the mcp user notes module + * enabled? + * @var bool warn_user_enabled Is the mcp warnings module + * enabled? + * @var bool zebra_enabled Is the ucp zebra module + * enabled? + * @var bool friends_enabled Is the ucp friends module + * enabled? + * @var bool foes_enabled Is the ucp foes module + * enabled? + * @since 3.1-A1 + */ + $vars = array('member', 'user_notes_enabled', 'warn_user_enabled', 'zebra_enabled', 'friends_enabled', 'foes_enabled'); + extract($phpbb_dispatcher->trigger_event('core.memberlist_view_profile', compact($vars))); $template->assign_vars(show_profile($member, $user_notes_enabled, $warn_user_enabled)); -- cgit v1.2.1 From fab13f75590e33beeda2a12bb9653b1fd0ec60bf Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Thu, 2 Aug 2012 22:05:39 +0200 Subject: [feature/php-events] Fix naming and docs of memberlist_prepare_profile_data PHPBB3-9550 --- phpBB/memberlist.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'phpBB/memberlist.php') diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index 29a042409a..e1e4517643 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -1762,8 +1762,16 @@ function show_profile($data, $user_notes_enabled = false, $warn_user_enabled = f 'L_VIEWING_PROFILE' => sprintf($user->lang['VIEWING_PROFILE'], $username), ); + /** + * Preparing user's data before displaying it in profile and memberlist + * + * @event core.memberlist_prepare_profile_data + * @var array data Array with user's data + * @var array template_data Template array with user's data + * @since 3.1-A1 + */ $vars = array('data', 'template_data'); - extract($phpbb_dispatcher->trigger_event('core.memberlist_profile_data', compact($vars))); + extract($phpbb_dispatcher->trigger_event('core.memberlist_prepare_profile_data', compact($vars))); return $template_data; } -- cgit v1.2.1 From f2c0b55665f815957fc773481511aceba2030f33 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Mon, 20 Aug 2012 10:07:05 +0200 Subject: [feature/php-events] Fix doc of core.memberlist_prepare_profile_data PHPBB3-9550 --- phpBB/memberlist.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'phpBB/memberlist.php') diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index e1e4517643..f142d182bc 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -1763,7 +1763,7 @@ function show_profile($data, $user_notes_enabled = false, $warn_user_enabled = f ); /** - * Preparing user's data before displaying it in profile and memberlist + * Preparing a user's data before displaying it in profile and memberlist * * @event core.memberlist_prepare_profile_data * @var array data Array with user's data -- cgit v1.2.1 From ceb5a40eecbc60577ce0735254a4a189d719302e Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Sat, 25 Aug 2012 14:53:21 +0200 Subject: [ticket/11023] Fix additional whitespaces that were added by PHPBB3-10968 PHPBB3-11023 --- phpBB/memberlist.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'phpBB/memberlist.php') diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index f142d182bc..d9ba147c70 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -1593,7 +1593,7 @@ switch ($mode) } phpbb_generate_template_pagination($template, $pagination_url, 'pagination', 'start', $total_users, $config['topics_per_page'], $start); - + // Generate page $template->assign_vars(array( 'PAGE_NUMBER' => phpbb_on_page($template, $user, $pagination_url, $total_users, $config['topics_per_page'], $start), -- cgit v1.2.1