Terminliste universal V2.5.3 mit sKalender u. Mehrfachtermin

gloma
Beiträge: 9
Registriert: Fr 2. Feb 2007, 11:21
Kontaktdaten:

Beitrag von gloma » Fr 11. Mai 2007, 11:41

hallo ,

ich bin anfänger versuche mich erst seit kurzem an contenido und komme im allgemeinen auch ganz gut zurecht.

jetzt wollte ich das kalendermodul in unsere vereinswebseite einbinden aber ich komm irgendwie von grund auf nicht klar damit .-(

hab mir diesen thread durchgelesen aber irgendwie is des alles sehr verwirrend


ichb habe mir die version 2.4.1 gezogen und nach der anweisung bei mir angelegt.
nur hab ich jetzt nicht wirklich ahnung welche artikel oder kategorien ich wo anlegen muss und welche artikel ich wie konfigurieren muss damit es funktioniert ... Sad

soory für die vielleicht blöde anfängerfrage aber ich hab alle 26 seiten zu dem thread durch und nur noch bahnhof verstanden.

gibts evtl irgendwo ne schritt für schritt anleitung für neulinge?

... dabei wäre das was ich in der demo gesehen hab genau das was wir bräuchten *grummel*

gloma
------------------------------------------------------------

schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher » Fr 11. Mai 2007, 12:05

gloma hat geschrieben:hallo ,

ich bin anfänger versuche mich erst seit kurzem an contenido und komme im allgemeinen auch ganz gut zurecht.

jetzt wollte ich das kalendermodul in unsere vereinswebseite einbinden aber ich komm irgendwie von grund auf nicht klar damit .-(

hab mir diesen thread durchgelesen aber irgendwie is des alles sehr verwirrend


ichb habe mir die version 2.4.1 gezogen und nach der anweisung bei mir angelegt.
nur hab ich jetzt nicht wirklich ahnung welche artikel oder kategorien ich wo anlegen muss und welche artikel ich wie konfigurieren muss damit es funktioniert ... Sad

soory für die vielleicht blöde anfängerfrage aber ich hab alle 26 seiten zu dem thread durch und nur noch bahnhof verstanden.

gibts evtl irgendwo ne schritt für schritt anleitung für neulinge?

... dabei wäre das was ich in der demo gesehen hab genau das was wir bräuchten *grummel*

gloma
Hi,
Deine Frage wurde hier bereits mehrfach behandelt. Ich habe mal eine Zusammenfassung unter Konfiguration in den ersten Thread gepostet (nach dem Punkt Installation).

Wenn dann noch Fragen offen sind, melde Dich.

Gruß
schlaucher

Vetinari
Beiträge: 136
Registriert: Sa 31. Mär 2007, 19:11
Wohnort: Fulda
Kontaktdaten:

Beitrag von Vetinari » Fr 11. Mai 2007, 19:18

hallo,

ich beziehe mich auf einen früheren post in diesem thread:
http://www.contenido.de/forum/viewtopic ... 960#100960

ich habe das gleiche problem mit firefox und der kategorie auswahl und der post hat mich eher verwirrt, als das er klarheit schaffte.

schlaucher schrieb:
Wenn man also keine MR Version einsetz, muss die Checkbox inaktiv bleiben.

was ist eine MR version?

gruss, V.
Si non confectus, non reficiat. (Motto der Vetinaris)
Solange etwas nicht kaputt ist, repariere es nicht.
oder:
Lass die Dinge einfach laufen, die meisten Probleme erledigen sich eh von selbst.

schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher » Fr 11. Mai 2007, 19:30

Vetinari hat geschrieben:hallo,

ich beziehe mich auf einen früheren post in diesem thread:
http://www.contenido.de/forum/viewtopic ... 960#100960

ich habe das gleiche problem mit firefox und der kategorie auswahl und der post hat mich eher verwirrt, als das er klarheit schaffte.

schlaucher schrieb:
Wenn man also keine MR Version einsetz, muss die Checkbox inaktiv bleiben.

was ist eine MR version?

gruss, V.
MR = ModRewrite; Es gibt eine spezielle Verion von Contenido von stese
http://www.contenido.de/forum/viewtopic.php?t=11162

Wenn Du diese nicht einsetzt, dann musst Du in der Templatekonfiguration der Terminliste die Checkbox ModRewrite? (findest Du im letzten drittel) deaktivieren. Dann funktioniert das Pulldownmenü.

Gruß
schlaucher

Vetinari
Beiträge: 136
Registriert: Sa 31. Mär 2007, 19:11
Wohnort: Fulda
Kontaktdaten:

Beitrag von Vetinari » Fr 11. Mai 2007, 19:40

alles klar, danke!
funktionieren tuts auch :D

gruss, V.
Si non confectus, non reficiat. (Motto der Vetinaris)
Solange etwas nicht kaputt ist, repariere es nicht.
oder:
Lass die Dinge einfach laufen, die meisten Probleme erledigen sich eh von selbst.

Vetinari
Beiträge: 136
Registriert: Sa 31. Mär 2007, 19:11
Wohnort: Fulda
Kontaktdaten:

Beitrag von Vetinari » So 13. Mai 2007, 10:53

@schlaucher ...
... oder wer auch immer eine antwort geben kann ;-)

ich verstehe nicht ganz, warum beim schreiben des termins in die tabelle con_content folgende schleife benötigt wird:

Code: Alles auswählen

        for ($MOD_TE_zaehler=0; $MOD_TE_zaehler<=7; $MOD_TE_zaehler++) 
            {
            if($MOD_TE_exists[$MOD_TE_zaehler]==1) 
                { 
                $MOD_TE_sql    = "UPDATE ".$cfg["tab"]["content"]." ";
                .....................................
                } 
            else 
                { 
                $MOD_TE_sql    = "INSERT INTO ".$cfg["tab"]["content"]." ";
                .....................................
                } 
            } 
braucht man das nur für tägliche oder sich wiederholende termine (sonst würden ein update bzw. ein eintrag ja reichen, oder)?

und wenn dem so sein sollte, frage mich, warum hier die schleife 8 mal durchlaufen wird während es in dem original von agon nur 7 mal ist - was ja bei 7 wochentagen sinn machen würde.

gruss, V.
Si non confectus, non reficiat. (Motto der Vetinaris)
Solange etwas nicht kaputt ist, repariere es nicht.
oder:
Lass die Dinge einfach laufen, die meisten Probleme erledigen sich eh von selbst.

schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher » So 13. Mai 2007, 18:39

Vetinari hat geschrieben:@schlaucher ...
... oder wer auch immer eine antwort geben kann ;-)

ich verstehe nicht ganz, warum beim schreiben des termins in die tabelle con_content folgende schleife benötigt wird:

Code: Alles auswählen

        for ($MOD_TE_zaehler=0; $MOD_TE_zaehler<=7; $MOD_TE_zaehler++) 
            {
            if($MOD_TE_exists[$MOD_TE_zaehler]==1) 
                { 
                $MOD_TE_sql    = "UPDATE ".$cfg["tab"]["content"]." ";
                .....................................
                } 
            else 
                { 
                $MOD_TE_sql    = "INSERT INTO ".$cfg["tab"]["content"]." ";
                .....................................
                } 
            } 
braucht man das nur für tägliche oder sich wiederholende termine (sonst würden ein update bzw. ein eintrag ja reichen, oder)?

und wenn dem so sein sollte, frage mich, warum hier die schleife 8 mal durchlaufen wird während es in dem original von agon nur 7 mal ist - was ja bei 7 wochentagen sinn machen würde.

gruss, V.
Das hat nichts mit den Wochentagen zu tun, sondern mit den benötigten Feldern eines Artikels. Wenn Du am Modulanfang schaust, habe ich dort die aktuellen Felder aufgelistet:

Code: Alles auswählen

/*********************************************** 
* Formularfelder:
*
* $MOD_TE_termin[0] = Startdatum
* $MOD_TE_termin[1] = Startzeit
* $MOD_TE_termin[2] = Enddatum
* $MOD_TE_termin[3] = Endzeit
* $MOD_TE_termin[4] = Ort
* $MOD_TE_termin[5] = Ortdetail
* $MOD_TE_termin[6] = Titel
* $MOD_TE-termin[7] = Check für Teaser
* $MOD_TE_termin[8] = Bemerkung CMS_HTML[8]
* $MOD_TE_termin[9] = Link CMS_LINK[9]
* $MOD_TE_termin[10] = Termin Zyklus
* $MOD_TE_termin[11] = Termin Zyklus Wochentage
* $MOD_TE_termin[12] = jeden 1.,2.,3.,4.,5. Wochentag 
* $MOD_TE_termin[13] = Kategorien 
* $MOD_TE_termin[14] = Image
* $MOD_TE_termin[15] = Status

************************************************/ 
Jedes Formularfeld belegt einen oder sogar mehrere Datensätze in der Tabelle con_content. Hier mal eine SELECT für einen Termin:
Bild

Deshalb muss man diese Schleifen bauen, um nacheinander die Inhalte der Formularfelder in die Tabelle con_content zu schreiben. Es sind sogar 2 Schleifen, da aus Grunden der Kompatibilität die alten Felder belassen wurden. (Das Ursprungsmodul sah noch ein wenig anders aus, die Formularfelder 8 (HTML Text) und 9 (Link) waren die letzten Felder) Neue Felder werden einfach hinten angehängt.

Wenn Du zusätzlich Felder für den Artikel speichern möchtest, musst Du das nächste freie Feld (z.Z. 16) in die Schleife mit aufnehmen.

Hoffe das war verständlich.
Gruß
schlaucher

Vetinari
Beiträge: 136
Registriert: Sa 31. Mär 2007, 19:11
Wohnort: Fulda
Kontaktdaten:

Beitrag von Vetinari » So 13. Mai 2007, 18:57

danke. ja, es dämmert so langsam.
ich habe momentan 14 felder und da läuft irgendwie noch nicht alles richtig rund. wenn ich einen termin eingebe, so wird nach dem submit das komplette fomular erneut korrekt angezeigt, aber wenn ich den artikel termineingabe verlasse und ihn erneut öffne, wird der inhalt einiger felder nicht mehr angezeigt - insbesondere 2 textareas.
kann das mit diesen schleifen zu tun haben?

hier mal mein code. ich erledige in den schleifen gleichzeitig noch einen weiteren datenbankeintrag:

Code: Alles auswählen

        for ($i=0; $i<=7; $i++)
        {
            if ($exists[$i] == 1)
            {
                $sql = "UPDATE ".$cfg["tab"]["content"]." SET value='".$termin[$i]."', lastmodified='".$date."'
                WHERE idartlang = ".$idartlang." AND idtype='3' AND typeid='".$i."'";
                $db->query($sql);                
                
                $sql = "UPDATE ".$cfg["tab"]["veranstaltung"]." SET te_beginn_datum='".$termin[0]."', te_end_datum='".$termin[2]."', te_kategorie_text1='".$termin[14]."', te_titel='".$termin[6]."', te_kurz_text='".$termin[9]."', te_lang_text='".$termin[10]."', te_kosten='".$termin[11]."', te_kosten_zusatz='".$termin[12]."', te_beginn_zeit='".$termin[1]."', te_end_zeit='".$termin[3]."', te_uhrzeit_text='".$termin[13]."', st_veranstaltungsort='".$termin[4]."', an_ansprechpartner='".$termin[5]."', re_referent1='".$termin[7]."', re_referent2='".$termin[8]."'";
                $db1->query($sql);
            }
            else
            {
                $sql = "INSERT INTO ".$cfg["tab"]["content"]." (idcontent, idartlang, idtype, typeid, value, author, created, lastmodified) VALUES ('".$db->nextid($cfg["tab"]["content"])."', '".$idartlang."', '3', '".$i."', '".$termin[$i]."', '".$author."', '".$date."', '".$date."')";
                $db->query($sql);

                $sql = "INSERT INTO ".$cfg["tab"]["veranstaltung"]." (te_beginn_datum, te_end_datum, te_kategorie_text1, te_titel, te_kurz_text, te_lang_text, te_kosten, te_kosten_zusatz, te_beginn_zeit, te_end_zeit, te_uhrzeit_text, st_veranstaltungsort, an_ansprechpartner, re_referent1, re_referent2, te_user) VALUES ('".$termin[0]."', '".$termin[2]."', '".$termin[14]."', '".$termin[6]."', '".$termin[9]."', '".$termin[10]."', '".$termin[11]."', '".$termin[12]."', '".$termin[1]."', '".$termin[3]."', '".$termin[13]."', '".$termin[4]."', '".$termin[5]."', '".$termin[7]."', '".$termin[8]."')";
                $db1->query($sql);
            }                
        }   
gruss, V.
Si non confectus, non reficiat. (Motto der Vetinaris)
Solange etwas nicht kaputt ist, repariere es nicht.
oder:
Lass die Dinge einfach laufen, die meisten Probleme erledigen sich eh von selbst.

schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher » So 13. Mai 2007, 19:06

Vetinari hat geschrieben:danke. ja, es dämmert so langsam.
ich habe momentan 14 felder und da läuft irgendwie noch nicht alles richtig rund. wenn ich einen termin eingebe, so wird nach dem submit das komplette fomular erneut korrekt angezeigt, aber wenn ich den artikel termineingabe verlasse und ihn erneut öffne, wird der inhalt einiger felder nicht mehr angezeigt - insbesondere 2 textareas.
kann das mit diesen schleifen zu tun haben?

hier mal mein code. ich erledige in den schleifen gleichzeitig noch einen weiteren datenbankeintrag:

Code: Alles auswählen

        for ($i=0; $i<=7; $i++)
        {
            if ($exists[$i] == 1)
            {
                $sql = "UPDATE ".$cfg["tab"]["content"]." SET value='".$termin[$i]."', lastmodified='".$date."'
                WHERE idartlang = ".$idartlang." AND idtype='3' AND typeid='".$i."'";
                $db->query($sql);                
                
                $sql = "UPDATE ".$cfg["tab"]["veranstaltung"]." SET te_beginn_datum='".$termin[0]."', te_end_datum='".$termin[2]."', te_kategorie_text1='".$termin[14]."', te_titel='".$termin[6]."', te_kurz_text='".$termin[9]."', te_lang_text='".$termin[10]."', te_kosten='".$termin[11]."', te_kosten_zusatz='".$termin[12]."', te_beginn_zeit='".$termin[1]."', te_end_zeit='".$termin[3]."', te_uhrzeit_text='".$termin[13]."', st_veranstaltungsort='".$termin[4]."', an_ansprechpartner='".$termin[5]."', re_referent1='".$termin[7]."', re_referent2='".$termin[8]."'";
                $db1->query($sql);
            }
            else
            {
                $sql = "INSERT INTO ".$cfg["tab"]["content"]." (idcontent, idartlang, idtype, typeid, value, author, created, lastmodified) VALUES ('".$db->nextid($cfg["tab"]["content"])."', '".$idartlang."', '3', '".$i."', '".$termin[$i]."', '".$author."', '".$date."', '".$date."')";
                $db->query($sql);

                $sql = "INSERT INTO ".$cfg["tab"]["veranstaltung"]." (te_beginn_datum, te_end_datum, te_kategorie_text1, te_titel, te_kurz_text, te_lang_text, te_kosten, te_kosten_zusatz, te_beginn_zeit, te_end_zeit, te_uhrzeit_text, st_veranstaltungsort, an_ansprechpartner, re_referent1, re_referent2, te_user) VALUES ('".$termin[0]."', '".$termin[2]."', '".$termin[14]."', '".$termin[6]."', '".$termin[9]."', '".$termin[10]."', '".$termin[11]."', '".$termin[12]."', '".$termin[1]."', '".$termin[3]."', '".$termin[13]."', '".$termin[4]."', '".$termin[5]."', '".$termin[7]."', '".$termin[8]."')";
                $db1->query($sql);
            }                
        }   
gruss, V.
Ich verstehe den Sinn der doppelten Datenhaltung noch nicht. Aber egal.

Wichtig ist wo holst Du den Inhalt her, wenn der Artikel aufgerufen wird? Aus Tablle con_content oder der anderen? Überschneidet sich da was? Dazu müsste man den kompletten Code des Moduls sehen.

Gruß
schlaucher

Vetinari
Beiträge: 136
Registriert: Sa 31. Mär 2007, 19:11
Wohnort: Fulda
Kontaktdaten:

Beitrag von Vetinari » So 13. Mai 2007, 19:22

das mit der doppelten datenhaltung ist temporär. für die termine macht es wirklich keinen sinn, außer einer einfacheren möglichkeit des im- und exportierens aus und für andere datenbanken.
die daten zu den veranstaltungsorten und zu den referenten/anbietern hole ich ausschließlich aus den dafür vorgesehenen tabellen. da wird nichts in der con_content abgelegt, außer der eine link (CMS_LINK[15]) zum artikel des jeweiligen referenten.

hier der ganze code:

Code: Alles auswählen

<? 
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     Termin Ein- und Ausgabe
* Author          :     
* Copyright     :     
* Created        :     
************************************************/
/*
* Values form:
* $termin[0] = te_beginn_datum      // start date
* $termin[1] = te_beginn_zeit       // start time
* $termin[2] = te_end_datum         // end date
* $termin[3] = te_end_zeit          // end time
* $termin[4] = st_veranstaltungsort // place name
* $termin[5] = an_ansprechpartner   // contact person
* $termin[6] = te_titel             // title
* $termin[7] = re_referent1         // speaker/director 1
* $termin[8] = re_referent2         // speaker/director 2
* $termin[9] = te_kurz_text         // short description
* $termin[10] = te_lang_text        // long description
* $termin[11] = te_kosten           // price
* $termin[12] = te_kosten_zusatz    // comment on price
* $termin[13] = te_uhrzeit_text     // comment on time
* $termin[14] = te_kategorie_text1  // date category
* $termin[15] = termin_link         // CMS_LINK[15]
*/

if (!is_object($tpl)) 
	{
		$tpl = new Template;
	}

$tpl->reset();
$template = "termin.html";

if (!is_object($db))
$db = new DB_Contenido;
$db1 = new DB_Contenido;
$db2 = new DB_Contenido;
$db3 = new DB_Contenido; 
$db4 = new DB_Contenido; 
$db5 = new DB_Contenido; 

$kategorie = array("CMS_VALUE[1]", "CMS_VALUE[2]","CMS_VALUE[3]","CMS_VALUE[4]", "CMS_VALUE[5]");

cInclude('classes', 'class.template.php');

// sql request for the last date
    $sql  = "SELECT  ARTLANG.idart, CONTENT.value, CONTENT.typeid, CONTENT.idtype, ARTLANG.idartlang FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["cat"]." AS CAT, ".$cfg["tab"]["content"]." AS CONTENT, ".$cfg["tab"]["cat_lang"]." AS CATLANG WHERE ARTLANG.idart = CATART.idart AND CATART.idcat = CAT.idcat AND ARTLANG.idartlang = CONTENT.idartlang AND ARTLANG.idlang = '".$lang."' AND ARTLANG.idart = '".$idart."' AND CAT.idclient = '".$client."' AND ARTLANG.online = '1' AND CATART.idcat = CATLANG.idcat ";
       
    $db->query($sql); // read all data 

if ($edit)
    { 
        $submit=''; 
        echo '<script type="text/javascript" src="'.$cfg['path']['contenido_fullhtml'].'scripts/calendar1.js.php?contenido='.$sess->id.'"></script>';     
     
        $sql = "SELECT ARTLANG.idartlang, CONTENT.idtype, CONTENT.typeid, CONTENT.value, CONTENT.idcontent FROM ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["content"]." AS CONTENT  WHERE ARTLANG.idart = ".$idart." AND ARTLANG.idartlang = CONTENT.idartlang  ORDER BY CONTENT.typeid ASC";
      
        $db->query($sql); // write all data into an array
        if ($db->num_rows() != 0)
        {
            $termin = array();
            $exists = array(); // does already a date exists?
            $db->next_record();
            $idartlang = $db->f("idartlang");
            for ($i=0; $i<$db->num_rows(); $i++)
            {
                if ( $db->f("idtype") == 3 )
                {
                    $j = $db->f("typeid");
                    $termin[$j] = $db->f("value");
                    $exists[$j] = 1;
                }
                $db->next_record();
            }
        }
      
        if ($termin[6] == "") // if there is no title yet, load title
        {
            $sql = "SELECT ARTLANG.title FROM ".$cfg["tab"]["art_lang"]." AS ARTLANG WHERE ARTLANG.idart = ".$idart."";
            $db->query($sql);
            $db->next_record();
            $termin[6] = $db->f("title");
        }
   
        if ($senden == 1) // if form has been send, write data into database
        {
            $senden = 0;
            $date = date("Y-m-d H:i:s");
            $author = $auth->auth["uname"];
        if (strlen($te_beginn_datum) == 10)
        {
            $termin[0] = $te_beginn_datum;
        }
        else
        {
            $termin[0] = "";
        }
            $termin[1] = $te_beginn_zeit;
        if (strlen($te_end_datum) == 10 && $te_end_datum >= $te_beginn_datum)
        {
            $termin[2] = $te_end_datum;
        }
        else
        {
            $termin[2] = "";
        }
            $termin[3] = $te_end_zeit;
            $termin[4] = $st_veranstaltungsort;
            $termin[5] = $an_ansprechpartner;
            $termin[6] = $te_titel;
            $termin[7] = $re_referent1;            
            $termin[8] = $re_referent2;
            $termin[9] = $te_kurz_text;
            $termin[10] = $te_lang_text;            
            $termin[11] = $te_kosten;
            $termin[12] = $te_kosten_zusatz;            
            $termin[13] = $te_uhrzeit_text; 
            $termin[14] = $te_kategorie_text1;                              
                  
        for ($i=0; $i<=7; $i++)
        {
            if ($exists[$i] == 1)
            {
                $sql = "UPDATE ".$cfg["tab"]["content"]." SET value='".$termin[$i]."', lastmodified='".$date."'
                WHERE idartlang = ".$idartlang." AND idtype='3' AND typeid='".$i."'";
                $db->query($sql);
                $db->next_record();                
                
                $sql = "UPDATE ".$cfg["tab"]["veranstaltung"]." SET te_beginn_datum='".$termin[0]."', te_end_datum='".$termin[2]."', te_kategorie_text1='".$termin[14]."', te_titel='".$termin[6]."', te_kurz_text='".$termin[9]."', te_lang_text='".$termin[10]."', te_kosten='".$termin[11]."', te_kosten_zusatz='".$termin[12]."', te_beginn_zeit='".$termin[1]."', te_end_zeit='".$termin[3]."', te_uhrzeit_text='".$termin[13]."', st_veranstaltungsort='".$termin[4]."', an_ansprechpartner='".$termin[5]."', re_referent1='".$termin[7]."', re_referent2='".$termin[8]."'";
                $db1->query($sql);
            }
            else
            {
                $sql = "INSERT INTO ".$cfg["tab"]["content"]." (idcontent, idartlang, idtype, typeid, value, author, created, lastmodified) VALUES ('".$db->nextid($cfg["tab"]["content"])."', '".$idartlang."', '3', '".$i."', '".$termin[$i]."', '".$author."', '".$date."', '".$date."')";
                $db->query($sql);
                $db->next_record();

                $sql = "INSERT INTO ".$cfg["tab"]["veranstaltung"]." (te_beginn_datum, te_end_datum, te_kategorie_text1, te_titel, te_kurz_text, te_lang_text, te_kosten, te_kosten_zusatz, te_beginn_zeit, te_end_zeit, te_uhrzeit_text, st_veranstaltungsort, an_ansprechpartner, re_referent1, re_referent2, te_user) VALUES ('".$termin[0]."', '".$termin[2]."', '".$termin[14]."', '".$termin[6]."', '".$termin[9]."', '".$termin[10]."', '".$termin[11]."', '".$termin[12]."', '".$termin[1]."', '".$termin[3]."', '".$termin[13]."', '".$termin[4]."', '".$termin[5]."', '".$termin[7]."', '".$termin[8]."')";
                $db1->query($sql);
            }                
        }   
    } // end if($edit)

// insert date (backend)

    echo '<form action="'.$REQUEST_URI.'" method="post" name="formulareintrag">
        <table align="center" cellpadding="2" cellspacing="2" border="0" width="90%">
            <tr><td align="center" colspan="2"><b>Neuen Termin eingeben</b><br><br></td></tr>
            <tr><td>'.mi18n("Datum Beginn (Format: JJJJ-MM-TT)").'</td><td valign="top"><input type="text" name="te_beginn_datum" value="'.$termin[0].'" size="15">&nbsp;&nbsp;<a href="javascript:startcal.popup(\'\',\''.$cfg['path']['contenido_fullhtml'].'templates/standard/\');"><img src="'.$cfg['path']['contenido_fullhtml'].'images/calendar.gif" width="16" valign="top" height="16" border="0" alt="'.mi18n("Bitte Datum mit Hilfe des Kalenders waehlen").'"></a></td></tr> 
            <tr><td>'.mi18n("Datum Ende (Format: JJJJ-MM-TT)").'</td><td valign="top"><input type="text" name="te_end_datum"  value="'.$termin[2].'" size="15">&nbsp;&nbsp;<a href="javascript:endcal.popup(\'\',\''.$cfg['path']['contenido_fullhtml'].'templates/standard/\');"><img src="'.$cfg['path']['contenido_fullhtml'].'images/calendar.gif" width="16" valign="top" height="16" border="0" alt="'.mi18n("Bitte Datum mit Hilfe des Kalenders waehlen").'"></a></td></tr>
            <tr><td>'.mi18n("Kategorie").' </td><td><select name="te_kategorie_text1" value="'.$termin[14].'" size="1">';
                
                $x = 1;
                while($x<6)
	            { 
                    echo '<option>'.$kategorie[$x].'</option>';
                    $sql = "UPDATE ".$cfg["tab"]["kategorie"]." SET kategorie='".$kategorie[$x]."'";
                    $db1->query($sql);
                    $db1->next_record();
                    $x++;
                }
                    echo '</select></td></tr>  
            <tr><td>'.mi18n("Veranstaltungsname").' </td><td><input name="te_titel" type="text" size="50" value="'.urldecode(stripslashes($termin[6])).'"></td></tr> 
            <tr><td>'.mi18n("Kurztext").' </td><td><textarea name="te_kurz_text" rows="3" cols="45">'.urldecode(stripslashes($termin[9])).'</textarea></td></tr>    
            <tr><td>'.mi18n("Langtext").' </td><td><textarea name="te_lang_text" rows="6" cols="45">'.urldecode(stripslashes($termin[10])).'</textarea></td></tr>     
            <tr><td>'.mi18n("Kosten").' </td><td><input name="te_kosten" type="text" value="'.$termin[11].'" size="15"> (Format: 00,00)</td></tr>
            <tr><td>'.mi18n("Kosten Kommentar").' </td><td><input name="te_kosten_zusatz" value="'.urldecode(stripslashes($termin[12])).'" type="text" size="50"></td></tr> 
            <tr><td>'.mi18n("Zeit (Beginn)").' </td><td><input name="te_beginn_zeit" type="text" value="'.$termin[1].'" size="20"> (Format: hh:mm)</td></tr>
            <tr><td>'.mi18n("Zeit (Ende)").' </td><td><input name="te_end_zeit" type="text" value="'.$termin[3].'" size="20"> (Format: hh:mm)</td></tr>
            <tr><td>'.mi18n("Zeit Kommentar (optional)").' </td><td><input name="te_uhrzeit_text" value="'.urldecode(stripslashes($termin[13])).'" type="text" size="40"></td></tr>
            <tr><td>'.mi18n("Veranstaltungsort").' </td><td><select name="st_veranstaltungsort" value="'.$termin[4].'" size="1">';
        
                $sql = "SELECT st_veranstaltungsort FROM ".$cfg["tab"]["veranstaltungsort"]."";
      
                $db2->query($sql);
                while ($db2->next_record()) 
	            { 
                    echo "<option>".$db2->f("st_veranstaltungsort")."</option>";
                }
                    echo '</select></td></tr>
                    <tr><td>Anmeldung </td><td><select name="an_ansprechpartner" value="'.$termin[5].'" size="1">';

                $sql = "SELECT an_ansprechpartner FROM ".$cfg["tab"]["anmeldung"]."";
      
                $db3->query($sql); 
                while ($db3->next_record()) 
	            {   
                    echo "<option>".$db3->f("an_ansprechpartner")."</option>";
                }
                echo '</select></td></tr>
                <tr><td>Referent 1 </td><td><select name="re_referent1" value="'.$termin[7].'" size="1">';

                $sql = "SELECT re_referent FROM ".$cfg["tab"]["referent"]."";
      
                $db4->query($sql);
                while ($db4->next_record()) 
	            {  
                    echo "<option>".$db4->f("re_referent")."</option>";
                }
                echo '</select></td></tr>
                <tr><td>Referent 2 </td><td><select name="re_referent2" value="'.$termin[8].'" size="1">
                <option>Bitte wählen</option>';

                $sql = "SELECT re_referent FROM ".$cfg["tab"]["referent"]."";
      
                $db5->query($sql);
                while ($db5->next_record()) 
	            {  
                    echo "<option>".$db5->f("re_referent")."</option>";
                }
                echo '</select></td></tr>
                <tr><td>&nbsp;</td><td><input type="submit" value="'.mi18n("Absenden").'" class=InputButton>&nbsp;&nbsp;<input type="hidden" name="senden" value=1><input type="reset" value="'.mi18n("Zuruecksetzen").'" class=InputButton></td>
                </tr></table></form>';   
                
    echo "<p>".mi18n("Link zum Referenten/Anbieter: ")."<a href=\"CMS_LINK[15]\">CMS_LINKDESCR[15]</a></p>";              

    echo '<script language="JavaScript"> 
        var startcal = new calendar1(document.forms[\'formulareintrag\'].elements[\'te_beginn_datum\']); 
            startcal.year_scroll = true; 
            startcal.time_comp = false; 
        var endcal = new calendar1(document.forms[\'formulareintrag\'].elements[\'te_end_datum\']); 
            endcal.year_scroll = true; 
            endcal.time_comp = false; 
        </script>'; 
    
    } 
    else // show date (frontend)
    {

	$sql = "SELECT * FROM ".$cfg["tab"]["veranstaltung"]." where te_id='$te_id'";

	$db1->query($sql);
	$db1->next_record(); 
  
        $beginn = $db->f("te_beginn_datum");
	$ende = $db->f("te_end_datum");
	$start = $db->f("te_beginn_zeit");
	$stop = $db->f("te_end_zeit");

    $object_zeit = new Termine;  
  
		if($ende == "0000-00-00") 
		{
			$datum = $object_zeit->dateconvert1($beginn);
			}else{
			$datum = $object_zeit->dateconvert1($beginn)." - ". $object_zeit->dateconvert2($ende);
		}

		$referent = $db->f("re_referent1");
		if($db->f("re_referent2") and $db->f("re_referent2") !== "Bitte wählen") 
		{
			$referent = $referent."&nbsp;und&nbsp;".$db->f("re_referent2");
		}

		if($stop == "00:00:00") 
		{
			$zeit = "<br>Zeit: ".$object_zeit->timeconvert1($start)." Uhr";
			}else{
			$zeit = "<br>Zeit: ".$object_zeit->timeconvert1($start)." bis ".$object_zeit->timeconvert2($stop)." Uhr";
		}
        if($start == "00:00:00")
        {
           $zeit = "";
        }
      
		$tpl->set('d', 'VERANSTALTUNG', $db->f("te_titel"));
		$tpl->set('d', 'KURZTEXT', $db->f("te_kurz_text"));
		$tpl->set('d', 'LANGTEXT', $db->f("te_lang_text"));
		$tpl->set('d', 'KOSTEN', $db->f("te_kosten"));
      $tpl->set('d', 'KOSTEN_KOMMENTAR', $db->f("te_kosten_kommentar"));
		$tpl->set('d', 'DATUM', $datum);
		$tpl->set('d', 'ZEIT', $zeit);
		$tpl->set('d', 'STRASSE', $strasse);
		$tpl->set('d', 'NUMMER', $nummer);
		$tpl->set('d', 'PLZ', $plz);
		$tpl->set('d', 'ORT', $ort);
		$tpl->set('d', 'KONTAKT', $kontakt);

		$tpl->next();

    $tpl->generate('templates/'.$template);
 } // end else (show date)

?>
gruss, V.
Si non confectus, non reficiat. (Motto der Vetinaris)
Solange etwas nicht kaputt ist, repariere es nicht.
oder:
Lass die Dinge einfach laufen, die meisten Probleme erledigen sich eh von selbst.

Vetinari
Beiträge: 136
Registriert: Sa 31. Mär 2007, 19:11
Wohnort: Fulda
Kontaktdaten:

Beitrag von Vetinari » So 13. Mai 2007, 19:43

ich hänge mal den input bereich noch ran. dann wird es etwas klarer, da ich noch eine eigene class einbinde:

Code: Alles auswählen

/*********************************************** 
* CONTENIDO MODUL - INPUT
* 
* Modulname   :     Termin Ein- und Ausgabe
* Author         :     
* Copyright     :     
* Created       :     
************************************************/ 

cInclude('classes', 'class.termine.php');

$object_kat = new Termine;
 
echo '<table cellspacing="0" cellpadding="10" border="0"><tr><td colspan="2">'; 
    
echo mi18n("Bitte hier die gewuenschten Termin-Kategorien eingeben.").'<br></td></tr>';

  $i = 1;

  foreach($wert = $object_kat->getCategories($kategorie) as $key)
    {
      echo '<tr> 
              <td>'.mi18n("Kategorie $i").'</td>
              <td><input type="text" name="CMS_VAR['.$i.']" value="'.$key['kategorie'].'"></td>
            </tr>'; 
      $i ++;           
    } 
                          
echo '</table>'; 
gruss, V.
Si non confectus, non reficiat. (Motto der Vetinaris)
Solange etwas nicht kaputt ist, repariere es nicht.
oder:
Lass die Dinge einfach laufen, die meisten Probleme erledigen sich eh von selbst.

schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher » Mo 14. Mai 2007, 13:14

Vetinari hat geschrieben:ich hänge mal den input bereich noch ran. dann wird es etwas klarer, da ich noch eine eigene class einbinde:

Code: Alles auswählen

/*********************************************** 
* CONTENIDO MODUL - INPUT
* 
* Modulname   :     Termin Ein- und Ausgabe
* Author         :     
* Copyright     :     
* Created       :     
************************************************/ 

cInclude('classes', 'class.termine.php');

$object_kat = new Termine;
 
echo '<table cellspacing="0" cellpadding="10" border="0"><tr><td colspan="2">'; 
    
echo mi18n("Bitte hier die gewuenschten Termin-Kategorien eingeben.").'<br></td></tr>';

  $i = 1;

  foreach($wert = $object_kat->getCategories($kategorie) as $key)
    {
      echo '<tr> 
              <td>'.mi18n("Kategorie $i").'</td>
              <td><input type="text" name="CMS_VAR['.$i.']" value="'.$key['kategorie'].'"></td>
            </tr>'; 
      $i ++;           
    } 
                          
echo '</table>'; 
gruss, V.
Hi,

auf die Schnelle habe ich folgende entdeckt:

Code: Alles auswählen

        if ($senden == 1) // if form has been send, write data into database 
        { 
            $senden = 0; 
            $date = date("Y-m-d H:i:s"); 
            $author = $auth->auth["uname"]; 
        if (strlen($te_beginn_datum) == 10) 
        { 
            $termin[0] = $te_beginn_datum; 
        } 
        else 
        { 
            $termin[0] = ""; 
        } 
            $termin[1] = $te_beginn_zeit; 
        if (strlen($te_end_datum) == 10 && $te_end_datum >= $te_beginn_datum) 
        { 
            $termin[2] = $te_end_datum; 
        } 
        else 
        { 
            $termin[2] = ""; 
        } 
            $termin[3] = $te_end_zeit; 
            $termin[4] = $st_veranstaltungsort; 
            $termin[5] = $an_ansprechpartner; 
            $termin[6] = $te_titel; 
            $termin[7] = $re_referent1;            
            $termin[8] = $re_referent2; 
            $termin[9] = $te_kurz_text; 
            $termin[10] = $te_lang_text;            
            $termin[11] = $te_kosten; 
            $termin[12] = $te_kosten_zusatz;            
            $termin[13] = $te_uhrzeit_text; 
            $termin[14] = $te_kategorie_text1;                              
                  
        for ($i=0; $i<=7; $i++) 
             { 
Du hast 15 Felder definiert ( $termin[0] - $termin[14] ) aber die Schleife läuft nur 8 mal ( for ($i=0; $i<=7; $i++) ). Da können nicht alle Felder in die Tabelle con_content übernommen werden.

Ändere mal for ($i=0; $i<=7; $i++) nach for ($i=0; $i<=14; $i++)

Gruß
schlaucher

Vetinari
Beiträge: 136
Registriert: Sa 31. Mär 2007, 19:11
Wohnort: Fulda
Kontaktdaten:

Beitrag von Vetinari » Mo 14. Mai 2007, 14:48

super, danke! das hat schon mal geholfen.

werde mich jetzt mal an die terminliste machen.

kann ich nicht einen termin auch direkt aufrufen, wenn ich seine koordinaten kenne, also lokal z.b. so:
http://localhost/cms/front_content.php? ... 6&idcat=78 ?

da wird bei mir nur das leere template angezeigt. wahrscheinlich muss ich von der terminliste kommen, weil da noch andere parameter dran hängen, oder?

gruss, V.
Si non confectus, non reficiat. (Motto der Vetinaris)
Solange etwas nicht kaputt ist, repariere es nicht.
oder:
Lass die Dinge einfach laufen, die meisten Probleme erledigen sich eh von selbst.

schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher » Mo 14. Mai 2007, 15:03

Vetinari hat geschrieben:super, danke! das hat schon mal geholfen.

werde mich jetzt mal an die terminliste machen.

kann ich nicht einen termin auch direkt aufrufen, wenn ich seine koordinaten kenne, also lokal z.b. so:
http://localhost/cms/front_content.php? ... 6&idcat=78 ?

da wird bei mir nur das leere template angezeigt. wahrscheinlich muss ich von der terminliste kommen, weil da noch andere parameter dran hängen, oder?

gruss, V.
nein, mit der Terminliste hat das nichts zu tun. Jeder Terminartikel kann für sich aufgerufen werden. Hier mal ein Beispiel:
http://www.go4support.de/contenido/cms/ ... catart=140

Was wird denn im Backend in der Vorschau angezeigt?

Gruß
schlaucher

Vetinari
Beiträge: 136
Registriert: Sa 31. Mär 2007, 19:11
Wohnort: Fulda
Kontaktdaten:

Beitrag von Vetinari » Mo 14. Mai 2007, 15:21

ja stimmt, hast recht. ich kann ja auch problemlos deine terminliste nehmen und mit meiner kategorie verknüpfen und schon werden meine termine dort angezeigt.
ja, ich der vorschau ist leider auch nur das template zu sehen :cry:

hier mal der überarbeitet code für die ausgabe, nach deinem vorbild (aber wohl doch nur fast richtig :roll: )

Code: Alles auswählen

    if ($db->num_rows()> 0) // select entries and write them into an array
        { 
            $termin = array(); 
            $db->next_record(); 
            for ($i = 0; $i<$db->num_rows(); $i++) 
            { 
                if ($db->f("idtype") == 2) // = CMS_HTML
                { 
                    $typeid = $db->f("typeid"); 
                    $termin[$typeid] = $db->f("value"); 
                }
                if ($db->f("idtype") == 3) // = CMS_TEXT
                { 
                    $typeid = $db->f("typeid"); 
                    $termin[$typeid] = $db->f("value"); 
                }
                if ($db->f("idtype") == 6) // = link
                { 
                    $termin[96] = $db->f("value"); 
                }
                if ($db->f("idtype") == 7) // = target
                { 
                    $termin[97] = $db->f("value"); 
                }
                if ($db->f("idtype") == 8) // = link description
                { 
                    $termin[98] = $db->f("value"); 
                }
                            
                $db->next_record(); 
            } 
        } 
    
        $tpl->reset();
 
        $beginn = $termin[0];
        $start = $termin[1];
 	    $ende = $termin[2];
        $stop = $termin[3];
        $veranstaltungsort = $termin[4];
        $ansprechpartner = $termin[5];
        $titel = $termin[6];
        $kurztext = $termin[9];
        $langtext = $termin[10];            
        $kosten =  $termin[11];
        $kosten_text = $termin[12];            
        $zeit_text = $termin[13]; 
        $kategorie = $termin[14]; 

        $object_zeit = new Termine;  
  
		if($ende == "0000-00-00") 
		{
			$datum = $object_zeit->dateConvert1($beginn);
			}else{
			$datum = $object_zeit->dateConvert1($beginn)." - ". $object_zeit->dateConvert2($ende);
		}

		if($stop == "00:00:00") 
		{
			$zeit = "<br>Zeit: ".$object_zeit->timeConvert1($start)." Uhr";
			}else{
			$zeit = "<br>Zeit: ".$object_zeit->timeConvert1($start)." bis ".$object_zeit->timeConvert2($stop)." Uhr";
		}
        if($start == "00:00:00")
        {
           $zeit = "";
        }
      
		$tpl->set('d', 'VERANSTALTUNG', $titel);
		$tpl->set('d', 'KURZTEXT', $kurztext);
		$tpl->set('d', 'LANGTEXT', $langtext);
		$tpl->set('d', 'KOSTEN', $kosten);
        $tpl->set('d', 'KOSTEN_TEXT', $kosten_text);
		$tpl->set('d', 'DATUM', $datum);
		$tpl->set('d', 'ZEIT', $zeit);
		$tpl->set('d', 'ZEIT_TEXT', $zeit_text);        
		$tpl->set('d', 'STRASSE', $strasse);
		$tpl->set('d', 'NUMMER', $nummer);
		$tpl->set('d', 'PLZ', $plz);
		$tpl->set('d', 'ORT', $ort);
		$tpl->set('d', 'KONTAKT', $kontakt);
		$tpl->next();
        
        $backlink = '<a href="JavaScript:history.back(1)">'.mi18n("Zurueck zur Uebersicht").'</a>'; 
        $tpl->set('s', 'BACK', $backlink);

        $tpl->generate('templates/'.$template);
    } // end else (show date)

?>
gruss, V.
Si non confectus, non reficiat. (Motto der Vetinaris)
Solange etwas nicht kaputt ist, repariere es nicht.
oder:
Lass die Dinge einfach laufen, die meisten Probleme erledigen sich eh von selbst.

Gesperrt