Wer ist hier? 1 Gäste
|
BBCode Schild
|
|
depp1234 |
Geschrieben am 04.12.2009 00000012 11:59
|
Mitglied Beiträge: 63 Registriert am: 03.04.09 Fusioneer: 15 years 5 months 0 weeks 5 days 19 hours 29 minutes 0 seconds |
Hallo! Habe das gerade geladen und installiert aber wenn ich da jetzt so ein smilie auswähle und einen text dazu schreibe erstellt er nichts... Kommt aber auch keine fehlermeldung und nichts... // habe ich bei der schrift comic gelöscht. Die smilies kann ich auswählen und dann schreibt er auch das ins fenster z.b.: [schild=15][/schild] Dann geb ich da einen text ein [schild=15]test[/schild] und dann kommt nichts... neuer eintrag wurde erstellt aber da steht nichts drin. MFG Bearbeitet von depp1234 am 04.12.2009 00000012 12:16 |
|
|
SC-Ad-Bot | Advertisement |
| |
depp1234 |
Geschrieben am 04.12.2009 00000012 12:28
|
Mitglied Beiträge: 63 Registriert am: 03.04.09 Fusioneer: 15 years 5 months 0 weeks 5 days 19 hours 29 minutes 0 seconds |
welche bilder? ich habe alles was im ordner war hochgeladen. Kann die smilies auswählen, die sehe ich. Ich habe mal alle // drin gelassen ging nicht, dann habe ich der reihe nach alle einzeln raus genommen aber leider auch ohne erfolg. Bearbeitet von depp1234 am 04.12.2009 00000012 12:30 |
|
|
emblinux |
Geschrieben am 04.12.2009 00000012 12:33
|
Seiten Administrator Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 15 years 11 months 0 weeks 4 days 7 hours 48 minutes 51 seconds |
Bitte öffne mal die Datei text2schild.php im Ordner includes/bbcodes/includes und ersetze den kompletten Inhalt mit folgendem Code. Code Download Code <?php Bei mir hat es auch nicht funktioniert, da mein Server ganz sensibel eingestellt ist und jede Warnung anmeckert. Jetzt gehts bei mir. EDIT: habe gerade nochmal was aktualisiert, war noch eine Debugausgabe drinne. (13:42 Uhr) |
|
|
depp1234 |
Geschrieben am 04.12.2009 00000012 12:41
|
Mitglied Beiträge: 63 Registriert am: 03.04.09 Fusioneer: 15 years 5 months 0 weeks 5 days 19 hours 29 minutes 0 seconds |
okay das klappt jetzt das er ein smilie mit text anzeigt aber er nimmt immer das gleiche smilie egal welches ich auswähle. :-( |
|
|
emblinux |
Geschrieben am 04.12.2009 00000012 12:43
|
Seiten Administrator Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 15 years 11 months 0 weeks 4 days 7 hours 48 minutes 51 seconds |
Habe ich auch gerade gemerkt und den Quelltext nochmal angepasst. Bitte nochmal ersetzen.
|
|
|
depp1234 |
Geschrieben am 04.12.2009 00000012 12:45
|
Mitglied Beiträge: 63 Registriert am: 03.04.09 Fusioneer: 15 years 5 months 0 weeks 5 days 19 hours 29 minutes 0 seconds |
Super! Vielen DANK!!! |
|
|
depp1234 |
Geschrieben am 04.12.2009 00000012 12:48
|
Mitglied Beiträge: 63 Registriert am: 03.04.09 Fusioneer: 15 years 5 months 0 weeks 5 days 19 hours 29 minutes 0 seconds |
Sorry das ich nochmal störe aber klappt das mit der schrift bei dir? Wenn du sie änderst?
Bearbeitet von depp1234 am 04.12.2009 00000012 12:49 |
|
|
emblinux |
Geschrieben am 04.12.2009 00000012 13:02
|
Seiten Administrator Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 15 years 11 months 0 weeks 4 days 7 hours 48 minutes 51 seconds |
Das habe ich noch nicht probiert, werde ich gleich mal probieren. EDIT: Bei mir funktioniert die Schrift. Was genau hast du gemacht und was passirt bzw. was passirt nicht. Ich habe lediglich eine Schrift auskommentiert und diese hat dann auch funktioniert. Die Schrift muss natürlich vorhanden sein, im Ordner images/smilie_schild. |
|
|
depp1234 |
Geschrieben am 04.12.2009 00000012 14:24
|
Mitglied Beiträge: 63 Registriert am: 03.04.09 Fusioneer: 15 years 5 months 0 weeks 5 days 19 hours 29 minutes 0 seconds |
ich habe das so geändert also einfach die zwei // weg $fontfile = BASEDIR.'images/smilie_schild/comic.ttf'; sonst habe ich nichts getan. wenn ich dann ein smilie erstellen möchte, kommt keine fehlermeldung und nichts, der eintrag ist da aber kein inhalt... also so wie am anfang. Bearbeitet von depp1234 am 04.12.2009 00000012 14:25 |
|
|
depp1234 |
Geschrieben am 04.12.2009 00000012 14:28
|
Mitglied Beiträge: 63 Registriert am: 03.04.09 Fusioneer: 15 years 5 months 0 weeks 5 days 19 hours 29 minutes 0 seconds |
hab es schon gefunden ich musste die addy ändern weil ich es unter files habe... Danke für deine hilfe! |
|
|
emblinux |
Geschrieben am 04.12.2009 00000012 14:39
|
Seiten Administrator Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 15 years 11 months 0 weeks 4 days 7 hours 48 minutes 51 seconds |
Code Download Code $text = (isset($_GET['text']) ? utf8_decode($_GET['text']) : "" ); Das was rot markiert ist habe ich angepasst. Wenn eine Variable irgendwo benutzt wird, sie jedoch nicht initialisiert wurde, kommt eine Warnung, sie die Variable $fontfile, deshalb habe ich diese noch initialisiert. Das sollte man eigentlich immer machen, da dass sonst mal zu einem Sicherheitsrisiko führen kann. Und die Abfrage, ob eine Variable gesetzt ist, bevor man sie einer anderen Variable zuordnet ist bei einer sehr empfindlichen Servereinstellung Pflicht. Tut man dies nicht, kann auch das zu einem Sicherheitsrisiko werden. |
|
|
Hasi98 |
Geschrieben am 04.12.2009 00000012 14:57
|
Senior Mitglied Beiträge: 251 Registriert am: 17.03.09 Fusioneer: 15 years 5 months 3 weeks 22 days 15 hours 52 minutes 6 seconds |
Zitat emblinux schrieb: Code Download Code $text = (isset($_GET['text']) ? utf8_decode($_GET['text']) : "" ); hm den code generell find ich net so gut, weil wenn die get-variable existiert wird die get-variable selbst verwendet (für die die's noch net wissen : anstatt $_GET['text'] und so kann man auch $text schreiben) und das wäre eine globale variable. globale variablen sind unsicher und die soll man nicht verwenden. (des ist nichts gegen des,was emblinux geschrieben hat, sondern eine kritik gegen das system selbst.) Bearbeitet von Hasi98 am 04.12.2009 00000012 14:58 Mfg Hasi -------------------------------------------------- Swiftgaming - LianTu2 (MMORP Game Metin2 P-Server) Forum |
|
|
emblinux |
Geschrieben am 04.12.2009 00000012 15:10
|
Seiten Administrator Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 15 years 11 months 0 weeks 4 days 7 hours 48 minutes 51 seconds |
Der Vorteil dieser Methode liegt auf der Hand. Du initialisierst eine Variable in Abhängigkeit einer anderen. Soll heißen $text ist immer initialisiert, egal ob $_GET['text'] gesetzt ist oder nicht. Das spart dir für die weitere Arbeit viel Aufwand und Code, da wenn du direkt nur mit der $_GET['text'] Variable arbeitest, diese immer wieder prüfen müstest. Und das man keine globalen Variablen benutzen soll, müsste jedem guten Entwickler klar sein. Dazu muss natürlich auch der Server so eingestellt sein, sonst ist es für die Katz. Viele Entwickler benutzen bei ausgeschalteten globalen Variablen gerne einen Hack, der alle POST oder GET Variablen wieder globalisiert, damit man wieder seine "geliebten" globalen Variablen hat. Davon kann ich auch nur abraten, auch wenn das Arbeiten mit den POST oder GET Variablen etwas mühsamer ist. Aber es ist sicherer. Damit denke ich sollte das Thema beendet sein. Schließlich ist das nicht das Thema dieses Threads. |
|
|
emblinux |
Geschrieben am 04.12.2009 00000012 22:42
|
Seiten Administrator Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 15 years 11 months 0 weeks 4 days 7 hours 48 minutes 51 seconds |
Es könnte evtl. daran liegen, was man in das Schild schreiben möchte. Das mal prüfen.
|
|
|
emblinux |
Geschrieben am 05.12.2009 00000012 07:47
|
Seiten Administrator Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 15 years 11 months 0 weeks 4 days 7 hours 48 minutes 51 seconds |
Ist zwar nur eine vermutung, aber könnte es evtl. an den Umlauten liegen. Probiere doch mal "Sie folgen dem Anfuehrer" und schau was passiert.
|
|
|
emblinux |
Geschrieben am 05.12.2009 00000012 11:36
|
Seiten Administrator Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 15 years 11 months 0 weeks 4 days 7 hours 48 minutes 51 seconds |
dann sollte es doch reichen, wenn du in der bbcode Datei den Zeilenumbruch entfernst, bevor also der Aufruf mit den Parametern erfolgt.
|
|
|
emblinux |
Geschrieben am 05.12.2009 00000012 13:24
|
Seiten Administrator Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 15 years 11 months 0 weeks 4 days 7 hours 48 minutes 51 seconds |
Es kann auch sein, das solche Umbrüche Problematisch sind: \n oder \n\r Diese entstehen, wenn du in einer Textarea ein Enter machst und werden später für die Ansicht bearbeitet mit der Funktion nl2br ("New Line to break" Ist also gut möglich, das diese das Problem verursachen. Du musst eigentlich nur den Text vorher rausfiltern, also alles was zwischen [schild][/schild] steht nehmen und diesen mittels preg_replace bearbeiten, so das die Zeilenumbrüche entfernt werden. Das sollte das Priblem beheben. |
|
|
emblinux |
Geschrieben am 05.12.2009 00000012 14:27
|
Seiten Administrator Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 15 years 11 months 0 weeks 4 days 7 hours 48 minutes 51 seconds |
also als 1. hätte ich lediglich den Text zwischen dem BBCode herausgeholt: Code Download Code $text_zw = preg_replace('#\[schild=(random|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30)\](.*?)\[/schild\]#si', '\2" />', $text); Dann die Umbrüche entfernen Code Download Code $text_zw = preg_replace("/<br \/\>/","",$text_zw); Dann Text wieder zusammenbauen. Code Download Code $text = preg_replace('#\[schild=(random|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30)\](.*?)\[/schild\]#si', '<img src="'.INCLUDES.'bbcodes/includes/text2schild.php?smilie=\1&text='.$text_zw.'" />', $text); So sollte es evtl. funktionieren. Habe das mal mit einem RapiShare Link gemacht. Ist natürlich ungetestet. Werde sehen, wie ich am WE Lust und Zeit habe, dann mache ich das mal fertig, solltest du es nicht schaffen. |
|
|
emblinux |
Geschrieben am 06.12.2009 00000012 09:48
|
Seiten Administrator Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 15 years 11 months 0 weeks 4 days 7 hours 48 minutes 51 seconds |
ich habe da noch eine einfachere Lösung. in der Datei text2schild.php wird ja die maincore eingebunden und das nur, damit man die Variable BASEDIR benutzen kann, wozu ? Also mein Vorschlag. Entferne das includen der maincore und ändere die entsprechende Stelle wie folgt. vorher: Code Download Code $handle = opendir(BASEDIR."images/smilie_schild/"); nacher: Code Download Code $handle = opendir(dirname(__FILE__)."/../../../images/smilie_schild/"); Auch dort, wo man die Fonts einbinden kann, muss man es anpassen: vorher: Code Download Code //$fontfile = BASEDIR.'images/smilie_schild/comic.ttf'; nacher: Code Download Code //$fontfile = dirname(__FILE__)."/../../../images/smilie_schild/comic.ttf"; Denn in der maincore ist ja das SecSys eingebunden und überprüft die URL. Da aber nun in dieser Datei die maincore nicht mehr eingebunden ist, sollte auch keine Meldung vom SecSys kommen. Versuchs einfach mal. |
|
|
emblinux |
Geschrieben am 06.12.2009 00000012 11:54
|
Seiten Administrator Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 15 years 11 months 0 weeks 4 days 7 hours 48 minutes 51 seconds |
Zitat MarcusG schrieb: Ein Sicherheitsproblem sollte durch das Austricksen des SecSys ja nicht entstehen oder? Nein, eigentlich nicht, da ja die Parameter in keiner Datenbank-Anfrage benutzt werden oder als Include für igendwas. |
|
Springe ins Forum: |
Ähnliche Themen
Thema | Forum | Antworten | Letzter Beitrag |
---|---|---|---|
Seit Scoresystem installation Fehler in Admin->BBCode | Infusionen | 3 | 21.11.2011 00000011 15:27 |
php fusion 7 flash bbcode | Allgemeine Support Fragen | 1 | 14.10.2011 00000010 14:45 |
BBCode Bindet ein Google oder Youtube Flash Vidio ein | Allgemeine Support Fragen | 3 | 04.06.2011 00000006 13:45 |
Problem mit Scorsystem und thanks bbcode | Infusionen | 7 | 05.12.2010 00000012 12:33 |
bbcode anzeige mit BILD | Allgemeine Support Fragen | 6 | 28.11.2010 00000011 16:55 |