CMS - Der Dirigent » Entwicklung » DeDi-Entwicklung

Neue Umfrage | neues Thema | Antworten

Pluginentwicklung Forum

« Älteres Thema | Neueres Thema » Thema abonnieren | Thema versenden | Thema drucken

Heiopei
  Geschrieben am: 25. Feb 2006 - 21:01


Member


Gruppe: Members
Beiträge: 156
Mitgliedsnummer: 583
Mitglied seit: 17. May 2004


Hallo,

jetzt muss ich doch mal einen Thread machen um meine Probleme die ich mit der Programmierung oder vielmehr der implementierung eines Forums habe...

Und zwar versuche ich das WbbLite in DeDi zu implementieren. Ich gebe keine zusage das dies jemals fest laufen wird.
Ich bin zum jetzigem Zeitpunkt schon recht weit. So wird für die User schonmal die die User Tabelle von DeDi für das Forum und Dedi gleichzeitig genutzt.

Wenn ich versuche mich ins Admin Panel vom Wbb einzuloggen komme ich rein sehe für weniger als eine Sekunde die Oberfläche des Panels und komme dann zurück auf die Login Seite. Die Geschichte von dem Panel ist mit Sessions geregelt, die unabhängig von den DeDi Sessions sind.
Im Forum selber kann ich mich mit dem Admin Account einloggen es wird auch ordnungsgemäß ein Cookie gesetzt so dass ich nicht gleich wieder rausfliege.

Ich bin kein eingefleischter PHP Profi, aber ich lerne gerne dazu...
Kann mir vll. einer einen Tipp geben?

Gruß
Max

--------------------

Mein erstes Plugin:

DeDi - Forum
Release: Wenn es fertig ist...
Top     
tXz
  Geschrieben am: 27. Feb 2006 - 20:35


Unregistered








also 'n schönes forum-plugin für dedi wär schon toll ... fraglich aber ob wbblite "schön" ist ... das Invision Power Board gefällt mir hier und andernorts - allerdings wäre ein eigens für DeDi programmiertes forum natürlich noch besser ... just my 2 cents wink.gif

p.s.: ich denke ich würde mir die viele arbeit sparen und so ein dickes forum-schiff parallel betreiben. auch bzgl. datenbank-größe. außerdem weiss man ja nie wo sich php-variablen kreuzen und wenn du sagst du bist kein php-profi (like-me) ... wink.gif
Top
MaZderMind
Geschrieben am: 28. Feb 2006 - 13:34


We had joy, we had fun...


Gruppe: Members
Beiträge: 2230
Mitgliedsnummer: 989
Mitglied seit: 13. Jan 2005


Hi
Ich denke dass Heio schon den richtigen Weg geht, in dem er auf ein vorhandenes Produkt setzt. Ich habe das mit dem Webcalendar ja auch so probiert. Ich würde versuchen, den Aufruf des Forums in eine anonyme Funktion zu kapseln:

mehr CODE

$sandbox = create_function('$path, $script', '
 $cd = getcwd();
 chdir($path);
 include $script;
 chdir($cd);');
$sandbox($dedi_path . 'plugins/forum/', 'index.php');
unset($sandbox);


so sind alle Variablen, Klassen und Funktionen von Dedi abgeschottet und es kann sich nichts verhaken. Probleme bekommst du nur, wenn das Forum auf das $GLOBALS-Array setzt (was ein gutes Programm nicht sollte), da ja jetzt die Variablen nichtmehr im globalen Scope existieren sondern nur innerhalb der $sandbox. Deswegen konnte ich diese Technik im Webcalendar nicht einsetzen.

Gruß, Peter

--------------------

Es war die dramatische Umsetzung des völligen Chaos, eine wirksame Definition von Verwirrung, ein unchoreographischer Tanz trauriger Gewalt. Es war Krieg.
Top      
Heiopei
Geschrieben am: 28. Feb 2006 - 15:34


Member


Gruppe: Members
Beiträge: 156
Mitgliedsnummer: 583
Mitglied seit: 17. May 2004


Hallo Peter,

danke für deine Antwort. Diese Funktion werde ich sicherlich in der Endphase noch gebrauchen können. Zur Zeit ist es nur so, das ich das Forum mit den DeDi Tabellen schon gekoppelt habe, aber die Config, die zur Verbindung mit der Datenbank genutzt wird habe ich noch menuell ausgefüllt, so dass eine Verbindung aufgebaut werden kann. Auch teste ich das Forum noch unabhängig vom DeDi Backend es wird zwar dort ein entsprechender Punkt angelegt nur muss ich das noch alles so machen das es Perfekt oder annähernd Perfekt ist.

In erster Linie ist das ich halt in den Admin Beriech des Forum nicht reinkomme, da ich wenn ich mich angemeldet habe immer gleich wieder rausfliege. Aber die entsprechende Session wird auch richtig generiert und in der DB gespeichert. Auch wird sie an die Links richtig drangehangen.

Hier mal die class_adminsession.php die die Sessions generiert. Vll. findet ja jemand noch einen Fehler!


mehr CODE
<?php
class adminsession {
var $hash = "";
function update($hash="",$ip,$agent) {
 if($hash!="" && strlen($hash)==32) {
  global $db, $adminsession_timeout, $wbbuserdata, $disableverify, $cfg_dedi;

  if($disableverify!=0) $session = $db->query_first("SELECT * FROM $cfg_dedi[db_table_prefix]plug_forum_adminsessions WHERE hash = '".addslashes($hash)."' AND lastactivity >= '".(time()-$adminsession_timeout)."'");
  else $session = $db->query_first("SELECT * FROM $cfg_dedi[db_table_prefix]plug_forum_adminsessions WHERE hash = '".addslashes($hash)."' AND ipaddress = '".addslashes($ip)."' AND useragent = '".addslashes($agent)."' AND lastactivity >= '".(time()-$adminsession_timeout)."'");
  if($session['hash']) {
   $this->hash=$session['hash'];
   $wbbuserdata = $db->query_first("SELECT $cfg_dedi[db_table_prefix]users.*, $cfg_dedi[db_table_prefix]plug_forum_groups.* FROM $cfg_dedi[db_table_prefix]users LEFT JOIN $cfg_dedi[db_table_prefix]plug_forum_groups USING (groupid) WHERE user_id = '$session[user_id]'");
   $db->unbuffered_query("UPDATE $cfg_dedi[db_table_prefix]plug_forum_adminsessions SET lastactivity='".time()."' WHERE hash = '".$this->hash."'",1);
  }
  else {
   eval("print(\"".gettemplate("access_error")."\");");
   exit();
  }
 }
 else {
  eval("print(\"".gettemplate("access_error")."\");");
  exit();
 }
}

function create($user_id,$ip,$agent) {
 global $db, $cfg_dedi;

 $this->hash=md5(uniqid(microtime()));
 $db->query("INSERT INTO $cfg_dedi[db_table_prefix]plug_forum_adminsessions (hash,user_id,ipaddress,useragent,starttime,lastactivity) VALUES ('".$this->hash."','$user_id','".addslashes($ip)."','".addslashes($agent)."','".time()."','".time()."')");

 mt_srand(intval(substr(microtime(), 2, 8)));
 if(mt_rand(1,100)==50) {
  $db->unbuffered_query("DELETE FROM $cfg_dedi[db_table_prefix]plug_forum_adminsessions WHERE lastactivity<".(time()-$adminsession_timeout+(60*60*24*7)),1);
 }
}
}
?>


Die $cfg_dedi[db_table_prefix] habe ich auch manuell in die Config.php geschrieben.

Gruß
Max

--------------------

Mein erstes Plugin:

DeDi - Forum
Release: Wenn es fertig ist...
Top     
Heiopei
Geschrieben am: 28. Feb 2006 - 20:44


Member


Gruppe: Members
Beiträge: 156
Mitgliedsnummer: 583
Mitglied seit: 17. May 2004


Hallo,

ich habe den Fehler jetzt gefunden und zwar wird in der normalen Installationsroutine des Forum eine Klasse aufgrufen die sämtliche Informationen aus einer Tabelle in eine andere Datei schreibt.
So wie bekomme ich das jetzt hin das wenn jemand das Plugin installiert auch diese Daten in die Datei geschrieben werden?

Gruß
Max

--------------------

Mein erstes Plugin:

DeDi - Forum
Release: Wenn es fertig ist...
Top     
Heiopei
Geschrieben am: 28. Feb 2006 - 22:08


Member


Gruppe: Members
Beiträge: 156
Mitgliedsnummer: 583
Mitglied seit: 17. May 2004


Hallo,

um mal eine freundlich Botschaft zu verkünden. Alle Leute die mit DeDi eine Community betreiben möchten dürfen bald das Plugin testen, alle anderen natürlich auch.

Ich bin nun soweit das fast alle Funktionen benutzt werden können... Die Geschichte mit den Daten habe ich in die Laufzeit intigriert.
Ich muss nun noch einige Sachen ersetzten wegen der ungleichen userid's beim einem "userid" und bei DeDi "user_id" aber das wird schon.

Bis dahin
Max

--------------------

Mein erstes Plugin:

DeDi - Forum
Release: Wenn es fertig ist...
Top     
Eppi
Geschrieben am: 03. Mar 2006 - 16:05


.....................noname


Gruppe: Admin
Beiträge: 8077
Mitgliedsnummer: 1
Mitglied seit: 23. Mar 2003


klasse, ich bin gespannt!

gruß, paul

--------------------

"Heute ist nicht aller Tage... ich komm wieder, keine Frage!"
Top   
tXz
Geschrieben am: 03. Mar 2006 - 17:21


Unregistered








dito ... auch gespannt ... eine zweite version von gothmund.de geistert in meinem kopf - aber nicht vor ende des jahres - vielleicht dann auch mit DeDi ;o) und auch weil eventuell noch 'n forum auf gm fehlt ....... usw. usw.
Top

Thema wird von 0 Benutzer gelesen (0 Gäste und 0 Anonyme Benutzer)
0 Mitglieder:

7 Antworten seit 25. Feb 2006 - 21:01

Thema abonnieren | Thema versenden | Thema drucken


Neue Umfrage | neues Thema

Home | Das Projekt | Download | Entwicklung | Dokumentation | Forum | Impressum