Neue Ergebnisse meiner Versuche:
Der Auslöser scheint ein (abgewandeltes) News-Modul zu sein, das verbürgter Weise immer funktioniert hat, und das ich nicht verändert habe. Jedenfalls taucht der Fehlertext innerhalb des News-<div> auf und wenn ich das Modul im Template herausnehme, ist auch der Fehler weg.
Dasselbe(!! ungelogen) Modul in anderen Templates bei gleicher Konfiguration ruft den Fehler nicht hervor!!! bis jetzt jedenfalls.
Der Modul-Output:
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Newskasten
* Author(s) : Andreas Lindner, 4fb
* Copyright : Contenido - four for business, Andreas Lindner
* changed : 16.12.2005 mvf, si("mehr"),18.12.2005 si (nur headlines)
* Created : 12.08.2005
************************************************/
cInclude('classes', 'contenido/class.client.php');
cInclude('classes', 'class.article.php');
cInclude('includes', 'functions.api.string.php');
cInclude('includes', 'functions.api.images.php');
if (!is_object($tpl)) {
$tpl = new Template;
}
$tpl->reset();
$sql = "SELECT
htmlpath, frontendpath
FROM
".$cfg["tab"]["clients"]."
WHERE
idclient = ".$client." ";
$db->query($sql);
if ($db->next_record()) {
$htmlpath = $db->f('htmlpath');
$frontendpath = $db->f('frontendpath');
}
// selected category
$selcat = "CMS_VALUE[1]";
//echo "sel $selcat<br />";
$template = "teaser-standard-newskasten.html";
//echo "tpl $template<br />";
// anzahl der zeichen text
$mxtext = "CMS_VALUE[29]";
$limit = "CMS_VALUE[15]";
$cms_sort_direction = "CMS_VALUE[16]";
if ($cms_sort_direction == '') {
$cms_sort_direction = 'desc';
}
if ("CMS_VALUE[3]" == "sortdate") {
$order = 'lastmodified';
} else {
$order = 'artsort';
}
$newsheadline = "CMS_VALUE[4]";
$tpl->set('s', 'TITLE', $newsheadline);
if (strlen($selcat) > 0 AND $selcat != '0') {
$options = array ('idcat' => $selcat, "start" => false, "order" => $order, "direction" => $cms_sort_direction);
$list = new ArticleCollection($options);
$count = $list->count;
if ($count > 0) {
if (is_numeric($limit) AND strlen($limit) > 0) {
if ($limit < $list->count) {
$limit_art = $limit;
} else {
$limit_art = $list->count;
}
} else {
$limit_art = $list->count;
}
for ($i = 0; $i < $limit_art; $i ++) {
$article = $list->nextArticle();
$article_id = $article->getField('idart');
$teaser_img = '';
if ($noimg != 'true') {
$text_html = $article->getContent('CMS_HTML', 1);
$regEx = "/<img[^>]*?>.*?/i";
$match = array ();
preg_match($regEx, $text_html, $match);
$regEx = "/(src)(=)(['\"]?)([^\"']*)(['\"]?)/i";
$img = array ();
preg_match($regEx, $match[0], $img);
$img_src = preg_split("/\//", $img[0]);
$img_name = $img_src[count($img_src) - 1];
$img_name = preg_replace("/\"/", "", $img_name);
$img_split = preg_split("/\./", $img_name);
$img_type = $img_split[count($img_split) - 1];
$img_split2 = preg_split("/_/", $img_split[0]);
$name = $img_name;
if (count($img_split2) > 1) {
$img_x = $img_split2[count($img_split2) - 1];
$img_y = $img_split2[count($img_split2) - 2];
if (is_numeric($img_x) AND is_numeric($img_y)) {
$suffix = "_".$img_x."_".$img_y.".".$img_type;
$name = preg_replace("/$suffix/", "", $img_name);
$name = $name.".[a-zA-Z]{3}";
}
}
$img_teaser = '';
if (strlen($name) > 0) {
$sql = "SELECT
*
FROM
".$cfg["tab"]["upl"]."
WHERE
filename REGEXP '$name' ";
//echo "<pre>"; print_r($sql); echo "</pre>";
$db->query($sql);
if ($db->next_record()) {
$filename = $db->f('filename');
$dirname = $db->f('dirname');
}
$img_path = $cfgClient[$client]["upl"]["path"].$dirname.$filename;
$img_size = "CMS_VALUE[14]";
$img_teaser = capiImgScale($img_path, $img_size, $img_size, $crop = false, $expand = false, $cacheTime = 1000, $wantHQ = false);
} // end if strlen
if (strlen($img_teaser) > 0) {
$teaser_img = '<img src="'.$img_teaser.'" class="teaser_img">';
} else {
$teaser_img = '';
}
} // end if noimg
$headline = strip_tags($article->getContent('CMS_HEAD', 2));
$headline = str_replace($replace, " ", $headline);
/*nicht nötig, weil nur die Headlines ausgegeben werden sollen:
$subheadline = strip_tags($article->getContent('CMS_HEAD', 3));
$subheadline = str_replace($replace, " ", $subheadline);
*/
$teaserheadline = /*$subheadline." - ".*/
$headline;
$href = $sess->url("front_content.php?idcat=$selcat&idart=$article_id");
$teasertext = $article->getField('summary');
if (strlen(trim($teasertext)) == 0) {
$teasertext = strip_tags($article->getContent('CMS_HTML', 1));
$teasertext2 = $teasertext;
$teasertext = capiStrTrimAfterWord($teasertext, $mxtext);
if ($teasertext2 > $teasertext) {
$teasertext.= ' ... <a href="'.$href.'" title="'.mi18n("Artikel weiterlesen").'" style="color:#blue;">'.mi18n("weiterlesen").'</a>';
}
} // end if
$teasertext = $teasertext." ";
$tpl->set('d', 'HEADLINE2', $teaserheadline);
/*nicht nötig, es sollen nur die Headlines ausgegeben werden:
$tpl->set('d',"HEADLINE3",$subheadline);
$tpl->set('d', 'TEXT', $teasertext);
*/
$tpl->set('d', 'HREF', $href);
/*nicht nötig, es sollen nur die Headlines ausgegeben werden:
$tpl->set('d', 'IMG', $teaser_img);
*/
/* nicht mehr nötig, weil das MORE abhängig von der Artikellänge in diesem Modul generiert wird:
$tpl->set('d', 'MORE', mi18n("mehr"));
*/
$tpl->next();
} // end for
$tpl->generate('templates/'.$template);
}
}
?>
Wenn man die include-Zeile
auskommentiert, funktioniert das Modul weiter, der Fehler kommt aber auch.
Nein, ich phantasiere nicht. (Hoffe ich doch

)