function user_search_relationships($user_search, $page = 1, $exclude_uid = 0) { if (!($db = db::get())) { return false; } if (!is_numeric($page) || $page < 1) { $page = 1; } if (!is_numeric($exclude_uid)) { $exclude_uid = 0; } $offset = calculate_page_offset($page, 10); if (!($table_prefix = get_table_prefix())) { return false; } $user_search_peers_array = array(); if (!isset($_SESSION['UID']) || !is_numeric($_SESSION['UID'])) { return false; } $user_search_array = preg_split('/,\\s*/u', trim($user_search, ', ')); $user_search_array = array_map('user_search_array_clean', $user_search_array); $user_search_logon = implode("%' OR LOGON LIKE '", $user_search_array); $user_search_nickname = implode("%' OR NICKNAME LIKE '", $user_search_array); $sql = "SELECT SQL_CALC_FOUND_ROWS USER.UID, USER.LOGON, USER.NICKNAME, "; $sql .= "USER_PEER.PEER_NICKNAME, USER_PEER.RELATIONSHIP "; $sql .= "FROM USER USER LEFT JOIN `{$table_prefix}USER_PEER` USER_PEER "; $sql .= "ON (USER_PEER.PEER_UID = USER.UID AND USER_PEER.UID = '{$_SESSION['UID']}') "; $sql .= "WHERE (LOGON LIKE '{$user_search_logon}%' "; $sql .= "OR NICKNAME LIKE '{$user_search_nickname}%') "; $sql .= "AND USER.UID <> {$exclude_uid} LIMIT {$offset}, 10"; if (!($result = $db->query($sql))) { return false; } $sql = "SELECT FOUND_ROWS() AS ROW_COUNT"; if (!($result_count = $db->query($sql))) { return false; } list($user_search_peers_count) = $result_count->fetch_row(); if ($result->num_rows == 0 && $user_search_peers_count > 0 && $page > 1) { return user_search_relationships($user_search, $page - 1, $exclude_uid); } while (($user_data = $result->fetch_assoc()) !== null) { if (isset($user_data['LOGON']) && isset($user_data['PEER_NICKNAME'])) { if (!is_null($user_data['PEER_NICKNAME']) && strlen($user_data['PEER_NICKNAME']) > 0) { $user_data['NICKNAME'] = $user_data['PEER_NICKNAME']; } } if (!isset($user_data['LOGON'])) { $user_data['LOGON'] = gettext("Unknown user"); } if (!isset($user_data['NICKNAME'])) { $user_data['NICKNAME'] = ""; } $user_search_peers_array[$user_data['UID']] = $user_data; } return array('user_count' => $user_search_peers_count, 'user_array' => $user_search_peers_array); }
if (!user_rel_update($uid, $peer_uid, 0)) { $valid = false; $error_msg_array[] = gettext("Failed to remove selected relationship"); } } } if ($valid) { $redirect = "edit_relations.php?webtag={$webtag}&relupdated=true"; header_redirect($redirect, gettext("Relationships Updated!")); exit; } } } // Check if we're searching for a user or simply listing the existing relationships. if (isset($search_keyword) && strlen(trim($search_keyword)) > 0) { $user_peers_array = user_search_relationships($search_keyword, $page, $uid); } else { $user_peers_array = user_get_relationships($uid, $page); } // Output any messages. if (isset($error_msg_array) && sizeof($error_msg_array) > 0) { html_display_error_array($error_msg_array, '600', 'left'); } else { if (isset($_GET['relupdated'])) { html_display_success_msg(gettext("Relationships Updated!"), '600', 'left'); } else { if (sizeof($user_peers_array['user_array']) < 1) { if (isset($search_keyword) && strlen(trim($search_keyword)) > 0) { html_display_warning_msg(gettext("Search Returned No Results"), '600', 'left'); } else { html_display_warning_msg(gettext("You have no user relationships set up. Add a new user by searching below."), '600', 'left');
if ($delete_relationship == "Y") { if (!user_rel_update($_SESSION['UID'], $peer_uid, 0)) { $valid = false; $error_msg_array[] = gettext("Failed to remove selected relationship"); } } } if ($valid) { header_redirect($redirect = "edit_relations.php?webtag={$webtag}&relupdated=true"); exit; } } } // Check if we're searching for a user or simply listing the existing relationships. if (isset($search_keyword) && strlen(trim($search_keyword)) > 0) { $user_peers_array = user_search_relationships($search_keyword, $page, $_SESSION['UID']); } else { $user_peers_array = user_get_relationships($_SESSION['UID'], $page); } // Output any messages. if (isset($error_msg_array) && sizeof($error_msg_array) > 0) { html_display_error_array($error_msg_array, '700', 'left'); } else { if (isset($_GET['relupdated'])) { html_display_success_msg(gettext("Relationships Updated!"), '700', 'left'); } else { if (sizeof($user_peers_array['user_array']) < 1) { if (isset($search_keyword) && strlen(trim($search_keyword)) > 0) { html_display_warning_msg(gettext("Search Returned No Results"), '700', 'left'); } else { html_display_warning_msg(gettext("You have no user relationships set up. Add a new user by searching below."), '700', 'left');