Zeile 13 | Zeile 13 |
---|
/** * Fetch a users activity and any corresponding details from their location. *
|
/** * Fetch a users activity and any corresponding details from their location. *
|
* @param string The location (URL) of the user.
| * @param string $location The location (URL) of the user. * @param bool $nopermission
|
* @return array Array of location and activity information */ function fetch_wol_activity($location, $nopermission=false)
| * @return array Array of location and activity information */ function fetch_wol_activity($location, $nopermission=false)
|
Zeile 32 | Zeile 33 |
---|
$filename = my_substr($split_loc[0], -my_strpos(strrev($split_loc[0]), "/")); } $parameters = array();
|
$filename = my_substr($split_loc[0], -my_strpos(strrev($split_loc[0]), "/")); } $parameters = array();
|
if($split_loc[1])
| if(isset($split_loc[1]))
|
{ $temp = explode("&", my_substr($split_loc[1], 1)); foreach($temp as $param)
| { $temp = explode("&", my_substr($split_loc[1], 1)); foreach($temp as $param)
|
Zeile 160 | Zeile 161 |
---|
elseif($parameters['action'] == "profile") { $user_activity['activity'] = "member_profile";
|
elseif($parameters['action'] == "profile") { $user_activity['activity'] = "member_profile";
|
|
|
if(!isset($parameters['uid']))
|
if(!isset($parameters['uid']))
|
{
| {
|
$parameters['uid'] = 0; } $parameters['uid'] = (int)$parameters['uid'];
|
$parameters['uid'] = 0; } $parameters['uid'] = (int)$parameters['uid'];
|
| if($parameters['uid'] == 0) { global $memprofile;
// $user is available in Who's Online but not in Member Profile, use $memprofile instead if(!empty($user['uid'])) { $parameters['uid'] = $user['uid']; } elseif(!empty($memprofile['uid'])) { $parameters['uid'] = $memprofile['uid']; } }
|
if($parameters['uid'] > 0) { $uid_list[$parameters['uid']] = $parameters['uid']; } $user_activity['uid'] = $parameters['uid'];
|
if($parameters['uid'] > 0) { $uid_list[$parameters['uid']] = $parameters['uid']; } $user_activity['uid'] = $parameters['uid'];
|
}
| }
|
elseif($parameters['action'] == "emailuser" || $parameters['action'] == "do_emailuser") { $user_activity['activity'] = "member_emailuser";
| elseif($parameters['action'] == "emailuser" || $parameters['action'] == "do_emailuser") { $user_activity['activity'] = "member_emailuser";
|
Zeile 200 | Zeile 218 |
---|
{ $parameters['action'] = ''; }
|
{ $parameters['action'] = ''; }
|
$accepted_parameters = array("markread", "help", "buddypopup", "smilies", "syndication", "imcenter", "dstswitch");
| $accepted_parameters = array("markread", "help", "buddypopup", "smilies", "syndication", "dstswitch");
|
if($parameters['action'] == "whoposted") { if(!isset($parameters['tid']))
|
if($parameters['action'] == "whoposted") { if(!isset($parameters['tid']))
|
{
| {
|
$parameters['tid'] = 0; } $parameters['tid'] = (int)$parameters['tid'];
| $parameters['tid'] = 0; } $parameters['tid'] = (int)$parameters['tid'];
|
Zeile 226 | Zeile 244 |
---|
break; case "modcp": if(!isset($parameters['action']))
|
break; case "modcp": if(!isset($parameters['action']))
|
{ $parameters['action'] = 0;
| { $parameters['action'] = '';
|
}
$accepted_parameters = array("modlogs", "announcements", "finduser", "warninglogs", "ipsearch");
| }
$accepted_parameters = array("modlogs", "announcements", "finduser", "warninglogs", "ipsearch");
|
Zeile 249 | Zeile 267 |
---|
$accepted_parameters['mod_queue'] = array("do_modqueue", "modqueue"); $accepted_parameters['editprofile'] = array("do_editprofile", "editprofile"); $accepted_parameters['banning'] = array("do_banuser", "banning", "liftban", "banuser");
|
$accepted_parameters['mod_queue'] = array("do_modqueue", "modqueue"); $accepted_parameters['editprofile'] = array("do_editprofile", "editprofile"); $accepted_parameters['banning'] = array("do_banuser", "banning", "liftban", "banuser");
|
|
|
foreach($accepted_parameters as $name => $actions) { if(in_array($parameters['action'], $actions))
| foreach($accepted_parameters as $name => $actions) { if(in_array($parameters['action'], $actions))
|
Zeile 260 | Zeile 278 |
---|
}
if(empty($user_activity['activity']))
|
}
if(empty($user_activity['activity']))
|
{
| {
|
$user_activity['activity'] = "modcp"; }
|
$user_activity['activity'] = "modcp"; }
|
break;
| break;
|
case "moderation": $user_activity['activity'] = "moderation"; break;
| case "moderation": $user_activity['activity'] = "moderation"; break;
|
Zeile 271 | Zeile 289 |
---|
if(!isset($parameters['tid'])) { $parameters['tid'] = 0;
|
if(!isset($parameters['tid'])) { $parameters['tid'] = 0;
|
}
| }
|
$parameters['tid'] = (int)$parameters['tid']; if($parameters['tid'] > 0) {
| $parameters['tid'] = (int)$parameters['tid']; if($parameters['tid'] > 0) {
|
Zeile 282 | Zeile 300 |
---|
break; case "newthread": if(!isset($parameters['fid']))
|
break; case "newthread": if(!isset($parameters['fid']))
|
{
| {
|
$parameters['fid'] = 0; } $parameters['fid'] = (int)$parameters['fid'];
| $parameters['fid'] = 0; } $parameters['fid'] = (int)$parameters['fid'];
|
Zeile 326 | Zeile 344 |
---|
$accepted_parameters = array("do_editpoll", "editpoll", "newpoll", "do_newpoll", "showresults", "vote");
foreach($accepted_parameters as $action)
|
$accepted_parameters = array("do_editpoll", "editpoll", "newpoll", "do_newpoll", "showresults", "vote");
foreach($accepted_parameters as $action)
|
{
| {
|
if($parameters['action'] == $action) { $user_activity['activity'] = $action;
| if($parameters['action'] == $action) { $user_activity['activity'] = $action;
|
Zeile 334 | Zeile 352 |
---|
} }
|
} }
|
if(!$user_activity['activity'])
| if(empty($user_activity['activity']))
|
{ $user_activity['activity'] = "showresults";
|
{ $user_activity['activity'] = "showresults";
|
} }
| } }
|
break; case "printthread":
|
break; case "printthread":
|
if(!isset($parameters['tid'])) { $parameters['tid'] = 0; } $parameters['tid'] = (int)$parameters['tid']; if($parameters['tid'] > 0) {
| if(!isset($parameters['tid'])) { $parameters['tid'] = 0; } $parameters['tid'] = (int)$parameters['tid']; if($parameters['tid'] > 0) {
|
$tid_list[$parameters['tid']] = $parameters['tid']; } $user_activity['activity'] = "printthread";
| $tid_list[$parameters['tid']] = $parameters['tid']; } $user_activity['activity'] = "printthread";
|
Zeile 357 | Zeile 375 |
---|
if(!isset($parameters['action'])) { $parameters['action'] = '';
|
if(!isset($parameters['action'])) { $parameters['action'] = '';
|
} if($parameters['action'] == "send" || $parameters['action'] == "do_send") {
| } if($parameters['action'] == "send" || $parameters['action'] == "do_send") {
|
$user_activity['activity'] = "private_send";
|
$user_activity['activity'] = "private_send";
|
}
| }
|
elseif($parameters['action'] == "read")
|
elseif($parameters['action'] == "read")
|
{
| {
|
$user_activity['activity'] = "private_read";
|
$user_activity['activity'] = "private_read";
|
} elseif($parameters['action'] == "folders" || $parameters['action'] == "do_folders") { $user_activity['activity'] = "private_folders";
| } elseif($parameters['action'] == "folders" || $parameters['action'] == "do_folders") { $user_activity['activity'] = "private_folders";
|
} else {
| } else {
|
Zeile 382 | Zeile 400 |
---|
$user_activity['activity'] = "report"; break; case "reputation":
|
$user_activity['activity'] = "report"; break; case "reputation":
|
| if(!isset($parameters['action'])) { $parameters['action'] = ''; }
|
if(!isset($parameters['uid'])) { $parameters['uid'] = 0;
| if(!isset($parameters['uid'])) { $parameters['uid'] = 0;
|
Zeile 390 | Zeile 412 |
---|
if($parameters['uid'] > 0) { $uid_list[$parameters['uid']] = $parameters['uid'];
|
if($parameters['uid'] > 0) { $uid_list[$parameters['uid']] = $parameters['uid'];
|
}
| }
|
$user_activity['uid'] = $parameters['uid'];
if($parameters['action'] == "add")
|
$user_activity['uid'] = $parameters['uid'];
if($parameters['action'] == "add")
|
{
| {
|
$user_activity['activity'] = "reputation";
|
$user_activity['activity'] = "reputation";
|
}
| }
|
else { $user_activity['activity'] = "reputation_report";
|
else { $user_activity['activity'] = "reputation_report";
|
}
| }
|
break; case "search": $user_activity['activity'] = "search";
| break; case "search": $user_activity['activity'] = "search";
|
Zeile 422 | Zeile 444 |
---|
$user_activity['activity'] = "showteam"; break; case "showthread":
|
$user_activity['activity'] = "showteam"; break; case "showthread":
|
if(!isset($parameters['action'])) { $parameters['action'] = 0; } if(!isset($parameters['pid']))
| if(!isset($parameters['action'])) { $parameters['action'] = ''; } if(!isset($parameters['pid']))
|
{ $parameters['pid'] = 0; }
| { $parameters['pid'] = 0; }
|
Zeile 436 | Zeile 458 |
---|
$pid_list[$parameters['pid']] = $parameters['pid']; $user_activity['activity'] = "showpost"; $user_activity['pid'] = $parameters['pid'];
|
$pid_list[$parameters['pid']] = $parameters['pid']; $user_activity['activity'] = "showpost"; $user_activity['pid'] = $parameters['pid'];
|
}
| }
|
else { if(!isset($parameters['page']))
| else { if(!isset($parameters['page']))
|
Zeile 469 | Zeile 491 |
---|
if($parameters['action'] == "profile" || $parameters['action'] == "do_profile") { $user_activity['activity'] = "usercp_profile";
|
if($parameters['action'] == "profile" || $parameters['action'] == "do_profile") { $user_activity['activity'] = "usercp_profile";
|
}
| }
|
elseif($parameters['action'] == "options" || $parameters['action'] == "do_options") { $user_activity['activity'] = "usercp_options";
| elseif($parameters['action'] == "options" || $parameters['action'] == "do_options") { $user_activity['activity'] = "usercp_options";
|
Zeile 491 | Zeile 513 |
---|
$user_activity['activity'] = "usercp_editlists"; } elseif($parameters['action'] == "favorites")
|
$user_activity['activity'] = "usercp_editlists"; } elseif($parameters['action'] == "favorites")
|
{
| {
|
$user_activity['activity'] = "usercp_favorites";
|
$user_activity['activity'] = "usercp_favorites";
|
}
| }
|
elseif($parameters['action'] == "subscriptions")
|
elseif($parameters['action'] == "subscriptions")
|
{
| {
|
$user_activity['activity'] = "usercp_subscriptions";
|
$user_activity['activity'] = "usercp_subscriptions";
|
| } elseif($parameters['action'] == "addfavorite" || $parameters['action'] == "removefavorite" || $parameters['action'] == "removefavorites") { $user_activity['activity'] = "usercp_managefavorites"; } else if($parameters['action'] == "addsubscription" || $parameters['action'] == "do_addsubscription" || $parameters['action'] == "removesubscription" || $parameters['action'] == "removesubscriptions") { $user_activity['activity'] = "usercp_managesubscriptions";
|
} elseif($parameters['action'] == "notepad" || $parameters['action'] == "do_notepad") {
| } elseif($parameters['action'] == "notepad" || $parameters['action'] == "do_notepad") {
|
Zeile 505 | Zeile 535 |
---|
else { $user_activity['activity'] = "usercp";
|
else { $user_activity['activity'] = "usercp";
|
} break; case "usercp2": if(!isset($parameters['action'])) { $parameters['action'] = ''; } if($parameters['action'] == "addfavorite" || $parameters['action'] == "removefavorite" || $parameters['action'] == "removefavorites") { $user_activity['activity'] = "usercp2_favorites"; } else if($parameters['action'] == "addsubscription" || $parameters['action'] == "do_addsubscription" || $parameters['action'] == "removesubscription" || $parameters['action'] == "removesubscriptions") { $user_activity['activity'] = "usercp2_subscriptions";
| |
} break; case "portal":
| } break; case "portal":
|
Zeile 549 | Zeile 565 |
---|
case "nopermission": $user_activity['activity'] = "nopermission"; $user_activity['nopermission'] = 1;
|
case "nopermission": $user_activity['activity'] = "nopermission"; $user_activity['nopermission'] = 1;
|
break;
| break;
|
default: $user_activity['activity'] = "unknown"; break;
| default: $user_activity['activity'] = "unknown"; break;
|
Zeile 557 | Zeile 573 |
---|
// Expects $location to be passed through already sanitized $user_activity['location'] = $location;
|
// Expects $location to be passed through already sanitized $user_activity['location'] = $location;
|
|
|
$user_activity = $plugins->run_hooks("fetch_wol_activity_end", $user_activity);
|
$user_activity = $plugins->run_hooks("fetch_wol_activity_end", $user_activity);
|
|
|
return $user_activity; }
/** * Builds a friendly named Who's Online location from an "activity" and array of user data. Assumes fetch_wol_activity has already been called. *
|
return $user_activity; }
/** * Builds a friendly named Who's Online location from an "activity" and array of user data. Assumes fetch_wol_activity has already been called. *
|
* @param array Array containing activity and essential IDs.
| * @param array $user_activity Array containing activity and essential IDs.
|
* @return string Location name for the activity being performed. */ function build_friendly_wol_location($user_activity)
| * @return string Location name for the activity being performed. */ function build_friendly_wol_location($user_activity)
|
Zeile 599 | Zeile 615 |
---|
$query = $db->simple_select("users", "uid,username", "uid IN ($uid_sql)"); while($user = $db->fetch_array($query)) {
|
$query = $db->simple_select("users", "uid,username", "uid IN ($uid_sql)"); while($user = $db->fetch_array($query)) {
|
$usernames[$user['uid']] = $user['username'];
| $usernames[$user['uid']] = htmlspecialchars_uni($user['username']);
|
} } else
|
} } else
|
{ $usernames[$mybb->user['uid']] = $mybb->user['username']; } }
| { $usernames[$mybb->user['uid']] = htmlspecialchars_uni($mybb->user['username']); } }
|
// Fetch any attachments if(!is_array($attachments) && count($aid_list) > 0) {
| // Fetch any attachments if(!is_array($attachments) && count($aid_list) > 0) {
|
Zeile 617 | Zeile 633 |
---|
{ $attachments[$attachment['aid']] = $attachment['pid']; $pid_list[] = $attachment['pid'];
|
{ $attachments[$attachment['aid']] = $attachment['pid']; $pid_list[] = $attachment['pid'];
|
} }
| } }
|
// Fetch any announcements if(!is_array($announcements) && count($ann_list) > 0)
| // Fetch any announcements if(!is_array($announcements) && count($ann_list) > 0)
|
Zeile 629 | Zeile 645 |
---|
{ $announcement_title = htmlspecialchars_uni($parser->parse_badwords($announcement['subject'])); $announcements[$announcement['aid']] = $announcement_title;
|
{ $announcement_title = htmlspecialchars_uni($parser->parse_badwords($announcement['subject'])); $announcements[$announcement['aid']] = $announcement_title;
|
}
| }
|
}
// Fetch any posts
| }
// Fetch any posts
|
Zeile 694 | Zeile 710 |
---|
foreach($forum_cache as $fid => $forum) { if(in_array($fid, $fid_list) && !in_array($fid, $fidnot))
|
foreach($forum_cache as $fid => $forum) { if(in_array($fid, $fid_list) && !in_array($fid, $fidnot))
|
{
| {
|
$forums[$fid] = $forum['name']; $forums_linkto[$fid] = $forum['linkto']; }
| $forums[$fid] = $forum['name']; $forums_linkto[$fid] = $forum['linkto']; }
|
Zeile 868 | Zeile 884 |
---|
break; case "misc_syndication": $location_name = $lang->viewing_syndication;
|
break; case "misc_syndication": $location_name = $lang->viewing_syndication;
|
break; case "misc_imcenter": $location_name = $lang->viewing_imcenter;
| |
break; // modcp.php functions case "modcp_modlogs":
| break; // modcp.php functions case "modcp_modlogs":
|
Zeile 1070 | Zeile 1083 |
---|
case "usercp": $location_name = $lang->user_cp; break;
|
case "usercp": $location_name = $lang->user_cp; break;
|
case "usercp2_favorites":
| case "usercp_managefavorites":
|
$location_name = $lang->managing_favorites; break;
|
$location_name = $lang->managing_favorites; break;
|
case "usercp2_subscriptions":
| case "usercp_managesubscriptions":
|
$location_name = $lang->managing_subscriptions; break; case "portal":
| $location_name = $lang->managing_subscriptions; break; case "portal":
|
Zeile 1117 | Zeile 1130 |
---|
/** * Build a Who's Online row for a specific user *
|
/** * Build a Who's Online row for a specific user *
|
* @param array Array of user information including activity information
| * @param array $user Array of user information including activity information
|
* @return string Formatted online row */ function build_wol_row($user)
| * @return string Formatted online row */ function build_wol_row($user)
|
Zeile 1131 | Zeile 1144 |
---|
if($user['invisible'] != 1 || $mybb->usergroup['canviewwolinvis'] == 1 || $user['uid'] == $mybb->user['uid']) { // Append an invisible mark if the user is invisible
|
if($user['invisible'] != 1 || $mybb->usergroup['canviewwolinvis'] == 1 || $user['uid'] == $mybb->user['uid']) { // Append an invisible mark if the user is invisible
|
if($user['invisible'] == 1)
| if($user['invisible'] == 1 && $mybb->usergroup['canbeinvisible'] == 1)
|
{ $invisible_mark = "*"; }
| { $invisible_mark = "*"; }
|
Zeile 1140 | Zeile 1153 |
---|
$invisible_mark = ''; }
|
$invisible_mark = ''; }
|
$user['username'] = format_name($user['username'], $user['usergroup'], $user['displaygroup']);
| $user['username'] = format_name(htmlspecialchars_uni($user['username']), $user['usergroup'], $user['displaygroup']);
|
$online_name = build_profile_link($user['username'], $user['uid']).$invisible_mark; } }
| $online_name = build_profile_link($user['username'], $user['uid']).$invisible_mark; } }
|
Zeile 1155 | Zeile 1168 |
---|
$online_name = format_name($lang->guest, 1); }
|
$online_name = format_name($lang->guest, 1); }
|
$online_time = my_date($mybb->settings['timeformat'], $user['time']);
| $online_time = my_date('relative', $user['time']);
|
// Fetch the location name for this users activity $location = build_friendly_wol_location($user['activity']);
| // Fetch the location name for this users activity $location = build_friendly_wol_location($user['activity']);
|
Zeile 1177 | Zeile 1190 |
---|
$user_ip = $lookup = $user['ip'] = ''; }
|
$user_ip = $lookup = $user['ip'] = ''; }
|
| $online_row = '';
|
// And finally if we have permission to view this user, return the completed online row if($user['invisible'] != 1 || $mybb->usergroup['canviewwolinvis'] == 1 || $user['uid'] == $mybb->user['uid']) {
| // And finally if we have permission to view this user, return the completed online row if($user['invisible'] != 1 || $mybb->usergroup['canviewwolinvis'] == 1 || $user['uid'] == $mybb->user['uid']) {
|