Jump to content
InvisionCommunity.de - Der Deutsche Invision Community Support

TomCrow

Mitglied
  • Content count

    649
  • Joined

  • Last visited

Everything posted by TomCrow

  1. 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
  2. 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
  3. 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" , "&copy;" , $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 &uuml; 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
  4. googlebot

    Danke für die schnelle Antwort! Tom
  5. Vielleicht als "late beta test"..? Ich sag's auch nicht weiter.. mfg, Tom
  6. googlebot

    @ 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
  7. 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
  8. TAGS?

    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
  9. wieder ne schwachstelle im ipb

    => Google.. ok, ich hab' das hier gefunden..denk' mal, dass es das is'.. mfg, Tom
  10. Serverwechsel / Boardumzug

    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
  11. Serverwechsel / Boardumzug

    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
  12. Serverwechsel / Boardumzug

    Auch diesen Teil ? .. $INFO['sql_database'] $INFO['sql_debug']$INFO['sql_driver'] $INFO['sql_host'] $INFO['sql_pass'] .. Tom
  13. Serverwechsel / Boardumzug

    Hast Du denn schon die conf_global.php angepasst? Denn das C:\...\www\xfiles7391\sources\Drivers\ sieht noch nach den alten Einstellungen aus.. Tom
  14. Serverwechsel / Boardumzug

    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
  15. Serverwechsel / Boardumzug

    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
  16. * nach einem Usernamen

    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
  17. 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
  18. * nach einem Usernamen

    => link mfg, Tom
  19. 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
  20. ..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
  21. Werd' mir das auch gleich mal ansehen.. Danke, Stefan!! mfg, Tom
  22. Welcomepanel?

    Hab das auch grad eingebaut, und ja, funzt mit 1.3 (hab allerdings den bugfix von Jabberwocky benötigt..). Danke @ Rigo! Tom
  23. Mod Installer

    Naja, das ließ mich zunächst auch glauben, da wären bereits einige ("Standard"-) Mods dabei.. Tom
  24. Mod Installer

    Hast Du denn schon andere mods in das Verzeichnis sources/mods raufgespielt..? mfg, Tom
  25. Smilie Schild Generator

    Ja, gibt es.. -> hier, oder (etwas komplizierter ) -> da.. mfg, Tom
×