Beiträge von Michael_
-
-
Ich hab den Ordner mal gesichert, werde paar Tage warten wenn er nen Update rausbringt auch gut.

-
Hallo,
Ich hab hier nen Problem und zwar benutze ich "superstart" das Plugin für Firefox, nun hat Firefox sich heute automatisch geupgraded und das Plugin geht nun mit 57 nicht mehr.
Ich habe da viele wichtige Links gespeichert und jetzt kann ich die nicht mehr aufrufen -.-Kann ich firefox irgendwie downgraden ohne das Plugin und die dort gespeicherten Seiten zu entfernen?
Die würde ich gerne wieder einsehen.Der Plugin entwickler schreibt das er nen paar Tage braucht solange würde ich ggf. warten aber wenn das nix wird bräuchte ich ne lösung -.-
-
Ich hab über das ganze nochmal nachgedacht und ich bin zu dem schluss gekommen nachwievor ob ich nun quasi
include("plugincode.php");
schreibe oder anstelle davon
Macht doch eigentlich garkeinen unterschied? Daher denke ich modifiziere ich direkt den Code.
Und ob ich den Originalcode auskommentiere und ne eigene Funktion hinsetze oder sie einfach ersetze ist auch egal.Da ich checke ob die Suchstellen da sind vor dem Installieren ist das ganze auch safe.
Natürlich gibt es ein gewisses Risiko das es zu fehlern kommt aber meiner Meinung nach nicht mehr als mit diesen Einhängepoints da.Und wenn ich vorhandenen Code nicht editiere oder ändere dann ist es eh egal meiner Meinung nach ob ich wie oben was lade aus ner anderen Datei oder direkt reinschreibe.
-
Warum nicht das ist im ACP wenn da jemand drin ist ist eh zu spät.
Das Teil hier sieht cool aus:
http://linux-doku.de/blog/einfaches-php-plugin-systemIch glaub das werd ich morgen mal ausprobieren einzubinden.
ABER
damit kann ich auch keine bestehende Funktion überschreiben oder?
Man ich bin schon auch intelligent.
Ich könnt die stelle ja einfach auskommentieren mit hooks
-
Also ich hab nun wirklich viel gearbeitet aber irgendwie krieg ich das nicht hin und weiß auch nicht so recht wie ich es probieren soll.
Ich bräuchte eine funktion die das includen von Code so ermöglicht wie wenn ich ihn direkt irgendwo reinschreibe.vllt. kann mir ja jemand helfen wenn nicht dann mach ich es ohne Hooks ist zwar schade finde das ja auch ne tolle Sache aber bringt mir ja nichts wenn es nicht funktioniert.
Außerdem müsste ich so auch noch ne funktion haben um bestehende funktionen zu überschreiben den sonst muss ich sie eh anpassen machmal.
Man muss halt auch mal was bestehendes verändern, oder überschreiben.Im Anhang mal das ganze System bisher und das wbb.
vllt. kann mir ja jemand helfen wenn nicht muss ich morgen es dann in die ursprünglich geplante richtung schieben.
-
Danke ich werd mir das mal anschauen.
Ich hab grad ein Problem, mein System ist soweit fertig dachte ich und da wollte ich mal den ersten Hack als Plugin umschreiben.
Aber sagt mal wie soll ich das den als Hook machen:Code
Alles anzeigensuche in global.php ----------------------- $tpl = new tpl(0,intval($style['subvariablepackid'])); ----------------------- und ersetze es durch ----------------------- $tpl = new tpl(intval($style['templatepackid']),intval($style['subvariablepackid'])); ############################################################################################################################## suche in acp/lib/class_tpl_file.php ----------------------- function tpl($templatepackid=0,$subvariablepackid=1,$prefix="") { $this->subvariablepackid = $subvariablepackid; $this->templatefolder = $prefix."templates"; } ----------------------- und ersetze es durch ----------------------- function tpl($templatepackid=0,$subvariablepackid=1,$prefix="") { global $db, $n; $this->subvariablepackid = $subvariablepackid; if(!$templatepackid) $this->templatefolders[] = $prefix."templates"; $result = $db->query("SELECT * FROM bb".$n."_templatepacks"); while($row = $db->fetch_array($result)) $templatepacks[$row['templatepackid']] = $row; while($templatepackid != 0) { $this->templatefolders[] = $prefix.$templatepacks[$templatepackid]['templatefolder']; if($templatepacks[$templatepackid]['parent_templatepackid']==-1) { $this->templatefolders[] = $prefix."templates"; break; } else $templatepackid = $templatepacks[$templatepackid]['parent_templatepackid']; } $result = $db->query("SELECT * FROM bb".$n."_subvariablepacks LEFT JOIN bb".$n."_subvariables USING (subvariablepackid) WHERE variable = '{imagefolder}'"); while($row = $db->fetch_array($result)) $subvariablepacks[$row['subvariablepackid']] = $row; $varlist = "''"; while($subvariablepackid != 0) { $this->imagefolders[] = $subvariablepacks[$subvariablepackid]['substitute']; $subvariablepackid = $subvariablepacks[$subvariablepackid]['parent_subvariablepackid']; } } ----------------------- suche ----------------------- var $templatefolder = ""; ----------------------- und ersetze es durch ----------------------- var $templatefolders = array(); var $imagefolders = array(); var $images = array(); ----------------------- suche ----------------------- if(file_exists($this->templatefolder."/$templatename.tpl")) $this->templates[$templatename]=str_replace("\"","\\\"",implode("",file($this->templatefolder."/$templatename.tpl"))); ----------------------- und ersetze es durch ----------------------- for ($j=0;$j<count($this->templatefolders);$j++) { if(file_exists($this->templatefolders[$j]."/$templatename.tpl")) { $this->templates[$templatename]=str_replace("\"","\\\"",implode("",file($this->templatefolders[$j]."/$templatename.tpl"))); break; } } ----------------------- suche ----------------------- case "{!DOCTYPE}": $template = $this->str_replace($row['variable'],$row['substitute'],$template); break; ----------------------- und füge darunter ein ----------------------- case "{imagefolder}": break; -----------------------Die anderen Codestellen gingen problemlos.
Also ich mein wie kann ich das machen ohne die Original Codestellen zu verändern?
-
Hi,
Also mein System ist soweit fertig allerdings brauch ich nun noch eine Funktion um die Hooks zu laden.
VEREINFACHT habe ich eine hooks.php und includiere diese in der index.php
nun möchte ich eine Codestelle (also nicht den ganzen inhalt) an einer stelle in der index.php "inkludieren".Wie mache ich das?
Mit "functions" in PHP bin ich noch nicht weitergekommen, zwar kann ich mittels eines Arrays mehrere Variablen ausgeben
allerdings wenn ich dann noch andere dinge wie nen SQL Query oder ne Templateausgabe da reinpacke gibt das einen Error -.-Gibt es ne ganz einfache möglichkeit wie ich einzelne Codestellen aus einer Datei in einer anderen inkludieren und aufrufen kann?
quasi wie "include" nur nicht die ganze datei sondern nur eine Codestelle daraus!Wäre super wenn ihr mir hier helfen könnt.
Ich hab jetzt was zusammengebastelt aber leute geht das nicht irgendwie besser?Codefunction hook() { global $wbbuserdata, $header, $footer, $headinclude, $session, $master_board_name, $REQUEST_URI, $tpl, $db, $n, $boardbit, $index_useronline, $index_hello, $welcome, $quicklogin; eval ("\$quicklogin = \"".$tpl->get("index_quicklogin")."\";"); $index = eval("\$tpl->output(\"".$tpl->get("index")."\");"); return array($quicklogin, $index); } list($quicklogin, $index) = hook(); $quicklogin = $quicklogin; $index = $index; -
Beste Forumsoftware ever made lasse mir grade ein full responsive template machen.
PHP 7 und Mysql 5.7 hab ich es schon drauf angepasst.Nun noch das Plugin System.
PS:
Kennt ihr ein Shopsystem das Downloadlinks supportet als Produktauslieferung sowie Paypal und auch gratis Downloads.
Also das man Produkte direkt runterladen kann ohne sie zu kaufen bzw. ohne zu zahlen?
Die Links die bezahlt werden sollten nach der Zahlung per Paypal direkt freigeschaltet werden.bräuchte nen neues Shop CMS.
-
Hab alle funktionen jetzt werde morgen das erste Plugin fertig machen.

-
bzw. es wird nichts geändert durch die Plugins aber
ich suche z.b. nach
$filename = "index.php";und füge dann darunter den code zum laden des hooks ein.
Wenn nun aber die codestelle $filename = "index.php"; nicht mehr existiert oder geändert wurde ginge das ja nicht daher muss ich sicher sein das sie existiert.
Die alten WBB Versionen haben keinen Plugin Installer, das gibt es erst ab dem WBB3. -
Nein ich mach Hooks!
Aber ich kann nicht ausschließen das verwender dieses Hacks dann auch andere Hacks manuell einbauen die es nicht als plugin gibt und somit den originalen Code ändern werden.Damit es dann nicht zu problemen kommt geh ich auf nummer sicher und schaue ob die Codestellen existieren die geändert werden durch die Plugins.
Wenn nicht gibt es nen Error und nichts wird modifiziert. -
Checkt mal den Dateianhang.
Kann mir jemand vllt. ne funktion schreiben die checkt ob eine php codestelle existiert?
Weiß noch nicht so recht wie ich das machen soll aber würde gerne auf nummer sicher gehen und das einbauen.Ansonsten denke ich werde ich morgen im laufe des Tages mein "Pluginalike" Plugin System fertig haben.
Achso das wird ein kostenloses Addon
-
Funktioniert btw nun
Mal ne Frage würdet ihr noch vor dem modifizierten checken ob die suchstellen alle vorhanden sind?
Kann mir jemand ggf. eine funktion sagen wie ich in einer php datei nach etwas suchen kann und wenn es gefunden wird TRUE und wenn nicht FALSE oder 1 und 0 zurückgibt?ggf. würde ich das noch mit einbinden und eben dann nicht installieren wenn die Suchstellen nicht gefunden werden.
Oder meint ihr kann man das ganz weglassen?Mein System arbeitet mit Hooks.

-
Kann mir mal jemand helfen, das hier zeigt alle Unterordner an eines Verzeichnisses:
Code$handle = @opendir("pluginalike/plugins"); while ($file = @readdir ($handle)){ if (eregi("^\.{1,2}$",$file)){ continue; } printf ("% ".$pos."s %s\n", "", $file); } @closedir($handle);kann mir jemand helfen das ich statt zu printen den namen in ner Variable speichern kann.
bekomm das leider nicht hin -.- -
Ergo lieber 2 Querys als einer um die Kompatibilität zu sichern?
-
Warum minimiert das das konfliktrisiko?
Ob der Code da steht oder aufgerufen wird ist doch im prinzip das selbe?Letzten endes steht da ja der selbe Code.
Außerdem wäre noch interessant wie ich z.b. nen mysql query ändern kann mit nem Hook.
Ich mein insofern das mir jemand noch etwas erklärt vllt. mach ich das ja mit hooks.

Mein letzter Beitrag zeigt die "Schwierigkeit" ja recht genau.
Plugins sind ja nicht immer eigenständige Sachen sondern greifen teilweise ja in vorhandene features ein.
Achso das man nen zweiten Query machen könnte in dem Hook ist mir klar aber ich glaub das ist ja nicht DIE Lösung das Forum zu verlangsamen. -
Ich verstehe noch nicht wirklich wie diese Hooks funktionieren.
Ob ich nun in der index.php nen Hook aufruf reinschreibe oder direkt den Code ist doch egal?
Außerdem wie soll ich den einen SQL Query anpassen mit diesen Hooks?Was genau ist an meiner Version schlechter als an diesen Hooks?
Nehmen wir mal an wir haben hier die index.phpPHP<?php $wasgehtab = $db->query("SELECT was, geht, ab FROM bb".$n."_dasgehtab WHERE username = '$wbbuserdata[username]'"); $wasgehtab_was = $wasgehtab[was]; $wasgehtab_geht = $wasgehtab[geht]; $wasgehtab_ab = $wasgehtab[ab]; echo "Hello World $wasgehtab_was $wasgehtab_geht $wasgehtab_ab"; ?>Nun möchte ich das so modifizieren:
PHP<?php $wasgehtab = $db->query("SELECT was, geht, ab, gender FROM bb".$n."_dasgehtab WHERE username = '$wbbuserdata[username]'"); $wasgehtab_was = $wasgehtab[was]; $wasgehtab_geht = $wasgehtab[geht]; $wasgehtab_ab = $wasgehtab[ab]; $gender = $wasgehtab[gender]; $plugin = "$gender bla bla bla"; echo "Hello World $wasgehtab_was $wasgehtab_geht $wasgehtab_ab $plugin"; ?>Wie soll man sowas den mit nem Hook machen?
-
Hallo,
Ich hab mal eine Frage und zwar kennt ihr ja alle Pluginsysteme wie sie in modernen Forensystemen integriert sind.
Man drückt auf den Knopf und das Plugin wird automatisch installiert.Dazu habe ich eine Frage:
Und zwar ist das wirklich nur "Suchen und Ersetzen" von Codestellen + SQL ausführen?Warum kommt es dann nie zu problemen das z.b. eine Suchstelle schon verändert wurde und dann nicht gefunden wird ODER das das Forum danach nicht mehr funktioniert (nach der installation eines solchen Addons)?
Sind da vllt. noch irgendwelche weiterführenden Sicherheitsmaßnahmen integriert?Ich würde gerne sowas für das alte WBB machen.
was haltet ihr von folgendem:
1.suchen ob alle PHP Codestellen so vorhanden sind wie sie sollen
2.Backup von den zu ändernden PHP Datein machen vllt. auch SQL Backup
3.PHP änderungen durchführen
4.SQL ausführen
5.Neue Datein hochladen
6.ggf. falls gewünscht änderungen rückgängig machen (PHP reverse ändern + sql)So ungefähr muss es doch auch bei anderen Plugin Systemen laufen oder?
Würdet ihr ggf. das Backup sogar sparen? (Ist ja eigentlich die Aufgabe des Users) -