Stickies verplaatsen naar een ander forum.

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
JantjeP
Berichten: 96
Lid geworden op: 18 mei 2003, 22:41
Locatie: Bavel

Stickies verplaatsen naar een ander forum.

Bericht door JantjeP » 10 jun 2004, 18:41

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

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 10 jun 2004, 19:15

Probeer dit eens? :idea:

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);
			}
		}

JantjeP
Berichten: 96
Lid geworden op: 18 mei 2003, 22:41
Locatie: Bavel

Bericht door JantjeP » 10 jun 2004, 19:33

: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 :bier: ,
Jan

JantjeP
Berichten: 96
Lid geworden op: 18 mei 2003, 22:41
Locatie: Bavel

Bericht door JantjeP » 10 jun 2004, 20:58

En nu bedenk ik me dat de gebruikers ook ooit gevraagd hebben om dit via knoppen te kunnen regelen.
Dus in viewtopic.php
Afbeelding

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

JantjeP
Berichten: 96
Lid geworden op: 18 mei 2003, 22:41
Locatie: Bavel

Bericht door JantjeP » 28 jun 2004, 21:55

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" :?:

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 04 okt 2004, 23:56

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;

JantjeP
Berichten: 96
Lid geworden op: 18 mei 2003, 22:41
Locatie: Bavel

Bericht door JantjeP » 05 okt 2004, 00:30

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

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 05 okt 2004, 11:55

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);
         }
      }

JantjeP
Berichten: 96
Lid geworden op: 18 mei 2003, 22:41
Locatie: Bavel

Bericht door JantjeP » 05 okt 2004, 23:11

Het werkt nog niet.
Topic verhuizen van bijvoorbeeld forum 6 naar forum 61 gaat goed, maar retour wil het nog niet.

Groeten,
Jan

Gesloten