Module für Terminverwaltung
Layout und Template korrigieren?
Hallo,
ich hatte das selbe Problem. Es scheint behoben, seit ich ein neues Layout ohne Headlines und ein entsprechendes Template definiert habe, welches ich nur für die Terminanzeige verwende. Die Terminübersicht funktioniert mit dem alten.
Damit die Terminanzeige trotzdem so aussieht wie der Rest der Seite, habe ich echos am Ende um ein paar class-Angaben ergänzt.
Nur der Parse Error hält sich bei mir hartnäckig:
Grüße
Rainer
ich hatte das selbe Problem. Es scheint behoben, seit ich ein neues Layout ohne Headlines und ein entsprechendes Template definiert habe, welches ich nur für die Terminanzeige verwende. Die Terminübersicht funktioniert mit dem alten.
Damit die Terminanzeige trotzdem so aussieht wie der Rest der Seite, habe ich echos am Ende um ein paar class-Angaben ergänzt.
Nur der Parse Error hält sich bei mir hartnäckig:
Code: Alles auswählen
[15-Apr-2004 21:16:12] PHP Parse error: parse error, unexpected ';', expecting ']' in /home/www/web2673/html/contenido/includes/functions.mod.php(155) : eval()'d code on line 150
Rainer
Module für Terminverwaltung
hallo, hallo,
kann mir jemand weiterhelfen?
ich habe das modul terminübersicht und termin-ein und ausgabe eingebaut. bei der terminübersicht kommt folgende fehlermeldung:
Warning: array_multisort(): Array sizes are inconsistent in D:\internet\projekte\H\Herrenberg\contenido\cms\front_content.php(647) : eval()'d code on line 463
vielen dank.
kann mir jemand weiterhelfen?
ich habe das modul terminübersicht und termin-ein und ausgabe eingebaut. bei der terminübersicht kommt folgende fehlermeldung:
Warning: array_multisort(): Array sizes are inconsistent in D:\internet\projekte\H\Herrenberg\contenido\cms\front_content.php(647) : eval()'d code on line 463
Code: Alles auswählen
<?php
$gefunden=0; // um zu überprüfen, ob überhaupt Termine vorliegen
$date = date("Y-m-d");
echo "<h1>CMS_HTMLHEAD[1]</h1>"; // Überschrift der Seite mit der Termin-Übersicht
echo '<table border=0 cellspacing=2 cellpadding=0 width=\"100%\">';
$sql = "SELECT ARTLANG.idart, CONTENT.value, CONTENT.typeid
FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["cat"]." AS CAT, ".$cfg["tab"]["content"]." AS CONTENT
WHERE ARTLANG.idart = CATART.idart AND CATART.idcat = CAT.idcat AND ARTLANG.idartlang = CONTENT.idartlang
AND ARTLANG.idlang = '".$lang."' AND CAT.idcat = '".$idcat."' AND CAT.idclient = '".$client."'
AND ARTLANG.online = '1' AND CATART.is_start='0'
ORDER BY ARTLANG.idart, CONTENT.typeid ASC"; // Alle Artikel der Kategorie einlesen, die nicht Startartikel (= Terminübersicht) sind
$db->query($sql);
$j=0; $anz=0;
if ($db->num_rows() != 0)
{
$termin = array(array()); // Array erzeugen, in dem die Termine abgelegt werden;
while ($j < $db->num_rows()) // alle Datensätze durchlaufen
{
$db->next_record();
if ($db->f("idart") > $termin["idart"][$anz])
{
$anz++;
}
switch ($db->f("typeid")) {
case 0: // Anfangstermin
$termin["datum1"][$anz] = $db->f("value");
$termin["jahr1"][$anz] = substr($db->f("value"),0,4);
$termin["monat1"][$anz] = substr($db->f("value"),5,2);
$termin["tag1"][$anz] = substr($db->f("value"),8,2);
$termin["idart"][$anz] = $db->f("idart");
break;
case 1: // Anfangsuhrzeit
$termin["zeit1"][$anz] = $db->f("value");
$termin["datum1"][$anz] = $termin["datum1"][$anz]." ".$termin["zeit1"][$anz];
break;
case 2: // Endtermin
$termin["datum2"][$anz] = $db->f("value");
$termin["jahr2"][$anz] = substr($db->f("value"),0,4);
$termin["monat2"][$anz] = substr($db->f("value"),5,2);
$termin["tag2"][$anz] = substr($db->f("value"),8,2);
break;
case 3: // Enduhrzeit
$termin["zeit2"][$anz] = $db->f("value");
$termin["datum2"][$anz] = $termin["datum2"][$anz]." ".$termin["zeit2"][$anz];
break;
case 4: // Ort
$termin["ort"][$anz] = $db->f("value");
break;
case 6: // Titel
$termin["titel"][$anz] = $db->f("value");
break;
}
$j++;
}
array_multisort ( $termin["datum1"], SORT_ASC, SORT_STRING, $termin["datum2"], SORT_ASC, SORT_STRING,
$termin["jahr1"], $termin["monat1"], $termin["tag1"], $termin["zeit1"],
$termin["jahr2"], $termin["monat2"], $termin["tag2"], $termin["zeit2"],
$termin["idart"], $termin["ort"], $termin["titel"] ); // nach Datum sortieren
for ($i=0; $i<=$anz; $i++)
{
if ( $termin["datum1"][$i] >= $date || $termin[$i]["datum2"] >= $date ) // nur Termine, die noch aktuell sind, aufnehmen
{
if ( $termin["monat1"][$i] !== $termin["monat1"][$i-1] || $gefunden == 0 ) // überprüfen, ob Monatsnahme einzufügen ist
{
echo ' <tr align="left" valign="top">
<td><img border="0" src="images/_leer.gif" width="50" height="1" class="line">
<td><img border="0" src="images/_leer.gif" width="70" height="1" class="line">
<td><img border="0" src="images/_leer.gif" width="10" height="1" class="line">
<td><img border="0" src="images/_leer.gif" width="100" height="1" class="line">
<td><img border="0" src="images/_leer.gif" width="10" height="1" class="line">
<td><img border="0" src="images/_leer.gif" width="300" height="1" class="line">
</tr>
<tr align="left" valign="top">
<td colspan=6 class="text"><b>';
switch ($termin["monat1"][$i]) {
case 1: echo "Januar"; break;
case 2: echo "Februar"; break;
case 3: echo "März"; break;
case 4: echo "April"; break;
case 5: echo "Mai"; break;
case 6: echo "Juni"; break;
case 7: echo "Juli"; break;
case 8: echo "August"; break;
case 9: echo "September"; break;
case 10: echo "Oktober"; break;
case 11: echo "November"; break;
case 12: echo "Dezember"; break; }
if ( $i>1 && $termin["jahr1"][$i] != $termin["jahr1"][$i-1] ) // überprüfen, ob Jahr einzufügen ist
{
echo ' '.$termin["jahr1"][$i];
}
echo '</b></td>
</tr>';
}
$gefunden=1;
echo ' <tr align="left" valign="top">
<td nowrap class="text"><p id="font">'.$termin["tag1"][$i].'.'; // Anfangsdatum ausgeben
if ( strlen($termin["tag2"][$i]) < 2 && strlen($termin["zeit1"][$i]) >1 ) // falls kein Enddatum (Eintagestermin), aber Anfangszeit, diese ausgeben
{
echo '</p></td><td nowrap class="text"><p>'.urldecode($termin["zeit1"][$i]).' Uhr';
} elseif ( strlen($termin["tag2"][$i]) > 1 ) // falls Enddatum (Mehrtagestermin), dieses ausgeben
{
echo '–'.$termin["tag2"][$i].'.';
if ( $termin["monat2"][$i] != $termin["monat1"][$i]) // falls Enddatum nicht im gleichem Monat
{
echo $termin["monat2"][$i].'.';
if ( $termin["jahr2"][$i] != $termin["jahr1"][$i]) // falls Enddatum nicht im gleichen Jahr
{
echo substr($termin["jahr2"][$i],2,2).'.';
}
}
echo '</p></td><td><p>';
} else
{
echo '</p></td><td><p>';
}
$navmod_link ="front_content.php?client=".$client."?=".$lang."&idcat=".$idcat."&idart=".$termin["idart"][$i]."";
echo '</p></td>
<td><img border="0" src="images/_leer.gif" width="10" height="1"></td>
<td class="text"><p id="font">'.urldecode($termin["ort"][$i]).'</p></td>
<td><img border="0" src="images/_leer.gif" width="10" height="1"></td>
<td width="65%" class="text"><p><b><a href="'.$sess->url("$navmod_link").'" id="font">'.urldecode($termin["titel"][$i]).'</a></b></p></td>
</tr>';
}
}
}
if ( $gefunden == 0 ) // falls kein aktueller Termin vorliegt
{
echo ' <tr align="left" valign="top">
<td colspan=5 class=text><b>Es liegen aktuell keine Termine vor!</b></td>
</tr>';
}
?>
</table>
Terminverwaltung
Hier die erste fehlermeldung, wenn zuvor noch kein termin eingetragen ist.
Warning: Argument 4 to array_multisort() is expected to be an array or a sort flag in /homepages/11/d97648527/htdocs/contenido/contenido/includes/include.con_editcontent.php(584) : eval()'d code on line 605
Es liegen aktuell keine Termine vor!
Warning: Argument 4 to array_multisort() is expected to be an array or a sort flag in /homepages/11/d97648527/htdocs/contenido/contenido/includes/include.con_editcontent.php(584) : eval()'d code on line 605
Es liegen aktuell keine Termine vor!
Modul Terminverwaltung
Nach langem hin und her habe ich das array so geändert (siehe code) und es kommt keine fehlermeldung mehr.
andy-man
Code: Alles auswählen
$array_multisort = array ( $termin["datum1"], SORT_ASC, SORT_STRING, $termin["datum2"], SORT_ASC, SORT_STRING, $termin["jahr1"], $termin["monat1"], $termin["tag1"], $termin["zeit1"], $termin["jahr2"], $termin["monat2"], $termin["tag2"], $termin["zeit2"], $termin["idart"], $termin["ort"], $termin["titel"] ));
end-datum wird nicht angezeigt
Hallo,
das Modul läuft bei mir prima - hab ein paar Kleinigkeiten angepaßt, aber nur im html.
Wenn ein End-Datum eingegeben ist, wird es jedoch in der Übersicht nicht angezeigt - auf der Detailseite wohl. Im Layout befinden sich keine weiteren Text- bzw. Headline-Module. Was kann also die Ursache sein?
Hier mein Code der Terminübersicht:
Viele Grüße,
#ayshe
OK, hab eine Lösung gefunden:
Danke dafür, daß ihr mir beim lauten Nachdenken zugehört habt
das Modul läuft bei mir prima - hab ein paar Kleinigkeiten angepaßt, aber nur im html.
Wenn ein End-Datum eingegeben ist, wird es jedoch in der Übersicht nicht angezeigt - auf der Detailseite wohl. Im Layout befinden sich keine weiteren Text- bzw. Headline-Module. Was kann also die Ursache sein?
Hier mein Code der Terminübersicht:
Code: Alles auswählen
<?php
$gefunden=0; // um zu überprüfen, ob überhaupt Termine vorliegen
$date = date("Y-m-d");
echo "<h1>CMS_HTMLHEAD[1]</h1>"; // Überschrift der Seite mit der Termin-Übersicht
echo '<table id="termine" border="0" cellspacing="0" cellpadding="0" width="100%">';
$sql = "SELECT ARTLANG.idart, CONTENT.value, CONTENT.typeid
FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["cat"]." AS CAT, ".$cfg["tab"]["content"]." AS CONTENT
WHERE ARTLANG.idart = CATART.idart AND CATART.idcat = CAT.idcat AND ARTLANG.idartlang = CONTENT.idartlang
AND ARTLANG.idlang = '".$lang."' AND CAT.idcat = '".$idcat."' AND CAT.idclient = '".$client."'
AND ARTLANG.online = '1' AND CATART.is_start='0'
ORDER BY ARTLANG.idart, CONTENT.typeid ASC"; // Alle Artikel der Kategorie einlesen, die nicht Startartikel (= Terminübersicht) sind
$db->query($sql);
$j=0; $anz=0;
if ($db->num_rows() != 0)
{
$termin = array(array()); // Array erzeugen, in dem die Termine abgelegt werden;
while ($j < $db->num_rows()) // alle Datensätze durchlaufen
{
$db->next_record();
if ($db->f("idart") > $termin["idart"][$anz])
{
$anz++;
}
switch ($db->f("typeid")) {
case 0: // Anfangstermin
$termin["datum1"][$anz] = $db->f("value");
$termin["jahr1"][$anz] = substr($db->f("value"),0,4);
$termin["monat1"][$anz] = substr($db->f("value"),5,2);
$termin["tag1"][$anz] = substr($db->f("value"),8,2);
$termin["idart"][$anz] = $db->f("idart");
break;
case 1: // Anfangsuhrzeit
$termin["zeit1"][$anz] = $db->f("value");
$termin["datum1"][$anz] = $termin["datum1"][$anz]." ".$termin["zeit1"][$anz];
break;
case 2: // Endtermin
$termin["datum2"][$anz] = $db->f("value");
$termin["jahr2"][$anz] = substr($db->f("value"),0,4);
$termin["monat2"][$anz] = substr($db->f("value"),5,2);
$termin["tag2"][$anz] = substr($db->f("value"),8,2);
break;
case 3: // Enduhrzeit
$termin["zeit2"][$anz] = $db->f("value");
$termin["datum2"][$anz] = $termin["datum2"][$anz]." ".$termin["zeit2"][$anz];
break;
case 4: // Ort
$termin["ort"][$anz] = $db->f("value");
break;
case 6: // Titel
$termin["titel"][$anz] = $db->f("value");
break;
}
$j++;
}
array_multisort ( $termin["datum1"], SORT_ASC, SORT_STRING, $termin["datum2"], SORT_ASC, SORT_STRING,
$termin["jahr1"], $termin["monat1"], $termin["tag1"], $termin["zeit1"],
$termin["jahr2"], $termin["monat2"], $termin["tag2"], $termin["zeit2"],
$termin["idart"], $termin["ort"], $termin["titel"] ); // nach Datum sortieren
for ($i=0; $i<=$anz; $i++)
{
if ( $termin["datum1"][$i] >= $date || $termin[$i]["datum2"] >= $date ) // nur Termine, die noch aktuell sind, aufnehmen
{
if ( $termin["monat1"][$i] !== $termin["monat1"][$i-1] || $gefunden == 0 ) // überprüfen, ob Monatsname einzufügen ist
{
echo ' <tr>
<td width="45"><img border="0" src="upload/img/trans.gif" width="45" height="1" alt="" class="line"></td>
<td width="115"><img border="0" src="upload/img/trans.gif" width="115" height="1" alt="" class="line"></td>
<td width="10"><img border="0" src="upload/img/trans.gif" width="10" height="1" alt="" class="line"></td>
<td width="120"><img border="0" src="upload/img/trans.gif" width="120" height="1" alt="" class="line"></td>
<td width="10"><img border="0" src="upload/img/trans.gif" width="10" height="1" alt="" class="line"></td>
<td><img border="0" src="upload/img/trans.gif" height="1" alt="" class="line"></td>
</tr>
<tr>
<td colspan="6" valign="top"><h2>';
switch ($termin["monat1"][$i]) {
case 1: echo "Januar"; break;
case 2: echo "Februar"; break;
case 3: echo "März"; break;
case 4: echo "April"; break;
case 5: echo "Mai"; break;
case 6: echo "Juni"; break;
case 7: echo "Juli"; break;
case 8: echo "August"; break;
case 9: echo "September"; break;
case 10: echo "Oktober"; break;
case 11: echo "November"; break;
case 12: echo "Dezember"; break; }
if ( $i>1 && $termin["jahr1"][$i] != $termin["jahr1"][$i-1] ) // überprüfen, ob Jahr einzufügen ist
{
echo ' '.$termin["jahr1"][$i];
}
echo '</h2></td>
</tr>';
}
$gefunden=1;
echo ' <tr>
<td nowrap valign="top" style="border-bottom:1px solid #aaa; padding:5px 0 5px 0;">'.$termin["tag1"][$i].'.'; // Anfangsdatum ausgeben
if ( strlen($termin["tag2"][$i]) < 2 && strlen($termin["zeit1"][$i]) >1 ) // falls kein Enddatum (Eintagestermin), aber Anfangszeit, diese ausgeben
{
echo '</td><td nowrap valign="top" style="border-bottom:1px solid #aaa; padding:5px 0 5px 0;"> ['.$termin["zeit1"][$i].' h]';
} elseif ( strlen($termin["tag2"][$i]) > 1 ) // falls Enddatum (Mehrtagestermin), dieses ausgeben
{
echo ' –<br> '.$termin["tag2"][$i].'.';
if ( $termin["monat2"][$i] != $termin["monat1"][$i]) // falls Enddatum nicht im gleichem Monat
{
echo $termin["monat2"][$i].'.';
if ( $termin["jahr2"][$i] != $termin["jahr1"][$i]) // falls Enddatum nicht im gleichen Jahr
{
echo substr($termin["jahr2"][$i],2,2).'.';
}
}
echo '</td><td style="border-bottom:1px solid #aaa; padding:5px 0 5px 0;">';
} else
{
echo '</td><td style="border-bottom:1px solid #aaa; padding:5px 0 5px 0;">';
}
$navmod_link ="front_content.php?client=".$client."?=".$lang."&idcat=".$idcat."&idart=".$termin["idart"][$i]."";
echo '</td>
<td style="border-bottom:1px solid #aaa; padding:5px 0 5px 0;"><img border="0" src="upload/img/trans.gif" width="8" height="1" alt=""></td>
<td valign="top" style="border-bottom:1px solid #aaa; padding:5px 0 5px 0;">'.urldecode($termin["ort"][$i]).'</td>
<td style="border-bottom:1px solid #aaa; padding:5px 0 5px 0;"><img border="0" src="upload/img/trans.gif" width="8" height="1" alt=""></td>
<td valign="top" style="border-bottom:1px solid #aaa; padding:5px 0 5px 0;"><a href="'.$sess->url("$navmod_link").'">'.urldecode($termin["titel"][$i]).'</a></td>
</tr>';
}
}
}
if ( $gefunden == 0 ) // falls kein aktueller Termin vorliegt
{
echo ' <tr>
<td colspan="6"><b>Es liegen aktuell keine Termine vor!</b></td>
</tr>';
}
?>
</table>
#ayshe
OK, hab eine Lösung gefunden:
Code: Alles auswählen
// falls kein Enddatum (Eintagestermin), aber Anfangszeit, diese ausgeben
{
echo '</td><td nowrap valign="top" style="border-bottom:1px solid #aaa; padding:5px 0 5px 0;"> ['.$termin["zeit1"][$i].' h]'.' - ['.$termin["zeit2"][$i].' h]';
-
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
Re: end-datum wird nicht angezeigt
Hallo,
mmmhhhh ... ich benutze eine geaenderte Version, habe sie auch irgendwo hier im Forum gepostet, finde sie aber gerade nicht wieder. Also poste ich sie nochmal und ueberlasse Dir den Spass, die Unterschiede zu finden. Online ist sie hier zu sehen: http://www.halchter.com/cms/front_content.php?idcat=7
Wenn's Dir zu viele Farbtoene sind (ich wollte, dass die Termine alternierende Farben haben, und die Monate sollten auch anders hervorgehoben sein), musst Du den Quelltext an entsprechender Stelle aendern.
Gruss
Christa
Terminuebersicht-Ausgabe (Eingabe ist leer):
mmmhhhh ... ich benutze eine geaenderte Version, habe sie auch irgendwo hier im Forum gepostet, finde sie aber gerade nicht wieder. Also poste ich sie nochmal und ueberlasse Dir den Spass, die Unterschiede zu finden. Online ist sie hier zu sehen: http://www.halchter.com/cms/front_content.php?idcat=7
Wenn's Dir zu viele Farbtoene sind (ich wollte, dass die Termine alternierende Farben haben, und die Monate sollten auch anders hervorgehoben sein), musst Du den Quelltext an entsprechender Stelle aendern.
Gruss
Christa
Terminuebersicht-Ausgabe (Eingabe ist leer):
Code: Alles auswählen
<?php
$gefunden=0; // um zu überprüfen, ob überhaupt Termine vorliegen
$date = date("Y-m-d");
echo '<table border=0 cellspacing=0 cellpadding=0 width="100%">';
echo "<tr><td colspan=2 class=\"headline\">CMS_HTMLHEAD[1]</td></tr>"; // Überschrift der Seite mit der Termin-Übersicht
echo "<tr><td colspan=2 class=\"subheadline\">CMS_HTMLHEAD[2]</td></tr>"; // Weiterer Text
echo '<tr><td colspan=2> </td></tr>'; // Leerzeile vor der Termin-Übersicht
$sql = "SELECT ARTLANG.idart, CONTENT.value, CONTENT.typeid
FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["cat"]." AS CAT, ".$cfg["tab"]["content"]." AS CONTENT
WHERE ARTLANG.idart = CATART.idart AND CATART.idcat = CAT.idcat AND ARTLANG.idartlang = CONTENT.idartlang
AND ARTLANG.idlang = '".$lang."' AND CAT.idcat = '".$idcat."' AND CAT.idclient = '".$client."'
AND ARTLANG.online = '1' AND CATART.is_start='0'
ORDER BY ARTLANG.idart, CONTENT.typeid ASC"; // Alle Artikel der Kategorie einlesen, die nicht Startartikel (= Terminübersicht) sind
$db->query($sql);
$j=0; $anz=0;
if ($db->num_rows() != 0)
{
$termin = array(array()); // Array erzeugen, in dem die Termine abgelegt werden;
while ($j < $db->num_rows()) // alle Datensätze durchlaufen
{
$db->next_record();
if ($db->f("idart") > $termin["idart"][$anz])
{
$anz++;
}
switch ($db->f("typeid")) {
case 0: // Anfangstermin
$termin["datum1"][$anz] = $db->f("value");
$termin["idart"][$anz] = $db->f("idart");
break;
case 1: // Anfangsuhrzeit
$termin["zeit1"][$anz] = $db->f("value");
$termin["datum1"][$anz] = $termin["datum1"][$anz]." ".$termin["zeit1"][$anz];
break;
case 2: // Endtermin
$termin["datum2"][$anz] = $db->f("value");
break;
case 3: // Enduhrzeit
$termin["zeit2"][$anz] = $db->f("value");
$termin["datum2"][$anz] = $termin["datum2"][$anz]." ".$termin["zeit2"][$anz];
break;
case 4: // Ort
$termin["ort"][$anz] = $db->f("value");
break;
case 5: // Ortdetail
$termin["ortdetail"][$anz] = $db->f("value");
break;
case 6: // Titel
$termin["titel"][$anz] = $db->f("value");
break;
}
$j++;
}
array_multisort ( $termin["datum1"], SORT_ASC, SORT_STRING, $termin["datum2"], SORT_ASC, SORT_STRING,
$termin["ort"], $termin["ortdetail"],
$termin["zeit1"], $termin["zeit2"], $termin["idart"], $termin["titel"] ); // nach Datum sortieren
for ($i=0; $i<=$anz; $i++)
{
if ( $termin["datum1"][$i] >= $date || $termin["datum2"][$i] >= $date ) // nur Termine, die noch aktuell sind, aufnehmen
{
if ( substr($termin["datum1"][$i],5,2) !== substr($termin["datum1"][$i-1],5,2) || $gefunden == 0 ) // überprüfen, ob Monatsnahme einzufügen ist
{
$farbe=0;
if ( $gefunden == 1 )
{
echo ' </table>';
}
echo ' <table width="600" border="0" cellspacing="0" cellpadding="5" class="text">
<tr>
<td colspan="2" class="headline" style="border: 1px; border-left: 0px; border-right:0px; border-color: #4779A0; border-style: solid; background-color: #EEEEEE">';
switch (substr($termin["datum1"][$i],5,2)) {
case 1: echo "Januar"; break;
case 2: echo "Februar"; break;
case 3: echo "März"; break;
case 4: echo "April"; break;
case 5: echo "Mai"; break;
case 6: echo "Juni"; break;
case 7: echo "Juli"; break;
case 8: echo "August"; break;
case 9: echo "September"; break;
case 10: echo "Oktober"; break;
case 11: echo "November"; break;
case 12: echo "Dezember"; break; }
echo ' '.substr($termin["datum1"][$i],0,4).'</td>
</tr>';
}
$gefunden=1;
echo ' <tr';
if ( $farbe == 1 )
{
echo ' bgcolor="#d5e6f5"';
}
echo '>
<td valign="top" width="100" align="left">'.substr($termin["datum1"][$i],8,2).'.'.substr($termin["datum1"][$i],5,2).'.'.substr($termin["datum1"][$i],0,4);
if ( strlen($termin["zeit1"][$i]) >1 )
{
echo ', '.$termin["zeit1"][$i].' Uhr';
}
if ( strlen(substr($termin["datum2"][$i],8,2)) > 1 || strlen($termin["zeit2"][$i]) >1 )
{
echo '–<br>';
if ( strlen(substr($termin["datum2"][$i],8,2)) > 1 )
{
echo substr($termin["datum2"][$i],8,2).'.'.substr($termin["datum2"][$i],5,2).'.'.substr($termin["datum2"][$i],0,4);
if ( strlen($termin["zeit2"][$i]) >1 )
{
echo ', ';
}
}
if ( strlen($termin["zeit2"][$i]) >1 )
{
echo $termin["zeit2"][$i].' Uhr';
}
}
echo '</td>
<td width="490" valign="top" align="left"><b>'.urldecode($termin["titel"][$i]).'</b></td>
</tr>';
if ( strlen($termin["ort"][$i]) > 1 )
{
echo ' <tr';
if ( $farbe == 1 )
{
echo ' bgcolor="#d5e6f5"';
}
echo '>
<td colspan="2"><b>Ort:</b> '.urldecode($termin["ort"][$i]).'</td>
</tr>';
}
$sql2 = "SELECT CONTENT.value
FROM ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["cat"]." AS CAT, ".$cfg["tab"]["content"]." AS CONTENT
WHERE ARTLANG.idart = ".$termin["idart"][$i]." AND ARTLANG.idartlang = CONTENT.idartlang AND CONTENT.typeid = '7'";
$db->query($sql2);
if ($db->num_rows() != 0)
{
echo ' <tr';
if ( $farbe == 1 )
{
echo ' bgcolor="#d5e6f5"';
}
$db->next_record();
echo '>
<td colspan="2"><b>Ansprechperson/Details:</b> '.urldecode($db->f("value")).'</td>
</tr>';
}
if ( $farbe == 0 ) { $farbe=1; } else { $farbe=0; }
}
}
}
if ( $gefunden == 0 ) // falls kein aktueller Termin vorliegt
{
echo ' <tr>
<td colspan=2><b>Es liegen aktuell keine Termine vor!</b></td>
</tr>';
}
?>
</table>
Re: immer noch dieses "3B.sp.6n"-Problem
Hallo,cxx hat geschrieben:con_code leeren, alle Headlines ausfüllen, Enddatum/Uhrzeit neu setzen...
aber Nichts davon wirkt:
sobald ich das Datum in der Termineingabe ändere, bekomme ich als Enddatum in der Ausgabe(Terminübersicht) immer nur dieses 3B.sp.6n . Hat schon irgend jemand dafür eine Lösung gefunden?
gruß christian
also ich bekomme nach Änderung des Datums nicht diese Zeichenfolge, sondern einfach gar keine Anzeige. Das ist auch nicht besser...
Hat jemand eine Lösung des Problems gefunden? (con_code leeren hat nichts gebracht.)
#ayshe
-
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
Re: immer noch dieses "3B.sp.6n"-Problem
Hallo nochmal!
(Input leer) Output:
Ich weiss nicht mehr genau, wie das Originalmodul aussah. Dieses hier hat Eingabefelder fuer Titel, Startdatum, Start-Uhrzeit, Enddatum, End-Uhrzeit, Ort, Ort-Detail, Beschreibung/Inhalte (letzteres ist ein Text/HTML-Feld).
Gruss
Christa
ich habe weder dieses Problem noch das von Christian. Aber auch fuer die Termineingabe benutze ich ein geaendertes Modul:#ayshe hat geschrieben:also ich bekomme nach Änderung des Datums nicht diese Zeichenfolge, sondern einfach gar keine Anzeige. Das ist auch nicht besser...
(Input leer) Output:
Code: Alles auswählen
<?php
if(strstr($REQUEST_URI,"changeview=edit") || $submit=="editcontent" || strstr($REQUEST_URI,"area=con_editcontent")) // Überprüfen, ob im Editiermodus aufgerufen
{
$submit="";
echo " <script language="JavaScript" src="../contenido/scripts/calendar1.js.php?contenido=".$sess->id.""></script>"; // Kalender einbinden
$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); // Artikelangaben einlesen
if ($db->num_rows() != 0)
{
$termin = array();
$exists = array();
$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]=="") // falls noch kein Titel eingetragen, Seitentitel einlesen
{
$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) // falls das Terminformular abgeschickt wurde, Daten in Datenbank schreiben
{
$senden=0;
$date = date("Y-m-d H:i:s");
$author = $auth->auth["uname"];
if (strlen($datum1)==10)
{
$termin[0] = $datum1;
} else
{
$termin[0] = "";
}
$termin[1] = $zeit1;
if (strlen($datum2)==10 && $datum2 >= $datum1)
{
$termin[2] = $datum2;
} else
{
$termin[2] = "";
}
$termin[3] = $zeit2;
$termin[4] = $ort1;
$termin[5] = $ort2;
$termin[6] = $titel;
for ($i=0; $i<=6; $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);
} 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);
}
}
}
// ab hier das Formular für die Editieransicht
echo "<form action="".$REQUEST_URI."" method="post" name="eintrag">
<table border=0 cellspacing=2 cellpadding=1>
<tr>
<td align="left">Titel</td>
<td align="left"><input type="text" name="titel" value="".urldecode(stripslashes($termin[6]))."" size=27 class=Input></td>
</tr>
<tr>
<td nowrap>Startdatum <b class=klein>jjjj-mm-tt</b></td>
<td align="left"><input type="text" name="datum1" value="".$termin[0]."" size=11 class=Input>
<a href="javascript:startcal.popup('','".$cfg['path']['contenido_fullhtml']."templates/standard/');">
<img src="".$cfg['path']['contenido_fullhtml']."images/calendar.gif" width=16 height=16 border=0 alt="Startzeitpunkt wählen"></a></td>
</tr>
<tr>
<td align=left>Start-Uhrzeit <b class=klein>hh:mm</b></td>
<td align=left><input type="text" name="zeit1" value="".$termin[1]."" size=6 class=Input></td>
<td class=klein>(kann auch leer bleiben)</td>
</tr>
<tr>
<td align=left>Enddatum <b class=klein>jjjj-mm-tt</b></td>
<td><input type="text" name="datum2" value="".$termin[2]."" size=11 class=Input>
<a href="javascript:endcal.popup('','".$cfg['path']['contenido_fullhtml']."templates/standard/');">
<img src="".$cfg['path']['contenido_fullhtml']."images/calendar.gif" width=16 height=16 border=0 alt="Endzeitpunkt wählen"></a></td>
<td class=klein>(kann auch leer bleiben)</td>
</tr>
<tr>
<td align=left>End-Uhrzeit <b class=klein>hh:mm</b></td>
<td><input type="text" name="zeit2" value="".$termin[3]."" size=6 class=Input></td>
<td class=klein>(kann auch leer bleiben)</td>
</tr>
<tr>
<td align=left>Ort</td>
<td><input type="text" name="ort1" value="".urldecode(stripslashes($termin[4]))."" size=20 class=Input></td>
<td class=klein>(erscheint <i>auch</i> in der Übersicht)</td>
</tr>
<tr>
<td align=left>Ort - Detail</td>
<td><input type="text" name="ort2" value="".urldecode(stripslashes($termin[5]))."" size=27 class=Input></td>
<td class=klein>(erscheint <i>nicht</i> in der Übersicht)</td>
</tr>
<tr>
<td colspan=3 align=center>
<input type="submit" value=" Absenden " class=InputButton> <input type="hidden" name="senden" value=1>
<input type="reset" value=" Abbrechen " class=InputButton>
</td>
</tr>
</table>
</f"."orm>
<p>Beschreibung/Inhalte: CMS_HTML[7]</p>
<script language="JavaScript">
var startcal = new calendar1(document.forms['eintrag'].elements['datum1']);
startcal.year_scroll = true;
startcal.time_comp = false;
var endcal = new calendar1(document.forms['eintrag'].elements['datum2']);
endcal.year_scroll = true;
endcal.time_comp = false;
</script>";
} else // ab hier Terminausgabe für Frontend-Ansicht bzw. Vorschau
{
$tag1 = substr("CMS_TEXT[0]",8,2);
$monat1 = substr("CMS_TEXT[0]",5,2);
$jahr1 = substr("CMS_TEXT[0]",0,4);
$tag2 = substr("CMS_TEXT[2]",8,2);
$monat2 = substr("CMS_TEXT[2]",5,2);
$jahr2 = substr("CMS_TEXT[2]",0,4);
$datum1 = $tag1.".".$monat1.".".$jahr1;
$datum2 = $tag2.".".$monat2.".".$jahr2;
$date1 = getdate(mktime(0,0,0,$monat1,$tag1,$jahr1));
$date2 = getdate(mktime(0,0,0,$monat2,$tag2,$jahr2));
switch ($date1[wday]) {
case 1: $wtag1 = "Montag"; break;
case 2: $wtag1 = "Dienstag"; break;
case 3: $wtag1 = "Mittwoch"; break;
case 4: $wtag1 = "Donnerstag"; break;
case 5: $wtag1 = "Freitag"; break;
case 6: $wtag1 = "Samstag"; break;
case 0: $wtag1 = "Sonntag"; break; }
switch ($date2[wday]) {
case 1: $wtag2 = "Montag"; break;
case 2: $wtag2 = "Dienstag"; break;
case 3: $wtag2 = "Mittwoch"; break;
case 4: $wtag2 = "Donnerstag"; break;
case 5: $wtag2 = "Freitag"; break;
case 6: $wtag2 = "Samstag"; break;
case 0: $wtag2 = "Sonntag"; break; }
echo "<h1 class="headline">CMS_TEXT[6]</h1>
<font id="font"><p> ".$wtag1.", ".$datum1;
if ( "CMS_TEXT[1]"!=="" )
{
echo ", CMS_TEXT[1]";
if ( "CMS_TEXT[3]"=="" )
{
echo " Uhr";
}
}
if ( strlen($datum2)==10 || "CMS_TEXT[3]"!=="" )
{
echo " – ";
if ( strlen($datum2)==10 )
{
echo $wtag2.", ".$datum2;
}
if ( strlen($datum2)==10 && "CMS_TEXT[3]"!=="" )
{
echo ', ';
}
if ( "CMS_TEXT[3]"!=="" )
{
echo "CMS_TEXT[3] Uhr";
}
}
echo "</p>
<p> <b>CMS_TEXT[4]</b>";
if ( "CMS_TEXT[5]" )
{
echo ", CMS_TEXT[5]";
}
echo "</p>
<p><br>CMS_HTML[7]</p></font>";
$navmod_link ="front_content.php?client=".$client."?=".$lang."&idcat=".$idcat."";
echo '<p><br><a href="'.$sess->url("$navmod_link").'" id="font">Zurück zur Terminübersicht</a></p>';
}
?>
Gruss
Christa
-
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
Hi, Du early birdHalchteranerin hat geschrieben:So, die Nacht ist vorbei, hat's was gebracht? Ich hoffe es ...#ayshe hat geschrieben:vielen Dank für die Codes, ich werde sie mal ausprobieren - heute nacht
Viele Gruesse
Christa
Mit Deinem Code hatte ich auch Probleme, also habe ich messerscharf geschlossen, daß es doch mit dem Layout zu tun haben muß. Es gibt da noch Bildmodule und in denen habe ich zwei Anführungszeichen maskiert. Jetzt wird alles richtig dargestellt.
Vielen Dank nochmal für Deine Hilfe. Es war auf jeden Fall auch sehr interessant zu sehen, wie du den Farbwechsel per Datensatz programmiert hast.
Schönen Tag noch,
#ayshe
-
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
Hallo nochmal,
Aber gut, dass Du die Ursache des Problems trotzdem gefunden hast.
Viele Gruesse
Christa
ich wollte nur etwas richtigstellen, auch wenn agon offensichtlich kein Forumsmitglied mehr ist: den Farbwechsel hat er quasi 'nach meinen Wuenschen' programmiert, ich habe nur einfachere Aenderungen am Modul vorgenommen.#ayshe hat geschrieben:Es war auf jeden Fall auch sehr interessant zu sehen, wie du den Farbwechsel per Datensatz programmiert hast.
Aber gut, dass Du die Ursache des Problems trotzdem gefunden hast.
Viele Gruesse
Christa
-
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
Aehm ... nur so zum Verstaendnis, was meinst Du damit genau?
TerminEINgabe heisst so, weil man da etwas EINgibt, da wird nichts AUSgegeben. Und bei 'meinem' Code gibt's gar nichts mit Wochentagen, da wird immer nur ein Datum (ggf. zwei, bei mehrtaegigen Terminen) ein- und ausgegeben, also keine Ahnung, woher Dein Donnerstag kommt. Kannst Du Dein Problem etwas genauer beschreiben?tommo hat geschrieben:bei der Termineingabe wird nur " Donnerstag, .." ausgegeben.