neralex Posted June 30, 2014 Share Posted June 30, 2014 Hallo! Der TinyMCE stripped den html5 audio-tag in Version 1.6.0.8. beim Speichern aus dem Editor-Feldern. Wie und wo kann ich diesen HTML5-Tag wieder zulassen? Link to comment Share on other sites More sharing options...
Whiley Posted June 30, 2014 Share Posted June 30, 2014 (edited) Hallo neralex, willkommen hier im Forum! Du öffnest mit einem Editor die Datei: /classes/Validate.php bei ca Zeile 395 findest du: public static function isCleanHtml($html, $allow_iframe = false) { $events = 'onmousedown|onmousemove|onmmouseup|onmouseover|onmouseout|onload|onunload|onfocus|onblur|onchange'; $events .= '|onsubmit|ondblclick|onclick|onkeydown|onkeyup|onkeypress|onmouseenter|onmouseleave|onerror|onselect|onreset|onabort|ondragdrop|onresize|onactivate|onafterprint|onmoveend'; $events .= '|onafterupdate|onbeforeactivate|onbeforecopy|onbeforecut|onbeforedeactivate|onbeforeeditfocus|onbeforepaste|onbeforeprint|onbeforeunload|onbeforeupdate|onmove'; $events .= '|onbounce|oncellchange|oncontextmenu|oncontrolselect|oncopy|oncut|ondataavailable|ondatasetchanged|ondatasetcomplete|ondeactivate|ondrag|ondragend|ondragenter|onmousewheel'; $events .= '|ondragleave|ondragover|ondragstart|ondrop|onerrorupdate|onfilterchange|onfinish|onfocusin|onfocusout|onhashchange|onhelp|oninput|onlosecapture|onmessage|onmouseup|onmovestart'; $events .= '|onoffline|ononline|onpaste|onpropertychange|onreadystatechange|onresizeend|onresizestart|onrowenter|onrowexit|onrowsdelete|onrowsinserted|onscroll|onsearch|onselectionchange'; $events .= '|onselectstart|onstart|onstop'; if (preg_match('/<[\s]*script/ims', $html) || preg_match('/('.$events.')[\s]*=/ims', $html) || preg_match('/.*script\:/ims', $html)) return false; if (!$allow_iframe && preg_match('/<[\s]*(i?frame|form|input|embed|object)/ims', $html)) return false; return true; } Den roten Teil löscht du - also sieht es dann so aus: public static function isCleanHtml($html, $allow_iframe = false) { return true; } Speichern und Cache löschen - dann müsste es gehen. Viele Grüsse Whiley Edited June 30, 2014 by Whiley (see edit history) Link to comment Share on other sites More sharing options...
neralex Posted June 30, 2014 Author Share Posted June 30, 2014 (edited) Also es wäre wirklich wünschenswert, wenn du es selbst einmal testest, was uns wirklich Zeit erspart. Der Audio-Tag wird zwar bei der Eingabe bzw. beim Wechsel zwischen Source-Code-Ansicht und der einfach Editor-Ansicht nicht mehr entfernt aber beim Speichern wird der Audio-Tag ebenfalls nicht gespeichert. Scheinbar wird beim Speichern serverseitig nochmal irgendwo gefiltert. <audio controls="controls" preload="none"> <source src="path/to/my/file.mp3" type="audio/mpeg"> </audio> Edited June 30, 2014 by neralex (see edit history) Link to comment Share on other sites More sharing options...
Whiley Posted June 30, 2014 Share Posted June 30, 2014 Also es wäre wirklich wünschenswert, wenn du es selbst einmal testest, unnötig, da schon zig-fach auf diese Art gelöst! Starte deinen Server neu und alles funktioniert! Link to comment Share on other sites More sharing options...
neralex Posted June 30, 2014 Author Share Posted June 30, 2014 (edited) Das ist jetzt nicht dein Ernst, oder?! Ich soll den Webserver neustarten, damit ein PHP-Script nicht mehr filtert? Was hat der Webserver damit zu tun, dass ein PHP-Script korrekt filtert? PHP wird doch nur vom Apache2 verarbeitet und bedarf keines Restarts, wenn daran Änderungen vorgenommen wurde. Wir können ja gern die Diskusssion über die Funktionsweise eines Webservers und PHP-Scripts in einem anderen Thread diskutieren aber das ist defintiv keine Lösung. Vorallem wenn es ein Shared-Server ist, also ein reiner Webspace wo keinerlei Restart des Apache2 möglich ist. Ich versuche es nochmal zu schildern. Ich habe deine vorgeschlagene Änderung vorgenommen, wodurch lediglich der Editor den HTML5-Tag VOR DEM SPEICHERN nicht mehr herausfiltert, sobald ich zwischen der Code-Ansicht und der normalen Ansicht des Editors wechsele. Aber sobald ich das Formular abschicke, wird es dennoch herausgefiltert - egal ob ich den Cache meines BROWSERS leere oder nicht, da dies offenbar serverseitig mittels PHP passiert, kann ich da leider nix tun außer ein PHP-Script ändern und erneut über meinen LOKALEN Browser auszuführen. (PHP = arbeit nur serverseitig, bevor es an den Client ausgeliefert wird - JavaScript, worauf der Editor basiert, wird nur auf der Client-Seite im Browser ausgeführt.) Es funktioniert nicht so, wie du es geschildert hast, da offenbar auch noch an einer anderen Stelle ein Filter greift. Die Frage ist wo ich suchen kann und meine Bitte erneut an dich: TESTE ES BITTE SELBST! Danke Edited June 30, 2014 by neralex (see edit history) Link to comment Share on other sites More sharing options...
Whiley Posted June 30, 2014 Share Posted June 30, 2014 TESTE ES BITTE SELBST! OK, getestet - funktioniert - schaust du hier: http://prestashop.multimedia-bodensee.de/tshirts/1-faded-short-sleeve-tshirts.html 1 Link to comment Share on other sites More sharing options...
neralex Posted June 30, 2014 Author Share Posted June 30, 2014 Ich gebe es, soviel Stumpfsinn ist unübertreffbar - Shop System gelöscht! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now