hehe thank you Loda for the addons
Ok! here is the
addon that show a list in your profile of the last users that added you as a friend. You can show in you profile the number of users that you want. Here is a photo of the addon:
For the addon I had two options:
1-. Search in all users table, the users than added me as a friend and write it in my profile
or
2-. When someone add a friend modify my friends ids and add in the field from the user that I added, my user_id
I took the second option because in a future it would be better and more quickly. So
If you want to install addon you will need to reset your friends ids.Ok! here are the modifications:
DELETE user_friend_ids from users table => RESET FRIENDS IDS
Add the two fields in your users_table
ALTER TABLE 4images_users ADD user_friend_ids text NULL DEFAULT NULL
ALTER TABLE 4images_users ADD user_friend_you_ids text NULL DEFAULT NULL
Open includes/functions.phpSearch:
////////////////////////////
//BEGIN friendslist
function add_to_friendslist($id) {
global $user_info, $site_db;
$id = intval($id);
if (!$id) {
return false;
}
$friendslist_ids = $user_info['user_friend_ids'];
$friendslist_array = explode(" ", $friendslist_ids);
if (!in_array($id, $friendslist_array)) {
$friendslist_ids .= " ".$id;
}
$user_info['user_friend_ids'] = trim($friendslist_ids);
$sql = "UPDATE ".USERS_TABLE."
SET user_friend_ids = '".$user_info['user_friend_ids']."'
WHERE user_id = ".$user_info['user_id'];
return ($site_db->query($sql)) ? 1 : 0;
}
function remove_from_friendslist($id) {
global $user_info, $site_db;
$friendslist_array = explode(" ",$user_info['user_friend_ids']);
foreach ($friendslist_array as $key => $val) {
if ($val == $id) {
unset($friendslist_array[$key]);
}
}
$user_info['user_friend_ids'] = trim(implode(" ", $friendslist_array));
$sql = "UPDATE ".USERS_TABLE."
SET user_friend_ids = '".$user_info['user_friend_ids']."'
WHERE user_id = ".$user_info['user_id'];
return ($site_db->query($sql)) ? 1 : 0;
}
function clear_friendslist() {
global $user_info, $site_db;
$sql = "UPDATE ".USERS_TABLE."
SET user_friend_ids = ''
WHERE user_id = ".$user_info['user_id'];
if ($site_db->query($sql)) {
$user_info['user_friend_ids'] = "";
return true;
}
else {
return false;
}
}
function check_friendslist($id) {
global $user_info;
$friendslist_array = explode(" ", $user_info['user_friend_ids']);
return in_array($id, $friendslist_array);
}
/////////////////
//END FRIENDSLIST
/////////////////
Replace:
////////////////////////////
//BEGIN friendslist
function add_to_friendslist($id) {
global $user_info, $site_db;
$id = intval($id);
if (!$id) {
return false;
}
$friendslist_ids = $user_info['user_friend_ids'];
$friendslist_array = explode(" ", $friendslist_ids);
if (!in_array($id, $friendslist_array)) {
$friendslist_ids .= " ".$id;
}
//Aqui vamos a agregar el id del usuario q esta aņadiendo a la lista, a la lista de ids que han agregado al amigo
$sql = "SELECT *
FROM ".USERS_TABLE."
WHERE user_id = ".$id;
$friend_row = $site_db->query_firstrow($sql);
$friendslist_you_ids = $friend_row['user_friend_you_ids'];
$friendslist_you_array = explode(" ", $friendslist_you_ids);
if (!in_array($id, $friendslist_you_array)) {
$friendslist_you_ids .= " ".$user_info['user_id'];
}
$friend_row['user_friend_you_ids'] = trim($friendslist_you_ids);
$user_info['user_friend_ids'] = trim($friendslist_ids);
$sql = "UPDATE ".USERS_TABLE."
SET user_friend_ids = '".$user_info['user_friend_ids']."'
WHERE user_id = ".$user_info['user_id'];
$sql2 = "UPDATE ".USERS_TABLE."
SET user_friend_you_ids = '".$friend_row['user_friend_you_ids']."'
WHERE user_id = ".$friend_row['user_id'];
$site_db->query($sql);
$site_db->query($sql2);
return true;
}
function remove_from_friendslist($id) {
global $user_info, $site_db;
$friendslist_array = explode(" ",$user_info['user_friend_ids']);
foreach ($friendslist_array as $key => $val) {
if ($val == $id) {
unset($friendslist_array[$key]);
}
}
$user_info['user_friend_ids'] = trim(implode(" ", $friendslist_array));
$sql = "UPDATE ".USERS_TABLE."
SET user_friend_ids = '".$user_info['user_friend_ids']."'
WHERE user_id = ".$user_info['user_id'];
if ($site_db->query($sql)){ //Si se han borrado correctamente, lo borramos de la otra lista
$sql = "SELECT *
FROM ".USERS_TABLE."
WHERE user_id = ".$id;
$friend_row = $site_db->query_firstrow($sql);
$friendslist_you_array = explode(" ",$friend_row['user_friend_you_ids']);
foreach ($friendslist_you_array as $key => $val) {
if ($val == $user_info['user_id']) {
unset($friendslist_you_array[$key]);
}
}
$friend_row['user_friend_you_ids'] = trim(implode(" ", $friendslist_you_array));
$sql2 = "UPDATE ".USERS_TABLE."
SET user_friend_you_ids = '".$friend_row['user_friend_you_ids']."'
WHERE user_id = ".$id;
$site_db->query($sql2);
return true;
}else{
return false;
}
}
function clear_friendslist() {
global $user_info, $site_db;
$friendslist_array = explode(" ",$user_info['user_friend_ids']);
foreach ($friendslist_array as $key => $val) {
$sql = "SELECT *
FROM ".USERS_TABLE."
WHERE user_id = ".$val;
$friend_row = $site_db->query_firstrow($sql);
$friendslist_you_array = explode(" ",$friend_row['user_friend_you_ids']);
foreach ($friendslist_you_array as $key => $val2) {
if ($val2 == $user_info['user_id']) {
unset($friendslist_you_array[$key]);
}
}
$friend_row['user_friend_you_ids'] = trim(implode(" ", $friendslist_you_array));
$sql = "UPDATE ".USERS_TABLE."
SET user_friend_you_ids = '".$friend_row['user_friend_you_ids']."'
WHERE user_id = ".$val;
$site_db->query($sql);
}
$sql2 = "UPDATE ".USERS_TABLE."
SET user_friend_ids = ''
WHERE user_id = ".$user_info['user_id'];
if ($site_db->query($sql2)) {
$user_info['user_friend_ids'] = "";
return true;
}
else {
return false;
}
}
function check_friendslist($id) {
global $user_info;
$friendslist_array = explode(" ", $user_info['user_friend_ids']);
return in_array($id, $friendslist_array);
}
/////////////////
//END FRIENDSLIST
/////////////////
Open member.phpSearch:
if (($user_info['user_level'] != GUEST) && ($user_info['user_id'] != $user_row['user_id'])) {
$friendslist_url = $self_url;
$friendslist_url .= (!empty($mode)) ? ((strpos($friendslist_url, '?') !== false) ? "&" : "?")."mode=".$mode : "";
$friendslist_url .= strpos($friendslist_url, '?') !== false ? "&" : "?";
if (check_friendslist($user_row['user_id'])) {
$friendslist_url .= "action=removefromfriendslist&id=".$user_row['user_id']."";
$friendslist_button = "<a href=\"".$site_sess->url($friendslist_url)."\"><img src=\"".get_gallery_image("friendslist_yes.gif")."\" border=\"0\" alt=\"\" /></a>";
}
else {
$friendslist_url .= "action=addtofriendslist&id=".$user_row['user_id']."";
$friendslist_button = "<a href=\"".$site_sess->url($friendslist_url)."\"><img src=\"".get_gallery_image("friendslist_no.gif")."\" border=\"0\" alt=\"\" /></a>";
}
}
else {
$friendslist_button = "<img src=\"".get_gallery_image("friendslist_off.gif")."\" border=\"0\" alt=\"\" />";
}
$site_template->register_vars("lang_friendslist_add", $lang['lang_friendslist_add']);
After add: $friends_limit = 10; 10 is a default, you can edit the limit of users that you want to show in profiles
$friends_limit = 10; //Edit the limit of users that you want to show in profiles
if (!empty($user_row['user_friend_you_ids'])) {
$friendslist_you_array = explode(" ", $user_row['user_friend_you_ids']);
$friendslist_you_array = array_reverse($friendslist_you_array);
$friends_user = "<b>".$lang['user_friend_you'].$user_row['user_name'].":</b> ";
foreach ($friendslist_you_array as $key => $val) {
$sql = "SELECT user_id, user_name, user_gender
FROM ".USERS_TABLE."
WHERE user_id = '".$val."'";
$friends_row = $site_db->query_firstrow($sql);
$friends_user .= "<a href='member.php?action=showprofile&user_id=".$friends_row['user_id']."'>".$friends_row['user_name']."</a> | ";
$friends_limit--;
if($friends_limit == 0){
break;
}
}
}
//--- END FRIENDSLIST MOD ---
Search:
"friendslist_button" => $friendslist_button, //Friend list mod
After add:
"friendslist_add_you" => $friends_user, //Friend list mod
Open main.phpSearch:
//-----------------------------------------------------
//--- Friendslist -------------------------------------
//-----------------------------------------------------
After add:
$lang['user_friend_you'] = "List of users that added as a friend to ";
Open templates/yourtheme/member_profile.htmlPaste {friendslist_add_you} where you like it
That's all
PS: This weekend i will work in another addon that needs the last. This new addon will send pms to users that added you as a friend when you upload a picture