Zeile 6 | Zeile 6 |
---|
* Website: http://www.mybboard.net * License: http://www.mybboard.net/about/license *
|
* Website: http://www.mybboard.net * License: http://www.mybboard.net/about/license *
|
* $Id: functions.php 4182 2008-09-07 18:05:30Z Tikitiki $
| * $Id: functions.php 4279 2008-11-26 00:01:25Z Tikitiki $
|
*/
/**
| */
/**
|
Zeile 409 | Zeile 409 |
---|
* @param string The from address of the email, if blank, the board name will be used. * @param string The chracter set being used to send this email. * @param boolean Do we wish to keep the connection to the mail server alive to send more than one message (SMTP only)
|
* @param string The from address of the email, if blank, the board name will be used. * @param string The chracter set being used to send this email. * @param boolean Do we wish to keep the connection to the mail server alive to send more than one message (SMTP only)
|
| * @param string The format of the email to be sent (text or html). text is default * @param string The text message of the email if being sent in html format, for email clients that don't support html * @param string The email address to return to. Defaults to admin return email address.
|
*/
|
*/
|
function my_mail($to, $subject, $message, $from="", $charset="", $headers="", $keep_alive=false, $format="text", $message_text="")
| function my_mail($to, $subject, $message, $from="", $charset="", $headers="", $keep_alive=false, $format="text", $message_text="", $return_email="")
|
{ global $mybb; static $mail;
| { global $mybb; static $mail;
|
Zeile 990 | Zeile 993 |
---|
function usergroup_permissions($gid=0) { global $cache, $groupscache, $grouppermignore, $groupzerogreater;
|
function usergroup_permissions($gid=0) { global $cache, $groupscache, $grouppermignore, $groupzerogreater;
|
if(!is_array($groupscache)) { $groupscache = $cache->read("usergroups"); }
$groups = explode(",", $gid);
| if(!is_array($groupscache)) { $groupscache = $cache->read("usergroups"); }
$groups = explode(",", $gid);
|
if(count($groups) == 1) {
| if(count($groups) == 1) {
|
Zeile 1005 | Zeile 1008 |
---|
}
foreach($groups as $gid)
|
}
foreach($groups as $gid)
|
{
| {
|
if(trim($gid) == "" || !$groupscache[$gid]) { continue; }
|
if(trim($gid) == "" || !$groupscache[$gid]) { continue; }
|
|
|
foreach($groupscache[$gid] as $perm => $access) { if(!in_array($perm, $grouppermignore))
| foreach($groupscache[$gid] as $perm => $access) { if(!in_array($perm, $grouppermignore))
|
Zeile 1020 | Zeile 1023 |
---|
$permbit = $usergroup[$perm]; } else
|
$permbit = $usergroup[$perm]; } else
|
{
| {
|
$permbit = "";
|
$permbit = "";
|
}
| }
|
|
|
if(in_array($perm, $groupzerogreater))
| // 0 represents unlimited for numerical group permissions (i.e. private message limit) so take that into account. if(in_array($perm, $groupzerogreater) && ($access == 0 || $usergroup[$perm] == 0))
|
{
|
{
|
if($access == 0) { $usergroup[$perm] = 0; continue; } }
| $usergroup[$perm] = 0; continue; }
|
if($access > $permbit || ($access == "yes" && $permbit == "no") || !$permbit) // Keep yes/no for compatibility? {
| if($access > $permbit || ($access == "yes" && $permbit == "no") || !$permbit) // Keep yes/no for compatibility? {
|
Zeile 1057 | Zeile 1058 |
---|
if(!is_array($groupscache)) { $groupscache = $cache->read("usergroups");
|
if(!is_array($groupscache)) { $groupscache = $cache->read("usergroups");
|
}
| }
|
$displaygroup = array(); $group = $groupscache[$gid];
foreach($displaygroupfields as $field)
|
$displaygroup = array(); $group = $groupscache[$gid];
foreach($displaygroupfields as $field)
|
{
| {
|
$displaygroup[$field] = $group[$field]; }
| $displaygroup[$field] = $group[$field]; }
|
Zeile 1083 | Zeile 1084 |
---|
global $db, $cache, $groupscache, $forum_cache, $fpermcache, $mybb, $usercache, $cached_forum_permissions_permissions, $cached_forum_permissions;
if($uid == 0)
|
global $db, $cache, $groupscache, $forum_cache, $fpermcache, $mybb, $usercache, $cached_forum_permissions_permissions, $cached_forum_permissions;
if($uid == 0)
|
{
| {
|
$uid = $mybb->user['uid']; }
if(!$gid || $gid == 0) // If no group, we need to fetch it { if($uid != 0 && $uid != $mybb->user['uid'])
|
$uid = $mybb->user['uid']; }
if(!$gid || $gid == 0) // If no group, we need to fetch it { if($uid != 0 && $uid != $mybb->user['uid'])
|
{
| {
|
if($usercache[$uid]) { $query = $db->simple_select("users", "*", "uid='$uid'"); $usercache[$uid] = $db->fetch_array($query);
|
if($usercache[$uid]) { $query = $db->simple_select("users", "*", "uid='$uid'"); $usercache[$uid] = $db->fetch_array($query);
|
}
| }
|
$gid = $usercache[$uid]['usergroup'].",".$usercache[$uid]['additionalgroups']; $groupperms = usergroup_permissions($gid); } else { $gid = $mybb->user['usergroup'];
|
$gid = $usercache[$uid]['usergroup'].",".$usercache[$uid]['additionalgroups']; $groupperms = usergroup_permissions($gid); } else { $gid = $mybb->user['usergroup'];
|
|
|
if(isset($mybb->user['additionalgroups'])) { $gid .= ",".$mybb->user['additionalgroups']; }
|
if(isset($mybb->user['additionalgroups'])) { $gid .= ",".$mybb->user['additionalgroups']; }
|
|
|
$groupperms = $mybb->usergroup;
|
$groupperms = $mybb->usergroup;
|
} }
if(!is_array($forum_cache)) { $forum_cache = cache_forums();
if(!$forum_cache) { return false;
| } }
if(!is_array($forum_cache)) { $forum_cache = cache_forums();
if(!$forum_cache) { return false;
|
} }
| } }
|
Zeile 1243 | Zeile 1244 |
---|
$parents = explode(',', $forum_cache[$fid]['parentlist']); rsort($parents); if(!empty($parents))
|
$parents = explode(',', $forum_cache[$fid]['parentlist']); rsort($parents); if(!empty($parents))
|
{
| {
|
foreach($parents as $parent_id) { if($parent_id == $fid || $parent_id == $pid)
| foreach($parents as $parent_id) { if($parent_id == $fid || $parent_id == $pid)
|
Zeile 1367 | Zeile 1368 |
---|
} if($uid == 0)
|
} if($uid == 0)
|
{
| {
|
return false; }
| return false; }
|
Zeile 1382 | Zeile 1383 |
---|
{ $modcache = $cache->read('moderators'); if(!empty($modcache))
|
{ $modcache = $cache->read('moderators'); if(!empty($modcache))
|
{
| {
|
foreach($modcache as $modusers) { if(isset($modusers[$uid]) && $modusers[$uid]['mid']) { return true; }
|
foreach($modcache as $modusers) { if(isset($modusers[$uid]) && $modusers[$uid]['mid']) { return true; }
|
} }
| } }
|
return false; } else
| return false; } else
|
Zeile 1413 | Zeile 1414 |
---|
} } }
|
} } }
|
}
| }
|
}
/**
| }
/**
|
Zeile 1429 | Zeile 1430 |
---|
if($mybb->input['icon']) { $icon = $mybb->input['icon'];
|
if($mybb->input['icon']) { $icon = $mybb->input['icon'];
|
}
| }
|
$no_icons_checked = " checked=\"checked\""; // read post icons from cache, and sort them accordingly
| $no_icons_checked = " checked=\"checked\""; // read post icons from cache, and sort them accordingly
|
Zeile 1458 | Zeile 1459 |
---|
{ $iconlist .= "<br />"; $listed = 0;
|
{ $iconlist .= "<br />"; $listed = 0;
|
} }
| } }
|
eval("\$posticons = \"".$templates->get("posticons")."\";");
return $posticons;
| eval("\$posticons = \"".$templates->get("posticons")."\";");
return $posticons;
|
Zeile 1484 | Zeile 1485 |
---|
}
if($expires == -1)
|
}
if($expires == -1)
|
{
| {
|
$expires = 0; } elseif($expires == "" || $expires == null)
| $expires = 0; } elseif($expires == "" || $expires == null)
|
Zeile 1492 | Zeile 1493 |
---|
if($mybb->user['remember'] == 0) { $expires = 0;
|
if($mybb->user['remember'] == 0) { $expires = 0;
|
}
| }
|
else { $expires = TIME_NOW + (60*60*24*365); // Make the cookie expire in a years time
| else { $expires = TIME_NOW + (60*60*24*365); // Make the cookie expire in a years time
|
Zeile 1529 | Zeile 1530 |
---|
{ $cookie .= "; HttpOnly"; }
|
{ $cookie .= "; HttpOnly"; }
|
|
|
$mybb->cookies[$name] = $value;
|
$mybb->cookies[$name] = $value;
|
|
|
header($cookie, false); }
/** * Unset a cookie set by MyBB.
|
header($cookie, false); }
/** * Unset a cookie set by MyBB.
|
*
| *
|
* @param string The cookie identifier. */ function my_unsetcookie($name)
| * @param string The cookie identifier. */ function my_unsetcookie($name)
|
Zeile 1552 | Zeile 1553 |
---|
/** * Get the contents from a serialised cookie array.
|
/** * Get the contents from a serialised cookie array.
|
* * @param string The cookie identifier. * @param int The cookie content id.
| * * @param string The cookie identifier. * @param int The cookie content id.
|
* @return array|boolean The cookie id's content array or false when non-existent. */ function my_get_array_cookie($name, $id)
| * @return array|boolean The cookie id's content array or false when non-existent. */ function my_get_array_cookie($name, $id)
|
Zeile 1562 | Zeile 1563 |
---|
global $mybb; if(!isset($mybb->cookies['mybb'][$name]))
|
global $mybb; if(!isset($mybb->cookies['mybb'][$name]))
|
{
| {
|
return false; }
| return false; }
|
Zeile 1576 | Zeile 1577 |
---|
{ return 0; }
|
{ return 0; }
|
}
/**
| }
/**
|
* Set a serialised cookie array. * * @param string The cookie identifier.
| * Set a serialised cookie array. * * @param string The cookie identifier.
|
Zeile 1616 | Zeile 1617 |
---|
$serverload[0] = round($serverload[0], 4); } if(!$serverload)
|
$serverload[0] = round($serverload[0], 4); } if(!$serverload)
|
{
| {
|
if(@ini_get('safe_mode') == 'On') { return $lang->unknown;
| if(@ini_get('safe_mode') == 'On') { return $lang->unknown;
|
Zeile 1739 | Zeile 1740 |
---|
// Fetch above counters for this forum $query = $db->simple_select("forums", implode(",", $counters), "fid='{$fid}'"); $forum = $db->fetch_array($query);
|
// Fetch above counters for this forum $query = $db->simple_select("forums", implode(",", $counters), "fid='{$fid}'"); $forum = $db->fetch_array($query);
|
foreach($counters as $counter)
| foreach($counters as $counter)
|
{ if(array_key_exists($counter, $changes)) {
| { if(array_key_exists($counter, $changes)) {
|
Zeile 1864 | Zeile 1865 |
---|
* * @param int The thread ID * @param array Array of items being updated (replies, unapprovedposts, attachmentcount) and their value (ex, 1, +1, -1)
|
* * @param int The thread ID * @param array Array of items being updated (replies, unapprovedposts, attachmentcount) and their value (ex, 1, +1, -1)
|
*/
| */
|
function update_thread_counters($tid, $changes=array()) { global $db;
| function update_thread_counters($tid, $changes=array()) { global $db;
|
Zeile 1878 | Zeile 1879 |
---|
$thread = $db->fetch_array($query); foreach($counters as $counter)
|
$thread = $db->fetch_array($query); foreach($counters as $counter)
|
{
| {
|
if(array_key_exists($counter, $changes)) { // Adding or subtracting from previous value?
| if(array_key_exists($counter, $changes)) { // Adding or subtracting from previous value?
|
Zeile 1897 | Zeile 1898 |
---|
} } }
|
} } }
|
| $db->free_result($query);
|
// Only update if we're actually doing something if(count($update_query) > 0) { $db->update_query("threads", $update_query, "tid='".intval($tid)."'"); }
|
// Only update if we're actually doing something if(count($update_query) > 0) { $db->update_query("threads", $update_query, "tid='".intval($tid)."'"); }
|
| unset($update_query, $thread);
|
update_thread_data($tid); }
| update_thread_data($tid); }
|
Zeile 1924 | Zeile 1929 |
---|
LIMIT 1" ); $lastpost = $db->fetch_array($query);
|
LIMIT 1" ); $lastpost = $db->fetch_array($query);
|
| $db->free_result($query);
|
$query = $db->query(" SELECT u.uid, u.username, p.username AS postusername, p.dateline FROM ".TABLE_PREFIX."posts p
| $query = $db->query(" SELECT u.uid, u.username, p.username AS postusername, p.dateline FROM ".TABLE_PREFIX."posts p
|
Zeile 1934 | Zeile 1941 |
---|
LIMIT 1 "); $firstpost = $db->fetch_array($query);
|
LIMIT 1 "); $firstpost = $db->fetch_array($query);
|
| $db->free_result($query);
|
if(!$firstpost['username']) { $firstpost['username'] = $firstpost['postusername'];
|
if(!$firstpost['username']) { $firstpost['username'] = $firstpost['postusername'];
|
}
| }
|
if(!$lastpost['username'])
|
if(!$lastpost['username'])
|
{
| {
|
$lastpost['username'] = $lastpost['postusername']; }
if(!$lastpost['dateline'])
|
$lastpost['username'] = $lastpost['postusername']; }
if(!$lastpost['dateline'])
|
{
| {
|
$lastpost['username'] = $firstpost['username']; $lastpost['uid'] = $firstpost['uid']; $lastpost['dateline'] = $firstpost['dateline'];
| $lastpost['username'] = $firstpost['username']; $lastpost['uid'] = $firstpost['uid']; $lastpost['dateline'] = $firstpost['dateline'];
|
Zeile 1963 | Zeile 1972 |
---|
'lastposteruid' => intval($lastpost['uid']), ); $db->update_query("threads", $update_array, "tid='{$tid}'");
|
'lastposteruid' => intval($lastpost['uid']), ); $db->update_query("threads", $update_array, "tid='{$tid}'");
|
}
| unset($firstpost, $lastpost, $update_array); }
|
function update_forum_count($fid) { die("Deprecated function call: update_forum_count");
|
function update_forum_count($fid) { die("Deprecated function call: update_forum_count");
|
}
| }
|
function update_thread_count($tid) { die("Deprecated function call: update_thread_count");
| function update_thread_count($tid) { die("Deprecated function call: update_thread_count");
|
Zeile 1984 | Zeile 1995 |
---|
* @param int The thread ID */ function delete_thread($tid)
|
* @param int The thread ID */ function delete_thread($tid)
|
{ global $moderation;
if(!is_object($moderation)) { require_once MYBB_ROOT."inc/class_moderation.php"; $moderation = new Moderation; }
| { global $moderation;
if(!is_object($moderation)) { require_once MYBB_ROOT."inc/class_moderation.php"; $moderation = new Moderation; }
|
return $moderation->delete_thread($tid); }
| return $moderation->delete_thread($tid); }
|
Zeile 2031 | Zeile 2042 |
---|
global $forum_cache, $jumpfcache, $permissioncache, $mybb, $selecteddone, $forumjump, $forumjumpbits, $gobutton, $theme, $templates, $lang;
$pid = intval($pid);
|
global $forum_cache, $jumpfcache, $permissioncache, $mybb, $selecteddone, $forumjump, $forumjumpbits, $gobutton, $theme, $templates, $lang;
$pid = intval($pid);
|
|
|
if($permissions) { $permissions = $mybb->usergroup;
| if($permissions) { $permissions = $mybb->usergroup;
|
Zeile 2054 | Zeile 2065 |
---|
}
if(!is_array($permissioncache))
|
}
if(!is_array($permissioncache))
|
{
| {
|
$permissioncache = forum_permissions(); }
if(is_array($jumpfcache[$pid])) { foreach($jumpfcache[$pid] as $main)
|
$permissioncache = forum_permissions(); }
if(is_array($jumpfcache[$pid])) { foreach($jumpfcache[$pid] as $main)
|
{
| {
|
foreach($main as $forum) { $perms = $permissioncache[$forum['fid']];
|
foreach($main as $forum) { $perms = $permissioncache[$forum['fid']];
|
|
|
if($forum['fid'] != "0" && ($perms['canview'] != 0 || $mybb->settings['hideprivateforums'] == 0) && $forum['linkto'] == '' && $forum['showinjump'] != 0) { $optionselected = "";
|
if($forum['fid'] != "0" && ($perms['canview'] != 0 || $mybb->settings['hideprivateforums'] == 0) && $forum['linkto'] == '' && $forum['showinjump'] != 0) { $optionselected = "";
|
|
|
if($selitem == $forum['fid']) { $optionselected = "selected=\"selected\"";
| if($selitem == $forum['fid']) { $optionselected = "selected=\"selected\"";
|
Zeile 2115 | Zeile 2126 |
---|
}
return $forumjump;
|
}
return $forumjump;
|
}
| }
|
/** * Returns the extension of a file. *
| /** * Returns the extension of a file. *
|
Zeile 2241 | Zeile 2252 |
---|
$editor_language .= "\t{$js_lang_string}: \"{$string}\"";
if($editor_lang_strings[$key+1])
|
$editor_language .= "\t{$js_lang_string}: \"{$string}\"";
if($editor_lang_strings[$key+1])
|
{
| {
|
$editor_language .= ","; }
| $editor_language .= ","; }
|
Zeile 2491 | Zeile 2502 |
---|
else { $display_reputation .= "reputation_neutral";
|
else { $display_reputation .= "reputation_neutral";
|
}
| }
|
$display_reputation .= "\">{$reputation}</strong>";
| $display_reputation .= "\">{$reputation}</strong>";
|
Zeile 2938 | Zeile 2949 |
---|
$url = "{$base_url}forum-{$id}.html"; break; default:
|
$url = "{$base_url}forum-{$id}.html"; break; default:
|
$url = $mybb->setings['bburl']."/archive/index.php";
| $url = $mybb->settings['bburl']."/archive/index.php";
|
}
return $url;
| }
return $url;
|
Zeile 3310 | Zeile 3321 |
---|
*/ function join_usergroup($uid, $joingroup) {
|
*/ function join_usergroup($uid, $joingroup) {
|
global $db;
| global $db, $mybb;
|
if($uid == $mybb->user['uid']) {
| if($uid == $mybb->user['uid']) {
|
Zeile 3341 | Zeile 3352 |
---|
} }
|
} }
|
$db->update_query("users", array('additionalgroups' => $groupslist), "uid='".intval($uid)."'");
| // What's the point in updating if they're the same? if($groupslist != $user['additionalgroups']) { $db->update_query("users", array('additionalgroups' => $groupslist), "uid='".intval($uid)."'"); return true; } else { return false; }
|
}
/**
| }
/**
|
Zeile 3364 | Zeile 3384 |
---|
$user = $db->fetch_array($query); }
|
$user = $db->fetch_array($query); }
|
$usergroups = "";
| |
$groupslist = "";
|
$groupslist = "";
|
| $usergroups = "";
|
$usergroups = $user['additionalgroups'].",";
$groups = explode(",", $user['additionalgroups']);
| $usergroups = $user['additionalgroups'].",";
$groups = explode(",", $user['additionalgroups']);
|
Zeile 3382 | Zeile 3402 |
---|
} } }
|
} } }
|
|
|
$dispupdate = ""; if($leavegroup == $user['displaygroup']) {
| $dispupdate = ""; if($leavegroup == $user['displaygroup']) {
|
Zeile 3423 | Zeile 3443 |
---|
elseif(!empty($_ENV['PHP_SELF'])) { $location = htmlspecialchars_uni($_ENV['PHP_SELF']);
|
elseif(!empty($_ENV['PHP_SELF'])) { $location = htmlspecialchars_uni($_ENV['PHP_SELF']);
|
} else
| } else
|
{ $location = htmlspecialchars_uni($_SERVER['PHP_SELF']); }
| { $location = htmlspecialchars_uni($_SERVER['PHP_SELF']); }
|
Zeile 3446 | Zeile 3466 |
---|
foreach($mybb->input as $name => $value) { if(in_array($name, $ignore))
|
foreach($mybb->input as $name => $value) { if(in_array($name, $ignore))
|
{
| {
|
continue; }
| continue; }
|
Zeile 3491 | Zeile 3511 |
---|
/** * Build a theme selection menu
|
/** * Build a theme selection menu
|
*
| *
|
* @param string The name of the menu * @param int The ID of the selected theme * @param int The ID of the parent theme to select from
| * @param string The name of the menu * @param int The ID of the selected theme * @param int The ID of the parent theme to select from
|
Zeile 3553 | Zeile 3573 |
---|
if($is_allowed || $theme['allowedgroups'] == "all" || $theme['allowedgroups'] == "" || $usergroup_override == 1) { if($theme['tid'] == $selected)
|
if($is_allowed || $theme['allowedgroups'] == "all" || $theme['allowedgroups'] == "" || $usergroup_override == 1) { if($theme['tid'] == $selected)
|
{
| {
|
$sel = " selected=\"selected\""; }
| $sel = " selected=\"selected\""; }
|
Zeile 3627 | Zeile 3647 |
---|
}
return number_format($number, $decimals, $mybb->settings['decpoint'], $mybb->settings['thousandssep']);
|
}
return number_format($number, $decimals, $mybb->settings['decpoint'], $mybb->settings['thousandssep']);
|
| } }
function convert_through_utf8($str, $to=true) { global $lang; static $charset; static $use_mb; static $use_iconv; if(!isset($charset)) { $charset = my_strtolower($lang->settings['charset']); } if($charset == "utf-8") { return $str; } if(!isset($use_iconv)) { $use_iconv = function_exists("iconv"); } if(!isset($use_mb)) { $use_mb = function_exists("mb_convert_encoding"); } if($use_iconv || $use_mb) { if($to) { $from_charset = $lang->settings['charset']; $to_charset = "UTF-8"; } else { $from_charset = "UTF-8"; $to_charset = $lang->settings['charset']; } if($use_iconv) { return iconv($from_charset, $to_charset."//IGNORE", $str); } else { return @mb_convert_encoding($str, $to_charset, $from_charset); } } elseif($charset == "iso-8859-1" && function_exists("utf8_encode")) { if($to) { return utf8_encode($str); } else { return utf8_decode($str); } } else { return $str;
|
} }
| } }
|
Zeile 3635 | Zeile 3720 |
---|
* * @param string The string to be word wrapped * @return string The word wraped string
|
* * @param string The string to be word wrapped * @return string The word wraped string
|
*/
| */
|
function my_wordwrap($message) { global $mybb;
if($mybb->settings['wordwrap'] > 0)
|
function my_wordwrap($message) { global $mybb;
if($mybb->settings['wordwrap'] > 0)
|
{ if($mybb->config['db_encoding'] == "utf8" && !preg_match("#[\x80-\xFF]#", $message))
| { $message = convert_through_utf8($message); if(!($new_message = @preg_replace("#(?>[^\s&/<>\"\\-\.\[\]]{{$mybb->settings['wordwrap']}})#u", "$0​", $message)))
|
{
|
{
|
$message = preg_replace("#(?>[^\s&/<>\"\\-\.\[\]]{{$mybb->settings['wordwrap']}})#u", "$0 ", $message); } else { $message = preg_replace("#(?>[^\s&/<>\"\\-\.\[\]]{{$mybb->settings['wordwrap']}})#", "$0 ", $message);
| $new_message = preg_replace("#(?>[^\s&/<>\"\\-\.\[\]]{{$mybb->settings['wordwrap']}})#", "$0​", $message);
|
}
|
}
|
| $new_message = convert_through_utf8($new_message, false); return $new_message;
|
}
return $message;
| }
return $message;
|
Zeile 3674 | Zeile 3761 |
---|
for($k = 11; $k >= 0; $k--) { $l = ($k + 1);
|
for($k = 11; $k >= 0; $k--) { $l = ($k + 1);
|
|
|
for($m = $j[$k]; $m >= 1; $m--) { $h--;
if($i == $year && $l == $month && $m == $day)
|
for($m = $j[$k]; $m >= 1; $m--) { $h--;
if($i == $year && $l == $month && $m == $day)
|
{
| {
|
return $h; }
| return $h; }
|
Zeile 3767 | Zeile 3854 |
---|
'S', 'l', 'F',
|
'S', 'l', 'F',
|
| 'M',
|
);
$replace = array(
| );
$replace = array(
|
Zeile 3778 | Zeile 3866 |
---|
($bd == 1 || $bd == 21 || $bd == 31 ? 'st' : ($bd == 2 || $bd == 22 ? 'nd' : ($bd == 3 || $bd == 23 ? 'rd' : 'th'))), $bdays[$wd], $bmonth[$bm-1],
|
($bd == 1 || $bd == 21 || $bd == 31 ? 'st' : ($bd == 2 || $bd == 22 ? 'nd' : ($bd == 3 || $bd == 23 ? 'rd' : 'th'))), $bdays[$wd], $bmonth[$bm-1],
|
| ($bm == 9 ? my_substr($bmonth[$bm-1], 0, 4) : my_substr($bmonth[$bm-1], 0, 3)),
|
); return str_replace($find, $replace, $display);
| ); return str_replace($find, $replace, $display);
|
Zeile 3804 | Zeile 3893 |
---|
if(($month == $bday[1] && $day < $bday[0]) || $month < $bday[1]) { --$age;
|
if(($month == $bday[1] && $day < $bday[0]) || $month < $bday[1]) { --$age;
|
}
| }
|
return $age; }
| return $age; }
|
Zeile 3988 | Zeile 4077 |
---|
* @return int The un-htmlentitied' string. */ function unhtmlentities($string)
|
* @return int The un-htmlentitied' string. */ function unhtmlentities($string)
|
{ // Replace numeric entities $string = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $string); $string = preg_replace('~&#([0-9]+);~e', 'chr(\\1)', $string);
| { // Replace numeric entities $string = preg_replace('~&#x([0-9a-f]+);~ei', 'unichr(hexdec("\\1"))', $string); $string = preg_replace('~&#([0-9]+);~e', 'unichr("\\1")', $string); // Replace literal entities $trans_tbl = get_html_translation_table(HTML_ENTITIES); $trans_tbl = array_flip($trans_tbl); return strtr($string, $trans_tbl); }
|
|
|
// Replace literal entities $trans_tbl = get_html_translation_table(HTML_ENTITIES); $trans_tbl = array_flip($trans_tbl);
return strtr($string, $trans_tbl);
| /** * Returns any ascii to it's character (utf-8 safe). * * @param string The ascii to characterize. * @return int The characterized ascii. */ function unichr($c) { if($c <= 0x7F) { return chr($c); } else if($c <= 0x7FF) { return chr(0xC0 | $c >> 6) . chr(0x80 | $c & 0x3F); } else if($c <= 0xFFFF) { return chr(0xE0 | $c >> 12) . chr(0x80 | $c >> 6 & 0x3F) . chr(0x80 | $c & 0x3F); } else if($c <= 0x10FFFF) { return chr(0xF0 | $c >> 18) . chr(0x80 | $c >> 12 & 0x3F) . chr(0x80 | $c >> 6 & 0x3F) . chr(0x80 | $c & 0x3F); } else { return false; }
|
}
/**
| }
/**
|
Zeile 4091 | Zeile 4213 |
---|
// If we're in the archive, link back a directory if(IN_ARCHIVE == 1) {
|
// If we're in the archive, link back a directory if(IN_ARCHIVE == 1) {
|
global $mybb; if($mybb->settings['seourls'] == "yes" || ($mybb->settings['seourls'] == "auto" && $_SERVER['SEO_SUPPORT'] == 1)) { return "<a href=\"../../".get_profile_link($uid)."\"{$target}{$onclick}>{$username}</a>"; } return "<a href=\"../".get_profile_link($uid)."\"{$target}{$onclick}>{$username}</a>"; }
| return "<a href=\"../../".get_profile_link($uid)."\"{$target}{$onclick}>{$username}</a>"; }
|
elseif(IN_ADMINCP == 1) { return "<a href=\"../".get_profile_link($uid)."\"{$target}{$onclick}>{$username}</a>"; } else
|
elseif(IN_ADMINCP == 1) { return "<a href=\"../".get_profile_link($uid)."\"{$target}{$onclick}>{$username}</a>"; } else
|
{
| {
|
return "<a href=\"".get_profile_link($uid)."\"{$target}{$onclick}>{$username}</a>"; }
|
return "<a href=\"".get_profile_link($uid)."\"{$target}{$onclick}>{$username}</a>"; }
|
} }
/**
| } }
/**
|
* Build the forum link. * * @param int The forum id of the forum.
| * Build the forum link. * * @param int The forum id of the forum.
|
Zeile 4124 | Zeile 4239 |
---|
{ $link = str_replace("{fid}", $fid, FORUM_URL_PAGED); $link = str_replace("{page}", $page, $link);
|
{ $link = str_replace("{fid}", $fid, FORUM_URL_PAGED); $link = str_replace("{page}", $page, $link);
|
return htmlspecialchars_uni($link);
| return htmlspecialchars_uni($link);
|
} else {
| } else {
|
Zeile 4148 | Zeile 4263 |
---|
if($action) { $link = THREAD_URL_PAGED_ACTION;
|
if($action) { $link = THREAD_URL_PAGED_ACTION;
|
} else
| } else
|
{ $link = THREAD_URL_PAGED; }
| { $link = THREAD_URL_PAGED; }
|
Zeile 4256 | Zeile 4371 |
---|
*/ function get_calendar_week_link($calendar, $week) {
|
*/ function get_calendar_week_link($calendar, $week) {
|
| if($week < 0) { $week = str_replace('-', "n", $week); }
|
$link = str_replace("{week}", $week, CALENDAR_URL_WEEK); $link = str_replace("{calendar}", $calendar, $link); return htmlspecialchars_uni($link);
| $link = str_replace("{week}", $week, CALENDAR_URL_WEEK); $link = str_replace("{calendar}", $calendar, $link); return htmlspecialchars_uni($link);
|
Zeile 4346 | Zeile 4465 |
---|
if(isset($thread_cache[$tid])) { return $thread_cache[$tid];
|
if(isset($thread_cache[$tid])) { return $thread_cache[$tid];
|
} else {
| } else {
|
$query = $db->simple_select("threads", "*", "tid='".intval($tid)."'"); $thread = $db->fetch_array($query);
|
$query = $db->simple_select("threads", "*", "tid='".intval($tid)."'"); $thread = $db->fetch_array($query);
|
|
|
if($thread) { $thread_cache[$tid] = $thread; return $thread;
|
if($thread) { $thread_cache[$tid] = $thread; return $thread;
|
} else
| } else
|
{ $thread_cache[$tid] = false;
|
{ $thread_cache[$tid] = false;
|
return false; } } }
| return false; } } }
|
/** * Get the post of a post id.
| /** * Get the post of a post id.
|
Zeile 4375 | Zeile 4494 |
---|
{ global $db; static $post_cache;
|
{ global $db; static $post_cache;
|
|
|
if(isset($post_cache[$pid])) { return $post_cache[$pid];
| if(isset($post_cache[$pid])) { return $post_cache[$pid];
|
Zeile 4394 | Zeile 4513 |
---|
{ $post_cache[$pid] = false; return false;
|
{ $post_cache[$pid] = false; return false;
|
} } }
/**
| } } }
/**
|
* Get inactivate forums. * * @return string The comma separated values of the inactivate forum.
| * Get inactivate forums. * * @return string The comma separated values of the inactivate forum.
|
Zeile 4500 | Zeile 4619 |
---|
{ my_setcookie('failedlogin', $now);
|
{ my_setcookie('failedlogin', $now);
|
if($fatal) { error($lang->sprintf($lang->failed_login_wait, $hoursleft, $minsleft, $secsleft)); }
| if($fatal) { error($lang->sprintf($lang->failed_login_wait, $hoursleft, $minsleft, $secsleft)); }
|
return false;
|
return false;
|
}
| }
|
// Work out if the user has waited long enough before letting them login again
|
// Work out if the user has waited long enough before letting them login again
|
if($mybb->cookies['failedlogin'] < $now - $mybb->settings['failedlogintime'] * 60)
| if($mybb->cookies['failedlogin'] < ($now - $mybb->settings['failedlogintime'] * 60) && $mybb->user['uid'] != 0)
|
{ my_setcookie('loginattempts', 1); my_unsetcookie('failedlogin'); $update_array = array( 'loginattempts' => 1 );
|
{ my_setcookie('loginattempts', 1); my_unsetcookie('failedlogin'); $update_array = array( 'loginattempts' => 1 );
|
$db->update_query("sessions", $update_array, "sid = '{$session->sid}'");
| $db->update_query("users", $update_array, "uid = '{$mybb->user['uid']}'");
|
return 1; } // Not waited long enough
|
return 1; } // Not waited long enough
|
else
| else if($mybb->cookies['failedlogin'] > ($now - $mybb->settings['failedlogintime'] * 60))
|
{ if($fatal) {
| { if($fatal) {
|
Zeile 4691 | Zeile 4810 |
---|
continue; } $words[] = trim($word);
|
continue; } $words[] = trim($word);
|
}
}
| }
}
|
if(!is_array($words)) {
| if(!is_array($words)) {
|
Zeile 4817 | Zeile 4936 |
---|
if($update_lastuse == true) { $db->update_query("banfilters", array("lastuse" => TIME_NOW), "fid='{$banned_email['fid']}'");
|
if($update_lastuse == true) { $db->update_query("banfilters", array("lastuse" => TIME_NOW), "fid='{$banned_email['fid']}'");
|
} return true;
| } return true;
|
} } // Still here - good email
| } } // Still here - good email
|
Zeile 4954 | Zeile 5073 |
---|
* @param string The URL of the remote file * @return string The remote file contents. */
|
* @param string The URL of the remote file * @return string The remote file contents. */
|
function fetch_remote_file($url)
| function fetch_remote_file($url, $post_data=array())
|
{
|
{
|
| $post_body = ''; if(!empty($post_data)) { foreach($post_data as $key => $val) { $post_body .= '&'.urlencode($key).'='.urlencode($val); } $post_body = ltrim($post_body, '&'); }
|
if(function_exists("curl_init")) { $ch = curl_init();
| if(function_exists("curl_init")) { $ch = curl_init();
|
Zeile 4963 | Zeile 5092 |
---|
curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
| if(!empty($post_body)) { curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_body); }
|
$data = curl_exec($ch); curl_close($ch); return $data; }
|
$data = curl_exec($ch); curl_close($ch); return $data; }
|
else if(function_exists("fsockopen"))
| else if(function_exists("fsockopen"))
|
{ $url = @parse_url($url); if(!$url['host'])
| { $url = @parse_url($url); if(!$url['host'])
|
Zeile 4975 | Zeile 5109 |
---|
return false; } if(!$url['port'])
|
return false; } if(!$url['port'])
|
{
| {
|
$url['port'] = 80; } if(!$url['path']) { $url['path'] = "/";
|
$url['port'] = 80; } if(!$url['path']) { $url['path'] = "/";
|
}
| }
|
if($url['query']) { $url['path'] .= "?{$url['query']}";
| if($url['query']) { $url['path'] .= "?{$url['query']}";
|
Zeile 4992 | Zeile 5126 |
---|
{ return false; }
|
{ return false; }
|
$headers = "GET {$url['path']} HTTP/1.1\r\n"; $headers .= "Host: {$url['host']}\r\n"; $headers .= "Connection: Close\r\n\r\n";
| $headers = array(); if(!empty($post_body)) { $headers[] = "POST {$url['path']} HTTP/1.0"; $headers[] = "Content-Length: ".strlen($post_body); $headers[] = "Content-Type: application/x-www-form-urlencoded"; } else { $headers[] = "GET {$url['path']} HTTP/1.0"; } $headers[] = "Host: {$url['host']}"; $headers[] = "Connection: Close"; $headers[] = "\r\n"; if(!empty($post_body)) { $headers[] = $post_body; } $headers = implode("\r\n", $headers);
|
if(!@fwrite($fp, $headers)) { return false;
| if(!@fwrite($fp, $headers)) { return false;
|
Zeile 5006 | Zeile 5159 |
---|
fclose($fp); $data = explode("\r\n\r\n", $data, 2); return $data[1];
|
fclose($fp); $data = explode("\r\n\r\n", $data, 2); return $data[1];
|
| } else if(empty($post_data)) { return @implode("", @file($url));
|
} else {
|
} else {
|
return @implode("", @file($url));
| return false;
|
} }
| } }
|