1. Мы продолжаем публиковать интересные статьи на тему SocialEngine 4. Одна из статей посвящена правильному выбору сервера для вашей социальной сети, а другая содержит советы по увеличению производительности платформы. Также мы добавили большую статью о пользовательских уровнях. Ознакомиться со статьями вы можете в разделе Вопросы и Ответы SocialEngine 4.
  2. Вам кажется, что ваша версия SocialEngine 4, работает медленно?

    Голосуйте. Пишите свою версию системы, железо на чем работает и количество пользователей. Будем увеличивать производительность :-) Подробнее

  3. В связи с участившимися случаями попыток продажи пользователями форума различных "сборок" коммерческих социальных платформ, обычно основанных на SocialEngine 3, вводится новое правило для форума. Запрещается создание тем или размещение в уже созданных предложений о продаже или размещение ссылок на сайты, где происходит продажа "сборок". Пользователи, которые продолжат свою коммерческую деятельность в данном направлении, будут заблокированы. Подробнее.

Друзья онлайн

Discussion in 'Хаки - Haks' started by djpower, Nov 26, 2009.

  1. djpower Thread starter User


    Offline
    Message Count:
    93
    Likes Received:
    8
    Как сделать что бы показывались онлайн друзья другого человека а не только мои друзья онлайн, как вконтакте
  2. SpartakuS User


    Offline
    • Знаменитый
    Message Count:
    797
    Likes Received:
    82
    Вы их покупали?
  3. Prado Challenge Everything


    Offline
    • Admin
    Message Count:
    3,191
    Likes Received:
    786
    My version of phpFox:
    3.0.0
    Что за Друзья онлайн? :)
  4. djpower Thread starter User


    Offline
    Message Count:
    93
    Likes Received:
    8
  5. Prado Challenge Everything


    Offline
    • Admin
    Message Count:
    3,191
    Likes Received:
    786
    My version of phpFox:
    3.0.0
    Тогда мы не знаем о каких друзьях идет речь, а это значит не можем вам помочь.
  6. djpower Thread starter User


    Offline
    Message Count:
    93
    Likes Received:
    8
    1. Открываете файл functions_general.php, внутри директории 'include'.



    // THIS FUNCTION RETURNS AN ARRAY CONTAINING THE USERNAMES OF ONLINE FRIENDS
    // INPUT:
    // OUTPUT: AN ARRAY OF USERNAMES FOR FRIENDS CURRENTLY ACTIVE IN THE SYSTEM
    function online_friends() {
    global $database, $user;

    // GET LOGGED IN FRIENDS ONLINE
    $onlinefriends_array = Array();
    $online_time = time()-60*60;
    $online_friends = $database->database_query("SELECT u.user_username, u.user_fname, u.user_lname
    FROM se_users u
    INNER JOIN se_friends f ON f.friend_user_id2=u.user_id WHERE f.friend_user_id1='{$user->user_info['user_id']}'
    && u.user_lastactive > '$online_time' AND u.user_invisible=0 ORDER BY u.user_lastactive DESC LIMIT 2000")
    or die($database->database_error());
    while($online_friend_info = $database->database_fetch_assoc($online_friends)) {
    $online_friend = new se_user();
    $online_friend->user_info[user_id] = $online_friend_info[user_id];
    $online_friend->user_info[user_username] = $online_friend_info[user_username];
    $online_friend->user_info[user_fname] = $online_friend_info[user_fname];
    $online_friend->user_info[user_lname] = $online_friend_info[user_lname];
    $online_friend->user_displayname();

    // SET ONLINE FRIENDS ARRAY
    $onlinefriends_array[] = $online_friend;
    $onlinefriends_usernames[] = $online_friend->user_info[user_username];
    }

    // GET VISITORS ONLINE
    $total_visitors = 0;

    return Array($onlinefriends_array, $total_visitors, $onlinefriends_usernames);
    } // END online_friends() FUNCTION




    далее в profile.php

    вставляем


    // ASSIGN SMARTY VARS AND INCLUDE FOOTER
    $smarty->assign('online_friends', online_friends());
    include "footer.php";


    заходим в profile.tpl


    <div class='page_header'>Friends Online</div>
    <div>Who's online on your friends list.</div>

    <br />

    {* SHOW ONLINE FRIENDS IF MORE THAN ZERO *}
    {math assign='total_online_friends' equation="x+y" x=$online_friends[0]|@count y=$online_friends[1]}
    {if $total_online_friends > 0}
    {if $online_friends[0]|@count == 0}
    {lang_sprintf id=977 1=$online_friends[1]}
    {else}
    {capture assign='online_friends_registered'}{section name=online_loop loop=$online_friends[0]}{if $smarty.section.online_loop.rownum != 1}, {/if}
    <div id='profile_friends' style='display: none;'></div>
    <div class='browse_friends_result' style='overflow: hidden;'>

    <div class='profile_friend_photo'>
    <a href='{$url->url_create("profile", $online_friends[0][online_loop]->user_info.user_username)}'>
    <img src='{$online_friends[0][online_loop]->user_photo('./images/nophoto.gif', TRUE)}'
    width='{$misc->photo_size($online_friends[0][online_loop]->user_photo('./images/nophoto.gif'),'90','90','w')}' border='0' alt="{$online_friends[0][online_loop]->user_displayname}"></a>
    </div>

    <div class='profile_friend_info'>
    <div class='profile_friend_name'>
    <a href='{$url->url_create("profile", $online_friends[0][online_loop]->user_info.user_username)}'>{$online_friends[0][online_loop]->user_displayname}</a></div>
    {$online_users[0][online_loop]->user_username}
    </div>

    <div class='profile_friend_options'>
    <div id='addfriend_'>
    <div id='remove_friend'>
    <a href="javascript:TB_show('{lang_print id=837}', 'user_friends_manage.php?task=remove&user={$online_friends[0][online_loop]->user_info.user_username}=&TB_iframe=true&height=300&width=450', '', './images/trans.gif');">{lang_print id=889}</a></div>
    <div id='send_message'>
    <a href="javascript:TB_show('{lang_print id=784}', 'user_messages_new.php?to_user={$online_friends[0][online_loop]->user_displayname}&to_id={$online_friends[0][online_loop]->user_info.user_username}&TB_iframe=true&height=400&width=450', '', './images/trans.gif');">{lang_print id=839}</a>
    </div>
    <div id='view_friends'>
    <a href='profile.php?user={$online_friends[0][online_loop]->user_info.user_username}&v=friends'>View {$user->user_info.user_username}'s Friends</a>
    </div>
    </div>
    <div style='clear: both;'></div>
    </div>
    </div>
    {/section}{/capture}
    {$online_friends_registered}
    {/if}
    {else}
    <table cellpadding='0' cellspacing='0' align='center'>
    <tr><td class='result'><img src='./images/icons/bulb16.gif' border='0' class='icon'>You do not have any friends online at this time.</td></tr>
    </table>
    {/if}

    ---------- Добавлено в 02:31 ---------- Предыдущее сообщение было написано в 02:28 ----------

    Но тут будет показывать только моих друзей онлайн а как сделать что бы когда зайдеш в профиль к другому человеку показывало и его друзей онлайн
  7. B-ReD Novice member


    Offline
    Message Count:
    69
    Likes Received:
    0
    Заменить кое-где $user на $owner скорее всего)))
  8. djpower Thread starter User


    Offline
    Message Count:
    93
    Likes Received:
    8
    Спасибо тебе все получилось!!! Вот только теперь как сделать что бы онлайн друзья были random случайные??? В друзьях легко сделать просто добавить строчку
    $friends = $owner->user_friend_list(0, 6, 0, 1, "RAND()");
    а для друзей оналйн????
  9. ewes Novice member


    Offline
    Message Count:
    21
    Likes Received:
    0
    как можно проверить определенного юзера он онлайн или нет?
  10. igrok Novice member


    Offline
    Message Count:
    49
    Likes Received:
    1
    а дайте файлик который бы выводил всех друзей пользователя, файл будет открываться ajax окном. по 20 человек на страницу если можно :)

Share This Page

All rights reserved SocEngine.ru ©