Pagina 1 van 1
selectief "nieuwe berichten" weergeven
Geplaatst: 31 aug 2004, 10:37
door robert_waanders
Beste Mensen,
Dit lijkt mij een mooie uitdaging voor de heren php'ers...
Probleem:
Op mijn forum (
http://www.modelbouwforum.nl) worden dagelijks zo rond de 600 nieuwe berichten gepost. Dit alles in diverse forums over verschillende onderwerpen. Nu kun je je voorstellen dat je niet de berichten wilt zien uit onderwerpen die je toch niet interesseren. Dus bijvoorbeel het forum "cafe" hoef ik niet te zien/volgen.
Wat zoek ik:
Een mod die het mogelijk maakt voor de gebruiker om zelf aan te geven van welke forums hij op de hoogte wordt gehouden dat er nieuwe berichten zijn. Dus dat het lijstje met (voor interresante) nieuwe topics korter wordt... De zaken die je niet interesseren wil je immers niet zien..
Is dit er al (en kijk ik er helemaal overheen) of is dit een mooie uitdaging om te schrijven. Ik neem aan dat meerder drukbezochte forum hetzelfde probleem hebben..
Alvast dank voor jullie reactie's
Robert Waanders
Beheerder Modelbouwforum.nl
Geplaatst: 31 aug 2004, 11:56
door MeDieViL
ik denk dat je mod de keep unread topics mod al een heel eind op weg komt...
je zal moeten werken met cookies denk ik...
veel meer kan ik niet zeggen, al vind ik het wel zelf een interessant idee

Geplaatst: 31 aug 2004, 12:20
door Podium4
Ik zal juist niet de keep unread topics mod installeren. Ik heb even nagekeken hoe wordt aangegeven dat een topic nieuw is of dat een forum oplicht omdat er nieuwe topics in zitten.
Het is vooral belangrijk dat we de index.php en de search.php op een aantal punten aanpassen. Zodat op de index de fora die niet intressant zijn ook niet oplichten, en bij het zoeken naar de nieuwe berichten sinds het laatste bezoek ook deze fora niet worden meegenomen.
index.php:
Code: Selecteer alles
//
// Obtain a list of topic ids which contain
// posts made since user last visited
//
if ( $userdata['session_logged_in'] )
{
$sql = "SELECT t.forum_id, t.topic_id, p.post_time
FROM " . TOPICS_TABLE . " t, " . POSTS_TABLE . " p
WHERE p.post_id = t.topic_last_post_id
AND p.post_time > " . $userdata['user_lastvisit'] . "
AND t.topic_moved_id = 0";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query new topic information', '', __LINE__, __FILE__, $sql);
}
$new_topic_data = array();
while( $topic_data = $db->sql_fetchrow($result) )
{
$new_topic_data[$topic_data['forum_id']][$topic_data['topic_id']] = $topic_data['post_time'];
}
$db->sql_freeresult($result);
}
search.php:
Code: Selecteer alles
{
$sql = "SELECT post_id
FROM " . POSTS_TABLE . "
WHERE post_time >= " . $userdata['user_lastvisit'];
}
In beide gevallen zal moeten worden aangegeven dat de fora die in een bepaald veld in de database van de user staan moeten worden genegeerdt.
Geplaatst: 31 aug 2004, 14:18
door mosymuis
Robert, ik zou met behulp van een mod als
Add a New Field to Profile een nieuw veld toevoegen aan de profielen, deze omzetten naar een pulldown menu van de forums (daar kunnen wij je mee helpen), en deze vervolgens los te laten op de query's die podium noemde.
Ervan uitgaande dat je je leden meerdere forums wilt kunnen laten negeren moet je met een array werken, die je als string met implode() hebt opgeslagen in phpbb_users. Deze plaats je dan in de query:
Code: Selecteer alles
..
AND t.forum_id NOT IN(" . $userdata['user_ignore_forums'] . ")
(index.php)
Geplaatst: 31 aug 2004, 14:58
door robert_waanders
Jongens,
Bedankt voor jullie zeer snelle antwoorden, leuk dat het opgepakt wordt, want ik denk dat meerder forums hier wel interesse in hebben.. Maar even voor de duidelijkheid (en ik vindt het ook heel jammer) : Ik heb echt helemaal geen inhoudelijke kennis van php..

Wil het nog wel eens leren, maar de tijd ontbreekt daar een beetje voor..
Misschien dat iemand het op wil pakken en er een mod voor schrijft.. Het is zo te lezen in ieder geval geen onmogelijke taak..
Robert
Geplaatst: 31 aug 2004, 22:48
door mosymuis
Het bleek iets lastiger uit te leggen als ik aanvankelijk aannam, dus heb ik er een mod van gemaakt.
Ignore/Hide Forums 1.0.0
Ik heb er ook een eigen idee in verwerkt, namelijk het volledig verbergen van forums op de index. De keus tot verbergen of negeren van forums kan gemaakt worden in het admin panel, zodat de mod op twee manieren werkt. Ik zou het op prijs stellen als je hem zou testen, en me zou vertellen wat er nog meer aan gedaan zou kunnen worden.
Geplaatst: 02 sep 2004, 10:58
door robert_waanders
Verdikkie, kerel, je bent geweldig, Zodra ik tijd heb zal ik dit gelijk proberen!! Dank voor je snelle actie.. Ik denk dat een hoop andere dit ook handig zullen vinden.
Je hoort in ieder geval snel. :thumb:
Robert
Geplaatst: 02 sep 2004, 15:02
door Leipo
Hahaha, Moos heb je tijd teveel ofzo
Anyway, zocht hem ook
Dank Moos

Geplaatst: 02 sep 2004, 17:05
door mosymuis
Er zat nog een permissie insectje in de profiel forum keuze lijst
Code: Selecteer alles
##############################################################
## MOD Title: Ignore/Hide Forums [2.0.10]
## MOD Author: mosymuis < mods@mosymuis.nl > (Rens van Dongen) http://mods.mosymuis.nl
##
## MOD Version: 1.0.1 (update from 1.0.0)
##
## Installation Level: (Easy)
## Installation Time: 1 Minute
## Files To Edit: (1)
## - includes/usercp_register.php
## Included Files: (n/a)
##############################################################
## Author Notes: Made for a request from robert_waanders at phpbb.nl.
##############################################################
## MOD History:
##
## 2004/09/02 - Version 1.0.1
## - Fixed permission bug in profile
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################
#
#-----[ OPEN ]------------------------------------------
#
includes/usercp_register.php
#
#-----[ FIND ]------------------------------------------
#
$sql = "SELECT f.forum_id, f.forum_name, f.cat_id, c.cat_title
#
#-----[ BEFORE, ADD ]---------------------------------------------------
#
$is_auth = auth(AUTH_VIEW, AUTH_LIST_ALL, $userdata);
#
#-----[ FIND ]------------------------------------------
#
$ignore_hide_forums_select .= "\t\t <option value=\"" . $row['forum_id'] . "\"" . $selected . ">" . $row['forum_name'] . "</option>\n";
#
#-----[ REPLACE WITH ]------------------------------------------
#
if ( $is_auth[$row['forum_id']]['auth_view'] ) $ignore_hide_forums_select .= "\t\t <option value=\"" . $row['forum_id'] . "\"" . $selected . ">" . $row['forum_name'] . "</option>\n";
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
Geplaatst: 03 sep 2004, 14:46
door robert_waanders
Ik heb de mod geinstalleerd, maar hoe pas ik hem nu toe? Ik zie in mijn profiel dat ik daar forums kan selecteren.. Maar hoe? Ik zie alleen maar een lijst met de nu aanwezige forums.. Misschien doe ik wat fout...
(ps ook je update geinstalleerd)
Robert
Geplaatst: 04 sep 2004, 15:29
door mosymuis
robert_waanders schreef:Ik zie in mijn profiel dat ik daar forums kan selecteren.. Maar hoe?
Simpelweg aanklikken, en meerdere items selecteren met CTRL ingedrukt.