Seite 3 von 4

Verfasst: Do 27. Apr 2006, 11:17
von DoroM
Ich werd zum Elch. Seit Tagen schlage ich mich mit dem Fehler rum:
Warning: array_multisort(): Array sizes are inconsistent in /home/sites/site1/web/contenido/external/backendedit/front_content.php(778) : eval()'d code on line 601

Hab nun wirklich alles aus dem Forum angewendet, es kommt immer noch!!
Was kann da noch falsch sein?

Mein Code:

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


$sql = "SELECT ARTLANG.idart, CONTENT.value, CONTENT.typeid, 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
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,0);
    $termin["monat2"][$anz] = substr($db->f("value"),0,0);
    $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]["datum1"] >= $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 ' <div class="monat">';
    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; }
     echo ' '.$termin["jahr1"][$i];
   
    echo '</div>';
   }
   $gefunden=1;
   echo ' <div class="datum">'.substr($termin["datum1"][$i],8,2).'.'.substr($termin["datum1"][$i],5,2).'.'.substr($termin["datum1"][$i],0,4); // Anfangsdatum ausgeben
   if ( strlen($termin["tag2"][$i]) < 2 && strlen($termin["zeit1"][$i]) >1 ) // falls kein Enddatum (Eintagestermin), aber Anfangszeit, diese ausgeben
   {
    echo '     '.$termin["zeit1"][$i].' Uhr</div>';
   } elseif ( strlen($termin["tag2"][$i]) > 1 ) // falls Enddatum (Mehrtagestermin), dieses ausgeben
   {
    echo ' – '.substr($termin["datum2"][$i],8,2).'.'.substr($termin["datum2"][$i],5,2).'.'.substr($termin["datum2"][$i],0,4);
    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],0,0).'';
     }
    }
    echo '</div>';
   } else
   {
    echo '</div>';
   }
   $navmod_link ="front_content.php?client=".$client."?=".$lang."&idcat=".$idcat."&idart=".$termin["idart"][$i]."";
   echo '
  <div class="terminort">'.urldecode($termin["ort"][$i]).'</div>
  <div class="terminart"><a class="archiv" href="'.$sess->url("$navmod_link").'" id="font">'.urldecode($termin["titel"][$i]).'</a></div><span class="stopFloat"></span>';
  }
 }
}
if ( $gefunden == 0 ) // falls kein aktueller Termin vorliegt
{
 echo ' <div class="keine">Es liegen aktuell keine Termine vor!</div>';
echo '</div></div>';
}

?>
</div>
Hiiilfe!!

Verfasst: Do 27. Apr 2006, 11:35
von rezeptionist
ich gehe recht in der annahmen das dies hier das Modul mit allen Terminen ist!

hast du dann schon mal den hier versucht
http://contenido.org/forum/viewtopic.ph ... 1&start=30

wenn nicht dann zugang per PM

Verfasst: Do 27. Apr 2006, 12:04
von DoroM
Danke!
Ich hab jetzt einfach mein Modul rausgeschmissen und das von Seite 1 unten eingebaut. Jetzt klappts, jippi.
Leider ist jetzt mein schönes tabellenloses Kalenderlayout mit divs erst mal wieder weg. Was solls.

Gruß

Verfasst: Di 9. Mai 2006, 14:51
von DoroM
Das Terminmodul klappt nun. Jetzt möchte ich aber alle abgelaufenen Termine in ein Archiv legen lassen.
Hab eine Kategorie angelegt, sie als Terminübersicht konfiguriert, es kommen die abgelaufenen Termine in diese Kategorie, sie werden aber nicht angezeigt. Da steht immer nur: "Es liegen aktuell keine Termine vor!"
Hat jemand eine Idee, wie man das hinkriegen kann?

OK, während des Schreibens ist es mir eingefallen: die TErmine werden nicht angezeigt, weil sie ja nicht mehr aktuell sind. Man braucht also ein anderes Modul?

Gruß
Doro

Verfasst: Di 9. Mai 2006, 17:05
von Halchteranerin
DoroM hat geschrieben:Man braucht also ein anderes Modul?
Richtig. Es gibt noch ein Modul "Terminuebersicht fuer alle Module" oder so aehnlich, muss auch hier zu finden sein.

Verfasst: Di 9. Mai 2006, 17:50
von rezeptionist
SIehe mein letztes Post. :wink:

Termineingabe

Verfasst: Fr 12. Mai 2006, 19:58
von andy-man
hallo,
ich habe mit der termineingabe in contenido 4.6.8 probleme. nach dem eintragen der termindaten möchte ich das dokument absenden und es erscheint die meldung error404: datei nicht gefunden.
wenn ich zuerst im beschreibungfeld einen eintrag tätige und danach den termin eintrage, geht es.
woran kann dies liegen?

Die terminübersicht funktioniert bei mir. ich habe diesen für die sprachen angepasst. hier zum downloaden
http://web6.a15186132.alturo-server.de/ ... rsicht.xml

mfg

andy-man

Verfasst: Mo 22. Mai 2006, 19:59
von Coralle
Hallo, habe ein Problem mit der Eingabe von Terminen. Bekomme nur einen Termin eingetragen. Wenn ich einen neuen Termin eingebe wird der alte Termin überschrieben. Muss zugeben das ich neu dabei bin und noch nicht viel Ahnung habe. :oops: :) Kann mir einer weiter helfen?

Verfasst: Mo 22. Mai 2006, 20:03
von rezeptionist
du musst pro Termin einen Artikel anlegen ! :wink:

Verfasst: Mo 22. Mai 2006, 20:14
von Coralle
Danke! :oops: :wink: :lol: :lol: Geht.....

Verfasst: Di 23. Mai 2006, 19:38
von Coralle
Hallo,
ich habe ein weiteres Problem, was hier auch schon angesprochen wurde. Habe aber keine Lösung gefunden.

Der Terminkalender funktioniert sehr schön, doch als ich im Teaser_Container rechts etwas eingegeben habe erschien bei meiner größten Terminsammlung folgender Fehler! Ich habe noch einen Terminbereich, da kommt der Fehler nicht. Woran könnte es liegen?

Warning: array_multisort(): Argument #8 is expected to be an array or a sort flag in /homepages/*****/cms/front_content.php(771) : eval()'d code on line 196

Verfasst: Mo 28. Aug 2006, 12:31
von DoroM
Da ist übrigens ein Fehler drin, der bei mir im I.E.5.0 vermurkste Termineseiten bringt. Bei den anderen I.E.s und dem FF übrigens nicht, da sieht alles o.k. aus.
Vielleicht werden deshalb aber meine Termine, die ich auch auf der Startseite in einer dritten Spalte hab, dort nicht richtig sortiert.

Code: Alles auswählen

$navmod_link ="front_content.php?client=".$client."?=".$lang."&idcat=".$idcat."&idart=".$termin["idart"][$i].""; 
muss heißen:

Code: Alles auswählen

$navmod_link ="front_content.php?client=".$client."&idcat=".$idcat."&idart=".$termin["idart"][$i]."";
Vielleicht könnt Ihr das bestätigen, kann nämlich kaum programmieren.

Gruß
D.

Verfasst: Mo 28. Aug 2006, 13:24
von mvf

Code: Alles auswählen

$navmod_link ="front_content.php?client=".$client."?=".$lang."&idcat=".$idcat."&idart=".$termin["idart"][$i].""; 
kenne das modul nicht, aber

$client."?=".$lang."

ist sicher käse ;)

eher

Code: Alles auswählen

$navmod_link ="front_content.php?client=".$client."&lang=".$lang."&idcat=".$idcat."&idart=".$termin["idart"][$i].""; 

Verfasst: Mo 28. Aug 2006, 13:51
von DoroM
Genau!!
Danke.

Modul für Terminausgabe

Verfasst: Di 5. Sep 2006, 13:59
von jasja
Hallo zusammen,

ich habe anscheinend den gleichen Fehler von dem hier schon ganz fleißig geschrieben wird, aber ich steig noch nicht durch. Was mach ich nur falsch?

Mein Fehler:
array_multisort(): Array sizes are inconsistent in /kunden/136105_15827/webseiten/cms/front_content.php(792) : eval()'d code on line 612

Mein Code:

Code: Alles auswählen

<?php
$gefunden=0; // um zu überprüfen, ob überhaupt Termine vorliegen
$date = date("Y-m-d");

$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
##   {
##    echo '<p style="color: rgb(153,0,0); font-weight: bold;">';
##    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).'</p>';
##   }
   $gefunden=1;
   echo '<p style="margin-bottom: 10px;">'.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].'&nbsp;Uhr';
   }
   if ( strlen(substr($termin["datum2"][$i],8,2)) > 1 || strlen($termin["zeit2"][$i]) >1 )
   {
    echo ' – ';
    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].'&nbsp;Uhr';
    }
   }
   echo '<br /><b>Thema: '.urldecode($termin["titel"][$i]).'</b>';
   if ( strlen($termin["ort"][$i]) > 1 )
   {
    echo '<br /><b>Referent/in:</b> '.urldecode($termin["ort"][$i]);
   }
   $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)
   {
    $db->next_record();
    echo '<br /><b>Ort:</b> '.urldecode($db->f("value")).'</p>';
   }
  }
 }
}
if ( $gefunden == 0 ) // falls kein aktueller Termin vorliegt
{
 echo ' <p style=\"font: normal 0.8em Verdana, Geneva, Arial, Helvetica, sans-serif;\">Es liegen aktuell keine Termine vor!<br /><br /><br /></p>';
}
?>
Gruß.