Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
#1 22. Januar 2014 14:02
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
[GELÖST] FEU / EventManager: Standarduser automatisch einloggen
Hallo Leute,
mir raucht mal wieder die Birne.;)
Es geht um ein Kursanmeldungsssystem (ohne Zahlsystem – reine unverbindliche Anmeldung), was ich bislang über eine Kombi aus News / FormBuilder realisiert habe. Eine einfache Liste mit Kursen, in der Detailansicht dann ein Formular, was neben den Strandarddaten automatisch die Kursnummer aus dem Titel der News per Mail an den Veranstalter sendet.
Nun besteht der Wunsch nach einem Zähler, weil die Kapazitäten der Kurse begrenzt sind und es häufig zu Überbuchungen kommt. Das Problem: Das soll funktionieren, OHNE dass sich der User selbst registrieren muss.
Meine Wahl fiel auf das Modul EventsManager. Noch recht neu, macht aber genau das, was ich will: Zählt die vorgebenen Kursplätze ab. Allerdings - logischerweise - auch nicht ohne Anmeldung über Frontend Users.
Mein erste Idee: Einen Standard-User einrichten, dessen PW/Nutzernamen über hidden-Fields im FEU-Anmeldetemplate übergeben werden. Aber auch das muss der User ja bestätigen, was das Ganze wieder verkompliziert.
Fragen:
Gibt es eine bessere Möglichkeit, dass jeder User, der sich zu einem Kurs anmelden möchte, automatisch so eine Art allgemeinen "Session-Login" bekommt, ohne dass er irgendwas bestätigen muss, außer eben dieser Anmelde-E-Mail.
Oder ließe sich die alte Kombi aus News / Formbuilder irgendwie so modifizieren, dass so ein Zähler möglich auch damit möglich wäre. Also so eine Art "Mailausgangs-Zähler".
Am besten wäre natürlich, der Kurs-Artikel verschwände, wenn die Anzahl erreicht ist.
Beitrag geändert von antibart (22. Januar 2014 14:03)
Offline
#2 22. Januar 2014 15:19
- Klenkes
- Server-Pate

- Ort: 89428 Syrgenstein
- Registriert: 17. Dezember 2010
- Beiträge: 1.437
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
Witzig! Genau so etwas muss ich auch grade machen.
Nach endloser Recherche, auch mit anderen CMS, entschied ich mich für die nicht besonders zukunftsichere Variante mit Formbrowser, Formbuilder und ListIt2.
- ListIt2 verwaltet meine Kurse inkl. freie Plätze
- Formbuilder stellt das Buchungsformular, Kurse werden dort aus dem ListIt-Modul eingebunden.
- Im Formbrowser werden die Buchungen verwaltet und PDF-Rechnungen erstellt.
Der Formbrowser ist bei mir nötig, weil der Kunde diverse Aktionen mit den Buchungen durchführen können will, wie z.B. Rabatte einfügen, eindeutige RechNr, Adresse ändern und DANN erst eine Rechnung generieren.
Das funktioniert bis auf ein paar Sachen äußerst prima.
Ein kleines Smartyplugin zieht bei jeder Onlinebuchung einen Kursplatz in der Datenbank ab. Ist dort 0, wird der Kurs im Formular deaktiviert.
Klappt gut.
Allerdings wird der Formbrowser nicht mehr weiter entwickelt. Was echt schade ist.
Offline
#3 22. Januar 2014 15:57
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
Das klingt Klasse. Der Formbrowser wird für mich dann wohl nicht nötig sein. Denn der Kunde soll sich einfach nur anmelden.
Wie genau funktioniert dein Smarty PluGin und wie verwaltet ListiT2 die Plätze? Woher weiß ListIt2, dass eine Mail abgeschickt wurde? Ginge das eventuell nicht auch mit dem bestehenden News-Sytem und besagtem PlugIn? Dann müssten nicht alle Kurse neu erstellt werden.
Möglicherweise reicht ein zusätzliches Feld für die Anzahl und besagtes Plugin ...
Beitrag geändert von antibart (22. Januar 2014 16:06)
Offline
#4 22. Januar 2014 16:49
- Klenkes
- Server-Pate

- Ort: 89428 Syrgenstein
- Registriert: 17. Dezember 2010
- Beiträge: 1.437
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
Wie genau funktioniert dein Smarty PluGin und wie verwaltet ListiT2 die Plätze? Woher weiß ListIt2, dass eine Mail abgeschickt wurde? Ginge das eventuell nicht auch mit dem bestehenden News-Sytem und besagtem PlugIn? Dann müssten nicht alle Kurse neu erstellt werden.
...
In ListIt ist ein Feld PLÄTZE, und nach erfolgter Mail, heißt Aufruf Bestätigungsseite Formbuilder, wird das Plugin aufgerufen und der Platz abgezogen.
Hat noch Schwächen... z.B. ein Reload(F5) der Bestätigungsseite zieht nochmal einen Platz ab. Aber Feinheiten kommen erst noch. Im Moment teste ich nur mal die allgemeine Funktion.
Das ist mit NEWS sicherlich auch möglich, doch mag ich News nicht so gerne. Und News sind nun mal News und keine Buchungen.
Im Moment ist das Plugin ein laienhaftes Zusammengebastel... ich wünschte ich könnte es besser 
Offline
#5 22. Januar 2014 16:54
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
Also ein eigenes Extra-Feld des Typs "Textfeld", in das man einfach nur die Anzahl tippt.
Auch wenn die Frage etwas frech ist: Könntest du das Plugin posten und beschreiben, wie und wo du es einsetzt?
Du hast mich jetzt scharf gemacht. Denn der Weg über FEU / EventsManager ist unglaublich langwierig.
Beitrag geändert von antibart (22. Januar 2014 17:16)
Offline
#6 22. Januar 2014 18:40
- Klenkes
- Server-Pate

- Ort: 89428 Syrgenstein
- Registriert: 17. Dezember 2010
- Beiträge: 1.437
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
Ich bin zwar etwas fiebrig und voller Kamillentee aber ich versuch's trotzdem.
Bei ListIt Modulen befinden sich die zusätzlich angelegten Felder in einer extra Tabelle namens module_listit2kurse_fieldval. Deshalb muss zuerst die ID des Kurses aus module_listit2kurse_item ermittelt werden und dann der Wert in module_listit2kurse_fieldval geändert.
Das geht vielleicht auch in einem Rutsch, oder ich übergebe womöglich die Kurs-ID per HIDDEN Feld, steht noch nicht fest.
Mein Plugin: function_kurse_update_plaetze.php
<?php
// Hiermit soll von der Anzahl freier Plätze eines Kurses 1 abgezogen werden
function smarty_cms_function_kurse_update_plaetze($params, &$smarty) {
$kurs = isset($params['kurs']) ? $params['kurs'] : '';
$gCms = cmsms() ;
$db =& $gCms->Getdb();
// Erst wird die ID des Kurses festgestellt
$query = "SELECT item_id FROM " . cms_db_prefix() . "module_listit2kurse_item WHERE title = '$kurs'";
$dbresult = $db->Execute($query);
if(!$dbresult) {
echo "DB Error: " . $db->ErrorMsg();
} elseif ($dbresult->RecordCount() > 0) {
$kursid = array();
while ($dbresult && $row = $dbresult->FetchRow()) {
$kursid = $row['item_id'];
}
}
// Jetzt ist die ID in $kursid
// Hier dann in der Tabelle der fieldvals updaten und 1 abziehen
$query = "UPDATE " . cms_db_prefix() . "module_listit2kurse_fieldval SET value = (value - 1) WHERE item_id = $kursid AND fielddef_id = 13";// Feld-ID für Plätze hier ändern
$db->Execute($query, $row['value']);
}
?>Doch Achtung: dieser Wert ist festkodiert fielddef_id = 13, weil er immer gleich ist = fielddef_id eben, aber bei jedem Modul anders.
So sieht das Formular aus:
In meinem Fall sind Kurse sehr komplex mit vielen Feldern, und werden an verschiedenen Stellen der Website mit unterschiedlichen Details gezeigt.
Im Formular aber nur essentielle Daten: Kursname, Datum, Plätze
So kann der Kunde die Kurse komplett selbst verwalten und auch vorzeitig die Plätze auf 0 stellen, und der Kurs ist deaktiviert.
So zumindest mein Plan... 
Beitrag geändert von Klenkes (27. Januar 2014 11:34)
Offline
#7 23. Januar 2014 09:22
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
WOW.
Ich danke dir erstmal ... und sehe mir das nachher mal näher an.
Offline
#8 26. Januar 2014 14:17
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
Ich bin noch ein wenig überfordert.
Ich habe es auch mal mit Listit2 und deinem unbearbeiteten Script probiert, lediglich den Namen der Listit-Instanz angepasst und die fielddef_id (1) geändert. Bei mir ist noch der Wurm drin.
[== php ==]
<?php
// Hiermit soll von der Anzahl freier Plätze eines Kurses 1 abgezogen werden
function smarty_cms_function_kurse_update_plaetze($params, &$smarty) {
$kurs = isset($params['kurs']) ? $params['kurs'] : '';
global $gCms;
$db =& $gCms->Getdb();
// Erst wird die ID des Kurses festgestellt
$query = "SELECT item_id FROM " . cms_db_prefix() . "module_listit2kursverwaltung_item WHERE title = '$kurs'";
$dbresult = $db->Execute($query);
if(!$dbresult) {
echo "DB Error: " . $db->ErrorMsg();
} elseif ($dbresult->RecordCount() > 0) {
$kursid = array();
while ($dbresult && $row = $dbresult->FetchRow()) {
$kursid = $row['item_id'];
}
}
// Jetzt ist die ID in $kursid
// Hier dann in der Tabelle der fieldvals updaten und 1 abziehen
$query = "UPDATE " . cms_db_prefix() . "module_listit2kursverwaltung_fieldval SET value = (value - 1) WHERE item_id = $kursid AND fielddef_id = 1";// Feld-ID für Plätze hier ändern
$db->Execute($query, $row['value']);
}
?>Bislang passiert noch nichts (was aber bei meinen PHP-Erfahrungen nicht weiter verwunderlich ist), auch keine Fehlermeldungen.
"$kurs" ist mir unklar. Ich nehme an, hier soll der Titel des Kurses ermittelt werden. Hier scheint mir noch was zu fehlen.
Wie hast du das Plugin eingebunden? Als UDT oder als richtiges Plugin im Plugin-Ordner (functions.plaetze.php)? Ich habe es bislang als include in einen UDT probiert und {kurse} in die Mail-Bestätigungsseite eingefügt. Der UDT selbst wird zumindest angeprochen (habe noch ECHO drangehängt), aber sonst passiert nichts.
Und wie erreichst du, dass der Kurs verschwindet, wenn 0 erreicht ist?
Beitrag geändert von antibart (26. Januar 2014 17:43)
Offline
#9 26. Januar 2014 19:54
- Klenkes
- Server-Pate

- Ort: 89428 Syrgenstein
- Registriert: 17. Dezember 2010
- Beiträge: 1.437
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
Bin grad auf'm Sprung, aber für ein paar zeilen langt's.
1. Ich habe meine Plugins gerne im Pluginordner abgespeichert.
2. Ich rufe das Plugin auf der Bestätigungsseite so auf:
{kurse_update_plaetze kurs="$fld_33"}Wobei $fld_33 natürlich der FeldID deines Kurses entsprechen muss. Dann wird auch abgezogen.
Edit: Und wie man sieht wird hier der Kurs dem Plugin übergeben
Ob der Kurs ausgebucht ist, oder noch gar keine Anzahl möglicher Plätze eingetragen wurden, prüfe ich in meiner ListIt Template, die im Buchungsformular angezeigt wird und zwar so:
...
{* Prüfen ob noch Plätze frei sind *}
{if $item->fielddefs.frei ne '' && $item->fielddefs.frei ne '0'}
<input type="radio" value="{$item->title}" name="{$FBid}[]" {if $FBvalue==$item->title}checked="checked"{/if}>
{else}
<input type="radio" disabled="disabled" value="{$item->title}" name="{$FBid}[]" {if $FBvalue==$item->title}checked="checked"{/if} title="Ausgebucht oder Termin noch nicht bekannt">
{/if}
...jetzt muss ich weg.
Beitrag geändert von Klenkes (27. Januar 2014 23:28)
Offline
#10 27. Januar 2014 01:22
- Andynium
- Moderator

- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
Dies
[== php ==]
global $gCms;sollte optimaler Weise durch
$gCms = cmsms() ;ersetzt werden.
Offline
#11 27. Januar 2014 11:35
- Klenkes
- Server-Pate

- Ort: 89428 Syrgenstein
- Registriert: 17. Dezember 2010
- Beiträge: 1.437
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
Dies
[== php ==] global $gCms;sollte optimaler Weise durch
$gCms = cmsms() ;ersetzt werden.
Hoppla!
Das passiert wenn man aus alten Dateien kopiert. 
Offline
#12 27. Januar 2014 12:09
- czarnowski
- kennt CMS/ms
- Registriert: 18. Oktober 2012
- Beiträge: 457
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
Also ihr haut euch da manchmal einen Code zusammen oh oh
$query = "SELECT item_id FROM " . cms_db_prefix() . "module_listit2kurse_item WHERE title = '$kurs'";Diese Query zieht alle Datensätze, das kostet Zeit und RAM - LIMIT 1 oder GetRow wäre richtig
if (!$dbresult) {
echo "DB Error: " . $db->ErrorMsg();gut und schön, damit wird aber bei einem Fehler dennoch versucht, das Update auszuführen:
// Hier dann in der Tabelle der fieldvals updaten und 1 abziehen
$query = "UPDATE " . cms_db_prefix() . "module_listit2kurse_fieldval SET value = (value - 1) WHERE item_id = $kursid AND fielddef_id = 13";// Feld-ID für Plätze hier ändern
$db->Execute($query, $row['value']);$kursid = array();völlig überflüssig, da
$kursid = $row['item_id'];und auch der Rest ist mit ? zu versehen
und wäre so besser
} else{
while ( $row = $dbresult->FetchRow()) {
$kursid = $row['item_id'];
}Auch das while ist überflüssig, wenn man einen Datensatz zieht und GetRow verwendet.
Und die Extra Updateanweisung ist überflüssig, wenn man beide Sql verbindet.
Offline
#13 27. Januar 2014 12:38
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
Danke, Leute. Aber - puh - ich komme nicht weiter. Die Zahl bleibt unverändert.
Hier mein bisheriges Vorgehen - vielleicht sieht ja jemand meine Fehler:
Das Plugin so angepasst:
1. Modulinstanznamen entsprechend angepasst: Also statt
module_listit2kursemodule_listit2kursverwaltung2. Das Extrafeld für die verfügbaren Kurssplätze hat bei mir in der DB die item_id 1, nicht 13. Also diesen Wert ganz am Ende der Zeile auch verändert:
$query = "UPDATE " . cms_db_prefix() . "module_listit2kursverwaltung_fieldval SET value = (value - 1) WHERE item_id = $kursid AND fielddef_id = 13. Die obere Zeile entsprechend Cybermanns Korrektur angepasst.
4. Da ich leider keine Ahnung habe, wie man das Plugin als echtes Pugin zum Laufen kriegt ("Error: unknown Plugin"), das Script einfach in den Rootordner hochgeladen. Per include in einen UDT mit dem Namen {kurse} gesogen. Zum Testen, ob der UDT angesprochen wird, noch ein ECHO rangehängt. Der wird zumindest ausgegeben.
include 'function_kurse_update_plaetze.php';
echo "Tach auch";5. Das Feld für den einmaligen Kursnamen im Formbuilder hat bei mir die 14. Also wird der UDT folgendermaßen in die Bestätigungseite (eigene Seite - kein inline) eingefügt:
{kurse kurs="$fld_14"}
Aber nix passiert ... 
Also ihr haut euch da manchmal einen Code zusammen oh oh
Danke für die Optimierungen. Aber vielleicht könntest den verbesserten Code noch mal zusammenhängend posten. Denn wie du siehst, stehe ich auf dem Schlauch und würde zum jetzigen Zeitpunkt ungern was zusätzilches verschlimmbessern.
Beitrag geändert von antibart (27. Januar 2014 12:53)
Offline
#14 27. Januar 2014 12:51
- czarnowski
- kennt CMS/ms
- Registriert: 18. Oktober 2012
- Beiträge: 457
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
Versuch's mal mit lib/plugins - danach cache einmal weg hauen
Offline
#15 27. Januar 2014 12:54
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
Versuch's mal mit lib/plugins - danach cache einmal weg hauen
Gibt es nicht unter "lib". Der Plugin-Ordner befindet sich im Root.
Offline
#16 27. Januar 2014 12:57
- Klenkes
- Server-Pate

- Ort: 89428 Syrgenstein
- Registriert: 17. Dezember 2010
- Beiträge: 1.437
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
Mhh... vielleicht stört es CMSMS wenn die help und About functions fehlen. Die hatte ich nicht mitgeliefert, weil leer gelassen.
function smarty_cms_help_function_kurse_update_plaetze() {
?>
<?php
}
function smarty_cms_about_function_kurse_update_plaetze() {
?>
<?php
}
?>Hast du die erste query auch an deinen Modulnamen angepasst?
Offline
#17 27. Januar 2014 13:00
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
Hast du die erste query auch an deinen Modulnamen angepasst?
Jou - hier die komplette Datei:
<?php
// Hiermit soll von der Anzahl freier Plätze eines Kurses 1 abgezogen werden
function smarty_cms_function_kurse_update_plaetze($params, &$smarty) {
$kurs = isset($params['kurs']) ? $params['kurs'] : '';
$gCms = cmsms() ;
$db =& $gCms->Getdb();
// Erst wird die ID des Kurses festgestellt
$query = "SELECT item_id FROM " . cms_db_prefix() . "module_listit2kursverwaltung_item WHERE title = '$kurs'";
$dbresult = $db->Execute($query);
if(!$dbresult) {
echo "DB Error: " . $db->ErrorMsg();
} elseif ($dbresult->RecordCount() > 0) {
$kursid = array();
while ($dbresult && $row = $dbresult->FetchRow()) {
$kursid = $row['item_id'];
}
}
// Jetzt ist die ID in $kursid
// Hier dann in der Tabelle der fieldvals updaten und 1 abziehen
$query = "UPDATE " . cms_db_prefix() . "module_listit2kursverwaltung_fieldval SET value = (value - 1) WHERE item_id = $kursid AND fielddef_id = 1";// Feld-ID für Plätze hier ändern
$db->Execute($query, $row['value']);
}
?>Offline
#18 27. Januar 2014 13:04
- Klenkes
- Server-Pate

- Ort: 89428 Syrgenstein
- Registriert: 17. Dezember 2010
- Beiträge: 1.437
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
und...
czarnowski hat natürlich vollkommen Recht wenn er sagt, dass das komplett zusammen geschustertes Zeug ist.
Es ist zu diesem Zeitpunkt nur ein Proove of Concept, ob es so gehen würde, und es das macht, was der Kunde will, und er seine Kurse selbst verwalten könnte.
Da halte ich meinen Zeitaufwand in Grenzen, weil Kunden eh immer wieder neues Zeug einfällt, oder plötzlich sagen: "Ach die Kurse sind mir gar nicht mehr wichtig. Hatte ich das nicht erwähnt?"
Es geht nur darum, zu zeigen, so könnte es aussehen und funktionieren. Sonst nix.
Offline
#19 27. Januar 2014 13:09
- Klenkes
- Server-Pate

- Ort: 89428 Syrgenstein
- Registriert: 17. Dezember 2010
- Beiträge: 1.437
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
Nur der Vollständigkeit halber, hier mit About und Help
<?php
// Hiermit soll von der Anzahl freier Plätze eines Kurses 1 abgezogen werden
function smarty_cms_function_kurse_update_plaetze($params, &$smarty) {
$kurs = isset($params['kurs']) ? $params['kurs'] : '';
$gCms = cmsms() ;
$db =& $gCms->Getdb();
// Erst wird die ID des Kurses festgestellt
$query = "SELECT item_id FROM " . cms_db_prefix() . "module_listit2kursverwaltung_item WHERE title = '$kurs'";
$dbresult = $db->Execute($query);
if(!$dbresult) {
echo "DB Error: " . $db->ErrorMsg();
} elseif ($dbresult->RecordCount() > 0) {
$kursid = array();
while ($dbresult && $row = $dbresult->FetchRow()) {
$kursid = $row['item_id'];
}
}
// Jetzt ist die ID in $kursid
// Hier dann in der Tabelle der fieldvals updaten und 1 abziehen
$query = "UPDATE " . cms_db_prefix() . "module_listit2kursverwaltung_fieldval SET value = (value - 1) WHERE item_id = $kursid AND fielddef_id = 1";// Feld-ID für Plätze hier ändern
$db->Execute($query, $row['value']);
}
function smarty_cms_help_function_kurse_update_plaetze() {
?>
<?php
}
function smarty_cms_about_function_kurse_update_plaetze() {
?>
<?php
}
?>Offline
#20 27. Januar 2014 13:12
- Klenkes
- Server-Pate

- Ort: 89428 Syrgenstein
- Registriert: 17. Dezember 2010
- Beiträge: 1.437
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
Wird denn "$fld_14" an die Bestätigungsseite übergeben?
Beitrag geändert von Klenkes (27. Januar 2014 13:15)
Offline
#21 27. Januar 2014 13:16
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
Mhh... vielleicht stört es CMSMS wenn die help und About functions fehlen.
Neh - ist jetzt alles okay. Ich hatte die Datei falsch benannt (wie gesagt, bislang nur fertige Plugins benutzt). Die Datei muss wohl so heißen wie die Funktion: also function.kurse_update_plaetze.php
Jetzt erscheint auch das Plugin in der Liste und lässt sich einbauen. Aber passieren tut dennoch nichts.
Wird denn "$fld_14" an die Bestätigungsseite übergeben?
Sollte es das? Auf der Bestätigungsseite erscheint der Standardtext (Danke pipapo) und mein Test-ECHO. Die inezelnen Feldinhalte habe ich nicht aufgelistet.
Beitrag geändert von antibart (27. Januar 2014 13:23)
Offline
#22 27. Januar 2014 13:23
- Klenkes
- Server-Pate

- Ort: 89428 Syrgenstein
- Registriert: 17. Dezember 2010
- Beiträge: 1.437
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
Neh - ist jetzt alles okay. Ich hatte die Datei falsch benannt (wie gesagt, bislang nur fertige Plugins benutzt). Die Datei muss wohl so heißern wie die Funktion function.kurse_update_plaetze.php
Das ist natürlich wichtig!
Ich hab noch mal über mein Setup geschaut, aber ich wüsste nicht, warum es bei dir nicht auch funktionieren sollte. Irgendwo geht ein Wert verloren...
Offline
#23 27. Januar 2014 13:28
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
Die item_id 1 vieleicht ungünstig?
Ich habe den Eindruck, dass ich die DB überhaupt nicht anspreche. Wenn es wenigstens eine Fehlermeldung gäbe.
Beitrag geändert von antibart (27. Januar 2014 13:28)
Offline
#24 27. Januar 2014 13:28
- Klenkes
- Server-Pate

- Ort: 89428 Syrgenstein
- Registriert: 17. Dezember 2010
- Beiträge: 1.437
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
Klenkes schrieb:Wird denn "$fld_14" an die Bestätigungsseite übergeben?
Sollte es das? ...
Aber ja! Dieser Wert ist die Grundlage für das Plugin.
Offline
#25 27. Januar 2014 13:45
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Re: [GELÖST] FEU / EventManager: Standarduser automatisch einloggen
Aber ja! Dieser Wert ist die Grundlage für das Plugin.
Klar - aber wie stelle ich das fest? Der Wert ist ja Teil des Formulars.
Ich versuche mal, zu rekapituliern, was da pssieren soll:
... ist der einmalige Titel des Kurses. Bei mir zB. XY250. Wird aus betreffenden Formularfeld 14 ermittelt.
$query = "SELECT item_id FROM " . cms_db_prefix() . "module_listit2kursverwaltung_item WHERE title = '$kurs'";Sucht aus dem Kurs XY250 aus der Tabelle listit2kursverwaltung_item die item ID des Kurses. Also hier 1.
if(!$dbresult) {
echo "DB Error: " . $db->ErrorMsg();
} elseif ($dbresult->RecordCount() > 0) {
$kursid = array();
while ($dbresult && $row = $dbresult->FetchRow()) {
$kursid = $row['item_id'];
}Ermittelt eine einmalige kursid aus der item_id, so dass beide identisch sind. Also Kurs XY250 hat item_id 1. item_id 1 wird Kurs-ID 1.
$query = "UPDATE " . cms_db_prefix() . "module_listit2kursverwaltung_fieldval SET value = (value - 1) WHERE item_id = $kursid AND fielddef_id = 1";// Feld-ID für Plätze hier ändern
$db->Execute($query, $row['value'])Hmmm. Wo KUrs-ID und Feld-ID gleich 1 und .. äääh ...kein Ahnung ... mist ....
Ich werde meinen Status wohl demnächst von "CMSMS-Profi" in "Server-Pate" umstellen müssen. Das ist ja ganz unerträglich, wie erfolglos und lange ich dieses Mal an so einer kleinen Aufgabe rumrätseln muss.;)
Beitrag geändert von antibart (27. Januar 2014 14:02)
Offline