To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

Propozycje modyfikacji - [poprawka] Ignorowanie u?ytkowników

Woytec - 23-10-2010, 19:34
Temat postu: [poprawka] Ignorowanie użytkowników
Poprawka ta wyłącza oznaczanie jako nieczytanych postów, które napisał ignorowany użytkownik(dokonaj edycji includes/read_history.php z poniższej instrukcji) oraz wyłącza wyświetlanie informacji w miejscu wiadomości napisanej przez tego użytkownika(dokonaj edycji viewtopic.php z poniższej instrukcji)

viewtopic.php (jeżeli chcesz wyłączyć wyświetlanie informacji o ukrytej wiadomości w miejscu posta napisanego przez ignorowanego)
[usuń]
Kod:
if ( $board_config['cignore'] && $userdata['cignore'] )
    {
        if ( $user_id != ANONYMOUS )
        {
            $post_ignored = (in_array($poster_id, $ignored_users)) ? 1 : 0;
        }
        else
        {
            $post_ignored = 0;
        }
    }

    $ignore_this_post = (($post_ignored > 0) && ($poster_id != ANONYMOUS) && ($post_bypass != $postrow_post_id) && ($poster_level != ADMIN) && !$poster_is_mod ) ? true : false;

[Znajdź]
Kod:
for($i = 0; $i < $total_posts; $i++)

[Przed, dodaj]
Kod:
for($i = 0; $i < $total_posts; $i++)
{
$poster_id = $postrow[$i]['user_id'];
$poster_level = $postrow[$i]['user_level'];
$postrow_post_id = $postrow[$i]['post_id'];
    if ( $poster_level != ANONYMOUS && $poster_level != ADMIN && $poster_level == MOD )
    {
        if ( in_array($poster_id, $mods_ids) )
        {
            $poster_is_mod = true;
        }
        else
        {
            $poster_is_mod = false;
        }
    }
    if ( $board_config['cignore'] && $userdata['cignore'] )
    {
        if ( $poster_id != ANONYMOUS )
        {
            $post_ignored = (in_array($poster_id, $ignored_users)) ? 1 : 0;
        }
        else
        {
            $post_ignored = 0;
        }
    }
    $ignore_this_post = (($post_ignored > 0) && ($poster_id != ANONYMOUS) && ($post_bypass != $postrow_post_id) && ($poster_level != ADMIN) && !$poster_is_mod ) ? true : false;
    if($ignore_this_post)
    {
    $ignored[] = $i;
    unset($postrow[$i]);
    }
}

[Znajdź]
Kod:
for($i = 0; $i < $total_posts; $i++)
{

[Po, dodaj]
Kod:
  if(is_array($ignored))
  {
    while((!in_array($i, array_keys($postrow)) || in_array($i, $ignored)) && $i<$total_posts-1)
    {
    $i = $i+1;
    }
 
      if(in_array($i, $ignored)) break;
  }

[Znajdź]
Kod:
if ( $ignore_this_post || (!$show_post && ($userdata['user_id'] != $poster_id || $poster_id == ANONYMOUS)) )

[Zamień na]
Kod:
if ((!$show_post && ($userdata['user_id'] != $poster_id || $poster_id == ANONYMOUS)) )

Dla wyłączenia oznaczania jako nieprzeczytane postów ignorowanych użytkowników:
include/read_history.php

[Znajdź]
Kod:
$ignore_topics_table = $ignore_topics_sql = '';
        if ( $board_config['ignore_topics'] && $userdata['session_logged_in'] )
        {
            $ignore_topics_table = "LEFT JOIN " . TOPICS_IGNORE_TABLE . " i ON (i.topic_id = p.topic_id AND i.user_id = " . $userdata['user_id'] . ")";
            $ignore_topics_sql = "AND i.topic_id IS NULL";
        }

[Po, dodaj]
Kod:
        if ( $board_config['cignore'] && $userdata['session_logged_in'] )
        {
        $ignores = '';
        $sql = "SELECT * from ".IGNORE_TABLE ." where user_id = '".$userdata['user_id']."'";
          if ( !($result = $db->sql_query($sql)) )
          {
            message_die(GENERAL_ERROR, 'Could not query new topic information', '', __LINE__, __FILE__, $sql);
          }
         
            while( $row = $db->sql_fetchrow($result) )
          {
          $ignores[] = $row['user_ignore'];
          }
           
          if(is_array($ignores))
          {
          $ignores = implode(", ", $ignores);
          $ignore_users_sql = "AND p.poster_id NOT IN($ignores)";
          }
        }

[Znajdź]
Kod:
$ignore_topics_sql

[Pod, dodaj]
Kod:

$ignore_users_sql

Cassino - 23-10-2010, 21:30

Nigdy nie zwracałem na to uwagę, ale pomyślane... według mnie powinno być to w standardzie :)
Myszoor - 23-11-2012, 14:25

czy mogę prosić o rzut okiem na załącznik?

wprowadziłem zmiany do tych dwóch plików, ale zmian nie ma, w sensie, że przeczytanych już postów danego usera nie chce ukryć :|



Powered by phpBB modified by Przemo © 2003 phpBB Group