Pagina 1 van 1
Stickies verplaatsen naar een ander forum.
Geplaatst: 10 jun 2004, 18:41
door JantjeP
Topic type Sticky gebruiken wij als status voor afgehandeld melden van berichten en verplaatsen deze daarna handmatig naar een ander forum.
Is het mogelijk om deze onderwerpen bij het posten (editen) van een bericht te controleren en te verplaatsen?
Misschien door onderstaande query o.i.d. op te nemen?
Code: Selecteer alles
UPDATE topics SET forum_id = 61 WHERE forum_id = 6 AND topic_type = 1;
UPDATE topics SET forum_id = 60 WHERE forum_id = 26 AND topic_type = 1;
UPDATE topics SET forum_id = 58 WHERE forum_id = 28 AND topic_type = 1;
b.v.d.
Jan
Geplaatst: 10 jun 2004, 19:15
door mosymuis
Probeer dit eens?
Open
includes/functions_post.php
Zoek
Code: Selecteer alles
$topic_vote = (!empty($poll_title) && count($poll_options) >= 2) ? 1 : 0;
Plaats eronder
Code: Selecteer alles
if ( $topic_type == POST_STICKY && in_array($forum_id, array(6, 26, 28)) )
{
switch ( $forum_id )
{
case 6: $new_forum_id = 61; break;
case 26: $new_forum_id = 60; break;
case 28: $new_forum_id = 58; break;
}
$sql = "UPDATE " . TOPICS_TABLE . "
SET forum_id = $new_forum_id
WHERE topic_id = $topic_id";
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not update forum', '', __LINE__, __FILE__, $sql);
}
}
Geplaatst: 10 jun 2004, 19:33
door JantjeP
:thumb: :thumb: :thumb:
Bedankt Mosymuis, gij zijt geweldig, in één keer goed!
Dit scheelt ons heel wat werk, en alles is steeds uptodate.
:thumb: :thumb: :thumb:
Ik dacht het ook reversible te kunnen maken met:
Code: Selecteer alles
// Normaal verplaatsen
if ( $topic_type == POST_NORMAL && in_array($forum_id, array(61, 60, 58, 59, 57, 67)) )
{
switch ( $forum_id )
{
case 61: $new_forum_id = 6; break;
case 60: $new_forum_id = 26; break;
case 58: $new_forum_id = 28; break;
case 59: $new_forum_id = 8; break;
case 57: $new_forum_id = 29; break;
case 67: $new_forum_id = 64; break;
}
$sql = "UPDATE " . TOPICS_TABLE . "
SET forum_id = $new_forum_id
WHERE topic_id = $topic_id";
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not update forum', '', __LINE__, __FILE__, $sql);
}
}
//einde normaal verplaatsen
maar .... dat topic_type heet zeker niet "NORMAL"
Groeten uit Brabant

,
Jan
Geplaatst: 10 jun 2004, 20:58
door JantjeP
En nu bedenk ik me dat de gebruikers ook ooit gevraagd hebben om dit via knoppen te kunnen regelen.
Dus in
viewtopic.php
En dat dan natuurlijk alleen in de berichten van de topic_poster, dus net als de wijzig knop.
Dit is al eerder aan bod geweest in
http://www.phpbb.nl/viewtopic.php?t=6659 , maar dat was het toch nog niet.
Jan
Geplaatst: 28 jun 2004, 21:55
door JantjeP
Ik heb dit nog niet werkend
JantjeP schreef:
Ik dacht het ook reversible te kunnen maken met:
Code: Selecteer alles
// Normaal verplaatsen
if ( $topic_type == POST_NORMAL && in_array($forum_id, array(61, 60, 58, 59, 57, 67)) )
{
switch ( $forum_id )
{
case 61: $new_forum_id = 6; break;
case 60: $new_forum_id = 26; break;
case 58: $new_forum_id = 28; break;
case 59: $new_forum_id = 8; break;
case 57: $new_forum_id = 29; break;
case 67: $new_forum_id = 64; break;
}
$sql = "UPDATE " . TOPICS_TABLE . "
SET forum_id = $new_forum_id
WHERE topic_id = $topic_id";
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not update forum', '', __LINE__, __FILE__, $sql);
}
}
//einde normaal verplaatsen
maar .... dat topic_type heet zeker niet "NORMAL"
Geplaatst: 04 okt 2004, 23:56
door mosymuis
JantjeP schreef:Ik heb dit nog niet werkend

De constante is wel POST_NORMAL. Ik vraag me echter af wat je hier aan te doen bent?
Code: Selecteer alles
case 61: $new_forum_id = 6; break;
case 60: $new_forum_id = 26; break;
case 58: $new_forum_id = 28; break;
case 59: $new_forum_id = 8; break;
case 57: $new_forum_id = 29; break;
case 67: $new_forum_id = 64; break;
Geplaatst: 05 okt 2004, 00:30
door JantjeP
Wij hebben openstaande vragen in forums 6, 26, 28, 8, 29, en 64 die verplaatst worden d.m.v. het afgehandeld melden en jou bovenstaande code, naar de afgehandelde vragen forums resp. 61, 60, 58, 59, 57, en 67.
Wil men nu de vraag weer terug open zetten om aanvullingen te doen, zou men deze naar de openstaande vragen retour kunnen sturen door weer op Normaal te klikken, dus dacht ik dit te realiseren door de forum nummers te switchen, maar .....?
groeten,
Jan
Geplaatst: 05 okt 2004, 11:55
door mosymuis
Waarom jouw oplossing niet werkt kan ik zo niet zien, maar dit is zoieso logischer om te gebruiken voor zowel het verplaatsen van sticky's als normale topics. Je hoeft de id's ook maar op één plek te defineren.
Code: Selecteer alles
$sticky_origional = array(6, 26, 28, 8, 29, 64);
$sticky_moveto = array(61, 60, 58, 59, 57, 67);
$normal_origional = $sticky_moveto;
$normal_moveto = $sticky_origional;
if ( ($topic_type == POST_STICKY && in_array($forum_id, $sticky_origional)) || ($topic_type == POST_NORMAL && in_array($forum_id, $normal_origional)) )
{
switch ( $forum_id )
{
case $sticky_origional[0]: $new_forum_id = $sticky_moveto[0]; break;
case $sticky_origional[1]: $new_forum_id = $sticky_moveto[1]; break;
case $sticky_origional[2]: $new_forum_id = $sticky_moveto[2]; break;
case $sticky_origional[3]: $new_forum_id = $sticky_moveto[3]; break;
case $sticky_origional[4]: $new_forum_id = $sticky_moveto[4]; break;
case $sticky_origional[5]: $new_forum_id = $sticky_moveto[5]; break;
case $normal_origional[0]: $new_forum_id = $normal_moveto[0]; break;
case $normal_origional[1]: $new_forum_id = $normal_moveto[1]; break;
case $normal_origional[2]: $new_forum_id = $normal_moveto[2]; break;
case $normal_origional[3]: $new_forum_id = $normal_moveto[3]; break;
case $normal_origional[4]: $new_forum_id = $normal_moveto[4]; break;
case $normal_origional[5]: $new_forum_id = $normal_moveto[5]; break;
}
$sql = "UPDATE " . TOPICS_TABLE . "
SET forum_id = $new_forum_id
WHERE topic_id = $topic_id";
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not update forum', '', __LINE__, __FILE__, $sql);
}
}
Geplaatst: 05 okt 2004, 23:11
door JantjeP
Het werkt nog niet.
Topic verhuizen van bijvoorbeeld forum 6 naar forum 61 gaat goed, maar retour wil het nog niet.
Groeten,
Jan