Vergleich inc/functions.php - 1.8.18 - 1.8.22

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 624Zeile 624
	// Guests get a special string
else
{

	// Guests get a special string
else
{

		return md5($session->useragent.$mybb->config['database']['username'].$mybb->settings['internal']['encryption_key']);

		return md5($session->sid.$mybb->config['database']['username'].$mybb->settings['internal']['encryption_key']);

	}
}


	}
}


Zeile 3456Zeile 3456
{
global $mybb;


{
global $mybb;


	$subscription_methods = array('dont', 'none', 'email', 'pm'); // Define methods

	$subscription_methods = array('', 'none', 'email', 'pm'); // Define methods

	$subscription_method = (int)$mybb->user['subscriptionmethod']; // Set user default

// If no user default method available then reset method

	$subscription_method = (int)$mybb->user['subscriptionmethod']; // Set user default

// If no user default method available then reset method

Zeile 3489Zeile 3489
			$subscription_method = (int)$subscription['notification'] + 1;
}
}

			$subscription_method = (int)$subscription['notification'] + 1;
}
}

	



	return $subscription_methods[$subscription_method];
}


	return $subscription_methods[$subscription_method];
}


Zeile 4839Zeile 4839
	{
$options = array_merge(array(
'minutes' => false,

	{
$options = array_merge(array(
'minutes' => false,

			'seconds' => false
), $options);

			'seconds' => false
), $options);

	}
elseif($days > 0)
{

	}
elseif($days > 0)
{

Zeile 5008Zeile 5008
	if($groupslist != $user['additionalgroups'])
{
$db->update_query("users", array('additionalgroups' => $groupslist), "uid='".(int)$uid."'");

	if($groupslist != $user['additionalgroups'])
{
$db->update_query("users", array('additionalgroups' => $groupslist), "uid='".(int)$uid."'");

		return true;
}

		return true;
}

	else
{
return false;

	else
{
return false;

Zeile 5018Zeile 5018

/**
* Remove a user from a specific additional user group


/**
* Remove a user from a specific additional user group

 *

 *

 * @param int $uid The user ID
* @param int $leavegroup The user group ID
*/

 * @param int $uid The user ID
* @param int $leavegroup The user group ID
*/

Zeile 5049Zeile 5049

$dispupdate = "";
if($leavegroup == $user['displaygroup'])


$dispupdate = "";
if($leavegroup == $user['displaygroup'])

	{

	{

		$dispupdate = ", displaygroup=usergroup";
}


		$dispupdate = ", displaygroup=usergroup";
}


Zeile 5092Zeile 5092
	elseif(!empty($_SERVER['PATH_INFO']))
{
$location = htmlspecialchars_uni($_SERVER['PATH_INFO']);

	elseif(!empty($_SERVER['PATH_INFO']))
{
$location = htmlspecialchars_uni($_SERVER['PATH_INFO']);

	}
else
{

	}
else
{

		$location = htmlspecialchars_uni($_ENV['PATH_INFO']);
}


		$location = htmlspecialchars_uni($_ENV['PATH_INFO']);
}


Zeile 5262Zeile 5262
 * @return boolean|array False if no valid theme, Array with the theme data otherwise
*/
function get_theme($tid)

 * @return boolean|array False if no valid theme, Array with the theme data otherwise
*/
function get_theme($tid)

{

{

	global $tcache, $db;

if(!is_array($tcache))

	global $tcache, $db;

if(!is_array($tcache))

Zeile 5514Zeile 5514
		$lang->thursday,
$lang->friday,
$lang->saturday

		$lang->thursday,
$lang->friday,
$lang->saturday

	);


	);


	$bmonth = array(
$lang->month_1,
$lang->month_2,

	$bmonth = array(
$lang->month_1,
$lang->month_2,

Zeile 6431Zeile 6431
	}
// This user has a cookie lockout, show waiting time
elseif($mybb->cookies['lockoutexpiry'] && $mybb->cookies['lockoutexpiry'] > $now)

	}
// This user has a cookie lockout, show waiting time
elseif($mybb->cookies['lockoutexpiry'] && $mybb->cookies['lockoutexpiry'] > $now)

	{	

	{

		if($fatal)
{
$secsleft = (int)($mybb->cookies['lockoutexpiry'] - $now);
$hoursleft = floor($secsleft / 3600);
$minsleft = floor(($secsleft / 60) % 60);
$secsleft = floor($secsleft % 60);

		if($fatal)
{
$secsleft = (int)($mybb->cookies['lockoutexpiry'] - $now);
$hoursleft = floor($secsleft / 3600);
$minsleft = floor(($secsleft / 60) % 60);
$secsleft = floor($secsleft % 60);





			error($lang->sprintf($lang->failed_login_wait, $hoursleft, $minsleft, $secsleft));
}


			error($lang->sprintf($lang->failed_login_wait, $hoursleft, $minsleft, $secsleft));
}


Zeile 6459Zeile 6459
			$db->update_query("users", array(
"loginlockoutexpiry" => $attempts['loginlockoutexpiry']
), "uid='{$uid}'");

			$db->update_query("users", array(
"loginlockoutexpiry" => $attempts['loginlockoutexpiry']
), "uid='{$uid}'");

		}

		}


if(empty($mybb->cookies['lockoutexpiry']))
{
$failedtime = $attempts['loginlockoutexpiry'];
}
else


if(empty($mybb->cookies['lockoutexpiry']))
{
$failedtime = $attempts['loginlockoutexpiry'];
}
else

		{

		{

			$failedtime = $mybb->cookies['lockoutexpiry'];
}

// Are we still locked out?
if($attempts['loginlockoutexpiry'] > $now)

			$failedtime = $mybb->cookies['lockoutexpiry'];
}

// Are we still locked out?
if($attempts['loginlockoutexpiry'] > $now)

		{	

		{

			if($fatal)
{
$secsleft = (int)($attempts['loginlockoutexpiry'] - $now);

			if($fatal)
{
$secsleft = (int)($attempts['loginlockoutexpiry'] - $now);

Zeile 6487Zeile 6487
		}
// Unlock if enough time has passed
else {

		}
// Unlock if enough time has passed
else {





			if($uid > 0)
{
$db->update_query("users", array(

			if($uid > 0)
{
$db->update_query("users", array(

Zeile 6505Zeile 6505

// User can attempt another login
return $attempts['loginattempts'];


// User can attempt another login
return $attempts['loginattempts'];

}


}


/**
* Validates the format of an email address.
*
* @param string $email The string to check.
* @return boolean True when valid, false when invalid.

/**
* Validates the format of an email address.
*
* @param string $email The string to check.
* @return boolean True when valid, false when invalid.

 */

 */

function validate_email_format($email)
{
return filter_var($email, FILTER_VALIDATE_EMAIL) !== false;

function validate_email_format($email)
{
return filter_var($email, FILTER_VALIDATE_EMAIL) !== false;

Zeile 6539Zeile 6539
	if($db->fetch_field($query, "emails") > 0)
{
return true;

	if($db->fetch_field($query, "emails") > 0)
{
return true;

	}

return false;

	}

return false;

}

/**

}

/**

Zeile 6551Zeile 6551
function rebuild_settings()
{
global $db, $mybb;

function rebuild_settings()
{
global $db, $mybb;





	$query = $db->simple_select("settings", "value, name", "", array(
'order_by' => 'title',
'order_dir' => 'ASC',
));

	$query = $db->simple_select("settings", "value, name", "", array(
'order_by' => 'title',
'order_dir' => 'ASC',
));





	$settings = '';
while($setting = $db->fetch_array($query))
{
$mybb->settings[$setting['name']] = $setting['value'];

	$settings = '';
while($setting = $db->fetch_array($query))
{
$mybb->settings[$setting['name']] = $setting['value'];

 

$setting['name'] = addcslashes($setting['name'], "\\'");

		$setting['value'] = addcslashes($setting['value'], '\\"$');
$settings .= "\$settings['{$setting['name']}'] = \"{$setting['value']}\";\n";
}

		$setting['value'] = addcslashes($setting['value'], '\\"$');
$settings .= "\$settings['{$setting['name']}'] = \"{$setting['value']}\";\n";
}

Zeile 6704Zeile 6706
 *
* @param int $src Decimal value of a character reference
* @return string|bool

 *
* @param int $src Decimal value of a character reference
* @return string|bool

 */

 */

function dec_to_utf8($src)
{
$dest = '';

function dec_to_utf8($src)
{
$dest = '';

Zeile 6867Zeile 6869
	}

// Still here - good ip

	}

// Still here - good ip

	return false;

	return false;

}

/**

}

/**

Zeile 7112Zeile 7114

if(in_array(curl_getinfo($ch, CURLINFO_HTTP_CODE), array(301, 302)))
{


if(in_array(curl_getinfo($ch, CURLINFO_HTTP_CODE), array(301, 302)))
{

				preg_match('/Location:(.*?)(?:\n|$)/', $header, $matches);

				preg_match('/^Location:(.*?)(?:\n|$)/im', $header, $matches);


if($matches)
{


if($matches)
{

Zeile 7237Zeile 7239

if($max_redirects > 0 && (strstr($status_line, ' 301 ') || strstr($status_line, ' 302 ')))
{


if($max_redirects > 0 && (strstr($status_line, ' 301 ') || strstr($status_line, ' 302 ')))
{

			preg_match('/Location:(.*?)(?:\n|$)/', $header, $matches);

			preg_match('/^Location:(.*?)(?:\n|$)/im', $header, $matches);


if($matches)
{


if($matches)
{

Zeile 8895Zeile 8897
		}
return $values;
}

		}
return $values;
}

 
}

/**
* Performs a timing attack safe string comparison.
*
* @param string $known_string The first string to be compared.
* @param string $user_string The second, user-supplied string to be compared.
* @return bool Result of the comparison.
*/
function my_hash_equals($known_string, $user_string)
{
if(version_compare(PHP_VERSION, '5.6.0', '>='))
{
return hash_equals($known_string, $user_string);
}
else
{
$known_string_length = my_strlen($known_string);
$user_string_length = my_strlen($user_string);

if($user_string_length != $known_string_length)
{
return false;
}

$result = 0;

for($i = 0; $i < $known_string_length; $i++)
{
$result |= ord($known_string[$i]) ^ ord($user_string[$i]);
}

return $result === 0;
}
}

/**
* Retrieves all referrals for a specified user
*
* @param int uid
* @param int start position
* @param int total entries
* @param bool false (default) only return display info, true for all info
* @return array
*/
function get_user_referrals($uid, $start=0, $limit=0, $full=false)
{
global $db;

$referrals = $query_options = array();
$uid = (int) $uid;

if($uid === 0)
{
return $referrals;
}

if($start && $limit)
{
$query_options['limit_start'] = $start;
}

if($limit)
{
$query_options['limit'] = $limit;
}

$fields = 'uid, username, usergroup, displaygroup, regdate';
if($full === true)
{
$fields = '*';
}

$query = $db->simple_select('users', $fields, "referrer='{$uid}'", $query_options);

while($referral = $db->fetch_array($query))
{
$referrals[] = $referral;
}

return $referrals;

}

}