Komische Fehlermeldung beim Posten

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Cendell
Mitglied
Beiträge: 23
Registriert: 06.04.2002 13:01

Komische Fehlermeldung beim Posten

Beitrag von Cendell »

Hi!

Komisch komisch ... seit Anfang dieser Woche bekommen wir beim Posten (auch bei der Vorschau) immer folgende Fehlermeldung:

Code: Alles auswählen

Warning: preg_replace(): Parameter mismatch, pattern is a string while replacement in an array.  in /home/aprophis/public_html/board/includes/bbcode.php on line 841
Hier der entsprechende Bereich aus der bbcode.php:

Code: Alles auswählen

function smilies_count($message) 
{ 
   static $orig, $repl; 

   if (!isset($orig)) 
   { 
      global $db, $board_config; 
      $orig = $repl = array(); 

      $sql = 'SELECT code, smile_url FROM ' . SMILIES_TABLE; 

      if( !$result = $db->sql_query($sql) ) 
      { 
         message_die(GENERAL_ERROR, "Couldn't obtain smilies data", "", __LINE__, __FILE__, $sql); 
      } 

      $smilies = $db->sql_fetchrowset($result); 

      usort($smilies, 'smiley_sort'); 
      $number=0; 
      for($i = 0; $i < count($smilies); $i++) 
      { 
         $orig[] = "/(?<=.\W|\W.|^\W)" . phpbb_preg_quote($smilies[$i]['code'], "/") . "(?=.\W|\W.|\W$)/"; 
         $repl[] = '<img src="'. $board_config['smilies_path'] . '/' . $smilies[$i]['smile_url'] . '" alt="' . $smilies[$i]['smile_url'] . '" border="0" />'; 

        $number += preg_match_all($orig[$i], ' ' . $message . ' ', $repl ); 
>>> $message = preg_replace($orig[$i], $repl[$i], ' ' . $message . ' ');
       $message = substr($message, 1, -1); 
      } 
   } 
   return $number; 
} 
Ich hab die Zeile 841 mit >>> markiert.
Ja ich weiss dass ist eine gemodete Stelle, aber das komische daran ist, an den Dateien nichts geändert wurde!! Und vorher lief alles perfekt.

Ich weiss nur dass unser Hoster auf PHP 4.3.2 upgedatet hat. Hat das was zu sagen?

Ausserdem hatten wir im Laufe der Woche ein paar Probs mit dem mySQL Connect, aber das ist eine andere Geschichte ;)

Im Moment weiss ich leider nicht weiter :(
Hoffe dass jemand eine Idee hat...

Grüsse
Benutzeravatar
Ta Lun
Mitglied
Beiträge: 60
Registriert: 28.08.2001 02:00
Kontaktdaten:

Beitrag von Ta Lun »

Das liegt wohl am update. Das Problem hier ist, daß er den Suchebereich nicht als array erkennt.
Ich würde den Fehler in dieser Zeile vermuten

Code: Alles auswählen

 $orig = $repl = array();
Probiere mal die beiden variablen in zwei verschiedenen Zeilen als array zu definieren.
Gast

Beitrag von Gast »

Danke für den Tip!
Das hat mich weitergebracht. Ich hab einfach mal die beiden Zeilen

Code: Alles auswählen

$message = preg_replace($orig[$i], $repl[$i], ' ' . $message . ' '); 
$message = substr($message, 1, -1); 
auskommentiert, da es diese in der Funktion scheinbar sowieso nicht benötigt :D

Greets...
Benutzeravatar
Ta Lun
Mitglied
Beiträge: 60
Registriert: 28.08.2001 02:00
Kontaktdaten:

Beitrag von Ta Lun »

hm...dann wird irgendwas nicht funktionieren.
Es scheint als wenn es sich hier um eine statistische funktion handelt.
Es werden hier wohl die Smilies gezählt,die in einen Thread genutzt wurden.
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Um welchen MOD handelt es sich denn ? :roll:
Benutzeravatar
Ta Lun
Mitglied
Beiträge: 60
Registriert: 28.08.2001 02:00
Kontaktdaten:

Beitrag von Ta Lun »

ich kenne diese Funktion eigentlich nur aus dem statistik mod
Gast

Beitrag von Gast »

das ist ein MOD bei dem man im AdminCP einstellen kann, wieviele Smilies ein Posting max. enthalten darf...

Hab noch ein paar kleinere Korreturen gemacht und jetzt funktioniert das Teil wieder tadellos! Du hattest recht Ta Lun, ganz ohne diese Zeilen kann es nicht funzen ;)
Ray

Selbes Problem

Beitrag von Ray »

Hi,

wir haben exakt dasselbe Problem bei unserem Board.

Gibt es freundlicherweise jemanden, der dafür eine (für Halb-Laien) verständliche Lösung hat?

Ich würde mich sehr freeuen. :)

Herzlichen Dank,
Ray
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“