TomCrow
Mitglied-
Content count
649 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Blogs
Linkliste
Downloads
Gallery
Store
Everything posted by TomCrow
-
Hi @ll! Ich suche eine Möglichkeit, eigene BBCodes in die post_parser.php einzutragen. Ich weiß, dass es dafür einen Mod gibt - der Grund, warum ich das selber machen will, ist: 1.) ich möchte die 'normale' Textformatierung erhalten und nicht mit buttons "überladen" (wer die codes verwenden will, muss sie selber eintippen ) 2.) ich möchte die Möglichkeit haben, die codes einzeln einzubauen bzw. abzuschalten (je nachdem, was ankommt, und was nicht ) Ich hab bei ibplanet ein Tutorial gefunden, dass die grundlegende Vorgangsweise erklärt: es funktioniert immer nach dem Schema $txt = preg_replace("#\[something\](.+?)\[/something\]#is","<somehtml>\\1</somehtml>", $txt); bzw. $txt = preg_replace("#<somehtml>(.+?)</somehtml>#is","\[something\]\\1\[/something\]", $txt); für die Rückkonvertierung.. So kann man z.B. erreichen, dass aus [c][/c] der HTML Befehl <center></center> wird. Nun zu meinem eigentlichen Problem: wie kann ich vorgehen, damit ich bei meinem BBCode auch noch (einen oder mehrere) Parameter angeben kann, also z.B. [glow=red] [/glow] sollte dann in etwa <font style="FILTER: Glow(Color=red, Strength=3); width=100%;"> </font> werden.. (sodaß ich dann z.B. 4 ,5 verschiedene Glowfarben angeben kann, die dann übernommen werden) Bei den schon vorhandenen Codes Schriftart, -größe und -farbe funktioniert dies ja bereits standardmäßig. Ich denke mal, dass diese Teile // font size, colour and font style // [font=courier]Text here[/font] [size=6]Text here[/size] [color=red]Text here[/color] while ( preg_match( "#\[size=([^\]]+)\](.+?)\[/size\]#ies", $txt ) ) { $txt = preg_replace( "#\[size=([^\]]+)\](.+?)\[/size\]#ies" , "\$this->regex_font_attr(array('s'=>'size','1'=>'\\1','2'=>'\\2'))", $txt ); } while ( preg_match( "#\[font=([^\]]+)\](.*?)\[/font\]#ies", $txt ) ) { $txt = preg_replace( "#\[font=([^\]]+)\](.*?)\[/font\]#ies" , "\$this->regex_font_attr(array('s'=>'font','1'=>'\\1','2'=>'\\2'))", $txt ); } while( preg_match( "#\[color=([^\]]+)\](.+?)\[/color\]#ies", $txt ) ) { $txt = preg_replace( "#\[color=([^\]]+)\](.+?)\[/color\]#ies" , "\$this->regex_font_attr(array('s'=>'col' ,'1'=>'\\1','2'=>'\\2'))", $txt ); } } und $txt = preg_replace( "#<span style=['\"]font-size:(.+?)pt;line-height:100%['\"]>(.+?)</span>#se" , "\$this->unconvert_size('\\1', '\\2')", $txt ); while ( preg_match( "#<span style=['\"]color:(.+?)['\"]>(.+?)</span>#is", $txt ) ) { $txt = preg_replace( "#<span style=['\"]color:(.+?)['\"]>(.+?)</span>#is" , "\[color=\\1\]\\2\[/color\]", $txt ); } $txt = preg_replace( "#<span style=['\"]font-family:(.+?)['\"]>(.+?)</span>#is", "\[font=\\1\]\\2\[/font\]", $txt ); der post_parser.php dafür verantwortlich sind.. Kann mich jemand "in die richtige Richtung" schubsen und ev. eine Beispielzeile posten? Vielen Dank im voraus.. Tom
-
Mehr/eigene BBCodes erstellen
TomCrow replied to TomCrow's topic in Programmierung (PHP, MySQL etc.)
Ja, ich hab' mich schon überzeugen lassen und den mod genommen - wenn man's erstmal durchschaut, ist es damit wirklich einfacher.. Nur - soweit ich das bisher gesehen hab' - gibt es bei den SimpleBBCodes keine Möglichkeit, nur den tag, aber keinen Button zu erstellen.. Und die DefaultBBCodes sind eigentlich ja immer in der Art [tag]<param1>[/tag] - wahrscheinlich könnt' ich es nur mit [tag] lösen und das <param1>[/tag] weglassen (bei <hr> gibt's ja eigentlich kein <param1> ).. Tom -
Mehr/eigene BBCodes erstellen
TomCrow replied to TomCrow's topic in Programmierung (PHP, MySQL etc.)
ok, das mit den komplexen codes habe ich aufgegeben..ich hab' es nicht geschafft, diese dann zurück zu konvertieren (braucht man ja, wenn ein z.B. posting editiert wird..) Hab' aber noch ein paar Fragen zur preg_replace in der post_parser.php: mir ist aufgefallen, dass z.B. das (C) zu dem © umgewandelt wird. Nun dachte ich mir, diese Möglichkeit könnte man doch auch nützen, wenn man einfache "codes" einbauen will, wo kein Text zwischen zwei tags steht.. z.B. ein <hr> Für das Copyright-Zeichen sieht der code in der post_parser so aus: $txt = preg_replace( "#\(c\)#i" , "©" , $txt ); Dieses wird anscheinend auch nicht zurückkonvertiert.. Hab' jetzt mal probehalber $txt = preg_replace( "#\[hr\]#i" , "<hr>" , $txt ); eingebaut, damit aus dem tag eine Trennlinie wird. Das muss natürlich schon zurückverwandelt werden, sonst hat man nach dem Editieren eines Beitrages ja wieder <hr> statt der Linie also weiter unten in der post_parser (wo auf das TM bezug genommen wird): $txt = preg_replace( "#<hr>#i", "\[hr\]", $txt ); 1.) Ist das so in Ordnung, oder laufe ich da Gefahr, dass irgendwann irgendwo etwas falsch "geparst" wird?? 2.) Kann ich das noch erweitern, indem ich z.B. einen tag [punkt] einbaue, der dann diesen Punkt ·, also & #183; anzeigt? $txt = preg_replace( "#\[punkt\]#i" , "& #183;" , $txt ); und $txt = preg_replace( "#&\#183;#i", "[punkt]", $txt ); (funktionieren tut es, aber - wie oben - ist das auch ok so..?) 3.) Kann man in dem Teil auch gleich Umlaute & Sonderzeichen in die ü usw. umwandeln lassen? 4.) Hab' leider auch noch nichts über die switches i, is, usw. in der preg_replace gefunden - wofür stehen die..? Viele Fragen , aber ich denke, von jemandem, der sich damit auskennt, rel. schnell zu beantworten.. mfg, Tom -
Danke für die schnelle Antwort! Tom
-
[suche] automatische Willkommensbox
TomCrow replied to Jenny's topic in Modifikationen (Support & Fragen)
Vielleicht als "late beta test"..? Ich sag's auch nicht weiter.. mfg, Tom -
@ cyber: wo findet man den diese info..? (ist voll interessant! ) Und was ist der Unterschied zwischen Haupt und Fresh..? Haupt = indiziert alles und Fresh schaut nur "kurz" nach Neuem, oder wie..? mfg, Tom
-
Google findet Forum nicht mehr..
TomCrow replied to TomCrow's topic in Allgemeine Fragen und Probleme
Mir geht's eben ähnlich (darum auch dieser thread ) - seit 25.2. hab ich täglich(!) GoogleBot logs (an manchen Tagen kommt "er" sogar 2x pro Tag!), aber eben immer nur Single Page Aktionen, also nicht tiefer ins Forum, in die Beiträge.. Vielleicht liegt das aber wirklich an Google & deren Änderungen.. mfg, Tom -
Kann ich Dir auch nur empfehlen.. Wenn man mal die Installation hinbekommen hat und durchblickt, wie das "Ding" funktioniert, kann man damit eine Menge anstellen (z.B. animierte Schildersmilies, Codes mit bis zu 4 Parametern übergeben, Buttons erstellen/oder auch nicht, etc.) Zu den codes, die es gibt: also standardmäßig sind dort die "gebräuchlichsten" dabei (die Standards wie fett/kursiv/unterstrichen,durchgestrichen, font, color, size, url, image, mail, aber auch sup/sub, center, align, Listen, VBQuote, die Microsoft Filter Glow/Shadow/Dropshadow, Flip vertical/horizontal, Move, Invert, XRay, Spoiler etc.) - einbauen kannst Du natürlich noch viel mehr mfg, Tom
-
=> Google.. ok, ich hab' das hier gefunden..denk' mal, dass es das is'.. mfg, Tom
-
Schau mal in diesem thread - eventuell findest Du was, das funktioniert.. (da ist auch ein link zu Peter's Anleitung auf ibforen mit drin..) mfg, Tom
-
hmm, gute Frage.. Ich hab' das bei meinem webspace mit phpMyAdmin gemacht, also gar nicht erst über's ACP oder so.. Hast Du bei Deinem Zugang eine Oberfläche zum Verwalten der SQL Datenbank? Sonst wüsst ich jetzt auch nicht weiter.. Tom
-
Auch diesen Teil ? .. $INFO['sql_database'] $INFO['sql_debug']$INFO['sql_driver'] $INFO['sql_host'] $INFO['sql_pass'] .. Tom
-
Hast Du denn schon die conf_global.php angepasst? Denn das C:\...\www\xfiles7391\sources\Drivers\ sieht noch nach den alten Einstellungen aus.. Tom
-
hmm..hatte selber keine Ahnung, hab' aber über Google das hier gefunden: #! /usr/bin/perl -w use strict; use File::Find; # html-header schreiben print ("Content-type: text/html\n\n"); print <<EOH; <HTML> <HEAD> <meta name="MSSmartTagsPreventParsing" content="TRUE"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <META NAME="robots" CONTENT="noindex"> </HEAD> <BODY bgcolor="#FFDD00" text="#000000"> EOH ; # Betriebssystem und Perl-Informationen herausfinden print "Operating system: ", $^O, "<BR>\n"; print "Perl-Location: ", `which perl`, "<BR>\n"; print "Perl-Version: " , `perl -v`, "<BR>\n";print "Sendmail-Location: ", `which sendmail`, "<BR>\n";print "Date-Location: ", `which date`, "<BR>\n"; print "<HR>"; print "PATH: @INC\n"; print "<HR>"; # installierte Module auflisten foreach my $dir (@INC){ find sub { print "$File::Find::name<BR>\n" if /\.pm$/; }, $dir; } print "<HR>"; # Environment-Variablen auslesen foreach (keys %ENV){ print ("$_ => $ENV{$_}<BR>\n"); } print "<HR>"; # HTML-Footer schreiben print <<EOF; </BODY> </HTML> EOF ; Einfach in ein Textfile schreiben und z.B. als perlinfo.pl abspeichern, uploaden (ASCII-Mode!!) und Rechte 755 setzen. (Hinweis: Je nach webspace muss das Ding wohl in bin oder cgi-bin oder so liegen). Dann aufrufen und Du kannst die Version (und vieles mehr) auslesen.. Ev. muss die erste Zeile #! /usr/bin/perl -w angepasst werden, aber wenn Du eben nicht weißt, wie die aussehen sollte, versuch's einfach mal damit - in der Regel stimmt das schon so.. Die eigentliche Information liefert print "Perl-Version: " , `perl -v`, "<BR>\n"; aber das andere ist ja auch nicht uninteressant.. (übrigens: ich lösche diese info-Dateien nach Gebrauch immer vom server und hab sie lokal zur Hand; muss ja nicht jeder auslesen können ) mfg, Tom
-
1.) Zur basedir: steht im ACP unter System Settings => Server Environment bzw. falls Du (noch) nicht ins ACP kommst: einfach folgendes .php script auf den server spielen und aufrufen: <?php // Show all information, defaults to INFO_ALL phpinfo(); // Show just the module information. // phpinfo(8) yields identical results. phpinfo(INFO_MODULES); ?> 2.) für smilies: UPDATE ibf_posts SET post=REPLACE(post,'http://www.alte.url/forum/html/emoticons', 'http://www.neue.url/forum/html/emoticons') WHERE post LIKE '%http://www.alte.url/forum/html/emoticons%' für links, usw. hab' ich mir dann überlegt, dass wohl immer ein / hinter der Domain stehen wird, egal welche Verzeichnisse danach noch kommen => Ich hab' z.B. öfters in Beiträgen, etc. die absolute url mit http://www.meineurl.at/forum/blabla usw. angegeben; mein backup liegt aber bei http://www.andereurl.net/back/forum/blabla => daher habe ich http://www.meineurl.at/ als 'http://www.alte.url/' und http://www.andereurl.net/back/ als 'http://www.neue.url/' eingesetzt; also allgemein UPDATE ibf_posts SET post=REPLACE(post,'http://www.alte.url/', 'http://www.neue.url/') WHERE post LIKE '%http://www.alte.url/%' dasselbe geht auch für die Hilfe UPDATE ibf_faq SET text=REPLACE(text,'http://www.alte.url/', 'http://www.neue.url/') WHERE text LIKE '%http://www.alte.url/%' oder die Custom Pages.. UPDATE ibf_pages SET content=REPLACE(content,'http://www.alte.url/', 'http://www.neue.url/') WHERE content LIKE '%http://www.alte.url/%' Was auch immer; Du musst nur die entsprechende sql Tabelle auswählen.. Den Namen und ob es text, post, content oder was auch immer heißen muss, siehst Du in der SQL.. Hinweis: Ich verwend' halt 1.3 aber ich denk', dass wird bei 1.2 nicht wirklich anders sein.. mfg, Tom
-
Ist klar, nach * läßt sich ja auch zugegebenermaßen schwer suchen..hab' diesen Beitrag gekannt, da ich ihn selber am Anfang mal gelesen hab'.. mfg, Tom
-
Such Animation und noch 2 fragen!
TomCrow replied to djtom's topic in Allgemeine Fragen und Probleme
MI steht für ModInstaller (findest Du hier, vom selben Autor), das heißt: alle MI-Mods sollten sich mit dem ModInstaller installieren lassen (Du musst dann die Änderungen nicht "manuell" vornehmen..). Ich würd' aber trotzdem empfehlen, mal kurz in die howto.htm bzw. CodeChange.php des zu installierenden mods zu schauen, damit man weiß, was alles verändert wird.. mfg, Tom -
=> link mfg, Tom
-
[suche] automatische Willkommensbox
TomCrow replied to Jenny's topic in Modifikationen (Support & Fragen)
ok, kein Problem.. Falls Du (oder Jenny oder wer auch immer ) es noch in der "Betaversion" hast, könntest Du's mir auch schicken? => office@katzenforum.at.. Danke, Tom -
[suche] automatische Willkommensbox
TomCrow replied to Jenny's topic in Modifikationen (Support & Fragen)
..ich auch.. Hat sich denn da noch was getan in der Zwischenzeit (vielleicht liegt das Ding ja schon quasi fix und fertig auf irgendeiner Festplatte.. ) mfg, Tom -
Werd' mir das auch gleich mal ansehen.. Danke, Stefan!! mfg, Tom
-
Hab das auch grad eingebaut, und ja, funzt mit 1.3 (hab allerdings den bugfix von Jabberwocky benötigt..). Danke @ Rigo! Tom
-
Naja, das ließ mich zunächst auch glauben, da wären bereits einige ("Standard"-) Mods dabei.. Tom
-
Hast Du denn schon andere mods in das Verzeichnis sources/mods raufgespielt..? mfg, Tom
-
Ja, gibt es.. -> hier, oder (etwas komplizierter ) -> da.. mfg, Tom