Seite 1 von 1
[SUCHE] User Ignorieren bei "Beiträge seit dem letzten
Verfasst: Sa 21.Okt, 2006 20:05
von Germanboy4u
Hi
Suche mod oder snipset oder so was...
Habe einen RSS NewsBot in meinem Forum. So schon mal gut...
Leider werden seine Posts auch in "Beiträge seit dem letzten Besuch anzeigen" gezeigt. Kann man es so einstellen dass der da ignoriert wird?
Nicht so lustig wenn da was von 400 Posts steht^^ und es sind 398 von dem Bot *g*
Weiß da wer ne Lösung?
Danke
Germanboy4u
Verfasst: Sa 21.Okt, 2006 21:30
von oxpus
Der Bot wird wohl auch eine User-ID haben.
Dann wäre in der search.php in den ersten Abfragen diese User-ID auszuklammern.
Also in der Standard-Datei in diesen hier:
Code: Alles auswählen
if ( $search_id == 'newposts' || $search_id == 'egosearch' || ( $search_author != '' && $search_keywords == '' ) )
{
if ( $search_id == 'newposts' )
{
if ( $userdata['session_logged_in'] )
{
$sql = "SELECT post_id
FROM " . POSTS_TABLE . "
WHERE post_time >= " . $userdata['user_lastvisit'];
}
else
{
redirect(append_sid("login.$phpEx?redirect=search.$phpEx&search_id=newposts", true));
}
$show_results = 'topics';
$sort_by = 0;
$sort_dir = 'DESC';
}
else if ( $search_id == 'egosearch' )
{
if ( $userdata['session_logged_in'] )
{
$sql = "SELECT post_id
FROM " . POSTS_TABLE . "
WHERE poster_id = " . $userdata['user_id'];
}
else
{
redirect(append_sid("login.$phpEx?redirect=search.$phpEx&search_id=egosearch", true));
}
$show_results = 'topics';
$sort_by = 0;
$sort_dir = 'DESC';
}
else
{
$search_author = str_replace('*', '%', trim($search_author));
if( ( strpos($search_author, '%') !== false ) && ( strlen(str_replace('%', '', $search_author)) < $board_config['search_min_chars'] ) )
{
$search_author = '';
}
$sql = "SELECT user_id
FROM " . USERS_TABLE . "
WHERE username LIKE '" . str_replace("\'", "''", $search_author) . "'";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't obtain list of matching users (searching for: $search_author)", "", __LINE__, __FILE__, $sql);
}
$matching_userids = '';
if ( $row = $db->sql_fetchrow($result) )
{
do
{
$matching_userids .= ( ( $matching_userids != '' ) ? ', ' : '' ) . $row['user_id'];
}
while( $row = $db->sql_fetchrow($result) );
}
else
{
message_die(GENERAL_MESSAGE, $lang['No_search_match']);
}
$sql = "SELECT post_id
FROM " . POSTS_TABLE . "
WHERE poster_id IN ($matching_userids)";
if ($search_time)
{
$sql .= " AND post_time >= " . $search_time;
}
}
In der hier vorhandenen User-Tabelle wäre das die Bedingung
in den POST-Tabellen die Bedingung
wobei X jeweils für die User-ID des Bots steht...