MyBB.de Forum
replace beim deaktivieren und aktivieren eines Plugins - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: replace beim deaktivieren und aktivieren eines Plugins (/thread-1603.html)



replace beim deaktivieren und aktivieren eines Plugins - Garlant - 29.03.2006

Hallo Leute,

Ich bin seit Tagen in meinem Plugin beschäftigt, denn ich bin dabei ein paar Schönheitsfehler zu korrigieren. Der Einzige Fehler der nun noch existiert ist der, dass die replace function bei mir nicht so möchte wie ich und ich aber keinen Fehler finden kann. Der Folgende Code soll eingesetzt werden, wenn das Plugin, welches in Erarbeitung ist, aktiviert wird. Seht ihr vielleicht den Fehler, den ich nicht sehe?

PHP-Code:
require "./inc/adminfunctions_templates.php";
find_replace_templatesets("showthread_ratingdisplay"'#<img src=\"\$theme[imgdir]/\$thread[rating]\" border=\"0\" alt=\"\$ratingav\" />(\r?)\n#'"<a href=\"javascript:whoRated(\$thread[tid]);\"><img src=\"\$theme[imgdir]/\$thread[rating]\" alt=\"\$ratingnav\" border=\"0\" />"); 


Wäre super, wenn ihr mir helfen könntet.

P.s Templates erstellen ist wesentlich leichter, als Templates mit Funktionen zu bearbeiten Big Grin

Mfg Garlant


RE: replace beim deaktivieren und aktivieren eines Plugins - StefanT - 30.03.2006

Versuchs mal so:
PHP-Code:
require "./inc/adminfunctions_templates.php";
find_replace_templatesets("showthread_ratingdisplay"'#<img src=\"\$theme[imgdir]/\$thread[rating]\" border=\"0\" alt=\"\$ratingav\" />#'"<a href=\"java script:whoRated(\$thread[tid]);\"><img src=\"\$theme[imgdir]/\$thread[rating]\" alt=\"\$ratingnav\" border=\"0\" />"); 
Achtung: "javascript" wird getrennt in "java script", also das " " beim kopieren entfernen!


RE: replace beim deaktivieren und aktivieren eines Plugins - Garlant - 30.03.2006

Dies bewirkt genau die Änderung im Template, wie mein obiger Code. Beim aktivieren wird das Template nicht verändert.
Da ich auf einem eingerichteten Testboard arbeite ist da auch kein weiteres Templatepack, bzw. Design installiert. Somit ist da kein Fehler zu suchen.
Im Moment bin ich selbst ein wenig ratlos, da es ja eigentlich funktionieren sollte. Mit deinem und, oder auch meinem replace string.

Garlant


RE: replace beim deaktivieren und aktivieren eines Plugins - StefanT - 30.03.2006

Du suchst nach : "#<img src=\"\$theme[imgdir]/\$thread[rating]\" border=\"0\" alt=\"\$ratingav\" />(\r?)\n#"
Allerdings ist nach dem Ende kein "\n". Daher könnte der Fehler kommen. Deswegen mein Vorschlag.


RE: replace beim deaktivieren und aktivieren eines Plugins - Garlant - 30.03.2006

Dragon schrieb:Du suchst nach : "#<img src=\"\$theme[imgdir]/\$thread[rating]\" border=\"0\" alt=\"\$ratingav\" />(\r?)\n#"
Allerdings ist nach dem Ende kein "\n". Daher könnte der Fehler kommen. Deswegen mein Vorschlag.

Leider kommt dieser Fehler aber nicht durch den Code den du nanntest und ich habe inzwischen einige Wege ausprobiert(habe es auch schon mit Dominik angeschnitten das Thema), wobei ich mich frage ob ich nicht doch einfach nur zu ungeschickt bin.
Vielleicht (hoffentlich) hat ja Michael einen Vorschlag was ich an der ganzen Sache falsch mache. Ansonsten werde ich mir wohl oder übel eine andere nicht so schöne Variante ausdenken müssen.

Beim aktivieren passiert einfach nichts im entsprechenden Template.




RE: replace beim deaktivieren und aktivieren eines Plugins - Michael - 30.03.2006

Versuche es bitte mal so:
PHP-Code:
find_replace_templatesets("showthread_ratingdisplay"'#<img(.*?)/>#'"Dein Inhalt"); 



RE: replace beim deaktivieren und aktivieren eines Plugins - Garlant - 30.03.2006

Danke dir Michael.
Es funktioniert nun so wie es soll.
Also bis später dann.

Garlant


RE: replace beim deaktivieren und aktivieren eines Plugins - Garlant - 14.06.2006

Ich habe gerade mal wieder Tomaten auf den Augen wie man so schön sagt.
PHP-Code:
// aktivieren
find_replace_templatesets("header"'#<li><a href(.*?)><img(.*?)/>\$lang->toplinks_search</a></li>#'"<li><a href=\"\$settings[bburl]/search.php\"><img src=\"\$theme[imgdir]/toplinks/search.gif\" border=\"0\" alt=\"\$lang->toplinks_search\" />\$lang->toplinks_search</a></li>\n<li><a href=\"\$settings[bburl]/threadvote.php?action=rated_threads\">Bewertete Themen</a></li>");
// deaktivieren
find_replace_templatesets("header"'#\n<li><a href(.*?)>Bewertete Themen</a></li>#'""); 
Das Aktivieren funktioniert ohne Probleme. Nur das deaktivieren macht Probleme.
Es wäre super wenn mir wer bei der Suche Helfen könnte. Wink

Mfg Garlant


RE: replace beim deaktivieren und aktivieren eines Plugins - Michael - 14.06.2006

Funktioniert es wenn du den genauen Code einsetzt?
PHP-Code:
find_replace_templatesets("header"'#</li>n<li><a href="$settings[bburl]/threadvote.php?action=rated_threads">Bewertete Themen</a></li>#'""); 
Warum steht ein "n" am Anfang des Codes bei dir?
Code:
#n<li><a href(.*?)>Bewertete Themen</a></li>#
Und warum sind die Slashes nicht ausgeklammert (\")?


RE: replace beim deaktivieren und aktivieren eines Plugins - Garlant - 14.06.2006

Nabend Michael,

Die Variante, welche du vorgeschlagen hast funktioniert so leider nicht.

Das \n steht am Anfang, da ich an dieser Stelle ein Zeilenumbruch gesetzt habe. Also im Template wird da eine Neue Zeile gesetzt. Diese Neue Zeile wollte ich nun natürlich wieder mit heraus nehmen. ...

Ich stehe gerade auf der Leitung. Welche Slashs, oder Backslashs sollten denn ausgeklammert sein? eventuell das \n?
Ja das ist dann wohl ein Formfehler den ich später beheben kann und werde. Doch wird dies vermutlich nicht der eigentliche Fehler sein, der mir die Ausführung des Codes verhindert.