Hallo, Gast!
AnmeldenRegistrieren

Wortfilter Nr. 2
#11
In pypmyadmin einfach in der Reihe der Tabelle "p5QQ_advanced_badwords"  auf Löschen klicken.
   
 
#12
Okay, habs gelöscht und Forum lebt noch :-)

Plugin erneut installiert und nächstes Problem:
--------------------------
MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1074 - Column length too big for column 'value' (max = 65535); use BLOB or TEXT instead
Query:
CREATE TABLE p5QQ_advanced_badwords_backups ( bid int unsigned not null auto_increment primary key, tid int NOT NULL, rid int NOT NULL, pid int NOT NULL, type int NOT NULL, value varchar(4294967295) )
---------------------------------

Habe nun eine Tabelle namens p5QQ_advanced_badwords_backups erstellt und die Variablen eingetragen:

bid: INT, UNSIGNED, not null, primary, A_I
tid: INT, not null
rid: INT, not null
pid: INT, not null
type: INT, not null
value: TEXT, 65535

Anm.: "value mit Varchar, 4294967295" hat einen "1074 error" ergeben

Plugin erneut installiert, folgender Fehler:
------------------------------
MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1050 - Table 'p5QQ_advanced_badwords' already exists
Query:
CREATE TABLE p5QQ_advanced_badwords ( bid int unsigned not null auto_increment primary key, regex varchar(255) NOT NULL, replacement varchar(30) NOT NULL )

Die Seite im ACP, wo man Plugins aktivieren/deaktivieren könnte, ist bei mir leer, warum auch immer, ist schon seit Wochen so. Ich kann das Plugin also nur durch Neuinstallation aktivieren.
 
#13
Ich habe gerade mal in das Plugin geschaut und habe einen Tipp für dich ....lass es mit diesem Plugin...es ist eher suboptimal programmiert und erzeugt zu viele unnötige Datenbankabfragen.
 
#14
Okay, gut zu wissen, danke dir!
 
#15
Habe nun folgenden code in inc/class_parser.php eingefügt:
PHP-Code:
function parse_alwaysreplace($message)
{
$myalwaysfind = array(
"alwaysbadword1",
"alwaysbadword2"
);

$myalwaysreplace = array(
"X1",
"X2"
);

$message str_replace($myalwaysfind$myalwaysreplace$message);

return 
$message;


alwaysbadword1 sollte durch X1 ersetzt werden, aber es wird gar nicht ersetzt. Was müsste ich im Code ändern?
 
#16
Wo wird die Funktion "parse_alwaysreplace" denn überhaupt aufgerufen?
 
#17
Habe die Funktion in Zeile 618 in inc/class_parser.php geschrieben, direkt über "function cache_badwords()" in Zeile 640 und "function parse_badwords($message, $options=array())" in Zeile 654.
 


Möglicherweise verwandte Themen…
Wortfilter nur für bestimmte Usergruppe
Letzter Beitrag: 19.04.2021, 16:36
Wortfilter im Threadtitel deaktivieren
Letzter Beitrag: 04.02.2009, 15:52
Wortfilter in Shoutbox?
Letzter Beitrag: 20.12.2008, 16:33
Wortfilter extended.
Letzter Beitrag: 27.08.2008, 01:41