Warum funktioniert ArticleListAdvanced nicht?

Gesperrt
contenidoAmateur

Warum funktioniert ArticleListAdvanced nicht?

Beitrag von contenidoAmateur » Mi 19. Dez 2012, 23:35

Der Text wird nur so ausgegeben {TEXT_1}

hab schon alles als Zahl versucht... (0,1,2,3,4,..usw.)

Headline und auch Summary kann er ausgeben.

Welche Fehler könnte es geben?
Modu-Template:
<h1>{TITLE}</h1>
<!-- BEGIN:BLOCK -->
<div class="articlelistItem">
<p class="articlelistHeadline"><a class="articlelistHeadline" href="{PAGELINK}" title="{HEADLINE}">{HEADLINE}</a></p>
{IMG_0}<p class="articlelistContent">{TEXT_1} {SUMMARY}</p>
<p class="articlelistMore"><a href="{PAGELINK}" title="{MORE}">{MORE} &rsaquo;&rsaquo;&rsaquo;</a></p>
</div>
<!-- END:BLOCK -->
{DEFAULTTEXT}
{OVERVIEWLINK}

Platzhalter im Layout:
<container id="11" name="Text">Text</container>

Danke :)

xmurrix
Beiträge: 3154
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Warum funktioniert ArticleListAdvanced nicht?

Beitrag von xmurrix » Do 20. Dez 2012, 01:41

Wenn du im Template den Platzhalter {TEXT_1} hast, sollte dieser in der Modulausgabe folgendermaßen gesetzt werden:

Code: Alles auswählen

// $tpl ist eine Instanz von Template und $myValue eine beispielhafte Variable
$tpl->set('d', 'TEXT_1', $myValue);
Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

contenidoAmateur

Re: Warum funktioniert ArticleListAdvanced nicht?

Beitrag von contenidoAmateur » Do 20. Dez 2012, 09:25

Läuft leider immer noch nicht :(

<?php
// Includes
cInclude('frontend', 'includes/pagination/ps_pagination.php');

// Initialization
$bDebug = false;
$iDataStart = 1000; // Startwert fuer dynamisch generierte CMS_VAR Elemente !!!Muss im Input gleich sein!!!
$lCount = 0;

// Check php version
$sVersion = explode( '.', phpversion() );
$sVersion = (((int)$sVersion[0] == 5 && (int)$sVersion[1] >= 2) || (int)$sVersion[0] > 5) ? 'php>=5.2' : 'php<5.2';

if ($sVersion == 'php>=5.2') {
cInclude('frontend', 'includes/class.datetimereplacelang.php');
} elseif (!function_exists(formatDateToStrftime)) {
function formatDateToStrftime($sDate) {
$aDate = array('d', 'm', 'y', 'H', 'i', 'F', 'j', 'Y', 'M', 'l', 'D');
$aStrftime = array('%d', '%m', '%y', '%H', '%M', '%B', '%e', '%Y', '%b', '%A', '%a');

return str_replace($aDate, $aStrftime, $sDate);
}
} else {
// do nothing
}

unset ($aData);
$aData = array();

// Base settings
unset ($aSettings);
$aSettings = array();
$aSettings['ShowModul'] = "CMS_VALUE[0]";

$aSettings['Category'] = "CMS_VALUE[100]";
$aSettings['CatTypeSel'] = "CMS_VALUE[105]";
$aSettings['AddCats'] = "CMS_VALUE[106]";
$aSettings['ArticleCount'] = "CMS_VALUE[110]";
$aSettings['SortBy'] = "CMS_VALUE[115]";
$aSettings['SortDir'] = "CMS_VALUE[116]";
$aSettings['ShowStart'] = "CMS_VALUE[120]";
$aSettings['ShowOnlyStart'] = "CMS_VALUE[121]";
$aSettings['ShowCurrentArticle'] = "CMS_VALUE[123]";
$aSettings['Template'] = "CMS_VALUE[125]";

$aSettings['UseArtListHeadline'] = "CMS_VALUE[300]";
$aSettings['ArtListHeadline'] = "CMS_VALUE[301]";
$aSettings['UseDefaultText'] = "CMS_VALUE[305]";
$aSettings['DefaultTextArticle'] = "CMS_VALUE[306]";
$aSettings['DefaultTextFreeText'] = "CMS_VALUE[307]";
$aSettings['UseOverviewLink'] = "CMS_VALUE[310]";
$aSettings['OverviewLink'] = "CMS_VALUE[311]";
$aSettings['OverviewLinkText'] = "CMS_VALUE[312]";
$aSettings['UseDateFormat'] = "CMS_VALUE[315]";
$aSettings['DateFormat'] = "CMS_VALUE[316]";
$aSettings['DateSort'] = "CMS_VALUE[317]";
$aSettings['DateLanguage'] = "CMS_VALUE[318]";
$aSettings['UseAuthorLabeling'] = "CMS_VALUE[320]";
$aSettings['AuthorLabeling'] = "CMS_VALUE[321]";
$aSettings['UsePagination'] = "CMS_VALUE[330]";
$aSettings['ArticlePerPage'] = "CMS_VALUE[331]";
$aSettings['PaginationType01'] = "CMS_VALUE[332]";
$aSettings['PaginationType02'] = "CMS_VALUE[333]";
$aSettings['PaginationType03'] = "CMS_VALUE[334]";
$aSettings['PaginationType04'] = "CMS_VALUE[335]";
$aSettings['PaginationType05'] = "CMS_VALUE[336]";
$aSettings['PaginationType05MaxPages'] = "CMS_VALUE[337]";
$aSettings['UseUTF8Decoding'] = "CMS_VALUE[340]";

$aSettings['SampleArt'] = "CMS_VALUE[500]";
$aSettings['HeadlineIdentifier'] = "CMS_VALUE[510]";
$aSettings['HeadlineLength'] = "CMS_VALUE[511]";
$aSettings['UseSummary'] = "CMS_VALUE[515]";
$aSettings['SummaryWidth'] = "CMS_VALUE[516]";
$aSettings['UsePageTitle'] = "CMS_VALUE[520]";
$aSettings['PageTitleWidth'] = "CMS_VALUE[521]";
$aSettings['Elements'] = "CMS_VALUE[525]";

$aSettings['CurrentPage'] = $_REQUEST['page'];

if ($aSettings['ShowModul'] == 'on') {

// Client Cache loeschen um auf jeden Fall alle Aenderungen an Inhalten zu beruecksichtigen
// Es wird explizit nur der content-Ordner geloescht um zu verhindern, dass es Fehler bei der Darstellung von Bildern gibt
cInclude('classes', 'class.purge.php');
$oPurge = new Purge($db, $cfg, $cfgClient);
$oPurge->clearClientCache($iClientId, 'cache/content/');

// Checking base settings
$aSettings['ArticleCount'] = (!is_numeric($aSettings['ArticleCount']) || $aSettings['ArticleCount'] < 0) ? 5 : $aSettings['ArticleCount'];
$aSettings['OverviewLinkText'] = ($aSettings['OverviewLinkText'] == "") ? mi18n("Link to overview") : $aSettings['OverviewLinkText'];
$aSettings['ArticlePerPage'] = ($aSettings['UsePagination'] == 'enabled' &&
is_numeric($aSettings['ArticlePerPage']) &&
$aSettings['ArticlePerPage'] >= 2) ? $aSettings['ArticlePerPage'] : 10;
$aSettings['CurrentPage'] = (!is_numeric($aSettings['CurrentPage']) ||
!isset($aSettings['CurrentPage'])) ? 1 : $aSettings['CurrentPage'];
$aSettings['Category'] = str_replace('cat_', '', $aSettings['Category']);
$aSettings['Category'] = (!is_numeric($aSettings['Category']) || $aSettings['Category'] <= 0) ? 0 : $aSettings['Category'];
$aSettings['HeadlineIdentifier'] = (strlen($aSettings['HeadlineIdentifier']) > 50) ? '' : $aSettings['HeadlineIdentifier'];
$aSettings['HeadlineLength'] = (!is_numeric($aSettings['HeadlineLength']) || $aSettings['HeadlineLength'] < 0) ? 0 : $aSettings['HeadlineLength'];
$aSettings['Elements'] = (!is_numeric($aSettings['Elements']) || $aSettings['Elements'] < 0) ? 0 : $aSettings['Elements'];
$aSettings['CatTypeSel'] = ($aSettings['CatTypeSel'] == '' ||
($aSettings['AddCats'] == '' &&
$aSettings['CatTypeSel'] == 'selected')) ? 'none' : $aSettings['CatTypeSel'];
$aSettings['PaginationType05MaxPages'] = (!is_numeric($aSettings['PaginationType05MaxPages']) ||
$aSettings['PaginationType05MaxPages'] == '') ? 10 : $aSettings['PaginationType05MaxPages'];
$aSettings['PaginationType05MaxPages'] = ($aSettings['PaginationType05MaxPages'] <= 3) ? 3 : $aSettings['PaginationType05MaxPages'];
$aSettings['SummaryWidth'] = (!is_numeric($aSettings['SummaryWidth']) || $aSettings['SummaryWidth'] < 0) ? 0 : $aSettings['SummaryWidth'];
$aSettings['PageTitleWidth'] = (!is_numeric($aSettings['PageTitleWidth']) || $aSettings['PageTitleWidth'] < 0) ? 0 : $aSettings['PageTitleWidth'];

if ($aSettings['UseUTF8Decoding'] == 'enabled') {
cInclude('frontend', 'includes/functions.include.UTF8decoding.php');
}

// Detail settings
if ($aSettings['Elements'] > 0) {
for ($i = 0; $i < $aSettings['Elements']; $i++) {
$iElementType = $iDataStart + ($i * 10);
$iElementIdentifier = $iElementType + 1;
$iElementWidth = $iElementType + 2;
$iElementHeight = $iElementType + 3;
$iElementDontStripTags = $iElementType + 3;
$iElementAllowedTags = $iElementType + 4;

$aSettings['k'.$i] = array();
$aSettings['k'.$i]['ElementType'] = "CMS_VALUE[$iElementType]"; // Text, Image, ExtractedImage, FixedDate
$aSettings['k'.$i]['Identifier'] = "CMS_VALUE[$iElementIdentifier]";
$aSettings['k'.$i]['ElementWidth'] = "CMS_VALUE[$iElementWidth]"; // Textlength or ImageWidth
$aSettings['k'.$i]['ElementHeight'] = "CMS_VALUE[$iElementHeight]";
$aSettings['k'.$i]['DontStripTags'] = ("CMS_VALUE[$iElementDontStripTags]" == 'enabled' && $aSettings['k'.$i]['ElementWidth'] == 0);
$aSettings['k'.$i]['ElementAllowedTags'] = ("CMS_VALUE[$iElementAllowedTags]" != '') ? '\''."CMS_VALUE[$iElementAllowedTags]".'\'' : '';

// Check detail settings
if ($aSettings['k'.$i]['ElementType'] == '') {
$aSettings['k'.$i]['ElementType'] == 'Text';
}

if ($aSettings['k'.$i]['ElementType'] == 'Text') {
$aSettings['ElementHeight'] = 0;
if (!is_numeric($aSettings['k'.$i]['ElementWidth']) || $aSettings['k'.$i]['ElementWidth'] < 0) {
$aSettings['k'.$i]['ElementWidth'] = 50;
}
}
elseif (!is_numeric($aSettings['k'.$i]['ElementWidth']) || $aSettings['k'.$i]['ElementWidth'] <= 0 ||
!is_numeric($aSettings['k'.$i]['ElementHeight']) || $aSettings['k'.$i]['ElementHeight'] <= 0) {
$aSettings['k'.$i]['ElementWidth'] = 0;
$aSettings['k'.$i]['ElementHeight'] = 0;
}

if (strlen($aSettings['Identifier']) > 50) {
$aSettings['Identifier'] = '';
}
} // end for
}

unset ($iDataStart);
unset ($iElementType);
unset ($iElementIdentifier);
unset ($iElementWidth);
unset ($iElementHeight);
unset ($iElementDontStripTags);
unset ($iElementAllowedTags);

if ($aSettings['Category'] !== '0' && $aSettings['HeadlineIdentifier'] !== '') {
if (!is_object($db2)) $db2 = new DB_Contenido;

// Specifying search categories
$sSelCats = '"'.$aSettings['Category'].'"';
// Adding categories "below" primary category
switch ($aSettings['CatTypeSel']) {
case 'below':
$lCatLevel = -1;
$sql = 'SELECT'."\n".
' a.idcat AS idcat,'."\n".
' b.level AS level'."\n".
'FROM'."\n".
' '.$cfg['tab']['cat'].' a,'."\n".
' '.$cfg['tab']['cat_tree'].' b'."\n".
'WHERE'."\n".
' a.idcat = b.idcat'."\n".
'ORDER BY'."\n".
' b.idtree';

$db2->query($sql);
while($db2->next_record()) {
if ($db2->f('idcat') == $aSettings['Category'])
$lCatLevel = $db2->f('level');
elseif ($lCatLevel > -1 && $db2->f('level') > $lCatLevel)
$sSelCats .= ',"'.$db2->f('idcat').'"';
elseif ($db2->f('level') <= $lCatLevel)
break;
} // end while
break;
case 'select':
$aCats = explode(",", str_replace('cat_','',$aSettings["AddCats"])); // http://forum.contenido.org/viewtopic.ph ... 95#p149395
foreach ($aCats as $value)
if (is_numeric($value))
$sSelCats .= ',"'.$value.'"';
break;
default:
} // end switch

$sql = 'SELECT'."\n".
' tblData.value AS headline,'."\n".
' artlang.pagetitle AS pagetitle,'."\n".
' artlang.summary AS summary,'."\n".
' artlang.idart AS idart,'."\n".
' artlang.idart AS idartlang,'."\n".
' artlang.lastmodified AS lastmodified,'."\n".
' artlang.modifiedby AS autor,'."\n".
' artlang.created AS created,'."\n".
' artlang.published AS published,'."\n".
' artlang.idartlang AS idartlang,'."\n".
' catlang.name AS category,'."\n".
' catlang.startidartlang AS startid,'."\n".
' catart.is_start AS isstart,'."\n".
' catart.idcat AS idcat,'."\n".
' catart.idcatart AS idcatart'."\n".
'FROM'."\n".
' '.$cfg['tab']['cat_art'].' AS catart,'."\n".
' '.$cfg['tab']['art_lang'].' AS artlang,'."\n".
' '.$cfg['tab']['cat_lang'].' AS catlang,'."\n".
' '.$cfg['tab']['content'].' AS tblData'."\n".
'WHERE'."\n".
' catart.idcat IN ('.$sSelCats.') AND'."\n".
' artlang.idlang = '.$lang.' AND'."\n".
' tblData.idartlang = artlang.idartlang AND'."\n".
' catlang.idlang = artlang.idlang AND'."\n".
' catlang.idcat = catart.idcat AND'."\n".
' artlang.idart = catart.idart ';

if ($aSettings['ShowStart'] != 'enabled')
$sql .= ($cfg['is_start_compatible'] == true) ? 'AND '."\n".' catart.is_start = 0 ' : 'AND '."\n".' tblData.idartlang != catlang.startidartlang ';
else
if ($aSettings['ShowOnlyStart'] == 'enabled')
$sql .= ($cfg['is_start_compatible'] == true) ? 'AND '."\n".' catart.is_start = 1 ' : 'AND '."\n".' tblData.idartlang = catlang.startidartlang ';

if ($aSettings['ShowCurrentArticle'] != '' && is_numeric($aSettings['ShowCurrentArticle']))
$sql .= ' AND'."\n".' artlang.idart <> ' . $aSettings['ShowCurrentArticle'] . ' ';

$sql .= 'AND '."\n".' artlang.online = 1'."\n";
$sql .= 'AND '."\n".' '.$aSettings['HeadlineIdentifier'].'';

// Sort by
$sql .= "\n".'ORDER BY'."\n".
' '.$aSettings['SortBy']."\n".
' '.$aSettings['SortDir']."\n";

// LIMIT
if ($aSettings['UsePagination'] == 'enabled') $sql_pagination = $sql;
if ($aSettings['ArticleCount'] > 0) $sql .= 'LIMIT 0, '.$aSettings['ArticleCount'];
if ($aSettings['UsePagination'] == 'enabled') $sql_all = $sql;

if ($bDebug) {
echo '<pre>'.$sql.'</pre>', chr(10);
}

// execute query
$db2->query($sql);
$lCount = $db2->num_rows();

// Init Template
if (!is_object($tpl)) $tpl = new Template;
$tpl->reset();

if ($lCount > 0) {
if (!is_object($db3)) $db3 = new DB_Contenido;
if (!is_object($db4)) $db4 = new DB_Contenido;
if (!is_object($db5)) $db5 = new DB_Contenido;

if ($aSettings['ArticlePerPage'] > 0 && $aSettings['UsePagination'] == 'enabled') {
$lStartCount = ($aSettings['CurrentPage'] - 1) * $aSettings['ArticlePerPage'];
$lEndCount = (($aSettings['CurrentPage'] - 1) * $aSettings['ArticlePerPage']) + $aSettings['ArticlePerPage'];

if ($lEndCount > $lCount) $lEndCount = $lCount;
} else {
$lStartCount = 0;
$lEndCount = $lCount;
}

$lRow = 0;
$i = 0;
while ($db2->next_record()) {
if ($aSettings['ShowStart'] == 'enabled' ||
($aSettings['ShowStart'] != 'enabled' && $db2->f('idartlang') != $lStartIDArtLang)) {
if ($lRow >= $lStartCount && $lRow < $lEndCount) {
$aData[$i] = array();
$aData[$i]['Category'] = urldecode($db2->f('Category'));

if ($db2->f('startid') == $db2->f('idartlang') || $db2->f('isstart')) {
$aParams = array('lang' => $lang, 'idcat' => $db2->f('idcat'));
} else {
$aParams = array('lang' => $lang, 'idcat' => $db2->f('idcat'), 'idart' => $db2->f('idart'));
}

$inUrl = Contenido_Url::getInstance()->buildRedirect($aParams);

$aData[$i]['Link'] = $inUrl;
$aData[$i]['LastModified'] = $db2->f('lastmodified');
$aData[$i]['Autor'] = $db2->f('autor');
$aData[$i]['Created'] = $db2->f('created');
$aData[$i]['Published'] = $db2->f('published');

// Generate pagetitle
if ($aSettings['UseUTF8Decoding'] != 'enabled') {
$sTmpValue = urldecode($db2->f('pagetitle'));
} else {
$sTmpValue = html_entity_decode_utf8(urldecode($db2->f('pagetitle')));
}

if ($aSettings['PageTitleWidth'] > 0 && strlen($sTmpValue) > $aSettings['PageTitleWidth'] && $aSettings['UsePageTitle'] == 'enabled') {
// Cutting text but preserving words
$sTmpValue = capiStrTrimAfterWord($sTmpValue, $aSettings['PageTitleWidth']).'...';
} elseif ($aSettings['UsePageTitle'] == 'enabled') {
$sTmpValue = $sTmpValue;
} else {
$sTmpValue = '';
}
$aData[$i]['PageTitle'] = $sTmpValue;

// Generate headline
if ($aSettings['UseUTF8Decoding'] != 'enabled') {
$sTmpValue = strip_tags(urldecode($db2->f('headline')));
} else {
$sTmpValue = html_entity_decode_utf8(strip_tags(urldecode($db2->f('headline'))));
}

if ($aSettings['HeadlineLength'] > 0 && strlen($sTmpValue) > $aSettings['HeadlineLength']) {
// Cutting text but preserving words and entities
$sTmpValue = capiStrTrimAfterWord($sTmpValue, $aSettings['HeadlineLength']).'...';
}
$aData[$i]['Headline'] = $sTmpValue;

// Generate Summary
if ($aSettings['UseUTF8Decoding'] != 'enabled') {
$sTmpValue = urldecode($db2->f('summary'));
} else {
$sTmpValue = html_entity_decode_utf8(urldecode($db2->f('summary')));
}

if ($aSettings['SummaryWidth'] > 0 && strlen($sTmpValue) > $aSettings['SummaryWidth'] && $aSettings['UseSummary'] == 'enabled') {
// Cutting text but preserving words
$sTmpValue = capiStrTrimAfterWord($sTmpValue, $aSettings['SummaryWidth']).'...';
} elseif ($aSettings['UseSummary'] == 'enabled') {
$sTmpValue = $sTmpValue;
} else {
$sTmpValue = '';
}
$aData[$i]['Summary'] = $sTmpValue;

//
if ($aSettings['Elements'] > 0) {
for ($k = 0; $k < $aSettings['Elements']; $k++) {
$aData[$i]['i'.$k] = array();
$aData[$i]['i'.$k]['Value'] = '';
$aData[$i]['i'.$k]['ServerPath'] = '';
$aData[$i]['i'.$k]['WebPath'] = '';
$aData[$i]['i'.$k]['Width'] = 0;
$aData[$i]['i'.$k]['Height'] = 0;
} // end for

$sql = 'SELECT'."\n".
' tblData.value AS value,'."\n".
' tblData.idtype AS idtype,'."\n".
' tblData.typeid AS typeid'."\n".
'FROM'."\n".
' '.$cfg['tab']['cat_art'].' AS tblCatArt,'."\n".
' '.$cfg['tab']['art_lang'].' AS tblArtLang,'."\n".
' '.$cfg['tab']['content'].' AS tblData'."\n".
'WHERE'."\n".
' tblData.idartlang = tblArtLang.idartlang AND'."\n".
' tblArtLang.idlang = "'.$lang.'" AND'."\n".
' tblArtLang.idart = tblCatArt.idart AND'."\n".
' tblCatArt.idcatart = "'.$db2->f('idcatart').'" AND'."\n".
' ('."\n";

$sql_items = '';
for ($k = 0; $k < $aSettings['Elements']; $k++) {
if ($aSettings['k'.$k]['Identifier'] != '' && $aSettings['k'.$k]['Identifier'] != 'none') {
if ($sql_items != '') {
$sql_items .= ' OR'."\n".
' ('.$aSettings['k'.$k]['Identifier'].')';
} else {
$sql_items = ' ('.$aSettings['k'.$k]['Identifier'].')';
}
}
} // end for
$sql .= $sql_items."\n".' )';

if ($bDebug) {
echo '<pre>'.$sql.'</pre>', chr(10);
}

// execute query
$db3->query($sql);

while ($db3->next_record()) {
$sTypeIdentifier = "tblData.idtype = '".$db3->f('idtype')."' AND tblData.typeid = '".$db3->f('typeid')."'";

/**
* Note: The TypeIdentifier for one item may be the same as for another item.
* Therefore, we are storing the content everywhere as needed
*/
for ($k = 0; $k < $aSettings['Elements']; $k++) {
if ($sTypeIdentifier == $aSettings['k'.$k]['Identifier']) {
switch (TRUE) {
case ($aSettings['k'.$k]['ElementType'] == 'Image' || $aSettings['k'.$k]['ElementType'] == 'ExtractedImage'):

$sql = '';

if ($aSettings['k'.$k]['ElementType'] == 'Image') {
$sql = 'SELECT'."\n".
' dirname,'."\n".
' filename'."\n".
'FROM'."\n".
' '.$cfg['tab']['upl']."\n".
'WHERE'."\n".
' idupl = "'.$db3->f('value').'"';
} else {
$sTmpValue = urldecode($db3->f('value'));

$regEx = "/<img[^>]*?>.*?/i";
$match = array ();
preg_match($regEx, $sTmpValue, $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);

$name = strtolower($img_name);

if (strlen($name) > 0) {
$sql = 'SELECT'."\n".
' dirname,'."\n".
' filename'."\n".
'FROM'."\n".
' '.$cfg['tab']['upl']."\n".
'WHERE'."\n".
' LOWER(filename) = "'.$name.'"';
}
}

if ($bDebug) {
echo '<pre>'.$sql.'</pre>';
}

// execute query
if ($sql != '') {
$db4->query($sql);

if ($db4->next_record()) {
$aData[$i]['i'.$k]['ServerPath'] = $cfgClient[$client]['upl']['path'].$db4->f('dirname').$db4->f('filename');
$aData[$i]['i'.$k]['WebPath'] = $cfgClient[$client]['upl']['htmlpath'].$db4->f('dirname').$db4->f('filename');

list (
$width,
$height,
$type,
$attr
) = getimagesize($aData[$i]['i'.$k]['ServerPath']);
$aData[$i]['i'.$k]['Width'] = $width;
$aData[$i]['i'.$k]['Height'] = $height;
}
}
break;
case ($aSettings['k'.$k]['ElementType'] == 'FixedDate'):
$aData[$i]['i'.$k]['Value'] = strip_tags(trim(urldecode($db3->f('value'))));
break;
default:
if ($aSettings['UseUTF8Decoding'] != 'enabled') {
$sTmpValue = ($aSettings['k'.$k]['DontStripTags']) ? urldecode($db3->f('value')) : str_replace(' ', ' ', preg_replace('/\r/s', '', preg_replace('/\n|\t/s', ' ', strip_tags(urldecode($db3->f('value')), $aSettings['k'.$k]['ElementAllowedTags']))));
} else {
$sTmpValue = ($aSettings['k'.$k]['DontStripTags']) ? html_entity_decode_utf8(urldecode($db3->f('value'))) :
html_entity_decode_utf8(
str_replace(' ', ' ',
preg_replace('/\r/s', '',
preg_replace('/\n|\t/s', ' ',
strip_tags(urldecode($db3->f('value')), $aSettings['k'.$k]['ElementAllowedTags'])
)
)
)
);
}

if ($aSettings['k'.$k]['ElementWidth'] > 0 && strlen($sTmpValue) > $aSettings['k'.$k]['ElementWidth']) {
// Cutting text but preserving words and entities
$sTmpValue = capiStrTrimAfterWord($sTmpValue, $aSettings['k'.$k]['ElementWidth']).'...';
}
$aData[$i]['i'.$k]['Value'] = $sTmpValue;
} // end switch
} // end if ($sTypeIdentifier == $aSettings['k'.$k]['Identifier'])
} // end for
} // end while
}
$i++;
}
elseif ($lRow == $lEndCount) {
break;
}
$lRow++;
}
} // end while

// Clearing memory
unset ($db2);
unset ($db3);
unset ($db4);
unset ($sql);
unset ($lStartIDArtLang);
unset ($lStartCount);
unset ($lEndCount);

/**
* Output data
* Every output manipulation should be done here...
*
* Base information:
* $aSettings['UseArtListHeadline']: Enable use of article list headline
* $aSettings['ArtListHeadline']: Value for article list headline
* $aSettings['Elements']: Number of expected, additional elements from each article
* $aSettings['ArticlePerPage']: Number of articles per page (0: show all)
* $aSettings['k'.$i]['ElementType']: Per Element: Type of Element: Text, Image or ExtractedImage
* $aSettings['k'.$i]['ElementWidth']: Per Element: Text length or image width (-> recycling ...)
* $aSettings['k'.$i]['ElementHeight']: Per Element: Image width
* $aSettings['k'.$i]['DontStripTags'] Per Element: Strip tags or not
* $aSettings['k'.$i]['ElementAllowedTags'] Per Element: Allowed tags
*
* Per article:
* $aValue['Headline']: Content of article element specified as containing the headline information
* $aValue['Link']: Relative link to get to the listed article
* $aValue['LastModified']: Last modified date of the article
* $aValue['Created']: Created date of the article
* $aValue['Published']: Published date of the article
* $aValue['Category']: Category name
* $aValue['Autor']: Autor name
* $aValue['Pagetitle']: Pagetitle
* $aValue['Summary']: Summary
*
* Per article additional element:
* $aValue['i'.$i]['Value']: Text (only for text elements, otherwise '')
* $aValue['i'.$i]['WebPath']: HTTP... path to image
* $aValue['i'.$i]['ServerPath']: /server/... path to image
`* $aValue['i'.$i]['Width']: >Original< image width
* $aValue['i'.$i]['Height']: >Original< image height
*
*/

foreach ($aData as $aValue) {
if ($aSettings['Elements'] > 0) {
for ($i = 0; $i < $aSettings['Elements']; $i++) {
switch (TRUE) {
case ($aSettings['k'.$i]['ElementType'] == 'Image' || $aSettings['k'.$i]['ElementType'] == 'ExtractedImage'):

$image = $aValue['i'.$i]['WebPath'];
$width = $aValue['i'.$i]['Width'];
$height = $aValue['i'.$i]['Height'];

if ($aSettings['k'.$i]['ElementWidth'] > 0 && $aSettings['k'.$i]['ElementHeight'] > 0) {
// Check, if resize necessary
if ( $aValue['i'.$i]['ServerPath'] != '' && file_exists($aValue['i'.$i]['ServerPath']) &&
($aValue['i'.$i]['Width'] > $aSettings['k'.$i]['ElementWidth'] || $aValue['i'.$i]['Height'] > $aSettings['k'.$i]['ElementHeight'])) {
// Scale image
$image = capiImgScale($aValue['i'.$i]['ServerPath'], $aSettings['k'.$i]['ElementWidth'], $aSettings['k'.$i]['ElementHeight'], false, false, 10, true, 100, true);

// Get dimensions of the image
list (
$width,
$height,
$type,
$attr
) = getimagesize(str_replace($cfgClient[$client]['path']['htmlpath'], $cfgClient[$client]['path']['frontend'], $image));
} else {
$image = $aValue['i'.$i]['WebPath'];
$width = $aValue['i'.$i]['Width'];
$height = $aValue['i'.$i]['Height'];
}
}

$artlist_image = ($image != '') ? '<img class="articlelistImage" src="'.$image.'" width="'.$width.'" height="'.$height.'" alt="'.mi18n("Article Thumb").'" />' : '';
$tpl->set('d', 'IMG_'.$i, $artlist_image);

break;
case ($aSettings['k'.$i]['ElementType'] == 'FixedDate'):
$tpl->set('d', 'FIXEDDATE', $aValue['i'.$i]['Value']);
break;
default: // Everything else is treated as "Text"
$artlist_text = $aValue['i'.$i]['Value'];
$tpl->set('d', 'TEXT_1', $myValue);
} // end switch
} // end for
}

// Generate date if enabled
if($aSettings['UseDateFormat'] == 'enabled') {
if ($sVersion == 'php>=5.2') {
if ($aSettings['DateLanguage'] != 'en_UK') {
$oDate = ($aSettings['DateSort'] == 'create') ? new DateTimeReplaceLang($aValue['Created']) : new DateTimeReplaceLang($aValue['Published']);
if ($aSettings['DateFormat'] == 'F j, Y' || $aSettings['DateFormat'] == 'j F Y' || $aSettings['DateFormat'] == 'l, j F Y')
$artlist_lastmod = $oDate->format($aSettings['DateFormat'], $aSettings['DateLanguage'], 'long');
else
$artlist_lastmod = $oDate->format($aSettings['DateFormat'], $aSettings['DateLanguage'], 'short');

// $fmt = new IntlDateFormatter("de_DE", IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'Europe/Berlin', IntlDateFormatter::GREGORIAN);
// $artlist_lastmod = $fmt->format($aValue['Created']);
} else {
$oDate = ($aSettings['DateSort'] == 'create') ? new DateTime($aValue['Created']) : new DateTime($aValue['Published']);
$artlist_lastmod = $oDate->format($aSettings['DateFormat']);
}
} else {
setlocale(LC_TIME, $aSettings['DateLanguage']);
$tmp_artlist_Date = ($aSettings['DateSort'] == 'create') ? strtotime($aValue['Created']) : strtotime($aValue['Published']);
$artlist_lastmod = strftime(formatDateToStrftime($aSettings['DateFormat']), $tmp_artlist_Date);
}
} else {
$artlist_lastmod = '';
}

// Search author if enabled
if($aSettings['UseAuthorLabeling'] == 'enabled') {
$sql = 'SELECT'."\n".
' realname AS name'."\n".
'FROM'."\n".
' '.$cfg['tab']['phplib_auth_user_md5']."\n".
'WHERE'."\n".
' username = "'.$aValue["Autor"].'"';

// execute query
$db5->query($sql);
if ($bDebug) {
echo '<pre>'.$sql.'</pre>', chr(10);
}
$db5->next_record();

$sAuthor = strip_tags(urldecode($db5->f('name')));

if ($aSettings['UseUTF8Decoding'] != 'enabled') {
$sAuthor = strip_tags(urldecode($db5->f('name')));
} else {
$sAuthor = html_entity_decode_utf8(strip_tags(urldecode($db5->f('name'))));
}
} else {
$sAuthor = '';
}

$artlist_more = mi18n("More");

// Generate template
$tpl->set('d', 'PAGELINK', $aValue['Link']);
$tpl->set('d', 'PAGETITLE', $aValue['PageTitle']);
$tpl->set('d', 'DATE', $artlist_lastmod);
$tpl->set('d', 'HEADLINE', $aValue['Headline']);
$tpl->set('d', 'LABELING', $aSettings['AuthorLabeling']);
$tpl->set('d', 'AUTHOR', $sAuthor);
$tpl->set('d', 'SUMMARY', $aValue['Summary']);
$tpl->set('d', 'MORE', $artlist_more);

$tpl->next();

unset($oDate);

} // end foreach

if ($aSettings['UseOverviewLink'] == 'enabled') {
$aParams = (($iCount = substr_count($aSettings['OverviewLink'],'cat_')) > 0) ? array('lang' => $lang, 'idcat' => str_replace('cat_', '', $aSettings['OverviewLink'])) : '';
$aParams = (($iCount = substr_count($aSettings['OverviewLink'],'art_')) > 0) ? array('lang' => $lang, 'idart' => str_replace('art_', '', $aSettings['OverviewLink'])) : $aParams;

$inUrl = Contenido_Url::getInstance()->buildRedirect($aParams);

$sOverviewLink = '<div class="articlelistLinkToOverview"><a href="'.$inUrl.'" title="'.$aSettings['OverviewLinkText'].'">'.$aSettings['OverviewLinkText'].'</a></div>';

$tpl->set('s', 'OVERVIEWLINK', $sOverviewLink);
} else {
$tpl->set('s', 'OVERVIEWLINK', '');
}

$tpl->set('s', 'DEFAULTTEXT', '');

/**
* Page browsing
* Hint: Number of max available records: $lCount
* Number of pages: ceil($lCount / $aSettings['ArticlePerPage'])
* First page: page=1;
* Last page: page=ceil($lCount / $aSettings['ArticlePerPage']);
*/
if ($aSettings['UsePagination'] == 'enabled') {
$iPages = ceil($lCount / $aSettings['ArticlePerPage']);

if ($bDebug) {
echo '<p>$iPages = '.$iPages.' / $aSettings[\'currentPage\'] = '.$aSettings['CurrentPage'].'</p>';
}

// Example: Back and Next
$sPaginationType01 = '';
if ($aSettings['PaginationType01'] == 'enabled') {
if ($iPages > 1 && $aSettings['CurrentPage'] > 1) {
$aParams = array('lang' => $lang, 'idcat' => $idcat, 'idart' => $idart, 'page' => ($aSettings['CurrentPage'] - 1));
$inUrl = Contenido_Url::getInstance()->buildRedirect($aParams);

$sPaginationType01 .= '<div class="articlelistBack">';
$sPaginationType01 .= '<a href="'.$inUrl.'">'.mi18n("Back").'</a>';
$sPaginationType01 .= '</div>';
} else {
$sPaginationType01 .= '<div class="articlelistBack">';
$sPaginationType01 .= mi18n("Back");
$sPaginationType01 .= '</div>';
}

if ($iPages > 1 && $aSettings['CurrentPage'] < $iPages) {
$aParams = array('lang' => $lang, 'idcat' => $idcat, 'idart' => $idart, 'page' => ($aSettings['CurrentPage'] + 1));
$inUrl = Contenido_Url::getInstance()->buildRedirect($aParams);

$sPaginationType01 .= '<div class="articlelistNext">';
$sPaginationType01 .= '<a href="'.$inUrl.'">'.mi18n("Next").'</a>';
$sPaginationType01 .= '</div>';
} else {
$sPaginationType01 .= '<div class="articlelistNext">';
$sPaginationType01 .= mi18n("Next");
$sPaginationType01 .= '</div>';
}
}

// Example: 1 2 3 4 5 6 7 ...
$sPaginationType02 = '';
if ($aSettings['PaginationType02'] == 'enabled') {
for ($i = 1; $i <= $iPages; $i++) {
if ($sPaginationType02 != '') $sPaginationType02 .= '&nbsp;';

if ($aSettings['CurrentPage'] == $i) {
$sPaginationType02 .= $i;
} else {
$aParams = array('lang' => $lang, 'idcat' => $idcat, 'idart' => $idart, 'page' => $i);
$inUrl = Contenido_Url::getInstance()->buildRedirect($aParams);
$sPaginationType02 .= '<a class="articlelistPageNumber" href="'.$inUrl.'">'.$i.'</a>';
}
}
}

// Example: Seite 1 von 7
$sPaginationType03 = '';
if ($aSettings['PaginationType03'] == 'enabled')
$sPaginationType03 .= mi18n("Page").' '.$aSettings['CurrentPage'].' '.mi18n("of").' '.$iPages;

// Example: << < 1 2 3 ... 5 6 7 ... 9 10 11 > >>
$sPaginationType04 = '';
if ($aSettings['PaginationType04'] == 'enabled') {
if ($aSettings['CurrentPage'] != 1) {
$aParams = array('lang' => $lang, 'idcat' => $idcat, 'idart' => $idart, 'page' => 1);
$inUrl = Contenido_Url::getInstance()->buildRedirect($aParams);
$sPaginationType04 .= '<a class="articlelistBegin" href="'.$inUrl.'">'.mi18n("&laquo;").'</a>&nbsp;';
} else {
$sPaginationType04 .= '<span class="articlelistBegin">'.mi18n("&laquo;").'</span>&nbsp;';
}

if (($aSettings['CurrentPage'] - 1) >= 1) {
$aParams = array('lang' => $lang, 'idcat' => $idcat, 'idart' => $idart, 'page' => ($aSettings['CurrentPage'] - 1));
$inUrl = Contenido_Url::getInstance()->buildRedirect($aParams);
$sPaginationType04 .= '<a class="articlelistPrevious" href="'.$inUrl.'">'.mi18n("&lsaquo;").'</a>';
} else {
$sPaginationType04 .= '<span class="articlelistPrevious">'.mi18n("&lsaquo;").'</span>';
}

for ($i = 1; $i <= $iPages; $i++) {
$aStartRange = array(1, 2, 3);
$aEndRange = array($iPages, ($iPages-1), ($iPages-2));
if (in_array($i, $aStartRange) || in_array($i, $aEndRange)) {
if ($sPaginationType04 != '') $sPaginationType04 .= '&nbsp;';
$aParams = array('lang' => $lang, 'idcat' => $idcat, 'idart' => $idart, 'page' => $i);
$inUrl = Contenido_Url::getInstance()->buildRedirect($aParams);
$sPaginationType04 .= ($aSettings['CurrentPage'] == $i) ? '<span class="articlelistLinkActive">'.$i.'</span>' : '<a class="articlelistPageNumber" href="'.$inUrl.'">'.$i.'</a>';
} elseif ($aSettings['CurrentPage'] == $i) {
$sPaginationType04 .= '&nbsp;<span class="articlelistLinkActive">'.$i.'</span>'; // I'm on the current page, no link
} elseif ($aSettings['CurrentPage'] == ($i+1)) {
// Front
$aParams = array('lang' => $lang, 'idcat' => $idcat, 'idart' => $idart, 'page' => $i);
$inUrl = Contenido_Url::getInstance()->buildRedirect($aParams);
$sPaginationType04 .= '&nbsp;<a class="articlelistPageNumber" href="'.$inUrl.'">'.$i.'</a>';
} elseif ($aSettings['CurrentPage'] == ($i-1)) {
// Back
$aParams = array('lang' => $lang, 'idcat' => $idcat, 'idart' => $idart, 'page' => $i);
$inUrl = Contenido_Url::getInstance()->buildRedirect($aParams);
$sPaginationType04 .= '&nbsp;<a class="articlelistPageNumber" href="'.$inUrl.'">'.$i.'</a>';
} elseif ($aSettings['CurrentPage'] == ($i-2) ||
$aSettings['CurrentPage'] == ($i+2) ||
($aSettings['CurrentPage'] == ($i-3) && (($i-3)==1)) ||
($aSettings['CurrentPage'] == ($i+3) && (($i+3)==$iPages))) {
$sPaginationType04 .= '&nbsp;...';
}
}

if (($aSettings['CurrentPage'] + 1) <= $iPages) {
$aParams = array('lang' => $lang, 'idcat' => $idcat, 'idart' => $idart, 'page' => ($aSettings['CurrentPage'] + 1));
$inUrl = Contenido_Url::getInstance()->buildRedirect($aParams);
$sPaginationType04 .= '&nbsp;<a class="articlelistNext" href="'.$inUrl.'">'.mi18n("&rsaquo;").'</a>';
} else {
$sPaginationType04 .= '&nbsp;<span class="articlelistNext">'.mi18n("&rsaquo;").'</span>';
}

if ($aSettings['CurrentPage'] != $iPages) {
$aParams = array('lang' => $lang, 'idcat' => $idcat, 'idart' => $idart, 'page' => $iPages);
$inUrl = Contenido_Url::getInstance()->buildRedirect($aParams);
$sPaginationType04 .= '&nbsp;<a class="articlelistEnd" href="'.$inUrl.'">'.mi18n("&raquo;").'</a>';
} else {
$sPaginationType04 .= '&nbsp;<span class="articlelistEnd">'.mi18n("&raquo;").'</span>';
}
}

// Example: << < 1 2 3 4 5 6 7 8 ... > >>
// First Page
$sPaginationType05 = '';
if ($aSettings['PaginationType05'] == 'enabled') {
if (!is_object($db)) $db = new DB_Contenido;
/**
* Create a PS_Pagination object
*
* $conn = MySQL connection object
* $sql = SQl Query to paginate
* $aSettings['ArticlePerPage'] = Number of rows per page
* $aSettings['PaginationType05MaxPages'] = Number of links
* 'param1=valu1&param2=value2' = You can append your own parameters to paginations links
*/
$pager = new PS_Pagination($db, $sql_all, $sql_pagination, $aSettings['ArticlePerPage'], $aSettings['PaginationType05MaxPages'], 'idart='.$idart);

/**
* Enable debugging if you want o view query errors
*/
$pager->setDebug(true);

// Init pagination
$pager->paginate();

// Display the full navigation in one go
$sDotsBefore = '';
$sDotsAfter = '';

if ($iPages > $aSettings['PaginationType05MaxPages'] && ($aSettings['CurrentPage'] + 1) > $aSettings['PaginationType05MaxPages'])
$sDotsBefore .= ' ...';

if ($iPages > $aSettings['PaginationType05MaxPages'] && ($aSettings['CurrentPage'] + 1) <= $aSettings['PaginationType05MaxPages'])
$sDotsAfter .= '... ';

$sPaginationType05 .= $pager->renderFirst(mi18n("&laquo;")).$pager->renderPrev(mi18n("&lsaquo;")).$sDotsBefore.$pager->renderNav('','').$sDotsAfter.$pager->renderNext(mi18n("&rsaquo;")).$pager->renderLast(mi18n("&raquo;"));
}
}

$tpl->set('s', 'PAGINATIONTYPE01', $sPaginationType01);
$tpl->set('s', 'PAGINATIONTYPE02', $sPaginationType02);
$tpl->set('s', 'PAGINATIONTYPE03', $sPaginationType03);
$tpl->set('s', 'PAGINATIONTYPE04', $sPaginationType04);
$tpl->set('s', 'PAGINATIONTYPE05', $sPaginationType05);
} else {

if ($aSettings['UseDefaultText'] == 'enabled' && $aSettings['DefaultTextArticle'] == '' && $aSettings['DefaultTextFreeText'] != '') {
$tpl->set('s', 'DEFAULTTEXT', '<p class="articlelistDefaultText">'.$aSettings['DefaultTextFreeText'].'</p>');
} elseif ($aSettings['UseDefaultText'] == 'enabled' && $aSettings['DefaultTextArticle'] != '') {
cInclude('classes', 'class.article.php');

$lIDCatArt = str_replace('art_', '', $aSettings['DefaultTextArticle']);
$oArt = new Article($lIDCatArt, $client, $lang);
$sContent = $oArt->getContent('html', 1);

$tpl->set('s', 'DEFAULTTEXT', $sContent);
} else {
$tpl->set('s', 'DEFAULTTEXT', '');
}

$tpl->set('s', 'PAGINATIONTYPE01', '');
$tpl->set('s', 'PAGINATIONTYPE02', '');
$tpl->set('s', 'PAGINATIONTYPE03', '');
$tpl->set('s', 'PAGINATIONTYPE04', '');
$tpl->set('s', 'PAGINATIONTYPE05', '');
$tpl->set('s', 'OVERVIEWLINK', '');
}

if ($aSettings['UseArtListHeadline'] == 'enabled' && $aSettings['ArtListHeadline'] != '') {
if ($aSettings['UseUTF8Decoding'] != 'enabled') {
$sArtListHeadline = urldecode($aSettings['ArtListHeadline']);
} else {
$sArtListHeadline = html_entity_decode_utf8(urldecode($aSettings['ArtListHeadline']));
}

$tpl->set('s', 'TITLE', $sArtListHeadline);
} else {
$tpl->set('s', 'TITLE', '');
}

$tpl->generate($aSettings['Template']);
}
// Clearing memory
unset ($aData);
unset ($aSettings);
unset ($i);
unset ($lCount);
unset ($bDebug);
unset ($db5);
} elseif ($bDebug) {
echo '<strong>'.$aSettings['ShowModul'].'</strong>', chr(10);
} else {
// do nothing
}
?>

Faar
Beiträge: 1919
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Warum funktioniert ArticleListAdvanced nicht?

Beitrag von Faar » Do 20. Dez 2012, 11:24

Welche Version ist das? V 3.0 Beta ?
Ich würde vorerst die älteren Versionen 2.6 oder 2.5 benützen, denn die v3 funktionierte bei mir auch noch nie (irgend eine Einstellung stimmte immer nicht).
Der Entwickler von v3, funomat, ist momentan "etwas" knapp mit der Zeit.
Aber vielleicht liest er das doch noch.

VG,
Frank
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

McHubi
Beiträge: 1210
Registriert: Do 18. Nov 2004, 23:06
Wohnort: Mettmann
Kontaktdaten:

Re: Warum funktioniert ArticleListAdvanced nicht?

Beitrag von McHubi » Do 27. Dez 2012, 11:24

@contenidoAmateur:

Kannst Du bitte bei Deinen zukünftigen Posts den Button [ code ] nutzen? Das macht Deine Beiträge nämlich wesentlich übersichtlicher:

Code: Alles auswählen

<?php
echo 'Hallo Welt!';
?>
Danke :wink:
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.

Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)

Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)

Gesperrt