mirror of
https://github.com/phpbb/phpbb.git
synced 2025-05-05 23:25:30 +02:00
Merge branch 'develop-olympus' into develop
* develop-olympus: [ticket/10243] Adding a few unit tests for phpbb_gmgetdate(). [ticket/10243] Call phpbb_gmgetdate() from various places. [ticket/10243] Adding wrapper function for getdate() for UTC timestamps.
This commit is contained in:
commit
a33b67fd1a
@ -206,6 +206,27 @@ function phpbb_mt_rand($min, $max)
|
||||
return ($min > $max) ? mt_rand($max, $min) : mt_rand($min, $max);
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrapper for getdate() which returns the equivalent array for UTC timestamps.
|
||||
*
|
||||
* @param int $time Unix timestamp (optional)
|
||||
*
|
||||
* @return array Returns an associative array of information related to the timestamp.
|
||||
* See http://www.php.net/manual/en/function.getdate.php
|
||||
*/
|
||||
function phpbb_gmgetdate($time = false)
|
||||
{
|
||||
if ($time === false)
|
||||
{
|
||||
$time = time();
|
||||
}
|
||||
|
||||
// getdate() interprets timestamps in local time.
|
||||
// What follows uses the fact that getdate() and
|
||||
// date('Z') balance each other out.
|
||||
return getdate($time - date('Z'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Return formatted string for filesizes
|
||||
*
|
||||
|
@ -84,7 +84,7 @@ $legend = implode(', ', $legend);
|
||||
$birthday_list = array();
|
||||
if ($config['load_birthdays'] && $config['allow_birthdays'])
|
||||
{
|
||||
$now = getdate(time() + $user->timezone + $user->dst - date('Z'));
|
||||
$now = phpbb_gmgetdate(time() + $user->timezone + $user->dst);
|
||||
$sql = 'SELECT u.user_id, u.username, u.user_colour, u.user_birthday
|
||||
FROM ' . USERS_TABLE . ' u
|
||||
LEFT JOIN ' . BANLIST_TABLE . " b ON (u.user_id = b.ban_userid)
|
||||
|
@ -1687,7 +1687,7 @@ function show_profile($data, $user_notes_enabled = false, $warn_user_enabled = f
|
||||
|
||||
if ($bday_year)
|
||||
{
|
||||
$now = getdate(time() + $user->timezone + $user->dst - date('Z'));
|
||||
$now = phpbb_gmgetdate(time() + $user->timezone + $user->dst);
|
||||
|
||||
$diff = $now['mon'] - $bday_month;
|
||||
if ($diff == 0)
|
||||
|
@ -956,7 +956,7 @@ $sql = $db->sql_build_query('SELECT', array(
|
||||
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
$now = getdate(time() + $user->timezone + $user->dst - date('Z'));
|
||||
$now = phpbb_gmgetdate(time() + $user->timezone + $user->dst);
|
||||
|
||||
// Posts are stored in the $rowset array while $attach_list, $user_cache
|
||||
// and the global bbcode_bitfield are built
|
||||
|
49
tests/wrapper/gmgetdate_test.php
Normal file
49
tests/wrapper/gmgetdate_test.php
Normal file
@ -0,0 +1,49 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package testing
|
||||
* @copyright (c) 2011 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
*
|
||||
*/
|
||||
|
||||
require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php';
|
||||
|
||||
class phpbb_wrapper_gmgetdate_test extends phpbb_test_case
|
||||
{
|
||||
public function test_gmgetdate()
|
||||
{
|
||||
$this->run_gmgetdate_assertion();
|
||||
$this->run_test_with_timezone('UTC');
|
||||
$this->run_test_with_timezone('Europe/Berlin');
|
||||
$this->run_test_with_timezone('America/Los_Angeles');
|
||||
$this->run_test_with_timezone('Antarctica/South_Pole');
|
||||
}
|
||||
|
||||
protected function run_test_with_timezone($timezone_identifier)
|
||||
{
|
||||
$current_timezone = date_default_timezone_get();
|
||||
|
||||
date_default_timezone_set($timezone_identifier);
|
||||
$this->run_gmgetdate_assertion();
|
||||
date_default_timezone_set($current_timezone);
|
||||
}
|
||||
|
||||
protected function run_gmgetdate_assertion()
|
||||
{
|
||||
$expected = time();
|
||||
|
||||
$date_array = phpbb_gmgetdate($expected);
|
||||
|
||||
$actual = gmmktime(
|
||||
$date_array['hours'],
|
||||
$date_array['minutes'],
|
||||
$date_array['seconds'],
|
||||
$date_array['mon'],
|
||||
$date_array['mday'],
|
||||
$date_array['year']
|
||||
);
|
||||
|
||||
$this->assertEquals($expected, $actual);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user