Content Allocation

Benki
Beiträge: 93
Registriert: Mi 28. Sep 2005, 13:04
Kontaktdaten:

Re: Content Allocation

Beitrag von Benki » Mi 18. Mär 2009, 11:09

OK. Den Fehler kann ich bestätigen.
Also ich habe
- das Modul angelegt
- Modul-Template pica.html mit obigem Inhalt erstellt
- die functions.input.helper.php mit obigem Inhalt erstellt und abgespeichert in /cms/includes (644)
- einen Testbaum mit Kategorien erstellt in Extras/Content Allocation
- Artikeln die CA-Kategorien zugewiesen

Rufe ich nun die Konfiguration des Artikels mit dem CA-Modul auf, erscheint folgende Fehlermeldung:

Code: Alles auswählen

Fatal error: Call to undefined function fncBuildCategorySelect() in /var/www/vhosts/dumdidumm.de/httpdocs/contenido/includes/include.tplcfg_edit_form.php(404) : eval()'d code on line 173
Soll mir doch sagen, dass er die angegebene Funktion nicht findet, gell? Aber wo ruft er diese auf und wo soll diese eigentlich stehen. Testhalber habe ich die functions.input.helper.php auch mal in /contenido/includes abgelegt - keine Besserung.

Im Errorlog erscheint dann ebenfalls der Fehler:

Code: Alles auswählen

[18-Mar-2009 10:13:22] /contenido/external/backendedit/front_content.php?changeview=edit&client=1&lang=1&action=con_editart&idartlang=11&idart=11&idcat=3&tmpchangelang=&contenido=ccc91157f6186330ed4b0d9dc7798d63 MySQL error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
SELECT online FROM con_pica_lang WHERE idpica_alloc=
und

Code: Alles auswählen

[18-Mar-2009 10:28:10] /contenido/main.php?area=mod&frame=1&contenido=b87ef6d3dbf1660e12118dace3867661 MySQL error 1062: Duplicate entry 'b87ef6d3dbf1660e12118dace3867661' for key 1
insert into con_phplib_active_sessions ( sid, name, val, changed ) values ('b87ef6d3dbf1660e12118dace3867661', 'contenido', 'Y29udGVuaWRvOiR0aGlzLT5pbiA9ICcwJzsgJHRoaXMtPnB0ID0gYXJyYXkoKTsgJHRoaXMtPnB0WydhdXRoJ10gPSAnMSc7ICR0aGlzLT5wdFsnY2hhbGxlbmdlJ10gPSAnMSc7ICR0aGlzLT5wdFsnc2F2ZUxvZ2luVGltZSddID0gJzEnOyAkdGhpcy0+cHRbJ2JlbGFuZyddID0gJzEnOyAkdGhpcy0+cHRbJ2NsaWVudCddID0gJzEnOyAkdGhpcy0+cHRbJ2xhbmcnXSA9ICcxJzsgJHRoaXMtPnB0WydzZXNzX2FyZWEnXSA9ICcxJzsgJHRoaXMtPnB0WydjZmdDbGllbnQnXSA9ICcxJzsgJHRoaXMtPnB0WydlcnJzaXRlX2lkY2F0J10gPSAnMSc7ICR0aGlzLT5wdFsnZXJyc2l0ZV9pZGFydCddID0gJzEnOyAkdGhpcy0+cHRbJ3JlbWFrZUNhdFRhYmxlJ10gPSAnMSc7ICR0aGlzLT5wdFsnQ2F0VGFibGVDbGllbnQnXSA9ICcxJzsgJHRoaXMtPnB0WydDYXRUYWJsZUxhbmcnXSA9ICcxJzsgJHRoaXMtPnB0WydyZW1ha2VTdHJUYWJsZSddID0gJzEnOyAkdGhpcy0+cHRbJ3N5bmNmcm9tJ10gPSAnMSc7ICRHTE9CQUxTWydhdXRoJ10gPSBuZXcgQ29udGVuaWRvX0NoYWxsZW5nZV9DcnlwdF9BdXRoOyAkR0xPQkFMU1snYXV0aCddLT5hdXRoID0gYXJyYXkoKTsgJEdMT0JBTFNbJ2F1dGgnXS0+YXV0aFsndWlkJ10gPSAnYmYxZjkyZGU5ODA4MTlhOTkzNTYyODkxNDJiOTU5MGQnOyAkR0xPQkFMU1snYXV0aCddLT5hdXRoWydwZXJtJ10gPSAnc3lzYWRtaW4sYWRtaW5bMV0sY2xpZW50WzFdLGxhbmdbMV0sbGFuZ1syXSc7ICRHTE9CQUxTWydhdXRoJ10tPmF1dGhbJ2V4cCddID0gJzEyMzczNzIwODcnOyAkR0xPQkFMU1snYXV0aCddLT5hdXRoWydyZWZyZXNoJ10gPSAnMTIzNzM2NzY1Nic7ICRHTE9CQUxTWydhdXRoJ10tPmF1dGhbJ3VuYW1lJ10gPSAnc3RlcGhhbic7ICRHTE9CQUxTWydjaGFsbGVuZ2UnXSA9ICc4MmE3MWZmOGFkOWY1NzAxOTc0YTY0OGNjYmZiYjZhOSc7ICRHTE9CQUxTWydzYXZlTG9naW5UaW1lJ10gPSAnMCc7ICRHTE9CQUxTWydiZWxhbmcnXSA9ICdkZV9ERSc7ICRHTE9CQUxTWydjbGllbnQnXSA9ICcxJzsgJEdMT0JBTFNbJ2xhbmcnXSA9ICcxJzsgJEdMT0JBTFNbJ3Nlc3NfYXJlYSddID0gJ21vZCc7ICRHTE9CQUxTWydjZmdDbGllbnQnXSA9IGFycmF5KCk7ICRHTE9CQUxTWydjZmdDbGllbnQnXVsnc2V0J10gPSAnc2V0JzsgJEdMT0JBTFNbJ2NmZ0NsaWVudCddWycxJ10gPSBhcnJheSgpOyAkR0xPQkFMU1snY2ZnQ2xpZW50J11bJzEnXVsncGF0aCddID0gYXJyYXkoKTsgJEdMT0JBTFNbJ2NmZ0NsaWVudCddWycxJ11bJ3BhdGgnXVsnZnJvbnRlbmQnXSA9ICcvdmFyL3d3dy92aG9zdHMvYmVja2VyLWNoZW1pZS5kZS9odHRwZG9jcy9jbXMvJzsgJEdMT0JBTFNbJ2NmZ0NsaWVudCddWycxJ11bJ3BhdGgnXVsnaHRtbHBhdGgnXSA9ICdodHRwOi8vd3d3LmJlY2tlci1jaGVtaWUuZGUvY21zLyc7ICRHTE9CQUxTWydjZmdDbGllbnQnXVsnMSddWydpbWFnZXMnXSA9ICdodHRwOi8vd3d3LmJlY2tlci1jaGVtaWUuZGUvY21zL2ltYWdlcy8nOyAkR0xPQkFMU1snY2ZnQ2xpZW50J11bJzEnXVsndXBsb2FkJ10gPSAndXBsb2FkLyc7ICRHTE9CQUxTWydjZmdDbGllbnQnXVsnMSddWydodG1scGF0aCddID0gYXJyYXkoKTsgJEdMT0JBTFNbJ2NmZ0NsaWVudCddWycxJ11bJ2h0bWxwYXRoJ11bJ2Zyb250ZW5kJ10gPSAnaHR0cDovL3d3dy5iZWNrZXItY2hlbWllLmRlL2Ntcy8nOyAkR0xPQkFMU1snY2ZnQ2xpZW50J11bJzEnXVsndXBsJ10gPSBhcnJheSgpOyAkR0xPQkFMU1snY2ZnQ2xpZW50J11bJzEnXVsndXBsJ11bJ3BhdGgnXSA9ICcvdmFyL3d3dy92aG9zdHMvYmVja2VyLWNoZW1pZS5kZS9odHRwZG9jcy9jbXMvdXBsb2FkLyc7ICRHTE9CQUxTWydjZmdDbGllbnQnXVsnMSddWyd1cGwnXVsnaHRtbHBhdGgnXSA9ICdodHRwOi8vd3d3LmJlY2tlci1jaGVtaWUuZGUvY21zL3VwbG9hZC8nOyAkR0xPQkFMU1snY2ZnQ2xpZW50J11bJzEnXVsndXBsJ11bJ2Zyb250ZW5kcGF0aCddID0gJ3VwbG9hZC8nOyAkR0xPQkFMU1snY2ZnQ2xpZW50J11bJzEnXVsnY3NzJ10gPSBhcnJheSgpOyAkR0xPQkFMU1snY2ZnQ2xpZW50J11bJzEnXVsnY3NzJ11bJ3BhdGgnXSA9ICcvdmFyL3d3dy92aG9zdHMvYmVja2VyLWNoZW1pZS5kZS9odHRwZG9jcy9jbXMvY3NzLyc7ICRHTE9CQUxTWydjZmdDbGllbnQnXVsnMSddWydqcyddID0gYXJyYXkoKTsgJEdMT0JBTFNbJ2NmZ0NsaWVudCddWycxJ11bJ2pzJ11bJ3BhdGgnXSA9ICcvdmFyL3d3dy92aG9zdHMvYmVja2VyLWNoZW1pZS5kZS9odHRwZG9jcy9jbXMvanMvJzsgJEdMT0JBTFNbJ2NmZ0NsaWVudCddWycxJ11bJ3RwbCddID0gYXJyYXkoKTsgJEdMT0JBTFNbJ2NmZ0NsaWVudCddWycxJ11bJ3RwbCddWydwYXRoJ10gPSAnL3Zhci93d3cvdmhvc3RzL2JlY2tlci1jaGVtaWUuZGUvaHR0cGRvY3MvY21zL3RlbXBsYXRlcy8nOyAkR0xPQkFMU1snZXJyc2l0ZV9pZGNhdCddID0gYXJyYXkoKTsgJEdMT0JBTFNbJ2VycnNpdGVfaWRjYXQnXVsnMSddID0gJzMxJzsgJEdMT0JBTFNbJ2VycnNpdGVfaWRhcnQnXSA9IGFycmF5KCk7ICRHTE9CQUxTWydlcnJzaXRlX2lkYXJ0J11bJzEnXSA9ICczNic7ICRHTE9CQUxTWydyZW1ha2VDYXRUYWJsZSddID0gJzEnOyAkR0xPQkFMU1snQ2F0VGFibGVDbGllbnQnXSA9ICcxJzsgJEdMT0JBTFNbJ0NhdFRhYmxlTGFuZyddID0gJzEnOyAkR0xPQkFMU1sncmVtYWtlU3RyVGFibGUnXSA9ICcnOyAkR0xPQkFMU1snc3luY2Zyb20nXSA9ICcwJzsg', '20090318102810')
[18-Mar-2009 10:28:10] /contenido/main.php?area=mod&frame=1&contenido=b87ef6d3dbf1660e12118dace3867661 Session: freeze() failed.
Erster Fehler sagt mir doch, dass irgendwo ein Syntax-Fehler besteht, nur lokalisieren und beheben kann ich ihn nicht.

Zweiter Fehler ist vermutlich nicht relevant !?

Installierte PHP-Version 5.1.2

Danke vorab für eure Tipps!
Benki

Benki
Beiträge: 93
Registriert: Mi 28. Sep 2005, 13:04
Kontaktdaten:

Re: Content Allocation

Beitrag von Benki » Mi 18. Mär 2009, 14:45

Ok, den ersten Fehler habe ich gefunden:

Zum allgemeinen Verständnis für diejenigen, die sich mit dem umgearbeiteten Grundmodul nicht so gut auskennen (wie mich ;-) ):

Die functions.input.helper.php muss um die auf der ersten Seite angegebenen Funktionen ERWEITERT werden. Ich hatte es so verstanden, als wenn der angegebene Code der komplette Inhalt der Datei währe. Die Grunddatei findet ihr hier: http://www.btech.de/temp/modules4.6/article_list1.4.zip

Dann den angegebenen Code hinten anhängen. Dann klappts auch mit dem Nachbarn ;-)
Benki

Benki
Beiträge: 93
Registriert: Mi 28. Sep 2005, 13:04
Kontaktdaten:

Re: Content Allocation

Beitrag von Benki » Do 19. Mär 2009, 18:00

Ich bekomme beim Aufruf des Artikels (idart 17) mit dem CA-Modul im Frontend nun immer folgende Fehler ins Log eingetragen:

Code: Alles auswählen

[19-Mar-2009 16:42:20] /cms/front_content.php?idart=17 MySQL error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
SELECT value FROM con_content AS tblData WHERE idartlang=8 AND 
[19-Mar-2009 16:42:20] /cms/front_content.php?idart=17 next_record called with no query pending in Module ID 33.
[19-Mar-2009 16:42:20] /cms/front_content.php?idart=17 MySQL error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
SELECT value FROM con_content AS tblData WHERE idartlang=9 AND 
[19-Mar-2009 16:42:20] /cms/front_content.php?idart=17 next_record called with no query pending in Module ID 33.
Wäre toll, wenn mir jemand dazu einen Tipp geben könnte, wo ich ansetzen kann.

Danke vorab!!!
Benki

Benki
Beiträge: 93
Registriert: Mi 28. Sep 2005, 13:04
Kontaktdaten:

Identify Elements - falsche Kategorie

Beitrag von Benki » Fr 27. Mär 2009, 16:37

Hab da ein Problem, wo ich überhaupt nicht weiterkomme:

Backend/Artikelkonfiguration:

Ich wähle meine CA-Kategorie aus wo in meinem Fall fünf Artikel zugewiesen sind. (Werden dann auch ausgegeben)

Allerdings listet er unter "Identify elements" in der Artikelkonfiguration nun Artikel aus einer ganz anderen Kategorie auf !? Der aufgelistete Artikel ist gar nicht per CA zugewiesen !? Dies ist reproduzierbar auf alle CA-Kategorien. Mir scheint, dass er auf die falsche Kategorie zeigt? Bug?

IMHO wird hier die Kategorie ausgelesen:

Code: Alles auswählen

 $sql2 = "SELECT value FROM ".$cfg["tab"]["content"]." AS tblData WHERE idartlang=".$db->f("idartlang")." AND ".$vElementIdentifier;
$db2->query($sql2);
Für Hinweise bin ich jetzt schonmal ganz schön dankbar :wink:
Benki

vgerdt
Beiträge: 8
Registriert: Di 5. Mai 2009, 11:36
Kontaktdaten:

Re: Modul für Content Allocation

Beitrag von vgerdt » Di 19. Mai 2009, 10:08

Hallo,
ich habe das Modul Content Allocation ausprobiert und wollte mal einige Testartikel im Content Allocation ausgeben.
Jedoch funktioniert das ganze noch nicht 100%. Mir ist auf gefallen, dass der Input/Output Bereich die neuen Funktionen in funktion.input.helper.php nicht aufgerufden wird.. ( wozu dann die funktionen? ).

Neben der Moduldatei werden folgende zusätzliche Funktionen in der Datei functions.input.helper.php (abzulegen im includes-Verzeichnis des Mandanten) benötigt:

Code: Alles auswählen

function listOptionsAllocation($parent = 0, $language, $level = 0, $sSelected) {
    global $cfg, $client, $lang, $idcat;
	
	$html = "";
	$db = new DB_Contenido;
	$sql = "";
	$sql = "SELECT a.idpica_alloc as idpica_alloc, a.name as name FROM ".$cfg["tab"]["pica_lang"]." AS a JOIN ".$cfg["tab"]["pica_alloc"]." AS b on a.idpica_alloc=b.idpica_alloc WHERE b.parentid = $parent AND a.idlang=$lang ORDER BY b.sortorder asc";
	$db->query($sql);
	if ($db->num_rows() == 0) {
		return "";
	}
	$sArray = explode(",",$sSelected);	
	while ($db->next_record()) {
		$html .= '<option value="'.$db->f("idpica_alloc").'"';
		if (in_array($db->f("idpica_alloc"),$sArray))
			$html .= " selected";
		$html .= '>'."\n";
		for ($i=0;$i<$level;$i++) {
			$html .= "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
		}
		$html .= ">".$db->f("name")."</option>";
		$html .= listOptionsAllocation($db->f("idpica_alloc"),$language,$level+1, $sSelected);
	}
	unset ($db2);
    unset ($sql);

	return $html;

}

function buildAllocationSelect($varName, $varValue, $sType = '', $sSize = '1') {
	$html = "";
	$html .= '<SELECT name="'.$varName.'" '.$sType.' size='.$sSize.'>'."\n";
	$html .= '  <option value="">Bitte wählen....</option>'."\n";
	$html .= listOptionsAllocation(0,$lang, 0, $varValue);
	$html .= "</SELECT>";
	return $html;
}

Könnte jemand eine genauere Beschreibung schreiben, was die Funktionen bewirken sollen?

Das Content Allocation v.1.1 holt sich zur Zeit die Werte von Sample Artikel und Sample Kategorien aus den funktionen (Dateie: funktion.input.helper.php) :
- Sample Category: fncBuildCategorySelect()
- Sample Article: fncBuildArticleSelect()

Diese funktionen holen sich Werte aus normalen Kategorien und nicht die aus pica tabellen...


Wäre super, wenn man das noch für die Content Allocation machen könnte.

benec
Beiträge: 7
Registriert: Fr 30. Jan 2004, 10:50
Wohnort: München
Kontaktdaten:

Re: Content Allocation

Beitrag von benec » Mi 26. Aug 2009, 11:27

Hi,
erstmal vielen Dank für die ganzen Erklärungen und das Modul!
Ich hab einen ContentAllocation Baum angelegt, in dem verschiedene Artikel nach Stadtteilen zugeordnet werden
Stadtteil 1 -> Artikel 1,2,3
Stadtteil 2 -> Artikel 4,5,6

Dann hab ich das Modul installiert und konfiguriert, wenn ich jetzt allerdings die Seite aufrufe erscheint gar nichts, also nichtmal irgendwleche Fragmente von dem Template, ich denke, dass ich vielleicht in meien CA Baum noch etwas falsch habe, aber ich komm nicht drauf.
Um einen Tipp wäre ich wirklich dankbar!

Gruß bene

JeromeW
Beiträge: 32
Registriert: Di 11. Nov 2008, 12:52
Kontaktdaten:

Re: Content Allocation

Beitrag von JeromeW » Sa 29. Aug 2009, 17:55

Hallo,

danke für das Modul. Da es in einer Kategorie sehr viele Artikel werden können, wäre eine Blätterfunktion wie in der Standard-Artikelliste Advanced v2.0 wünschenswert. Vielleicht kann man ja die SQL Abfragen in die Standard-Artikelliste Advanced v2.0 (oder v1.6) einbauen.

Viele Grüsse
JeromeW

salsa
Beiträge: 165
Registriert: Mi 27. Apr 2005, 15:47
Wohnort: Dortmund
Kontaktdaten:

Re: Content Allocation - Vorschaubild-Erweiterung

Beitrag von salsa » Mi 18. Nov 2009, 12:25

Hi tmj,
das Modul funktioniert bestens - Danke!
Vorschaubilder werden aber nur von 2 Elementen angezeigt - also wenn in der Headline oder dem zweiten CMS-Element (Subheadline) ein Bild eingefügt wurde. Ich plaziere das Vorschaubild aber in einem zusätzlichen CMS-Element; das wird nicht eingelesen.
Ich habe versucht, das Modul entsprechend zu erweitern - ohne Erfolg.
Würdest du, tmj, oder ein anderer Experte mir bitte helfen: Vorschaubilder sollen aus einem 3. CMS-Element eingelesen werden.
Ich liefere meinen Versuch hier mit - (lässt sich ja ggf. wieder löschen.)

Code: Alles auswählen

ContentAllocation

Autor: Tilman Jahn (tmj)
modificated: salsa
Version 1.1

Partly based on:
Modul:         Article List Advanced V4.6.x V1.4
Author:        Björn Behrens (HerrB)
Created:       19.02.2006
Specification: Rezeptionist
/********************************
    Modul ContentAllocation - INPUT
    Version 1.1
    Author: Tilman Jahn, tmj digital
*********************************/

#Includes

cInclude("frontend", "includes/functions.input.helper.php");

# Initialization

$bDebug      = false;

$iDataStart  = 20;

$sSubmitLink = '<a href="javascript:if (document.tplcfgform.send) {document.tplcfgform.send.value = 0}; document.tplcfgform.submit();"><img src="images/submit.gif" /></a>';

unset ($aSettings);


# Base settings

$aSettings = array();

$aSettings["ArticleCount"]       = "CMS_VALUE[0]";

$aSettings["ArticlePerPage"]     = "CMS_VALUE[1]";

$aSettings["SortBy"]             = "CMS_VALUE[2]";

$aSettings["SortDir"]            = "CMS_VALUE[3]";

$aSettings["ShowStart"]          = "CMS_VALUE[4]";

$aSettings["Category"]           = "CMS_VALUE[5]";

$aSettings["SampleArt"]          = "CMS_VALUE[6]";

$aSettings["HeadlineIdentifier"] = "CMS_VALUE[7]";

$aSettings["HeadlineLength"]     = "CMS_VALUE[8]";

$aSettings["Elements"]           = "CMS_VALUE[9]";

$aSettings["CatTypeSel"]         = "CMS_VALUE[10]";

$aSettings["AddCats"]            = "CMS_VALUE[11]";

$aSettings["SampleCat"]          = "CMS_VALUE[12]";

$aSettings["DateType"]           = "CMS_VALUE[97]";

$aSettings["Date"]               = "CMS_VALUE[98]";

$aSettings["Template"]           = "CMS_VALUE[99]";


# Checking base settings

if (!is_numeric($aSettings["ArticleCount"]) || $aSettings["ArticleCount"] < 0) {

   $aSettings["ArticleCount"] = 5;

}

if (!is_numeric($aSettings["ArticlePerPage"]) || $aSettings["ArticlePerPage"] < 0) {

   $aSettings["ArticlePerPage"] = 0; // Deactivating page browsing

}

if (!is_numeric($aSettings["Category"]) || $aSettings["Category"] <= 0) {

   $aSettings["Category"] = 0;

}

if (!is_numeric($aSettings["SampleCat"]) || $aSettings["SampleCat"] <= 0) {

   $aSettings["SampleCat"] = $aSettings["Category"];

}

if (!is_numeric($aSettings["SampleArt"]) || $aSettings["SampleArt"] < 0) {

   $aSettings["SampleArt"] = 0;

}

if (strlen($aSettings["HeadlineIdentifier"]) > 50) {

   $aSettings["HeadlineIdentifier"] = "";

}

if (!is_numeric($aSettings["HeadlineLength"]) || $aSettings["HeadlineLength"] < 0) {

   $aSettings["HeadlineLength"] = 0;

}

if (!is_numeric($aSettings["Elements"]) || $aSettings["Elements"] < 0) {

   $aSettings["Elements"] = 0;

}

if ($aSettings["CatTypeSel"] == "" || ($aSettings["AddCats"] == "" && $aSettings["CatTypeSel"] == "selected")) {

   $aSettings["CatTypeSel"] = "none";

}



# 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;

      $iElementPadding    = $iElementType + 4;

      $iElementImgAlign   = $iElementType + 5;

      $aSettings["k".$i] = array();

      $aSettings["k".$i]["ElementType"]    = "CMS_VALUE[$iElementType]"; // Text, Image, ExtractedImage

      $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]["ElementPadding"] = "CMS_VALUE[$iElementPadding]";

      $aSettings["k".$i]["ElementImgAlign"]= "CMS_VALUE[$iElementImgAlign]";


      # 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;

         }

      } else if (!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"] = "";

      }
   }
}

echo '        <table cellspacing="0" cellpadding="2" border="0" width="100%">'."\n";

echo '           <tr>'."\n";

echo '              <td class="text">'.mi18n("Primary Content Allocation Category:").'</td>'."\n";

//echo '              <td class="text">'.fncBuildCategorySelect("CMS_VAR[5]", $aSettings["Category"], 0, "").'</td>'."\n";

echo '              <td class="text">'.buildAllocationSelect("CMS_VAR[5]", $aSettings["Category"], "", "1").'</td>'."\n";

echo '           </tr>'."\n";

echo '           <tr>'."\n";

echo '              <td class="text" style="vertical-align: top;">'.mi18n("Additional Categories:").'</td>'."\n";

echo '              <td class="text">';

    if ($aSettings["CatTypeSel"] == "none") {

        echo '<input type="radio" name="CMS_VAR[10]" value="none" checked="checked" onclick="document.getElementsByName(\'c'.$cnumber.'cbxAddCatSel\')[0].disabled = true;">'.mi18n("None").'&nbsp;';

    } else {

        echo '<input type="radio" name="CMS_VAR[10]" value="none" onclick="document.getElementsByName(\'c'.$cnumber.'cbxAddCatSel\')[0].disabled = true;">'.mi18n("None").'&nbsp;';

    }

    if ($aSettings["CatTypeSel"] == "below") {

        echo '<input type="radio" name="CMS_VAR[10]" value="below" checked="checked" onclick="document.getElementsByName(\'c'.$cnumber.'cbxAddCatSel\')[0].disabled = true;">'.mi18n("All below primary").'&nbsp;';

    } else {

        echo '<input type="radio" name="CMS_VAR[10]" value="below" onclick="document.getElementsByName(\'c'.$cnumber.'cbxAddCatSel\')[0].disabled = true;">'.mi18n("All below primary").'&nbsp;';

    }

echo '           </tr>'."\n";

echo '           <tr>'."\n";

echo '              <td class="text">'.mi18n("Sort by:").'</td>'."\n";

echo '              <td class="text"><select name="CMS_VAR[2]">'."\n";

    if ($aSettings["SortBy"] == "" || $aSettings["SortBy"] == "CATART.idart") {

   echo '                <option value="ARTLANG.idart" selected>'.mi18n("Article ID").'</option>'."\n";

} else {

   echo '                <option value="ARTLANG.idart">'.mi18n("Article ID").'</option>'."\n";

}

    if ($aSettings["SortBy"] == "ARTLANG.created") {

    echo '                <option value="ARTLANG.created" selected>'.mi18n("Add Date").'</option>'."\n";

    } else {

    echo '                <option value="ARTLANG.created">'.mi18n("Add Date").'</option>'."\n";

    }

    if ($aSettings["SortBy"] == "ARTLANG.lastmodified") {

    echo '                <option value="ARTLANG.lastmodified" selected>'.mi18n("Last Modified Date").'</option>'."\n";

    } else {

    echo '                <option value="ARTLANG.lastmodified">'.mi18n("Last Modified Date").'</option>'."\n";

    }

    if ($aSettings["SortBy"] == "ARTLANG.published") {

    echo '                <option value="ARTLANG.published" selected>'.mi18n("Published Date").'</option>'."\n";

    } else {

    echo '                <option value="ARTLANG.published">'.mi18n("Published Date").'</option>'."\n";

    }

    if ($aSettings["SortBy"] == "ARTLANG.title") {

    echo '                <option value="ARTLANG.title" selected>'.mi18n("Page Title (Backend)").'</option>'."\n";

    } else {

    echo '                <option value="ARTLANG.title">'.mi18n("Page Title (Backend)").'</option>'."\n";

    }

    if ($aSettings["SortBy"] == "ARTLANG.pagetitle") {

    echo '                <option value="ARTLANG.pagetitle" selected>'.mi18n("Page Title (Frontend)").'</option>'."\n";

    } else {

    echo '                <option value="ARTLANG.pagetitle">'.mi18n("Page Title (Frontend)").'</option>'."\n";

    }

    if ($aSettings["SortBy"] == "ARTLANG.summary") {

    echo '                <option value="ARTLANG.summary" selected>'.mi18n("Summary (Backend)").'</option>'."\n";

    } else {

    echo '                <option value="ARTLANG.summary">'.mi18n("Summary (Backend)").'</option>'."\n";

    }

    if ($aSettings["SortBy"] == "ARTLANG.artsort") {

    echo '                <option value="ARTLANG.artsort" selected>'.mi18n("Sort No.").'</option>'."\n";

    } else {

    echo '                <option value="ARTLANG.artsort">'.mi18n("Sort No.").'</option>'."\n";

    }

    echo '              </select>'."\n";

    if ($aSettings["SortDir"] != "DESC") {

    echo '             <input type="radio" name="CMS_VAR[3]" value="ASC" checked>'.mi18n("Ascending").'&nbsp;<input type="radio" name="CMS_VAR[3]" value="DESC">'.mi18n("Descending")."\n";

    } else {

    echo '             <input type="radio" name="CMS_VAR[3]" value="ASC">'.mi18n("Ascending").'&nbsp;<input type="radio" name="CMS_VAR[3]" value="DESC" checked>'.mi18n("Descending")."\n";

    }

echo '           </tr>'."\n";

echo '        </table>'."\n";

echo '        <table cellspacing="0" cellpadding="2" border="0" width="100%">'."\n";

echo '           <tr>'."\n";

echo '              <td colspan="2" class="textw_medium" style="background-color: #a9aec2; border: 1px solid #747488;">'.mi18n("Identify elements:").'</td>'."\n";

echo '           </tr>'."\n";

echo '           <tr>'."\n";

echo '              <td class="text" style="border-left:  1px solid #747488;">'.mi18n("Sample Category:").'</td>'."\n";

echo '              <td class="text" style="border-right: 1px solid #747488;">'.fncBuildCategorySelect("CMS_VAR[12]", $aSettings["SampleCat"], 0, "if (document.forms[0].elements['CMS_VAR[12]'].value != 'CMS_VALUE[12]') { document.forms[0].elements['CMS_VAR[6]'].disabled = true; document.forms[0].elements['CMS_VAR[7]'].disabled = true; document.forms[0].elements['CMS_VAR[8]'].disabled = true; document.forms[0].elements['CMS_VAR[9]'].disabled = true; } else { document.forms[0].elements['CMS_VAR[6]'].disabled = false; document.forms[0].elements['CMS_VAR[7]'].disabled = false; document.forms[0].elements['CMS_VAR[8]'].disabled = false; document.forms[0].elements['CMS_VAR[9]'].disabled = false;}").'&nbsp'.$sSubmitLink.'</td>'."\n";

echo '           </tr>'."\n";

echo '           <tr>'."\n";

echo '              <td class="text" style="border-left:  1px solid #747488;">'.mi18n("Sample Article:").'</td>'."\n";

    if ($aSettings["SampleCat"] == 0) {

    $sDisabled = "disabled";

    } else {

    $sDisabled = "";

    }

echo '              <td class="text" style="border-right: 1px solid #747488;">'.fncBuildArticleSelect("CMS_VAR[6]", $aSettings["SampleCat"], $aSettings["SampleArt"], "if (document.forms[0].elements['CMS_VAR[6]'].value != 'CMS_VALUE[6]') { document.forms[0].elements['CMS_VAR[7]'].disabled = true; document.forms[0].elements['CMS_VAR[8]'].disabled = true; document.forms[0].elements['CMS_VAR[9]'].disabled = true; } else { document.forms[0].elements['CMS_VAR[7]'].disabled = false; document.forms[0].elements['CMS_VAR[8]'].disabled = false; document.forms[0].elements['CMS_VAR[9]'].disabled = false;}", $sDisabled).'&nbsp'.$sSubmitLink.'</td>'."\n";

echo '           </tr>'."\n";

echo '           <tr>'."\n";

echo '              <td class="text" style="border-left:  1px solid #747488;">'.mi18n("Headline Element:").'</td>'."\n";

echo '              <td class="text" style="border-right: 1px solid #747488;">'.fncBuildTypeSelect("CMS_VAR[7]", $aSettings["SampleArt"], $aSettings["HeadlineIdentifier"], "'1','2','3','9','17'").' '.mi18n("Length (max.):").'</td>'."\n";

echo '           </tr>'."\n";



    if ($aSettings["Elements"] == 0) {

    $sBottomStyle = "border-bottom: 1px solid #747488;"; // Paint the table area closing line

    } else {

    $sBottomStyle = "";

    }

echo '           <tr>'."\n";

echo '              <td class="text" style="border-left:  1px solid #747488;'.$sBottomStyle.'">'.mi18n("Additional elements:").'</td>'."\n";

echo '              <td class="text" style="border-right: 1px solid #747488;'.$sBottomStyle.'"><input type="text" name="CMS_VAR[9]" value="'.$aSettings["Elements"].'" size="3" title="'.mi18n("Set to a value above 0 to specify text or images as additional elements").'">&nbsp'.$sSubmitLink.'</td>'."\n";

echo '           </tr>'."\n";



if ($aSettings["Elements"] > 0) {

   for ($i = 0; $i < $aSettings["Elements"]; $i++) {

      $iElementType       = $iDataStart + ($i * 10);

      $iElementIdentifier = $iElementType + 1;

      $iElementWidth      = $iElementType + 2;

      $iElementHeight     = $iElementType + 3;

      $iElementPadding    = $iElementType + 4;

      $iElementImgAlign   = $iElementType + 5;

      echo '           <tr>'."\n";

      echo '              <td class="text" style="border-left:  1px solid #747488;padding-left: 20px;vertical-align: top;">'.sprintf(mi18n("%s. Element:"), $i + 1).'</td>'."\n";

      echo '              <td class="text" style="border-right: 1px solid #747488;">'.mi18n("Type:").'<br />'."\n";

      echo '                <select name="'."CMS_VAR[$iElementType]".'" onchange="if (document.forms[0].elements[\''."CMS_VAR[$iElementType]".'\'].value != \''.$aSettings["k".$i]["ElementType"].'\') { document.forms[0].elements[\''."CMS_VAR[$iElementIdentifier]".'\'].disabled = true; document.forms[0].elements[\''."CMS_VAR[$iElementWidth]".'\'].disabled = true; if (document.forms[0].elements[\''."CMS_VAR[$iElementHeight]".'\']) {document.forms[0].elements[\''."CMS_VAR[$iElementHeight]".'\'].disabled = true;}} else { document.forms[0].elements[\''."CMS_VAR[$iElementIdentifier]".'\'].disabled = false; document.forms[0].elements[\''."CMS_VAR[$iElementWidth]".'\'].disabled = false; if (document.forms[0].elements[\''."CMS_VAR[$iElementHeight]".'\']) {document.forms[0].elements[\''."CMS_VAR[$iElementHeight]".'\'].disabled = false;}}"">'."\n";

      if ($aSettings["k".$i]["ElementType"] == "Text") {

         echo '                 <option value="Text" selected="selected">'.mi18n("Text").'</option>'."\n";

      } else {

         echo '                 <option value="Text">'.mi18n("Text").'</option>'."\n";

      }

      if ($aSettings["k".$i]["ElementType"] == "Image") {

         echo '                 <option value="Image" selected="selected">'.mi18n("Image").'</option>'."\n";

      } else {

         echo '                 <option value="Image">'.mi18n("Image").'</option>'."\n";

      }

      if ($aSettings["k".$i]["ElementType"] == "ExtractedImage") {

         echo '                 <option value="ExtractedImage" selected="selected">'.mi18n("Image from text").'</option>'."\n";

      } else {

         echo '<option value="ExtractedImage">'.mi18n("ExtractedImage").'</option>'."\n";

      }

      echo '                 </select>&nbsp'.$sSubmitLink.'&nbsp;'."\n";

      echo '              </td>'."\n";

      echo '           </tr>'."\n";

      if ($i == ($aSettings["Elements"] - 1)) {

         $sBottomStyle = "border-bottom: 1px solid #747488;"; // Paint the table area closing line

      } else {

         $sBottomStyle = "";

      }

      echo '           <tr>'."\n";

if($aSettings["k".$i]["ElementImgAlign"]=="Text")$n='checked="checked"';  else $n="";

if($aSettings["k".$i]["ElementImgAlign"]=="left")$l='checked="checked"';  else $l="";

if($aSettings["k".$i]["ElementImgAlign"]=="right")$r='checked="checked"'; else $r="";



      switch ($aSettings["k".$i]["ElementType"]) {

         case "Image":

            echo '              <td class="text" style="border-left:  1px solid #747488;'.$sBottomStyle.'padding-left: 20px;">&nbsp;</td>'."\n";

            echo '              <td class="text" style="border-right: 1px solid #747488;'.$sBottomStyle.'">'.mi18n("Item:").'<br />'.fncBuildTypeSelect("CMS_VAR[$iElementIdentifier]", $aSettings["SampleArt"], $aSettings["k".$i]["Identifier"], "'4'").'&nbsp;'."\n";

            echo '                 '.mi18n("Width:"). ' <input type="text" name="'."CMS_VAR[$iElementWidth]".'" value="'.$aSettings["k".$i]["ElementWidth"].'" size="4" title="'.mi18n("Set to 0 to disable resize").'">&nbsp;'."\n";

            echo '                 '.mi18n("Height:").' <input type="text" name="'."CMS_VAR[$iElementHeight]".'" value="'.$aSettings["k".$i]["ElementHeight"].'" size="4" title="'.mi18n("Set to 0 to disable resize").'">'."\n";

            echo '                 <br>'.mi18n("Image-Padding:").'<br> <input type="text" name="'."CMS_VAR[$iElementPadding]".'" value="'.$aSettings["k".$i]["ElementPadding"].'" size="15" title="'.mi18n("CSS conformal image padding (0px 10px 0px 0px)").'">';

            echo '                 <br>'.mi18n("Image-Align:").'<br> <input type="radio" name="'."CMS_VAR[$iElementImgAlign]".'" value="left" '.$l.' title="'.mi18n("Picture adjustment in the text").'">'.mi18n("left").'

                              <input type="radio" name="'."CMS_VAR[$iElementImgAlign]".'" value="right" '.$r.' title="'.mi18n("Picture adjustment in the text").'">'.mi18n("right").'

                          <input type="radio" name="'."CMS_VAR[$iElementImgAlign]".'" value="none" '.$n.' title="'.mi18n("Picture adjustment in the text").'">'.mi18n("none").'</td>'."\n</td>";

            break;

         case "ExtractedImage":

            echo '              <td class="text" style="border-left:  1px solid #747488;'.$sBottomStyle.'padding-left: 20px;">&nbsp;</td>'."\n";

            echo '              <td class="text" style="border-right: 1px solid #747488;'.$sBottomStyle.'">'.mi18n("Item:").'<br />'.fncBuildTypeSelect("CMS_VAR[$iElementIdentifier]", $aSettings["SampleArt"], $aSettings["k".$i]["Identifier"], "'1','2','3','9','17'").'&nbsp;'."\n";

            echo '                 '.mi18n("Width:"). ' <input type="text" name="'."CMS_VAR[$iElementWidth]".'" value="'.$aSettings["k".$i]["ElementWidth"].'" size="4" title="'.mi18n("Set to 0 to disable resize").'">&nbsp;'."\n";

            echo '                 '.mi18n("Height:").' <input type="text" name="'."CMS_VAR[$iElementHeight]".'" value="'.$aSettings["k".$i]["ElementHeight"].'" size="4" title="'.mi18n("Set to 0 to disable resize").'">'."\n";

            echo '                 <br>'.mi18n("Image-Padding:").'<br> <input type="text" name="'."CMS_VAR[$iElementPadding]".'" value="'.$aSettings["k".$i]["ElementPadding"].'" size="15" title="'.mi18n("CSS conformal image padding (0px 10px 0px 0px)").'">';

            echo '                 <br>'.mi18n("Image-Align:").'<br> <input type="radio" name="'."CMS_VAR[$iElementImgAlign]".'" value="left" '.$l.' title="'.mi18n("Picture adjustment in the text").'">'.mi18n("left").'

                                 <input type="radio" name="'."CMS_VAR[$iElementImgAlign]".'" value="right" '.$r.' title="'.mi18n("Picture adjustment in the text").'">'.mi18n("right").'

                                 <input type="radio" name="'."CMS_VAR[$iElementImgAlign]".'" value="none" '.$n.' title="'.mi18n("Picture adjustment in the text").'">'.mi18n("none").'</td>'."\n</td>\n\n\n\n";

            break;

         default:

            echo '              <td class="text" style="border-left:  1px solid #747488;'.$sBottomStyle.'padding-left: 20px;">&nbsp;</td>'."\n";

            echo '              <td class="text" style="border-right: 1px solid #747488;'.$sBottomStyle.'">'.mi18n("Item:").'<br />'.fncBuildTypeSelect("CMS_VAR[$iElementIdentifier]", $aSettings["SampleArt"], $aSettings["k".$i]["Identifier"], "'1','2','3','9','17'").'&nbsp;'."\n";

            echo '                 '.mi18n("Length (max.):").' <input type="text" name="'."CMS_VAR[$iElementWidth]".'" value="'.$aSettings["k".$i]["ElementWidth"].'" size="3" title="'.mi18n("Set to 0 to show all").'"></td>'."\n";

      }

      echo '           </tr>'."\n";

   }
}

echo '           </tr>'."\n";

echo "<tr><td>HTML-Tags nutzen?</td><td><input type=checkbox name='CMS_VAR[102]' value='use'";

if ("CMS_VALUE[102]" == "use")

  echo " checked";

echo "></td></tr>\n";

echo "<tr><td>Template</td><td><input type=text name='CMS_VAR[103]' value='CMS_VALUE[103]'></td></tr>\n";

echo '        </table>'."\n";
    <?PHP
    /********************************
    Modul ContentAllocation - OUTPUT
    Version 1.1
    Author: Tilman Jahn, tmj digital
    *********************************/
    
    $sOrder = "CMS_VALUE[2]";
    $sOrderDirection = "CMS_VALUE[3]";
    $sSelectedPica = "CMS_VALUE[5]";
    $sSampleArt   = "CMS_VALUE[6]";
    $vElementIdentifier = "CMS_VALUE[7]";
    $sNumElement = "CMS_VALUE[9]";
    $sMoreCategories = "CMS_VALUE[10]";
    $sAddCats  = "CMS_VALUE[11]";
    $sSampleCat   = "CMS_VALUE[12]";
    $htmltags = "CMS_VALUE[102]";
    $sTemplate = "CMS_VALUE[103]";
    if ($sTemplate == "")
        $sTemplate = "pica.html";
    
    $dataStart = 20;
    $align="left";
    $fieldcount = 1;
    
    $db = new DB_Contenido;
    $db2 = new DB_Contenido;
    $db3 = new DB_Contenido;
    
    if (!isset($tpl) || !is_object($tpl)) {
        $tpl = new Template();
    }
    
    
    function getChildPicas($parent) {
        global $cfg, $lang;
        
        $db4 = new DB_Contenido;
        $sql4 = "SELECT LANG.idpica_alloc as id FROM ".$cfg["tab"]["pica_alloc"]." AS ALLOC JOIN ".$cfg["tab"]["pica_lang"]." AS LANG ON ALLOC.idpica_alloc=LANG.idpica_alloc WHERE ALLOC.parentid=$parent AND LANG.online=1";
        $db4->query($sql4);
        if ($db4->num_rows() > 0) {
            while ($db4->next_record()) {
                $picas .= ",".$db4->f("id").getChildPicas($db4->f("id"));
            }
        }
        return $picas;
    }
    
    $sql = "SELECT online FROM ".$cfg["tab"]["pica_lang"]." WHERE idpica_alloc=$sSelectedPica";
    $db->query($sql);
    $db->next_record();
    if ($db->f("online") == 0)
        $sSelectedPica = 0;
        
    // Getting all relevant allocations:
    if ($sMoreCategories == "below" && $sSelectedPica != 0) {
        $picas = "($sSelectedPica".getChildPicas($sSelectedPica).")";
    }
    else {
        $picas = "($sSelectedPica)";
    }

    // Getting list of all relevant articles (ordered by selected ordering)
    $sql = "SELECT pica.idartlang as idartlang, ARTLANG.idart as idart, ARTLANG.idlang as idlang, ARTLANG.lastmodified as lastmodified FROM ".$cfg["tab"]["pica_alloc_con"]." AS pica JOIN ".$cfg["tab"]["art_lang"]." AS ARTLANG ON pica.idartlang=ARTLANG.idartlang WHERE pica.idpica_alloc IN $picas AND ARTLANG.online=1 ORDER BY $sOrder $sOrderDirection";
    $db->query($sql);
    if ($db->num_rows() > 0) {
        while ($db->next_record()) {
            //preparing Template
            $tpl->reset();
            $fieldcount=1;
            $vElementIdentifier = "CMS_VALUE[7]";
            $sql2 = "SELECT value FROM ".$cfg["tab"]["content"]." AS tblData WHERE idartlang=".$db->f("idartlang")." AND ".$vElementIdentifier;
            $db2->query($sql2);
            while ($db2->next_record())
            {
                // Set Value in Template
                $fieldname = 'field0';
                $title = urldecode($db2->f("value"));
                $tpl->set('s',$fieldname,$title);
            }
            
            // Reading elements for each relevant article
            for ($i=0;$i<$sNumElement;$i++) {
                $iElementType = $dataStart + ($i*5);
                $iElementIdentifier = $iElementType + 1;
                $iElementWidth = $iElementType + 2;
                $iElementHeight = $iElementType + 3;
                $iElementPadding    = $iElementType + 4;
                $iElementImgAlign   = $iElementType + 5;
                
                $vElementIdentifier = "CMS_VALUE[$iElementIdentifier]"; 
                $sSampleArt   = "CMS_VALUE[$iSampleArt]";
                $sNumElement = "CMS_VALUE[$iNumElement]";
                $sMoreCategories = "CMS_VALUE[$iMoreCategorie]";
                $sAddCats  = "CMS_VALUE[$sAddCats]";
                $sSampleCat   = "CMS_VALUE[$sSampleCat]";
                $vElementType = "CMS_VALUE[$iElementType]";
                $vElementWidth = "CMS_VALUE[$iElementWidth]";
                // reading record for each predefined element of the article
                $sql2 = "SELECT value FROM ".$cfg["tab"]["content"]." AS tblData WHERE idartlang=".$db->f("idartlang")." AND ".$vElementIdentifier;
                $db2->query($sql2);
                $fieldname = "field".$fieldcount;
                if ($db2->num_rows() == 0)
                    $tpl->set('s',$fieldname,"");
                while ($db2->next_record())
                {
                    if ($vElementType == "Image") {
                        // Reading information about image
                        $vElementHeight = "CMS_VALUE[$iElementHeight]";
                        $sql3 = "SELECT filename, dirname FROM ".$cfg["tab"]["upl"]." WHERE idupl=".$db2->f("value");
                        $db3->query($sql3);
                        if ($db3->num_rows() > 0) {
                            $db3->next_record();
                            $webpath = $cfgClient[$client]["upl"]["htmlpath"].$db3->f("dirname").$db3->f("filename");
                            $serverpath = $cfgClient[$client]["upl"]["path"].$db3->f("dirname").$db3->f("filename");
                            $image = $webpath;
                            list ($width, $height, $type, $attr) = getimagesize($webpath);
                            if (file_exists($serverpath) && $width > $vElementWidth && $height > $vElementHeight) {
                                $image = capiImgScale($serverpath,$vElementWidth, $vElementHeight, false, false, 10, false);
                                list ($width, $height, $type, $attr) = getimagesize($image);
                            }
                            $align == "left"?$marginentry = 'style="margin-right:5px; margin-bottom:5px;"':$marginentry = 'style="margin-left:5px; margin-bottom:5px;"';
                            $imagetag = "<img src='$image' width=$width height=$height align=$align $marginentry />";
                            $tpl->set('s',$fieldname,$imagetag);
                            $tpl->set('s','minheight',$height);
                        }
                        else {
                            echo $sql3;
                        }
                    }
                    else {
                        $htmltags == "use"?$temp = html_entity_decode(urldecode($db2->f("value"))):$temp = html_entity_decode(strip_tags(urldecode($db2->f("value"))));
                        if ($vElementWidth>0 && strlen($temp)>$vElementWidth) {
                            $temp = capiStrTrimAfterWord($temp,$vElementWidth)."...";
                        }
                        
                        $tpl->set('s',$fieldname,$temp);
                    }
                }
                // switching aling of image
                //$align == "left"? $align = "right":$align="left";
                $fieldcount++;
            } // end for
            $lastmodified = strtotime($db->f("lastmodified"));
            $lastmodified = date("d.m.Y",$lastmodified);
            $link = "front_content.php?idart=".$db->f("idart")."&lang=".$db->f("idlang");
            $tpl->set('s', 'DATE', $lastmodified);
            $tpl->set('s','link',$link);
            $tpl->generate('templates/'.$sTemplate);
        } // end while next_record(), $sql
    }

?>

almighty7
Beiträge: 12
Registriert: So 1. Nov 2009, 23:51
Kontaktdaten:

Re: Content Allocation

Beitrag von almighty7 » Sa 28. Nov 2009, 19:41

Hi,

habe dein Modul bei mir ins Contenido 4.8 reingepackt, es funktioniert auch alles im Backend. Einzig im Frontend wird nichts ausgegeben.
Woran könnte das liegen?

Hier mein Ausgabetemplate:

Code: Alles auswählen

<a href="{link}">{field1}</a>
<div class="auflistung">

<div class="description">
<a href="{link}" class="event">{field0}</a>
</div>

<div class="sprotte">
{field2}
</div>

</div>

salsa
Beiträge: 165
Registriert: Mi 27. Apr 2005, 15:47
Wohnort: Dortmund
Kontaktdaten:

Vorschaubilder

Beitrag von salsa » Di 9. Feb 2010, 22:28

Ich habe mir das Modul noch einmal vorgenommen. Jetzt werden die Vorschaubilder gezeigt - nur nicht in der gewählten Größe.
Es gibt doch sicher einen PHP-Experten, der den Fehler (im Output) schnell findet.

Code: Alles auswählen

<?xml version="1.0" encoding="ISO-8859-1"?>
<module><name>ContentAllocationTest</name>
<description>ContentAllocation



Autor: Tilman Jahn (tmj)

Version 1.1



Partly based on:

Modul:         Article List Advanced V4.6.x V1.4

Author:        Bjˆrn Behrens (HerrB)

Created:       19.02.2006

Specification: Rezeptionist

</description>
<type/>
<input>/********************************

    Modul ContentAllocation - INPUT

    Version 1.1

    Author: Tilman Jahn, tmj digital

*********************************/







#Includes

cInclude("frontend", "includes/functions.input.helper.php");



# Initialization

$bDebug      = false;

$iDataStart  = 20;

$sSubmitLink = '<a href="javascript:if (document.tplcfgform.send) {document.tplcfgform.send.value = 0}; document.tplcfgform.submit();"><img src="images/submit.gif" /></a>';

unset ($aSettings);



# Base settings

$aSettings = array();

$aSettings["ArticleCount"]       = "CMS_VALUE[0]";

$aSettings["ArticlePerPage"]     = "CMS_VALUE[1]";

$aSettings["SortBy"]             = "CMS_VALUE[2]";

$aSettings["SortDir"]            = "CMS_VALUE[3]";

$aSettings["ShowStart"]          = "CMS_VALUE[4]";

$aSettings["Category"]           = "CMS_VALUE[5]";

$aSettings["SampleArt"]          = "CMS_VALUE[6]";

$aSettings["HeadlineIdentifier"] = "CMS_VALUE[7]";

$aSettings["HeadlineLength"]     = "CMS_VALUE[8]";

$aSettings["Elements"]           = "CMS_VALUE[9]";

$aSettings["CatTypeSel"]         = "CMS_VALUE[10]";

$aSettings["AddCats"]            = "CMS_VALUE[11]";

$aSettings["SampleCat"]          = "CMS_VALUE[12]";

$aSettings["DateType"]           = "CMS_VALUE[97]";

$aSettings["Date"]               = "CMS_VALUE[98]";





# Checking base settings

if (!is_numeric($aSettings["ArticleCount"]) || $aSettings["ArticleCount"] < 0) {

   $aSettings["ArticleCount"] = 5;

}

if (!is_numeric($aSettings["ArticlePerPage"]) || $aSettings["ArticlePerPage"] < 0) {

   $aSettings["ArticlePerPage"] = 0; // Deactivating page browsing

}

if (!is_numeric($aSettings["Category"]) || $aSettings["Category"] <= 0) {

   $aSettings["Category"] = 0;

}

if (!is_numeric($aSettings["SampleCat"]) || $aSettings["SampleCat"] <= 0) {

   $aSettings["SampleCat"] = $aSettings["Category"];

}

if (!is_numeric($aSettings["SampleArt"]) || $aSettings["SampleArt"] < 0) {

   $aSettings["SampleArt"] = 0;

}

if (strlen($aSettings["HeadlineIdentifier"]) > 50) {

   $aSettings["HeadlineIdentifier"] = "";

}

if (!is_numeric($aSettings["HeadlineLength"]) || $aSettings["HeadlineLength"] < 0) {

   $aSettings["HeadlineLength"] = 0;

}

if (!is_numeric($aSettings["Elements"]) || $aSettings["Elements"] < 0) {

   $aSettings["Elements"] = 0;

}

if ($aSettings["CatTypeSel"] == "" || ($aSettings["AddCats"] == "" && $aSettings["CatTypeSel"] == "selected")) {

   $aSettings["CatTypeSel"] = "none";

}



# Detail settings

if ($aSettings["Elements"] > 0) {

   for ($i = 0; $i < $aSettings["Elements"]; $i++) {

      $iElementType       = $iDataStart + ($i * 5);

      $iElementIdentifier = $iElementType + 1;

      $iElementWidth      = $iElementType + 2;

      $iElementHeight     = $iElementType + 3;

      $iElementPadding    = $iElementType + 4;

      $iElementImgAlign   = $iElementType + 5;



      $aSettings["k".$i] = array();

      $aSettings["k".$i]["ElementType"]    = "CMS_VALUE[$iElementType]"; // Text, Image, ExtractedImage

      $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]["ElementPadding"] = "CMS_VALUE[$iElementPadding]";

      $aSettings["k".$i]["ElementImgAlign"]= "CMS_VALUE[$iElementImgAlign]";      

      

      # 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;

         }

      } else if (!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"] = "";

      }

   }

}



echo '        <table cellspacing="0" cellpadding="2" border="0" width="100%">'."\n";

echo '           <tr>'."\n";

echo '              <td class="text">'.mi18n("Primary Content Allocation Category:").'</td>'."\n";

//echo '              <td class="text">'.fncBuildCategorySelect("CMS_VAR[5]", $aSettings["Category"], 0, "").'</td>'."\n";

echo '              <td class="text">'.buildAllocationSelect("CMS_VAR[5]", $aSettings["Category"], "", "1").'</td>'."\n";

echo '           </tr>'."\n";

echo '           <tr>'."\n";

echo '              <td class="text" style="vertical-align: top;">'.mi18n("Additional Categories:").'</td>'."\n";

echo '              <td class="text">';

if ($aSettings["CatTypeSel"] == "none") {

   echo '<input type="radio" name="CMS_VAR[10]" value="none" checked="checked" onclick="document.getElementsByName(\'c'.$cnumber.'cbxAddCatSel\')[0].disabled = true;">'.mi18n("None").'&nbsp;';

} else {

   echo '<input type="radio" name="CMS_VAR[10]" value="none" onclick="document.getElementsByName(\'c'.$cnumber.'cbxAddCatSel\')[0].disabled = true;">'.mi18n("None").'&nbsp;';

}

if ($aSettings["CatTypeSel"] == "below") {

   echo '<input type="radio" name="CMS_VAR[10]" value="below" checked="checked" onclick="document.getElementsByName(\'c'.$cnumber.'cbxAddCatSel\')[0].disabled = true;">'.mi18n("All below primary").'&nbsp;';

} else {

   echo '<input type="radio" name="CMS_VAR[10]" value="below" onclick="document.getElementsByName(\'c'.$cnumber.'cbxAddCatSel\')[0].disabled = true;">'.mi18n("All below primary").'&nbsp;';

}

echo '           </tr>'."\n";

echo '           <tr>'."\n";

echo '              <td class="text">'.mi18n("Sort by:").'</td>'."\n";

echo '              <td class="text"><select name="CMS_VAR[2]">'."\n";

if ($aSettings["SortBy"] == "" || $aSettings["SortBy"] == "CATART.idart") {

   echo '                <option value="ARTLANG.idart" selected>'.mi18n("Article ID").'</option>'."\n";

} else {

   echo '                <option value="ARTLANG.idart">'.mi18n("Article ID").'</option>'."\n";

}

if ($aSettings["SortBy"] == "ARTLANG.created") {

   echo '                <option value="ARTLANG.created" selected>'.mi18n("Add Date").'</option>'."\n";

} else {

   echo '                <option value="ARTLANG.created">'.mi18n("Add Date").'</option>'."\n";

}

if ($aSettings["SortBy"] == "ARTLANG.lastmodified") {

   echo '                <option value="ARTLANG.lastmodified" selected>'.mi18n("Last Modified Date").'</option>'."\n";

} else {

   echo '                <option value="ARTLANG.lastmodified">'.mi18n("Last Modified Date").'</option>'."\n";

}

if ($aSettings["SortBy"] == "ARTLANG.published") {

   echo '                <option value="ARTLANG.published" selected>'.mi18n("Published Date").'</option>'."\n";

} else {

   echo '                <option value="ARTLANG.published">'.mi18n("Published Date").'</option>'."\n";

}

if ($aSettings["SortBy"] == "ARTLANG.title") {

   echo '                <option value="ARTLANG.title" selected>'.mi18n("Page Title (Backend)").'</option>'."\n";

} else {

   echo '                <option value="ARTLANG.title">'.mi18n("Page Title (Backend)").'</option>'."\n";

}

if ($aSettings["SortBy"] == "ARTLANG.pagetitle") {

   echo '                <option value="ARTLANG.pagetitle" selected>'.mi18n("Page Title (Frontend)").'</option>'."\n";

} else {

   echo '                <option value="ARTLANG.pagetitle">'.mi18n("Page Title (Frontend)").'</option>'."\n";

}

if ($aSettings["SortBy"] == "ARTLANG.summary") {

   echo '                <option value="ARTLANG.summary" selected>'.mi18n("Summary (Backend)").'</option>'."\n";

} else {

   echo '                <option value="ARTLANG.summary">'.mi18n("Summary (Backend)").'</option>'."\n";

}

if ($aSettings["SortBy"] == "ARTLANG.artsort") {

   echo '                <option value="ARTLANG.artsort" selected>'.mi18n("Sort No.").'</option>'."\n";

} else {

   echo '                <option value="ARTLANG.artsort">'.mi18n("Sort No.").'</option>'."\n";

}

echo '              </select>'."\n";

if ($aSettings["SortDir"] != "DESC") {

   echo '             <input type="radio" name="CMS_VAR[3]" value="ASC" checked>'.mi18n("Ascending").'&nbsp;<input type="radio" name="CMS_VAR[3]" value="DESC">'.mi18n("Descending")."\n";

} else {

   echo '             <input type="radio" name="CMS_VAR[3]" value="ASC">'.mi18n("Ascending").'&nbsp;<input type="radio" name="CMS_VAR[3]" value="DESC" checked>'.mi18n("Descending")."\n";

}

echo '           </tr>'."\n";

echo '        </table>'."\n";

echo '        <table cellspacing="0" cellpadding="2" border="0" width="100%">'."\n";

echo '           <tr>'."\n";

echo '              <td colspan="2" class="textw_medium" style="background-color: #a9aec2; border: 1px solid #747488;">'.mi18n("Identify elements:").'</td>'."\n";

echo '           </tr>'."\n";

echo '           <tr>'."\n";

echo '              <td class="text" style="border-left:  1px solid #747488;">'.mi18n("Sample Category:").'</td>'."\n";

echo '              <td class="text" style="border-right: 1px solid #747488;">'.fncBuildCategorySelect("CMS_VAR[12]", $aSettings["SampleCat"], 0, "if (document.forms[0].elements['CMS_VAR[12]'].value != 'CMS_VALUE[12]') { document.forms[0].elements['CMS_VAR[6]'].disabled = true; document.forms[0].elements['CMS_VAR[7]'].disabled = true; document.forms[0].elements['CMS_VAR[8]'].disabled = true; document.forms[0].elements['CMS_VAR[9]'].disabled = true; } else { document.forms[0].elements['CMS_VAR[6]'].disabled = false; document.forms[0].elements['CMS_VAR[7]'].disabled = false; document.forms[0].elements['CMS_VAR[8]'].disabled = false; document.forms[0].elements['CMS_VAR[9]'].disabled = false;}").'&nbsp'.$sSubmitLink.'</td>'."\n";

echo '           </tr>'."\n";

echo '           <tr>'."\n";

echo '              <td class="text" style="border-left:  1px solid #747488;">'.mi18n("Sample Article:").'</td>'."\n";

if ($aSettings["SampleCat"] == 0) {

   $sDisabled = "disabled";

} else {

   $sDisabled = "";

}

echo '              <td class="text" style="border-right: 1px solid #747488;">'.fncBuildArticleSelect("CMS_VAR[6]", $aSettings["SampleCat"], $aSettings["SampleArt"], "if (document.forms[0].elements['CMS_VAR[6]'].value != 'CMS_VALUE[6]') { document.forms[0].elements['CMS_VAR[7]'].disabled = true; document.forms[0].elements['CMS_VAR[8]'].disabled = true; document.forms[0].elements['CMS_VAR[9]'].disabled = true; } else { document.forms[0].elements['CMS_VAR[7]'].disabled = false; document.forms[0].elements['CMS_VAR[8]'].disabled = false; document.forms[0].elements['CMS_VAR[9]'].disabled = false;}", $sDisabled).'&nbsp'.$sSubmitLink.'</td>'."\n";

echo '           </tr>'."\n";

echo '           <tr>'."\n";

echo '              <td class="text" style="border-left:  1px solid #747488;">'.mi18n("Headline Element:").'</td>'."\n";

echo '              <td class="text" style="border-right: 1px solid #747488;">'.fncBuildTypeSelect("CMS_VAR[7]", $aSettings["SampleArt"], $aSettings["HeadlineIdentifier"], "'1','2','3','9','17'").' '.mi18n("Length (max.):").'</td>'."\n";

echo '           </tr>'."\n";



if ($aSettings["Elements"] == 0) {

   $sBottomStyle = "border-bottom: 1px solid #747488;"; // Paint the table area closing line

} else {

   $sBottomStyle = "";

}

echo '           <tr>'."\n";

echo '              <td class="text" style="border-left:  1px solid #747488;'.$sBottomStyle.'">'.mi18n("Additional elements:").'</td>'."\n";

echo '              <td class="text" style="border-right: 1px solid #747488;'.$sBottomStyle.'"><input type="text" name="CMS_VAR[9]" value="'.$aSettings["Elements"].'" size="3" title="'.mi18n("Set to a value above 0 to specify text or images as additional elements").'">&nbsp'.$sSubmitLink.'</td>'."\n";

echo '           </tr>'."\n";



if ($aSettings["Elements"] > 0) {

   for ($i = 0; $i < $aSettings["Elements"]; $i++) {

      $iElementType       = $iDataStart + ($i * 5);

      $iElementIdentifier = $iElementType + 1;

      $iElementWidth      = $iElementType + 2;

      $iElementHeight     = $iElementType + 3;

      $iElementPadding    = $iElementType + 4;

      $iElementImgAlign   = $iElementType + 5;





      echo '           <tr>'."\n";

      echo '              <td class="text" style="border-left:  1px solid #747488;padding-left: 20px;vertical-align: top;">'.sprintf(mi18n("%s. Element:"), $i + 1).'</td>'."\n";

      echo '              <td class="text" style="border-right: 1px solid #747488;">'.mi18n("Type:").'<br />'."\n";

      echo '                <select name="'."CMS_VAR[$iElementType]".'" onchange="if (document.forms[0].elements[\''."CMS_VAR[$iElementType]".'\'].value != \''.$aSettings["k".$i]["ElementType"].'\') { document.forms[0].elements[\''."CMS_VAR[$iElementIdentifier]".'\'].disabled = true; document.forms[0].elements[\''."CMS_VAR[$iElementWidth]".'\'].disabled = true; if (document.forms[0].elements[\''."CMS_VAR[$iElementHeight]".'\']) {document.forms[0].elements[\''."CMS_VAR[$iElementHeight]".'\'].disabled = true;}} else { document.forms[0].elements[\''."CMS_VAR[$iElementIdentifier]".'\'].disabled = false; document.forms[0].elements[\''."CMS_VAR[$iElementWidth]".'\'].disabled = false; if (document.forms[0].elements[\''."CMS_VAR[$iElementHeight]".'\']) {document.forms[0].elements[\''."CMS_VAR[$iElementHeight]".'\'].disabled = false;}}"">'."\n";

      if ($aSettings["k".$i]["ElementType"] == "Text") {

         echo '                 <option value="Text" selected="selected">'.mi18n("Text").'</option>'."\n";

      } else {

         echo '                 <option value="Text">'.mi18n("Text").'</option>'."\n";

      }

      if ($aSettings["k".$i]["ElementType"] == "Image") {

         echo '                 <option value="Image" selected="selected">'.mi18n("Image").'</option>'."\n";

      } else {

         echo '                 <option value="Image">'.mi18n("Image").'</option>'."\n";

      }

       if ($aSettings["k".$i]["ElementType"] == "ExtractedImage") {

         echo '                 <option value="ExtractedImage" selected="selected">'.mi18n("Image from text").'</option>'."\n";

      } else {

         echo '                 <option value="ExtractedImage">'.mi18n("ExtractedImage").'</option>'."\n";

      }

      

      echo '                 </select>&nbsp'.$sSubmitLink.'&nbsp;'."\n";

      echo '              </td>'."\n";

      echo '           </tr>'."\n";



      if ($i == ($aSettings["Elements"] - 1)) {

         $sBottomStyle = "border-bottom: 1px solid #747488;"; // Paint the table area closing line

      } else {

         $sBottomStyle = "";

      }



      echo '           <tr>'."\n";

           

 if($aSettings["k".$i]["ElementImgAlign"]=="Text")$n='checked="checked"';  else $n="";



 if($aSettings["k".$i]["ElementImgAlign"]=="left")$l='checked="checked"';  else $l="";



 if($aSettings["k".$i]["ElementImgAlign"]=="right")$r='checked="checked"'; else $r="";

 

      

           switch ($aSettings["k".$i]["ElementType"]) {



         case "Image":



            echo '              <td class="text" style="border-left:  1px solid #747488;'.$sBottomStyle.'padding-left: 20px;">&nbsp;</td>'."\n";



            echo '              <td class="text" style="border-right: 1px solid #747488;'.$sBottomStyle.'">'.mi18n("Item:").'<br />'.fncBuildTypeSelect("CMS_VAR[$iElementIdentifier]", $aSettings["SampleArt"], $aSettings["k".$i]["Identifier"], "'4'").'&nbsp;'."\n";



            echo '                 '.mi18n("Width:"). ' <input type="text" name="'."CMS_VAR[$iElementWidth]".'" value="'.$aSettings["k".$i]["ElementWidth"].'" size="4" title="'.mi18n("Set to 0 to disable resize").'">&nbsp;'."\n";



            echo '                 '.mi18n("Height:").' <input type="text" name="'."CMS_VAR[$iElementHeight]".'" value="'.$aSettings["k".$i]["ElementHeight"].'" size="4" title="'.mi18n("Set to 0 to disable resize").'">'."\n";



            echo '                 <br>'.mi18n("Image-Padding:").'<br> <input type="text" name="'."CMS_VAR[$iElementPadding]".'" value="'.$aSettings["k".$i]["ElementPadding"].'" size="15" title="'.mi18n("CSS conformal image padding (0px 10px 0px 0px)").'">';



            echo '                 <br>'.mi18n("Image-Align:").'<br> <input type="radio" name="'."CMS_VAR[$iElementImgAlign]".'" value="left" '.$l.' title="'.mi18n("Picture adjustment in the text").'">'.mi18n("left").'



                                                                 <input type="radio" name="'."CMS_VAR[$iElementImgAlign]".'" value="right" '.$r.' title="'.mi18n("Picture adjustment in the text").'">'.mi18n("right").'



                                 <input type="radio" name="'."CMS_VAR[$iElementImgAlign]".'" value="none" '.$n.' title="'.mi18n("Picture adjustment in the text").'">'.mi18n("none").'</td>'."\n</td>";



            break;



         case "ExtractedImage":



            echo '              <td class="text" style="border-left:  1px solid #747488;'.$sBottomStyle.'padding-left: 20px;">&nbsp;</td>'."\n";



            echo '              <td class="text" style="border-right: 1px solid #747488;'.$sBottomStyle.'">'.mi18n("Item:").'<br />'.fncBuildTypeSelect("CMS_VAR[$iElementIdentifier]", $aSettings["SampleArt"], $aSettings["k".$i]["Identifier"], "'1','2','3','9','17'").'&nbsp;'."\n";



            echo '                 '.mi18n("Width:"). ' <input type="text" name="'."CMS_VAR[$iElementWidth]".'" value="'.$aSettings["k".$i]["ElementWidth"].'" size="4" title="'.mi18n("Set to 0 to disable resize").'">&nbsp;'."\n";



            echo '                 '.mi18n("Height:").' <input type="text" name="'."CMS_VAR[$iElementHeight]".'" value="'.$aSettings["k".$i]["ElementHeight"].'" size="4" title="'.mi18n("Set to 0 to disable resize").'">'."\n";



            echo '                 <br>'.mi18n("Image-Padding:").'<br> <input type="text" name="'."CMS_VAR[$iElementPadding]".'" value="'.$aSettings["k".$i]["ElementPadding"].'" size="15" title="'.mi18n("CSS conformal image padding (0px 10px 0px 0px)").'">';



            echo '                 <br>'.mi18n("Image-Align:").'<br> <input type="radio" name="'."CMS_VAR[$iElementImgAlign]".'" value="left" '.$l.' title="'.mi18n("Picture adjustment in the text").'">'.mi18n("left").'



                                                                 <input type="radio" name="'."CMS_VAR[$iElementImgAlign]".'" value="right" '.$r.' title="'.mi18n("Picture adjustment in the text").'">'.mi18n("right").'



                                 <input type="radio" name="'."CMS_VAR[$iElementImgAlign]".'" value="none" '.$n.' title="'.mi18n("Picture adjustment in the text").'">'.mi18n("none").'</td>'."\n</td>\n\n\n\n";



            break;



         default:



            echo '              <td class="text" style="border-left:  1px solid #747488;'.$sBottomStyle.'padding-left: 20px;">&nbsp;</td>'."\n";



            echo '              <td class="text" style="border-right: 1px solid #747488;'.$sBottomStyle.'">'.mi18n("Item:").'<br />'.fncBuildTypeSelect("CMS_VAR[$iElementIdentifier]", $aSettings["SampleArt"], $aSettings["k".$i]["Identifier"], "'1','2','3','9','17'").'&nbsp;'."\n";



            echo '                 '.mi18n("Length (max.):").' <input type="text" name="'."CMS_VAR[$iElementWidth]".'" value="'.$aSettings["k".$i]["ElementWidth"].'" size="3" title="'.mi18n("Set to 0 to show all").'"></td>'."\n";



      }

      echo '           </tr>'."\n";

   }

}



echo '           </tr>'."\n";

echo "<tr><td>HTML-Tags nutzen?</td><td><input type=checkbox name='CMS_VAR[102]' value='use'";

if ("CMS_VALUE[102]" == "use")

  echo " checked";

echo "></td></tr>\n";

echo "<tr><td>Template</td><td><input type=text name='CMS_VAR[103]' value='CMS_VALUE[103]'></td></tr>\n";



echo '        </table>'."\n";</input>
<output>    <?PHP

    /********************************

    Modul ContentAllocation - OUTPUT

    Version 1.1

    Author: Tilman Jahn, tmj digital

    *********************************/

    

    $sOrder = "CMS_VALUE[2]";

    $sOrderDirection = "CMS_VALUE[3]";

    $vElementIdentifier = "CMS_VALUE[7]";

    $sSelectedPica = "CMS_VALUE[5]";

    $sNumElement = "CMS_VALUE[9]";

    $sMoreCategories = "CMS_VALUE[10]";

    $htmltags = "CMS_VALUE[102]";

    $sTemplate = "CMS_VALUE[103]";

    if ($sTemplate == "")

        $sTemplate = "pica.html";

    

    $dataStart = 20;

    $align="left";

    $fieldcount = 1;

    

    $db = new DB_Contenido;

    $db2 = new DB_Contenido;

    $db3 = new DB_Contenido;

    

    if (!isset($tpl) || !is_object($tpl)) {

        $tpl = new Template();

    }

    

    

    function getChildPicas($parent) {

        global $cfg, $lang;

        

        $db4 = new DB_Contenido;

        $sql4 = "SELECT LANG.idpica_alloc as id FROM ".$cfg["tab"]["pica_alloc"]." AS ALLOC JOIN ".$cfg["tab"]["pica_lang"]." AS LANG ON ALLOC.idpica_alloc=LANG.idpica_alloc WHERE ALLOC.parentid=$parent AND LANG.online=1";

        $db4->query($sql4);

        if ($db4->num_rows() > 0) {

            while ($db4->next_record()) {

                $picas .= ",".$db4->f("id").getChildPicas($db4->f("id"));

            }

        }

        return $picas;

    }

    

    $sql = "SELECT online FROM ".$cfg["tab"]["pica_lang"]." WHERE idpica_alloc=$sSelectedPica";

    $db->query($sql);

    $db->next_record();

    if ($db->f("online") == 0)

        $sSelectedPica = 0;

        

    // Getting all relevant allocations:

    if ($sMoreCategories == "below" && $sSelectedPica != 0) {

        $picas = "($sSelectedPica".getChildPicas($sSelectedPica).")";

    }

    else {

        $picas = "($sSelectedPica)";

    }



    // Getting list of all relevant articles (ordered by selected ordering)

    $sql = "SELECT pica.idartlang as idartlang, ARTLANG.idart as idart, ARTLANG.idlang as idlang, ARTLANG.lastmodified as lastmodified FROM ".$cfg["tab"]["pica_alloc_con"]." AS pica JOIN ".$cfg["tab"]["art_lang"]." AS ARTLANG ON pica.idartlang=ARTLANG.idartlang WHERE pica.idpica_alloc IN $picas AND ARTLANG.online=1 ORDER BY $sOrder $sOrderDirection";

    $db->query($sql);

    if ($db->num_rows() > 0) {

        while ($db->next_record()) {

            //preparing Template

            $tpl->reset();

            $fieldcount=1;

            $vElementIdentifier = "CMS_VALUE[7]";

            $sql2 = "SELECT value FROM ".$cfg["tab"]["content"]." AS tblData WHERE idartlang=".$db->f("idartlang")." AND ".$vElementIdentifier;

            $db2->query($sql2);

            while ($db2->next_record())

            {

                // Set Value in Template

                $fieldname = 'field0';

                $title = urldecode($db2->f("value"));

                $tpl->set('s',$fieldname,$title);

            }

            

            // Reading elements for each relevant article

            for ($i=0;$i<$sNumElement;$i++) {

                $iElementType = $dataStart + ($i*5);

                $iElementIdentifier = $iElementType + 1;

                $iElementWidth = $iElementType + 2;

                $iElementHeight = $iElementType + 3;

                $iElementPadding  = $iElementType + 4;

                $iElementImgAlign = $iElementType + 5;

                

                $vElementIdentifier = "CMS_VALUE[$iElementIdentifier]"; 

                $vElementType = "CMS_VALUE[$iElementType]";

                $vElementWidth = "CMS_VALUE[$iElementWidth]";

                $vElementHeight = "CMS_VALUE[$iElementHeight]";

                $vElementPadding = "CMS_VALUE[$iElementPadding]";

                $vElementImgAlign= "CMS_VALUE[$iElementImgAlign]";



                

                // reading record for each predefined element of the article

                $sql2 = "SELECT value FROM ".$cfg["tab"]["content"]." AS tblData WHERE idartlang=".$db->f("idartlang")." AND ".$vElementIdentifier;

                $db2->query($sql2);

                $fieldname = "field".$fieldcount;

                if ($db2->num_rows() == 0)

                    $tpl->set('s',$fieldname,"");

                while ($db2->next_record())

                {

                    if ($vElementType == "Image") {

                        // Reading information about image

                            $vElementType = "CMS_VALUE[$iElementType]";

                            $vElementWidth = "CMS_VALUE[$iElementWidth]";

                            $vElementHeight = "CMS_VALUE[$iElementHeight]";

                            $vElementPadding = "CMS_VALUE[$iElementPadding]";

                            $vElementImgAlign= "CMS_VALUE[$iElementImgAlign]";

                        $sql3 = "SELECT filename, dirname FROM ".$cfg["tab"]["upl"]." WHERE idupl=".$db2->f("value");

                        $db3->query($sql3);

                        if ($db3->num_rows() > 0) {

                            $db3->next_record();

                            $webpath = $cfgClient[$client]["upl"]["htmlpath"].$db3->f("dirname").$db3->f("filename");

                            $serverpath = $cfgClient[$client]["upl"]["path"].$db3->f("dirname").$db3->f("filename");

                            $image = $webpath;

                            list ($width, $height, $type, $attr) = getimagesize($webpath);

                            if (file_exists($serverpath) && $width > $vElementWidth && $height > $vElementHeight) {

                                $image = capiImgScale($serverpath,$vElementWidth, $vElementHeight, false, false, 10, false);

                                list ($width, $height, $type, $attr) = getimagesize($image);

                            }

                            $align == "left"?$marginentry = 'style="margin-right:5px; margin-bottom:5px;"':$marginentry = 'style="margin-left:5px; margin-bottom:5px;"';

                            $imagetag = "<img src='$image' width=$width height=$height align=$align $marginentry />";

                            $tpl->set('s',$fieldname,$imagetag);

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

                        }

                        else {

                            echo $sql3;

                        }

                    }

                    else {

                        $htmltags == "use"?$temp = html_entity_decode(urldecode($db2->f("value"))):$temp = html_entity_decode(strip_tags(urldecode($db2->f("value"))));

                        if ($vElementWidth>0 && strlen($temp)>$vElementWidth) {

                            $temp = capiStrTrimAfterWord($temp,$vElementWidth)."...";

                        }

                        

                        $tpl->set('s',$fieldname,$temp);

                    }

                }

                // switching aling of image

                $align == "left"? $align = "right":$align="left";

                $fieldcount++;

            } // end for

            $lastmodified = strtotime($db->f("lastmodified"));

            $lastmodified = date("d.m.Y",$lastmodified);

            $link = "front_content.php?idart=".$db->f("idart")."&lang=".$db->f("idlang");

            $tpl->set('s', 'DATE', $lastmodified);

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

            $tpl->generate('templates/'.$sTemplate);

        } // end while next_record(), $sql

    }

?></output>
</module>
Modul-Template

Code: Alles auswählen

      <div id="list_date" align="right">{DATE}</div>
      <div id="thumb">{field2}</div>
      <div id="list_headline" align="left"><a href="{link}">{field0}</a></div>
      <div id="list_subheadline">{field1}</div>
      <div id="list_zeile"></div>
      <hr>

stefkey
Beiträge: 556
Registriert: Mi 19. Okt 2005, 16:10
Wohnort: Heidelberg
Kontaktdaten:

Re: Content Allocation

Beitrag von stefkey » Sa 3. Jul 2010, 22:29

Hallo zusammen,

gibts vielleicht schon eine Weiterentwicklung des Moduls von tmj-digital?
Es scheint ja das einzige Content Allocation Modul hier im Forum zu sein, oder habe ich Alternativen übersehen?

Vielleicht hat auch jemand eine "kostenpflichtige Version" für mich? EIn paas Eus würde ich sicher springen lassen.

kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Re: Content Allocation

Beitrag von kummer » Mo 5. Jul 2010, 07:42

Also Content Allocation ist ja zunächst ein Tagging mit vorgefertigten Tags. Es kommt also drauf an, was du damit vor hast.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)

stefkey
Beiträge: 556
Registriert: Mi 19. Okt 2005, 16:10
Wohnort: Heidelberg
Kontaktdaten:

Re: Content Allocation

Beitrag von stefkey » Mo 5. Jul 2010, 10:33

als erstes Denke ich eben ab diese Artikelliste. Man kann ja mit dem Modul tmj-digital relativ einfach beliebige Artikel aus verschiedenen Kategorieren als News Liste zusammenfassen.

Was könnte man noch mit Content Allocation anstellen?

kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Re: Content Allocation

Beitrag von kummer » Mo 5. Jul 2010, 11:03

Tja, du sprichst das eigentliche Problem an. Diese Ideen müssten von den Anwendern kommen. Für eine Artikelliste kannst du ein beliebiges Merkmal verwenden, welches sich in SQL abbilden lässt. U.a. eben auch die Content Allocation. Soweit ich das ermessen kann, war das auch die primäre Zielsetzung.

In der 4.8.12 war da allerdings noch ein Bug. Deshalb habe ich dann aufgehört die Content Allocation zu verwenden. Ich weiss nicht, ob das inzwischen ausgeräumt ist. Und zwar verschwanden die Zuordnungen zu den Content Allocations, wenn in der Pflege ein Content-Allocation-Baum zugeklappt wurde. Die bestehenden Zuordnungen blieben erhalten; ausser, wenn der Artikel editiert und die Content Allocation-Zuordnung angepasst worden ist. Dann waren genau die zugeklappten Bäumen nicht mehr auswählbar und vorgenommene Zuordnungen gingen verloren. Vor der Anwendung würde ich das noch prüfen. Sollte das Problem immer noch bestehen, muss darauf geachtet werden, dass alle Bäume stets offen sind. Dann tritt das Problem nicht auf.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)

salsa
Beiträge: 165
Registriert: Mi 27. Apr 2005, 15:47
Wohnort: Dortmund
Kontaktdaten:

C.A. in 1 Artikelliste zweimal einsetzen?

Beitrag von salsa » Fr 1. Okt 2010, 22:40

Die üblichen Artikellisten-Module kann ich mehrfach in einer Liste verwenden, um Artikel aus mehreren Bereichen zusammen zu stellen, z.B. neue Nachrichten, die letzten Berichte und Links. Mit Content Allocation klappt das bei mir nicht. Es kommt die Fehlermeldung:
Fatal error: Cannot redeclare getchildpicas() (previously declared in /home/www/.../html/contenido/includes/include.con_editcontent.php(634) : eval()'d code:832) in /home/www/.../html/contenido/includes/include.con_editcontent.php(634) : eval()'d code on line 997
Mache ich etwas falsch oder geht diese Zusammenstellung grundsätzlich nicht? Gibt es vielleicht eine Lösung durch Umbenennung?

Gesperrt