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

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

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

Мне нравится в плагине wall

Discussion in 'Хаки - Haks' started by ruffer, Aug 9, 2011.

  1. ruffer Thread starter Famous member


    Offline
    • Знаменитый
    Message Count:
    393
    Likes Received:
    56
    My version of SE:
    3.20
    небольшой хак для плагина wall
    Надеюсь если кому-то понравилось не забудет поставить "Спасибо"
    Создаем фаил(ну или просто копируем wall_action.php) wall_like.php
    PHP:
    <?php
      
      $page 
    "wall_like";
      include 
    "header.php";
      
      if (isset(
    $_POST['id'])) $action_id $_POST['id']; elseif (isset($_GET['id'])) $action_id $_GET['id'];
      
      
    $where_clause he_database::placeholder("se_actions.action_id=?"$action_id);
      
    $wall_action he_wall::actions_display(0$setting['setting_actions_actionsonprofile'], $where_clause);
      
    $wall_action $wall_action[0];
      
      if ( !
    $setting['setting_he_wall_guest_view'] && $user->level_info['level_wall_allowed'] == ){
      
    $page "error";
      
    $smarty->assign('error_header'639);
      
    $smarty->assign('error_message'690706102);
      
    $smarty->assign('error_submit'641);
      include 
    "footer.php";
      }
      
      if ( !
    $wall_action ){
      
    $page "error";
      
    $smarty->assign('error_header'639);
      
    $smarty->assign('error_message'690706081);
      
    $smarty->assign('error_submit'641);
      include 
    "footer.php";
      }
      
      
      
      
    $query "SELECT 
      WL.user_id,
      WL.like_stamp,
      U.user_displayname,
      U.user_username
      FROM se_he_wall_like WL
      JOIN se_users U
      ON WL.user_id = U.user_id
      WHERE WL.action_id='"
    .$action_id."' ORDER BY WL.like_stamp DESC";
      
      
    $rows $database->database_query$query );
      
    // GET THEM INTO AN ARRAY
      
    $dummy_user = new se_user();
      
    $wall_like_array = Array();
      while(
    $row $database->database_fetch_assoc($rows)) {
      
    $wall_like_array[] = $row;
      }
      
      
    $smarty->assign('wall_like'$wall_like_array);
      
      
      include 
    "footer.php";
      
      
      
    ?>
    Создаем wall_like.tpl
    PHP:
    {include file='header_global.tpl'}
      <
    div align='left'>
      {
    section name=wall_like_loop loop=$wall_like}
      {
    assign var='timestamp' value=$datetime->time_since($wall_like[wall_like_loop].like_stamp)}
      
      <
    a href="{$url->url_create('profile',$wall_like[wall_like_loop].user_username)}">{$wall_like[wall_like_loop].user_displayname}</a> - {lang_sprintf id=$timestamp[01=$timestamp[1]}<br/>
      {
    sectionelse}
      
    This wall post not any like post
      
    {/section}
      </
    div>
    Открываем include/class_he_wall.php
    там ищем
    PHP:
    function format_like$user_ids$user_arr )
          {
              if ( !
    $user_ids )
              {
                  return 
    false;
              }
      
              global 
    $user$url;
      
              
    $count count($user_ids);
              
    $cur_user_likes = ( $user->user_exists ) ? in_array($user->user_info['user_id'], $user_ids) : false;
      
              if ( 
    $count == )
              {
                  if ( 
    $cur_user_likes )
                  {
                      
    $owner_str SE_Language::get(690706005);
                      
    $value SE_Language::get(690706003, array( $owner_str ));
                  }
                  else
                  {
                      
    $owner_id $user_ids[0];
                      
    $owner $user_arr[$owner_id];
                      
    $owner_url $url->url_create('profile'$owner->user_info['user_username']);
                      
    $owner_str '<a href="' $owner_url '">' $owner->user_displayname '</a>';
      
                      
    $value SE_Language::get(690706004, array( $owner_str ));
                  }
              }
              elseif ( 
    $count == )
              {
                  if ( 
    $user_ids[0] == $user->user_info['user_id'] )
                  {
                      
    $other_user_id $user_ids[1];
                  }
                  elseif ( 
    $user_ids[1] == $user->user_info['user_id'] )
                  {
                      
    $other_user_id $user_ids[0];
                  }
      
                  if ( 
    $cur_user_likes )
                  {
                      
    $first_str SE_Language::get(690706005);
      
                      
    $second_user $user_arr[$other_user_id];
                      
    $second_user_url $url->url_create('profile'$second_user->user_info['user_username']);
                      
    $second_str '<a href="' $second_user_url '">' $second_user->user_displayname '</a>';
                  }
                  else
                  {
                      
    $first_id $user_ids[0];
                      
    $first_user $user_arr[$first_id];
                      
    $first_user_url $url->url_create('profile'$first_user->user_info['user_username']);
                      
    $first_str '<a href="' $first_user_url '">' $first_user->user_displayname '</a>';
      
                      
    $second_id $user_ids[1];
                      
    $second_user $user_arr[$second_id];
                      
    $second_user_url $url->url_create('profile'$second_user->user_info['user_username']);
                      
    $second_str '<a href="' $second_user_url '">' $second_user->user_displayname '</a>';
                  }
      
                  
    $owners SE_Language::get(690706006, array( $first_str$second_str ));
                  
    $value SE_Language::get(690706003, array( $owners ));
              }
              elseif ( 
    $count )
              {
                  
    $owners SE_Language::get(690706007, array( $count ));
                  
    $value SE_Language::get(690706003, array( $owners ));
              }
      
              return array( 
    'like' => $cur_user_likes'value' => $value );
          }
    заменить на
    PHP:
    function format_like$user_ids$user_arr$action_id )
    {
    if ( !
    $user_ids )
    {
    return 
    false;
    }

    global 
    $user$url;

     
    $count count($user_ids);

    $cur_user_likes = ( $user->user_exists ) ? in_array($user->user_info['user_id'], $user_ids) : false;

    if ( 
    $count == )
    {
    if ( 
    $cur_user_likes )
    {
    $owner_str SE_Language::get(690706005);
    $value SE_Language::get(690706003, array( $owner_str ));
    }
    else
    {
    $owner_id $user_ids[0];
    $owner $user_arr[$owner_id];
    $owner_url $url->url_create('profile'$owner->user_info['user_username']);
    $owner_str '<a href="' $owner_url '">' $owner->user_displayname '</a>';

    $value SE_Language::get(690706004, array( $owner_str ));
    }
    }
    elseif ( 
    $count == )
    {
    if ( 
    $user_ids[0] == $user->user_info['user_id'] )
    {
    $other_user_id $user_ids[1];
    }
    elseif ( 
    $user_ids[1] == $user->user_info['user_id'] )
    {
    $other_user_id $user_ids[0];
    }

    if ( 
    $cur_user_likes )
    {
    $first_str SE_Language::get(690706005);

    $second_user $user_arr[$other_user_id];
    $second_user_url $url->url_create('profile'$second_user->user_info['user_username']);
    $second_str '<a href="' $second_user_url '">' $second_user->user_displayname '</a>';
    }
    else
    {
    $first_id $user_ids[0];
    $first_user $user_arr[$first_id];
    $first_user_url $url->url_create('profile'$first_user->user_info['user_username']);
    $first_str '<a href="' $first_user_url '">' $first_user->user_displayname '</a>';

    $second_id $user_ids[1];
    $second_user $user_arr[$second_id];
    $second_user_url $url->url_create('profile'$second_user->user_info['user_username']);
    $second_str '<a href="' $second_user_url '">' $second_user->user_displayname '</a>';
    }

    $owners SE_Language::get(690706006, array( $first_str$second_str ));
    $value SE_Language::get(690706003, array( $owners ));
    }
    elseif ( 
    $count )
    {

    $countURL '<a href="javascript:TB_show(\'Who Likes This\', \'../wall_like.php?id='.$action_id.'&TB_iframe=true&height=100&width=300\', \'\', \'./images/trans.gif\');">'.$count.'</a>';
    $owners SE_Language::get(690706007, array( $countURL ));
    $value SE_Language::get(690706003, array( $owners ));
    }

    return array( 
    'like' => $cur_user_likes'value' => $value );
    }
    Тестировалось на плагине he_wall 3.22
    Скрин предлагается
    Кто сможет сделайте и выложите сюда чтобы отображало фотки как вконтакте

    Attached Files:

    eminem likes this.
  2. bennington111 Banned


    Offline
    • Banned
    Message Count:
    502
    Likes Received:
    225
    Так на стене и так есть это,или я что-то не понял!?
  3. ruffer Thread starter Famous member


    Offline
    • Знаменитый
    Message Count:
    393
    Likes Received:
    56
    My version of SE:
    3.20
    это есть просто немножко усовершенствовано
  4. mafiarus User


    Offline
    • Знаменитый
    Message Count:
    305
    Likes Received:
    71
    а скрин можно по больше?

    ---------- Сообщение добавлено в 01:58 ---------- Предыдущее сообщение было в 01:46 ----------

    чёто вообще не чего не измнилась
  5. its-me User


    Offline
    Message Count:
    406
    Likes Received:
    3
    спижжено с сейфа. хотябы написал бы
  6. mafiarus User


    Offline
    • Знаменитый
    Message Count:
    305
    Likes Received:
    71
    Где чё должно появиться?
  7. ruffer Thread starter Famous member


    Offline
    • Знаменитый
    Message Count:
    393
    Likes Received:
    56
    My version of SE:
    3.20
    какая тебе разница где взято? я же не пишу что сам делал, нашел и выложил сюда
  8. SpartakuS User


    Offline
    • Знаменитый
    Message Count:
    797
    Likes Received:
    82
    its-me, на сколько я помню тут браво запретил ставить копирайт на сейф. Так что все верно.
  9. mafiarus User


    Offline
    • Знаменитый
    Message Count:
    305
    Likes Received:
    71
    Может кто нибуть подробно расскажет,а то я хер пойму.Всё сделал по инструкции и не чего не изменилась!
  10. bennington111 Banned


    Offline
    • Banned
    Message Count:
    502
    Likes Received:
    225
    У меня та-же ситуация.

Share This Page

All rights reserved SocEngine.ru ©