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

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

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

[ХАК] Блок Мои Друзья ( как Вконтакте.ру )

Discussion in 'Хаки - Haks' started by ExTRANE, May 6, 2010.

  1. twixi007 Famous member


    Offline
    • Знаменитый
    Message Count:
    417
    Likes Received:
    77
    My version of SE:
    4.6.0
    какая разница- такая же страница=)

    Снимок.JPG
  2. ZikWal Novice member


    Offline
    Message Count:
    30
    Likes Received:
    1
    Вопрос... Как динамично они обновляются? Если человек вышел с сети через сколько я это увижу? :)
  3. twixi007 Famous member


    Offline
    • Знаменитый
    Message Count:
    417
    Likes Received:
    77
    My version of SE:
    4.6.0
    2,5 минуты=)
  4. ZikWal Novice member


    Offline
    Message Count:
    30
    Likes Received:
    1
    Ну чтож посмотрим :)

    ---------- Сообщение добавлено 31.03.2011 в 04:16 ---------- Предыдущее сообщение было 30.03.2011 в 20:41 ----------

    Я Проверил :) Чет У Мну Не РАботает :(

    Скажу так... для начала поищи у себя в ланге на каком у тебя прописано "друзья онлайн" - как ни как этот текст не отображается :(

    Так же он не отображается в блоке на странице профиля...

    Ну и при входе на user_friends_online.php

    Выдает вот это :)
    PHP:

    Fatal error
    Call to undefined function online_friends() in /home/zikwa171/public_html/user_friends_online.php on line 6
  5. thebeknazar User


    Offline
    Message Count:
    125
    Likes Received:
    7
    это чтобы на свой сайт поставить блоки с вк?
  6. ZikWal Novice member


    Offline
    Message Count:
    30
    Likes Received:
    1
    Это чтоб на свой сайт поставить Блок друзей онлайн
  7. ruffer Famous member


    Offline
    • Знаменитый
    Message Count:
    393
    Likes Received:
    56
    My version of SE:
    3.20
    Вот полный ответ на данный вопрос, только какое условие поставить чтобы рамка с онлайн друзьями исчезала когда в онлайне не кого?
    Для любителей контакта вставлять в profile.tpl в любое место
    PHP:
    {* BEGIN ONLINE FRIEND LIST *}
          

      <
    div id="friendsOnline" class="flexOpen">
       <
    div class="bOpen">
        <
    div class="flexHeader clearFix" onclick="return collapseBox('friendsOnline', this, 0.65, 0.30)" onfocus="blur()">
         <
    div><h2>Друзья Online<span> ({$total_friends})</span></h2></div>
        </
    div>
       </
    div>
       <
    div class="c">
        <
    div class="whenOpen">
         <
    div class="fSub clearFix">
          <
    h3>
           <
    div class="fDetails wSeeAll">
            
    Друзей online ({$cont1})
           </
    div>
           <
    div class="fSeeAll">
            <
    a href="profile_friends.php?user={$owner->user_info.user_username}">&darrВсе</a>
           </
    div>
          </
    h3>
         </
    div>
         <
    div class="flexBox clearFix no_padding" style="margin-left:-7px">
          <
    div id "fBox">
            {* 
    LOOP THROUGH FRIENDS *}
           
            <
    table class='friendTable' cellpadding='0' cellspacing='0' height='100%'><tr>
             {
    math assign='total_online_friends' equation="x+y" x=$online_friends[0]|@count y=$online_friends[1]} 
     
           
       
         
    {
    section name=online_loop loop=$online_friends[0max=6}
      <
    div style="width:90px; height:100%; padding:5px; padding-bottom:0; bottom:0px; float:left; text-align:center;"> <a href='{$url->url_create("profile", $online_friends[0][online_loop]->user_info.user_username)}'> <img align='bottom' src='{$online_friends[0][online_loop]->user_photo('./images/nophoto.gif')}' width='{$misc->photo_size($online_friends[0][online_loop]->user_photo('./images/nophoto.gif'),'50','999','w')}' border='0' alt="{$online_friends[0][online_loop]->user_displayname}")> 
    <
    a href='{$url->url_create("profile", $online_friends[0][online_loop]->user_info.user_username)}'>{$online_friends[0][online_loop]->user_displayname}</a> </div
      {if 
    $cont == 3}</tr>{/if}
              {if 
    $cont == 6}</tr>{/if}
    {/
    section
          {
    $online_friends_registered
         
            </
    tr></table>

           </
    div>
         </
    div>
        </
    div>
       </
    div>
      </
    div>
       

     {* 
    END ONLINE FRIEND LIST *}
    Свой стиль вставлять в profile.tpl в любое место
    PHP:
      <table class='friendTable' cellpadding='0' cellspacing='0' height='100%'><tr>
             {
    math assign='total_online_friends' equation="x+y" x=$online_friends[0]|@count y=$online_friends[1]} 
     
           
       
         
    {
    section name=online_loop loop=$online_friends[0max=6}
      <
    div style="width:90px; height:100%; padding:5px; padding-bottom:0; bottom:0px; float:left; text-align:center;"> <a href='{$url->url_create("profile", $online_friends[0][online_loop]->user_info.user_username)}'> <img align='bottom' src='{$online_friends[0][online_loop]->user_photo('./images/nophoto.gif')}' width='{$misc->photo_size($online_friends[0][online_loop]->user_photo('./images/nophoto.gif'),'50','999','w')}' border='0' alt="{$online_friends[0][online_loop]->user_displayname}")> 
    <
    a href='{$url->url_create("profile", $online_friends[0][online_loop]->user_info.user_username)}'>{$online_friends[0][online_loop]->user_displayname}</a> </div
      {if 
    $cont == 3}</tr>{/if}
              {if 
    $cont == 6}</tr>{/if}
    {/
    section
          {
    $online_friends_registered
         
            </
    tr></table>
    Вставить в funiction_general.php после // END censor() FUNCTION
    PHP:
    // 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$owner;

       
    // GET LOGGED IN FRIENDS ONLINE
       
    $onlinefriends_array = Array();
       
    $online_time time()-30*30;
       
    $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='
    {$owner->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 перед
    include "footer.php";
    PHP:
    $smarty->assign('online_friends'online_friends());
    Пользуйтесь на здоровье токо еще 1 вопросик как сделать чтобы у пользователя который имеет аватурку она отображалась
  8. ruffer Famous member


    Offline
    • Знаменитый
    Message Count:
    393
    Likes Received:
    56
    My version of SE:
    3.20
    Блок друзей в профиле как вконтакте
    PHP:
    {* BEGIN friends ONLINE *} 

    {if 
    $owner->user_info.user_id == $owner->user_info.user_id
    {if 
    $online_friends[0]|@count 0

    <
    div id="friends" class="flexOpen">
       <
    div class="bOpen">
        <
    div class="flexHeader clearFix">
         <
    div><h2>{lang_print id=7778002}</h2></div>
         <
    div class="flexEdit" >
         </
    div>
        </
    div>
       </
    div>
       <
    div class="c" >
        <
    div class="whenOpen">
         <
    div class="fSub clearFix">
          <
    h3>
           <
    div class="fDetails wSeeAll">
           {
    lang_print id=7778003} ({$online_friends[0]|@count})</div>
          <
    div class="fSeeAll"> {if $owner->user_info.user_id == $owner->user_info.user_id
          {if 
    $online_friends[0]|@count >= 6}
          <
    a href='user_friends_online.php'>{lang_print id=232}</a> {/if}{/if}
         </
    div
          </
    h3>
         </
    div>
         </
    div>
     </
    div></div>


    <
    table cellpadding='0' cellspacing='0' width='100%' style='margin-bottom: 10px;'
    <
    tr
    <
    td class='profile'
    {* 
    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[0max=6}{if $smarty.section.online_loop.rownum != 1} {/if} 
    <
    div id='profile_friends' style='display: none;'></div
    <
    div align="center"
    <
    div style='width: 60px; float: left;'



    <
    a href='{$url->url_create("profile", $online_friends[0][online_loop]->user_info.user_username)}'
    <
    img class="photo corner iradius8 ishade66 ishadow25" src='{$online_friends[0][online_loop]->user_photo('./images/nophoto.gif', TRUE)}' class='photo' width='50' border='0'></a


    <
    div align="center"
    <
    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
    {
    cycle values=",,<div style='clear: both; height: 10px;'></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'>{lang_print id=69654215}</td></tr
    </
    table
    {/if} 

    </
    td
    </
    tr
    </
    table
    {/if} {/if}
  9. homepage User


    Offline
    Message Count:
    71
    Likes Received:
    7
    My version of SE:
    3.20
    Я вот чему удивляюсь!
    Как оно доджно показать нам фото друга? если выбераеться только 3 поля

    Code:
    SELECT u.user_username, u.user_fname, u.user_lname
     
    FROM se_users u
     
    INNER JOIN se_friends ......
    может добавим "user_photo"?
  10. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    обсуждалось уже, юзайте поиск форума
    PHP:
    // 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, u.user_id, u.user_photo
    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_info[user_photo] = $online_friend_info[user_photo];
    $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

Share This Page

All rights reserved SocEngine.ru ©