Hallo, Gast! (Registrieren)

Wir wünschen allen Besuchern frohe Ostern!

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Events on Index Plugin - Weitere Modifikationen
#1
Moin Community,

Ich habe einige Verständnisprobleme zum Plugin System und zur generellen Funktion von Funktionen (Oh mann) im MyBB und hoffe ihr könnt mir da weiterhelfen.

Ich fang mal an mit den Hooks, soweit ist das einfach und erspart einem Änderungen an den Basisdateien - Nur das Problem ist, dass ich irgendwie auf dem Schlauch stehe und es nicht auf die Reihe bekomme, dass etwas angezeigt wird.

PHP-Code:
$plugins->add_hook('calendar_event_start''join_inoff'); 

heißt ja nichts weiter als dass die Funktion "join_inoff" aus meinem Plugin an dem Hook "calendar_event_start" ausgeführt wird. Soweit so gut. Problem ist nur das der Code

PHP-Code:
if ($mybb->user['uid'] > 0) {
        
$arrPartiUsers explode(","$event['additionalusers']);
        if(!
in_array($mybb->user['uid'],$arrPartiUsers)) {
            eval(
"\$join_event = \"".$templates->get("calendar_event_signup")."\";");
        } else {
            eval(
"\$join_event = \"".$templates->get("calendar_event_signoff")."\";");
        }
    } 

am Hook nicht richtig ausgeführt wird, sondern nur, wenn ich die Calendar.php ab Zeile 1373 mit dem obrigen Code modifiziere. Wo liegt mein Gedankenfehler?
(Die angegebenen Templates existieren und die entsprechende Variable ist im Template "calendar_event_editbutton" eingebunden)

- - -

Nächstes Problem:
Lediglich eine Idee die ich verifizieren möchte, bevor ich anfange, wild drauf los zu programmieren: Wie stelle ich es an, dass ich mit dem Plugin eine GET Variable abgreife, die dann im Plugin abgegriffen wird und die Funktion dann
Datenbank Querys ausführt:

Ich dachte mir, dass ich einen weiteren Hook am index_start plaziere, der dann prüft, ob Variable "signin" mit 1 oder 0 belegt ist und dann Datenbank queries ausführt. Weiterhin lasse ich dann ein Template mitparsen, die dann eine Meldung im oberen Bereich von MyBB ausgibt: Erfolgreich bei Event xyz an/abgemeldet, so wie bei neuer PN etc.

Finde ich diese Variable dann im $mybb->input['signin']?

- - -

Frage: Lassen sich mit $query = $db->simple_select(); nur einzelige Querys ausführen oder bin ich einfach zu doof, dass richtig zu verwenden?

- - -

Anbei ein Screen wie es momentan aussieht


Angehängte Dateien Thumbnail(s)
   
Zitieren
#2
(20.09.2008, 12:05)Spiro schrieb: Wo liegt mein Gedankenfehler?
Ich weiß nicht, wie die Funktion aussieht, aber ich denke, dass die globals am Anfang nicht oder falsch gesetzt sind.
PHP-Code:
global $mybb$event$join_event
(20.09.2008, 12:05)Spiro schrieb: Finde ich diese Variable dann im $mybb->input['signin']?
Ja.
(20.09.2008, 12:05)Spiro schrieb: Frage: Lassen sich mit $query = $db->simple_select(); nur einzelige Querys ausführen oder bin ich einfach zu doof, dass richtig zu verwenden?
Die Funktion simple_select() ist nur dafür da, eine einfache Abfrage aus einer Tabelle auszuführen. Wenn du umfangreichere Queries benutzen musst, musst du query() benutzen.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#3
So sieht das komplett aus:

PHP-Code:
function sign_inoff() {
    
    global 
$db$mybb$templates$index_events$lang$theme$event;
    
    if (
$mybb->user['uid'] > 0) {
        
$arrPartiUsers explode(","$event['additionalusers']);
        if(!
in_array($mybb->user['uid'],$arrPartiUsers)) {
            eval(
"\$join_event = \"".$templates->get("calendar_event_signup")."\";");
        } else {
            eval(
"\$join_event = \"".$templates->get("calendar_event_signoff")."\";");
        }
    }


Hab die Funktion nochmal umbenannt, nicht wundern - so sieht das aus - der fehler liegt bei den eval funktionen - der rest der variablen ist richtig belegt, auch werden die templates richtig gelesen, sie schaffen es aber irgendwie nicht mehr ins endtemplate :>
Zitieren
#4
(20.09.2008, 12:17)Michael schrieb: Ich weiß nicht, wie die Funktion aussieht, aber ich denke, dass die globals am Anfang nicht oder falsch gesetzt sind.
PHP-Code:
global $mybb$event$join_event
Sonst kannst du $join_event nicht benutzen.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#5
(20.09.2008, 13:35)Dragon schrieb:
(20.09.2008, 12:17)Michael schrieb: Ich weiß nicht, wie die Funktion aussieht, aber ich denke, dass die globals am Anfang nicht oder falsch gesetzt sind.
PHP-Code:
global $mybb$event$join_event
Sonst kannst du $join_event nicht benutzen.

Mhm - okay - ich glaub ich habs nun begriffen - objektorientiert Smile

Vielen Dank - die anderen Fragen hat Michael ja bereits beantwortet.

Spiro
Zitieren
#6
Es gab doch mal ein Plugin, wo die anstehenden Geburtstage
angezeigt wurden, da ich dies für MyBB 1.4.(x) noch nicht gefunden
habe, frage ich mich ob man z.B dieses "Zweckentfremden" könnte ?

Oder vielleicht noch besser, gibt bereits ein neues PlugIn für die
Geburtstagserinnerung der nächsten X Tage ?
Ich habe bisher noch keins gefunden und wäre glücklich wieder diese
Funktion im Forum zu haben.
Gruß
René
Zitieren
#7
Hallo eneR,

siehe > "Events on index".
Zitieren
#8
(23.09.2008, 12:18)linwinman schrieb: Hallo eneR,

siehe > "Events on index".

Hi linwinman,

danke für den Link, ist aber leider nicht das was ich meinte.
Eigentlich wollte ich wieder ein PlugIn, in dem man die Zeit (Tage)
einstellen kann, wann der Geburtstagskandidat sein Fest feiert.

Ich weis.... ich habe mich oben nicht richtig ausgedrückt...Sorry !

Quasi: in X Tagen hat der oder der Geburtstag und dies wurde damals
mit einem Kerzentörtchen noch verschönert.
Ich weis auch nicht mehr wer der Author des Plugin´s war, ich hoffe
er macht es kompatibel zur 1.4.X...
Gruß
René
Zitieren
#9
Zitat:Ich weis auch nicht mehr wer der Author des Plugin´s war
der Autor ist i. d. R. im "_info"-Array angegeben. Wink

aber: ... ein' hab' ich noch: > Ereignisse auf Startseite 2.0 - vllt. ist es das, was du suchst.
Zitieren
#10
(23.09.2008, 19:04)linwinman schrieb: .....aber: ... ein' hab' ich noch: > Ereignisse auf Startseite 2.0 - vllt. ist es das, was du suchst.

Hi linwinman,

danke für Deine Anstrengungen.... diese Plugin habe ich schon am laufen, es bringt
leider die Geburtstage nicht zum Vorschein. Aber an für sich ist es top.
Gruß
René
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  weitere Spalte KaSo 2 1.538 04.04.2016, 21:42
Letzter Beitrag: MrBrechreiz
  Events im Mini-Kalender hervorheben, in einer anderen Farbe (Plugin:ProPortal) Keiji 6 2.879 28.09.2015, 05:29
Letzter Beitrag: Keiji
  Gesucht - Plugin für Zusage zu Events Frank 2 1.462 06.08.2014, 09:42
Letzter Beitrag: Frank
  Zusage zu Events tafkae 1 1.539 13.07.2012, 15:50
Letzter Beitrag: StefanT
  Bestimmte Modifikationen uebersetzen umschreiben ? tm2 3 1.476 19.08.2011, 12:30
Letzter Beitrag: tm2