Cool. Damit muss ich weder das Template noch die PHP Datei modifizieren.
Danke!
Cool. Damit muss ich weder das Template noch die PHP Datei modifizieren.
Danke!
Gut zu wissen. Danke!
Logisch habe ich das Template über das ACP angepasst.
Wollte nur wissen, ob ich das geänderte Template nach dem Update wieder "löschen" und somit wieder das Standard-Template benutzen kann. Aber ich muss das geänderte Template dann behalten richtig?
Aber das Template muss ich nach dem nächsten Update trotzdem anpassen oder?
Jetzt funktioniert es! Kann News erstellen und ändern ohne Einleitungstext.
Wenn jetzt aber ein Update des News System kommt, wäre das alles wieder weg oder?
Soll ich den vorhandenen Code in der PHP Datei ersetzen?
private function checkContent($name, $value, $minCharacter, $maxLength, $minWords, $censorship) {
$this->htmlInputProcessor[$name] = new HtmlInputProcessor();
$this->htmlInputProcessor[$name]->process($value, $this->messageObjectType, 0);
$message = $this->htmlInputProcessor[$name]->getTextContent();
$length = mb_strlen($message);
// check character length
if ($minCharacter > 0 && ($length < $minCharacter)) {
throw new UserInputException($name, 'minCharLength');
}
if ($minWords > 0 && (count(explode(' ', $message)) < $minWords)) {
throw new UserInputException($name, 'minWordCount');
}
// check object max length
if ($maxLength != 0 && $length > $maxLength) {
throw new UserInputException($name, 'tooLong');
}
if (ENABLE_CENSORSHIP && $censorship == true) {
$result = Censorship::getInstance()->test($message);
if ($result) {
WCF::getTPL()->assign("censoredWords" . $name, $result);
throw new UserInputException($name, 'censoredWordsFound');
}
}
if (WCF::getLanguage()->get($message, true) != $message && WCF::getLanguage()->get($message, true) != '') {
throw new UserInputException($name, 'langvar');
}
$disallowedBBCodes = $this->htmlInputProcessor[$name]->validate();
if (!empty($disallowedBBCodes)) {
WCF::getTPL()->assign('disallowedBBCodes', $disallowedBBCodes);
throw new UserInputException($name, 'disallowedBBCodes');
}
return $this->htmlInputProcessor[$name]->getHtml();
}
Alles anzeigen
Ganz schön kompliziert das alles und nach einem Update wäre alles wieder weg oder?
Inklusive Templateänderungen? Oder soll ich die Änderungen wieder entfernen, bevor ich die PHP Datei ändere?
Danke Olaf für das Wiederöffnen des Themas.
Ich hatte nur schnell versucht, mit aktivierter Templateänderung eine neue News zu erstellen und zu ändern. Hatte aber nur die Formulare aufgerufen. Das funktionierte.
Wenn ich allerdings mit aktivierter Änderung die erstellte oder geänderte News dann abschicken möchte, erscheint folgender Fehler:
Tue, 02 May 2017 10:49:55 +0000
Message: preg_match_all() expects parameter 2 to be string, array given
PHP version: 7.0.14-nmm1
WoltLab Suite version: 3.0.4
Request URI: /deals/news-add/
Referrer: http://wsc.compiware-forum.de/deals/news-add/
User Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36
Peak Memory Usage: 9622120/134217728
======
Error Class: wcf\system\exception\ErrorException
Error Message: preg_match_all() expects parameter 2 to be string, array given
Error Code: 0
File: /www/htdocs/w0060f78/compiware_wsc/lib/system/WCF.class.php (292)
Extra Information: -
Stack Trace: [{"function":"handleError","class":"wcf\\system\\WCF","type":"::","args":[2,"preg_match_all() expects parameter 2 to be string, array given","\/www\/htdocs\/w0060f78\/compiware_wsc\/lib\/system\/bbcode\/BBCodeParser.class.php",455,{"ignoreSoureCodes":"[redacted]","validTags":"[redacted]","pattern":"[redacted]","matches":"[redacted]"}],"file":"[internal function]","line":"?"},{"file":"\/www\/htdocs\/w0060f78\/compiware_wsc\/lib\/system\/bbcode\/BBCodeParser.class.php","line":455,"function":"preg_match_all","args":["~\\[(?:\/(?:b|i|u|s|sub|sup|email|color|size|font|align|quote|code|img|url|list|table|tr|td|media|spoiler|tt|attach|wsm|wsp|user|file|deal|info|album|image|edit|offtopic|quelle|trennlinie|fa|compihtml)|(?:b|i|u|s|sub|sup|email|color|size|font|align|quote|code|img|url|list|table|tr|td|media|spoiler|tt|attach|wsm|wsp|user|file|deal|info|album|image|edit|offtopic|quelle|trennlinie|fa|compihtml)\r\n\t\t\t(?:=\r\n\t\t\t\t(?:'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'|[^,\\]]*)\r\n\t\t\t\t(?:,(?:'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'|[^,\\]]*))*\r\n\t\t\t)?)\\]~ix",[],null],"class":"","type":""},{"file":"\/www\/htdocs\/w0060f78\/compiware_wsc\/lib\/system\/bbcode\/HtmlBBCodeParser.class.php","line":65,"function":"buildTagArray","class":"wcf\\system\\bbcode\\BBCodeParser","type":"->","args":[false]},{"file":"\/www\/htdocs\/w0060f78\/compiware_wsc\/lib\/system\/html\/input\/HtmlInputProcessor.class.php","line":58,"function":"parse","class":"wcf\\system\\bbcode\\HtmlBBCodeParser","type":"->","args":[[]]},{"file":"\/www\/htdocs\/w0060f78\/compiware_wsc\/deals\/lib\/form\/NewsAddForm.class.php","line":633,"function":"process","class":"wcf\\system\\html\\input\\HtmlInputProcessor","type":"->","args":[[],"de.wbb-elite.news.message",0]},{"file":"\/www\/htdocs\/w0060f78\/compiware_wsc\/deals\/lib\/form\/NewsAddForm.class.php","line":614,"function":"checkContent","class":"news\\form\\NewsAddForm","type":"->","args":["teaser",[],0,300,0,true]},{"file":"\/www\/htdocs\/w0060f78\/compiware_wsc\/deals\/lib\/form\/NewsAddForm.class.php","line":529,"function":"validateI18","class":"news\\form\\NewsAddForm","type":"->","args":["teaser",0,300,0,true,true]},{"file":"\/www\/htdocs\/w0060f78\/compiware_wsc\/lib\/form\/AbstractForm.class.php","line":59,"function":"validate","class":"news\\form\\NewsAddForm","type":"->","args":[]},{"file":"\/www\/htdocs\/w0060f78\/compiware_wsc\/lib\/form\/AbstractForm.class.php","line":112,"function":"submit","class":"wcf\\form\\AbstractForm","type":"->","args":[]},{"file":"\/www\/htdocs\/w0060f78\/compiware_wsc\/lib\/form\/AbstractCaptchaForm.class.php","line":67,"function":"readData","class":"wcf\\form\\AbstractForm","type":"->","args":[]},{"file":"\/www\/htdocs\/w0060f78\/compiware_wsc\/deals\/lib\/form\/NewsAddForm.class.php","line":250,"function":"readData","class":"wcf\\form\\AbstractCaptchaForm","type":"->","args":[]},{"file":"\/www\/htdocs\/w0060f78\/compiware_wsc\/lib\/page\/AbstractPage.class.php","line":274,"function":"readData","class":"news\\form\\NewsAddForm","type":"->","args":[]},{"file":"\/www\/htdocs\/w0060f78\/compiware_wsc\/lib\/page\/AbstractPage.class.php","line":103,"function":"show","class":"wcf\\page\\AbstractPage","type":"->","args":[]},{"file":"\/www\/htdocs\/w0060f78\/compiware_wsc\/lib\/system\/request\/Request.class.php","line":83,"function":"__run","class":"wcf\\page\\AbstractPage","type":"->","args":[]},{"file":"\/www\/htdocs\/w0060f78\/compiware_wsc\/lib\/system\/request\/RequestHandler.class.php","line":94,"function":"execute","class":"wcf\\system\\request\\Request","type":"->","args":[]},{"file":"\/www\/htdocs\/w0060f78\/compiware_wsc\/deals\/index.php","line":10,"function":"handle","class":"wcf\\system\\request\\RequestHandler","type":"->","args":["news"]}]
Alles anzeigen
Diese ist jetzt speziell beim Erstellen einer News entstanden. Beim Ändern sieht sie aber so ähnlich aus.
Deaktiviere ich die Templateänderungen wieder, also lösche das Template aus der Gruppe, dann ist wieder alles gut.
Jetzt bin ich endlich mal dazu gekommen, das auszuprobieren und was soll ich sagen? Es funktioniert. Genial Olaf! Danke dir.
Danke dir Olaf. Ich probiere das mal aus.
Gut. Dann versuche ich da mal was zu finden.
Ist es möglich, die Box "Einleitungstext" komplett zu deaktivieren, so dass diese beim Erstellen und Bearbeiten eine News nicht mehr angezeigt wird?