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ź]
[Pod, dodaj]
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ć :|
|
|
|