Modul: Standard-Artikelliste Advanced v2.6.0

funomat
Beiträge: 345
Registriert: Do 26. Feb 2004, 22:13
Wohnort: Neuss
Kontaktdaten:

Re: Modul: Standard-Artikelliste Advanced v2.2.0

Beitrag von funomat » Fr 6. Nov 2009, 09:17

Da ich zur Zeit ein wenig viel um die Ohren habe hier nur kurz der Bubfix für den Input-Bereich. Wird dann in der nächsten Version Gefixt:

In Zeile 331:

Code: Alles auswählen

if ($aSettings["PageBrowsingType01"] != "enabled")
ändern in

Code: Alles auswählen

if ($aSettings["UseUTF8"] != "enabled")
Was Dein Fehler angeht, so ist es so, dass wenn Du schon bei der Mandanteneinstellung UTF8 als Zeichencodierung eingestellt hast, Du im Modul UTF8 nicht mehr benötigst. Also, Häkchen raus nehmen.

Gruß,
funomat
tiago.de | adk-msi.de | iseringhausen.de | the-iseringhausen.de
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)

divox
Beiträge: 39
Registriert: Mi 17. Sep 2008, 14:25
Kontaktdaten:

Re: Modul: Standard-Artikelliste Advanced v2.2.0

Beitrag von divox » Sa 7. Nov 2009, 00:22

hmm, aber da ist ja kein Häckchen mehr, das bleibt ja nicht drin, also kann ich auch keins entfernen.

Fehler weiterhin da :( Langsam bin ich am verzweifeln.

_wiewo_
Beiträge: 358
Registriert: Mo 8. Sep 2008, 11:12

Re: Modul: Standard-Artikelliste Advanced v2.2.0

Beitrag von _wiewo_ » Sa 7. Nov 2009, 11:17

divox hat geschrieben:hmm, aber da ist ja kein Häckchen mehr, das bleibt ja nicht drin, also kann ich auch keins entfernen.

Fehler weiterhin da :( Langsam bin ich am verzweifeln.
wo setzt du das häckchen? artikel, kategorie, template?

divox
Beiträge: 39
Registriert: Mi 17. Sep 2008, 14:25
Kontaktdaten:

Re: Modul: Standard-Artikelliste Advanced v2.2.0

Beitrag von divox » So 8. Nov 2009, 22:25

In der Kategorie.

funomat
Beiträge: 345
Registriert: Do 26. Feb 2004, 22:13
Wohnort: Neuss
Kontaktdaten:

Re: Modul: Standard-Artikelliste Advanced v2.2.0

Beitrag von funomat » Mo 9. Nov 2009, 08:38

Hast Du die Änderung vorgenommen, die ich gepostet habe?
tiago.de | adk-msi.de | iseringhausen.de | the-iseringhausen.de
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)

divox
Beiträge: 39
Registriert: Mi 17. Sep 2008, 14:25
Kontaktdaten:

Re: Modul: Standard-Artikelliste Advanced v2.2.0

Beitrag von divox » Mo 9. Nov 2009, 16:08

habe ich, jetzt kann ich auch das Häckchen setzen und entfernen.

Habe die Häckchen überall raus gemacht. Leider ohne erfolgt.

Werde morgen das ganze erneut aussetzen dann probiere ich nochmal.

Verträgt sich das Modul mit mod-rewrite erweiterung?

funomat
Beiträge: 345
Registriert: Do 26. Feb 2004, 22:13
Wohnort: Neuss
Kontaktdaten:

Re: Modul: Standard-Artikelliste Advanced v2.2.0

Beitrag von funomat » Mo 9. Nov 2009, 16:12

Ja. Wenn Du magst, kannst Du mir ja mal per PN einen Zugang schicken, bevor Du jetzt alles neu machst. Dann schaue ich mir das mal an.
tiago.de | adk-msi.de | iseringhausen.de | the-iseringhausen.de
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)

divox
Beiträge: 39
Registriert: Mi 17. Sep 2008, 14:25
Kontaktdaten:

Re: Modul: Standard-Artikelliste Advanced v2.2.0

Beitrag von divox » Di 10. Nov 2009, 21:50

Danke für deine schnelle Hilfe.

Problem erledigt.

:)

funomat
Beiträge: 345
Registriert: Do 26. Feb 2004, 22:13
Wohnort: Neuss
Kontaktdaten:

Re: Modul: Standard-Artikelliste Advanced v2.2.2

Beitrag von funomat » Mi 11. Nov 2009, 09:10

Die Bugs bei der UTF8-Kodierung wurden entfernt und es steht jetzt die überarbeitet Version zum Download zur Verfügung.

Gruß,
funomat
tiago.de | adk-msi.de | iseringhausen.de | the-iseringhausen.de
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)

Fips
Beiträge: 105
Registriert: Fr 20. Feb 2009, 09:55
Kontaktdaten:

Re: Modul: Standard-Artikelliste Advanced v2.2.2

Beitrag von Fips » Do 12. Nov 2009, 14:01

Hallo funomat,
ich wollte mal nachhören, wie es mit der Erweiterung der Sortierung und Ausgabe des vom Benutzer eingegebenen Datums ausschaut. Konntest du dich schon mal daransetzen?
Denkbar wäre es dort mit CMS_DATE im Artikeltemplate zu arbeiten und in der Artikelliste eine Sortierung hierfür anzubieten.
Gruß Fips

funomat
Beiträge: 345
Registriert: Do 26. Feb 2004, 22:13
Wohnort: Neuss
Kontaktdaten:

Re: Modul: Standard-Artikelliste Advanced v2.2.2

Beitrag von funomat » Do 12. Nov 2009, 14:27

Das ist leider etwas aufwändiger, als ein Bug zu entfernen, deshalb sieht es damit nicht ganz so gut aus. Für neue Feature habe ich einfach zur Zeit zu viel zu tun, kann Dir also nicht versprechen, dass es dieses Jahr noch was wird.

Wenn jemand anders Zeit und Lust hat das umzusetzen, dann einfach loslegen und hier die Änderungen posten. Ich übernehme es dann gerne in eine neue Version.

Gruß,
funomat
tiago.de | adk-msi.de | iseringhausen.de | the-iseringhausen.de
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)

Kurby
Beiträge: 23
Registriert: Di 1. Sep 2009, 18:14
Kontaktdaten:

Re: Modul: Standard-Artikelliste Advanced v2.2.2

Beitrag von Kurby » Mi 18. Nov 2009, 11:58

Hallo!

Ich habe das Modul nach Anleitung bei mir installiert und danach konfiguriert. Wenn ich nun einen Artikel in der Kategorie erstelle, bleibt die Seite bei mir jedoch komplett leer.
Leider erscheint kein Artikel als Newspunkt.

Das Modul habe ich in das Template "Newsliste" eingefügt, welches bei mit unter einem Menüounkt aufgerufen wird.

Was mache ich noch falsch?

Vielen Dank!

Michael

Deddy
Beiträge: 79
Registriert: Do 1. Jun 2006, 09:00
Kontaktdaten:

Re: Modul: Standard-Artikelliste Advanced v2.2.2

Beitrag von Deddy » So 22. Nov 2009, 12:16

Hallo!

Bei mir werden nicht alle Bilder angezeigt. Hat hier jemand ähnliche Probleme? Meine Artikel bestehen aus einer Tabelle in der 5 Bilder drin sind und ein Text.
Hab eigentlich alles richtig eingestellt. Hoff ich zumindest :wink:
5 Elemente für die Bilder und eines für den Text. Es werden auch 5 Elemente angezeigt, aber in jedem steht immer der gleiche Bildname drin.

Hab mir das Ganze auch schon ein wenig angeschaut. Was mir seltsam vorkommt ist, dass in der Zeile 355 in der die Elemente in einer Schleife abgearbeitet werden, das hier drin steht:

Code: Alles auswählen

preg_match($regEx, $sTmpValue, $match);

müsste das nicht außerhalb der Schleife stehen?

Ich hab das mal geändert und jetzt funktionierts. Weiß aber nicht ob ich da nicht etwas falsch verstanden habe. Wenn vielleicht jemand nochmal drüberschauen könnte.

Code: Alles auswählen

<?php
# Initialization
$bDebug     = false;
$iDataStart = 30;
$lCount     = 0;

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

# Base settings
unset ($aSettings);
$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["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["DateType"]           = "CMS_VALUE[13]";
$aSettings["Date"]               = "CMS_VALUE[14]";
$aSettings["Template"]           = "CMS_VALUE[15]";
$aSettings["PageBrowsingType01"] = "CMS_VALUE[16]";
$aSettings["PageBrowsingType02"] = "CMS_VALUE[17]";
$aSettings["PageBrowsingType03"] = "CMS_VALUE[18]";
$aSettings["PageBrowsingType04"] = "CMS_VALUE[19]";
$aSettings["PageBrowsingType05"] = "CMS_VALUE[20]";
$aSettings["UseUTF8"]            = "CMS_VALUE[21]";

# 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 ($aSettings["ArticlePerPage"] == 0 || !is_numeric($_REQUEST["nextstep"]))
{
    $_REQUEST["nextstep"] = 0;
}
if (!is_numeric($aSettings["Category"]) || $aSettings["Category"] <= 0)
{
    $aSettings["Category"] = 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";
}

if ($aSettings["UseUTF8"] == "enabled")
{
    # Needed functions for UTF8 and PHP4 - Posted by "laurynas.butkus@gmail.com" at http://us2.php.net/manual/de/function.html-entity-decode.php
    ######
    # In PHP4 html_entity_decode() is not working well with UTF-8  spitting: "Warning: cannot yet handle MBCS in html_entity_decode()!".
    # This is working solution combining several workarounds:
    ######
    function html_entity_decode_utf8($string)
    {
        static $trans_tbl;
       
        // replace numeric entities
        $string = preg_replace('~&#x([0-9a-f]+);~ei', 'code2utf(hexdec("\\1"))', $string);
        $string = preg_replace('~&#([0-9]+);~e', 'code2utf(\\1)', $string);
    
        // replace literal entities
        if (!isset($trans_tbl))
        {
            $trans_tbl = array();
           
            foreach (get_html_translation_table(HTML_ENTITIES) as $val=>$key)
                $trans_tbl[$key] = utf8_encode($val);
        }
       
        return strtr($string, $trans_tbl);
    }
    
    // Returns the utf string corresponding to the unicode value (from php.net, courtesy - romans@void.lv)
    function code2utf($num)
    {
        if ($num < 128) return chr($num);
        if ($num < 2048) return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
        if ($num < 65536) return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
        if ($num < 2097152) return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
        return '';
    }
}

# 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;
        $iElementUseSummary = $iElementType + 4;
        /*$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]["ForceSummaryUsage"] = "CMS_VALUE[$iElementUseSummary]";
        /*$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;
            }
        }
        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 ($iElementUseSummary);

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 a.idcat AS idcat, b.level AS level FROM " . $cfg["tab"]["cat"] . " a, " . $cfg["tab"]["cat_tree"] . " b ";
            $sql .= "WHERE a.idcat = b.idcat ORDER BY 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(",", $aSettings["AddCats"]);
            foreach ($aCats as $value)
            {
                if (is_numeric($value))
                {
                    $sSelCats .= ",'".$value."'";
                }
            }
            break;
        default:
    } // end switch

    $sql  = "SELECT tblData.value AS headline, ARTLANG.pagetitle AS pagetitle, ARTLANG.summary AS summary, ARTLANG.idart AS id, ARTLANG.lastmodified AS lastmodified, " ;
    $sql .= "ARTLANG.created AS created, ARTLANG.published AS published, CATLANG.name AS category, ";
    $sql .= "ARTLANG.idartlang AS idartlang, CATART.idcat AS idcat, CATART.idcatart AS idcatart FROM ";
    $sql .= $cfg["tab"]["cat_art"] . " AS CATART, ";
    $sql .= $cfg["tab"]["art_lang"] . " AS ARTLANG, ";
    $sql .= $cfg["tab"]["cat_lang"] . " AS CATLANG, ";
    $sql .= $cfg["tab"]["content"] . " AS tblData ";

    $sql .= "WHERE CATART.idcat IN (" . $sSelCats . ") AND ARTLANG.idlang = '" . $lang . "' ";
    $sql .= "AND tblData.idartlang = ARTLANG.idartlang ";
    $sql .= "AND CATLANG.idlang = ARTLANG.idlang ";
    $sql .= "AND CATLANG.idcat = CATART.idcat ";
    $sql .= "AND ARTLANG.idart = CATART.idart ";

    if ($aSettings["ShowStart"] != "enabled")
    {
        if ($cfg["is_start_compatible"] == true)
        {
            $sql .= "AND CATART.is_start = '0' ";
        }
        else
        {
            $sql .= "AND tblData.idartlang != CATLANG.startidartlang ";
        }
    }

    $sql .= "AND ARTLANG.online = '1' ";
    $sql .= "AND " . $aSettings["HeadlineIdentifier"] . " ";

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

    // LIMIT
    if ($aSettings["ArticleCount"] > 0) {
        $sql .= "LIMIT 0, ".$aSettings["ArticleCount"];
    }

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

    if ($lCount > 0)
    {
        if (!is_object($db3))
        {
            $db3 = new DB_Contenido;
        }
        if (!is_object($db4))
        {
            $db4 = new DB_Contenido;
        }
        if ($aSettings["ArticlePerPage"] > 0)
        {
            $lStartCount = $_REQUEST["nextstep"];
            $lEndCount   = $_REQUEST["nextstep"] + $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"));
                    $aData[$i]["Link"]         = $sess->url("front_content.php?idcat=".$db2->f("idcat")."&idart=".$db2->f("id"));;
                    $aData[$i]["LastModified"] = $db2->f("lastmodified");
                    $aData[$i]["Created"]      = $db2->f("created");
                    $aData[$i]["Published"]    = $db2->f("published");
                    # nachstehende Daten   summary    eingefügt
                    $aData[$i]["Summary"]      = $db2->f("summary");
                    # nachstehende Daten   pagetitle  eingefügt
                    $aData[$i]["Pagetitle"]    = $db2->f("pagetitle");

                    $sTmpValue = html_entity_decode(strip_tags(urldecode($db2->f('headline'))));
                    if ($aSettings["HeadlineLength"] > 0 && strlen($sTmpValue) > $aSettings["HeadlineLength"])
                    {
                        # Cutting text but preserving words and entities
                        $sTmpValue = htmlentities(capiStrTrimAfterWord($sTmpValue, $aSettings["HeadlineLength"])."...");
                    }
                    $aData[$i]["Headline"] = $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 tblData.value AS value, tblData.idtype AS idtype, tblData.typeid AS typeid FROM ";
                        $sql .= $cfg["tab"]["cat_art"] . " AS tblCatArt, ";
                        $sql .= $cfg["tab"]["art_lang"] . " AS tblArtLang, ";
                        $sql .= $cfg["tab"]["content"] . " AS tblData ";
                        $sql .= "WHERE tblData.idartlang = tblArtLang.idartlang AND ";
                        $sql .= "tblArtLang.idlang = '" . $lang . "' AND ";
                        $sql .= "tblArtLang.idart = tblCatArt.idart AND ";
                        $sql .= "tblCatArt.idcatart = '" . $db2->f("idcatart") . "' AND (";
                        
                        $sql_items = "";
                        for ($k = 0; $k < $aSettings["Elements"]; $k++)
                        {
                            if ($aSettings["k".$k]["Identifier"] != "")
                            {
                                if ($sql_items != "")
                                {
                                    $sql_items .= " OR (" . $aSettings["k" . $k]["Identifier"] . ")";
                                }
                                else
                                {
                                    $sql_items = "(" . $aSettings["k" . $k]["Identifier"] . ")";
                                }
                            }
                        } // end for
                        $sql .= $sql_items . ")";

                        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
                            
                            
                             $sTmpValue = urldecode($db3->f('value'));
   
                             $regEx = "/<img[^>]*?>.*?/i";
                                              #  $match = array ();
                             preg_match_all($regEx, $sTmpValue, $match);

                                             
                            
                           
                            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 dirname, filename FROM " . $cfg["tab"]["upl"] . " ";
                                                $sql .= "WHERE idupl = '" . $db3->f('value') . "'";
                                            }
                                            else
                                            {
                                               /*
                                                $sTmpValue = urldecode($db3->f('value'));
   
                                                $regEx = "/<img[^>]*?>.*?/i";
                                                #$match = array ();
                                                preg_match($regEx, $sTmpValue, $match[0]);
*/
                                               
                                                
                                                $regEx = "/(src)(=)(['\"]?)([^\"']*)(['\"]?)/i";
                                                $img = array ();
                                                preg_match($regEx, $match[0][$k], $img);
                                                
                                                 
                                                
                                                $img_src = preg_split("/\//", $img[4]);
                                                    
                                                    
                                                
                                                #$img_name = $img_src[count($img_src) - 1];
                                                #$img_name = preg_replace("/\"/", "", $img_name);
                                                
                                                $img_name = $img_src[2];

                                                #Don't know what is happening here, exactly...
                                                # $img_split = preg_split("/\./", $img_name);
                                                # $img_type = $img_split[count($img_split) - 1];
                                                # $img_split2 = preg_split("/_/", $img_split[0]);

                                                $name = strtolower($img_name);

                                                #Don't know what is happening here, exactly...
                                                #if (count($img_split2) > 1) {
                                                #   $img_x = $img_split2[count($img_split2) - 1];
                                                #   $img_y = $img_split2[count($img_split2) - 2];

                                                #   if (is_numeric($img_x) AND is_numeric($img_y)) {
                                                #      $suffix = "_".$img_x."_".$img_y.".".$img_type;
                                                #      $name = preg_replace("/$suffix/", "", $img_name);
                                                #      $name = $name.".[a-zA-Z]{3}";
                                                #   }
                                                #}
                                              
                                                if (strlen($name) > 0)
                                                {   

                                                    $sql =  "SELECT dirname, filename FROM " . $cfg["tab"]["upl"] . " ";
                                                    $sql .= "WHERE LOWER(filename) = '$name'";
                                                    // $sql .= "WHERE filename REGEXP '$name'"; // Old: for 'banner.jpg' 'merlin_banner.jpg' is also returned
                                                }
                                            }
 
                                            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;
                                        default:
                                            if ($aSettings["UseUTF8"] != "enabled")
                                            {
                                                $sTmpValue = html_entity_decode(strip_tags(urldecode($db3->f('value'))));
                                            }
                                            else
                                            {

                                                $sTmpValue = html_entity_decode_utf8(strip_tags(urldecode($db3->f('value'))));
                                            }
                                            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;
                                            echo "$sTmpValue ".$sTmpValue."<br>";
                                    } // end switch
                                }
                            } // 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["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]["ForceSummaryUsage"]: Per Element: 
        #
        # 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["Summary"]:                      summary Zusammenfassung
        # $aValue["Pagetitle"]:                    Seitentitel pagetitle
        #
        # 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
    
        /* Init Template */
    
        if (!is_object($tpl)) {
            $tpl = new Template;
        }
        $tpl->reset();
    
        $tpl->set('s', 'TITLE', $newsheadline);
    
        foreach ($aData as $aValue)
        {
        
        
            $artlist_summary = $aValue["Summary"];
            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, false);
        
                                    #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"];
                                }
                            }
                            
                            if ($image != "")
                            {
                                $artlist_image = '<img class="articlelistImage" src="' . $image . '" width="' . $width . '" height="' . $height . '" alt="' . mi18n("Article Thumb") . '" />'; // align="' . $aSettings["k" . $i]["ElementImgAlign"] . '" style="padding:' . $aSettings["k" . $i]["ElementPadding"] . ';"
                            }
                            else
                            {
                                $artlist_image = "";
                            }
                    #        echo $artlist_image;
                            
                            $tpl->set('d', 'IMG_'.$i,  $artlist_image);
                            
                            break;
                        default: // Everything else is treated as "Text"
                            if ($artlist_summary != "" && $aSettings["k" . $i]["ForceSummaryUsage"] == "force")
                            {
                                $artlist_text = $artlist_summary;
                                $tpl->set('d', 'TEXT_'.$i,  $artlist_text);
                            }
                            else
                            {
                                $artlist_text = $aValue["i" . $i]["Value"];
                                $tpl->set('d', 'TEXT_'.$i,  $artlist_text);
                            }
                            #echo $artlist_text;
                    } // end switch
                } // end for
            }
            $artlist_more = mi18n("More");
    
            if($aSettings["DateType"] == "create")
            {
                $tmp_artlist_Date = strtotime($aValue["Created"]);
            }
            else
            {
                $tmp_artlist_Date = strtotime($aValue["Published"]);
            }
    
            if($aSettings["Date"] != "-1")
            {
                $artlist_lastmod = date($aSettings["Date"], $tmp_artlist_Date);
                if(strlen($artlist_lastmod) > 12)
                {
                    $artlist_lastmod = $artlist_lastmod . mi18n(" Uhr");
                }
            }
            else
            {
                $artlist_lastmod = "";
            }
            
            $tpl->set('d', 'PAGELINK', $aValue["Link"]);
            $tpl->set('d', 'PAGETITEL', $aValue["Pagetitle"]);
            $tpl->set('d', 'HEADLINE', $aValue["Headline"]);
            $tpl->set('d', 'DATE', $artlist_lastmod);
            $tpl->set('d', 'MORE', $artlist_more);
    
            $tpl->next();
    
        } // end foreach
    }

    # Page browsing
    # Hint: Number of max available records: $lCount
    #       Number of pages: round($lCount / $aSettings["ArticlePerPage"])
    #       First page: nextstep=0
    #       Last page:  nextstep=(round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"];
    #                   (I have to admit that I'm not sure about the last page formula ... ;-) )
    if ($aSettings["ArticlePerPage"] > 0)
    {
        $iPages = intval(ceil($lCount / $aSettings["ArticlePerPage"]));
        
        # Example: Back and Next
        $sPageBrowsingType01 = '';
        if ($aSettings["PageBrowsingType01"] == "enabled")
        {
            if ($_REQUEST["nextstep"] > 0)
            {
                $sPageBrowsingType01 .= '<div class="articlelistBack">';
                $sPageBrowsingType01 .= '<a href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . ($_REQUEST["nextstep"] - $aSettings["ArticlePerPage"]) . '">' . mi18n("Back") . '</a>';
                $sPageBrowsingType01 .= '</div>';
            }
            
            if (($_REQUEST["nextstep"] + $aSettings["ArticlePerPage"]) < $lCount)
            {
                $sPageBrowsingType01 .= '<div class="articlelistNext">';
                $sPageBrowsingType01 .= '<a href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . ($_REQUEST["nextstep"] + $aSettings["ArticlePerPage"]) . '">' . mi18n("Next") . '</a>';
                $sPageBrowsingType01 .= '</div>';
            }
        }

        # Example: 1 2 3 4 5 6 7 ...
        $sPageBrowsingType02 = '';
        if ($aSettings["PageBrowsingType02"] == "enabled")
        {
            for ($i = 1; $i <= $iPages; $i++)
            {
                $lNextStep = ($i - 1) * $aSettings["ArticlePerPage"];
                if ($sPageBrowsingType02 != '')
                {
                    $sPageBrowsingType02 .= '&nbsp;';
                }
                
                if ($_REQUEST["nextstep"] == $lNextStep)
                {
                    $sPageBrowsingType02 .= $i; # I'm on the current page, no link
                }
                else
                {
                    $sPageBrowsingType02 .= '<a class="articlelistPageNumber" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . $lNextStep . '">' . $i . '</a>';
                }
            }
        }

        # Example: Seite 1 von 7
        $sPageBrowsingType03 = '';
        if ($aSettings["PageBrowsingType03"] == "enabled")
        {
            for ($i = 1; $i <= $iPages; $i++)
            {
                $lNextStep = ($i - 1) * $aSettings["ArticlePerPage"];
                if ($sPageBrowsingType03 != '')
                {
                    $sPageBrowsingType03 .= '&nbsp;';
                }
                
                if ($_REQUEST["nextstep"] == $lNextStep)
                {
                    $sPageBrowsingType03 .= mi18n("Page") . ' ' . $i . ' ' . mi18n("of") . ' ' . $iPages; # I'm on the current page, no link
                }
            }
        }

        # Example: |< 1 ... 3 4 5 ... 8 >|
        $sPageBrowsingType04 = '';
        if ($aSettings["PageBrowsingType04"] == "enabled")
        {
            $sPageBrowsingType04 .= '<a class="articlelistBegin" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=0">' . mi18n("Begin") . ' |<</a>';
            for ($i = 1; $i <= $iPages; $i++)
            {
                $lNextStep = ($i - 1) * $aSettings["ArticlePerPage"];
                if ($i == 1 || $i == $iPages)
                {
                    if ($sPageBrowsingType04 != '')
                    {
                        $sPageBrowsingType04 .= '&nbsp;';
                    }
                    
                    if ($_REQUEST["nextstep"] == $lNextStep)
                    {
                        $sPageBrowsingType04 .= $i; # I'm on the current page, no link
                    }
                    else
                    {
                        $sPageBrowsingType04 .= '<a class="articlelistPageNumber" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . $lNextStep . '">' . $i . '</a>';
                    }
                }
                elseif ($_REQUEST["nextstep"] == $lNextStep)
                {
                    $sPageBrowsingType04 .= '&nbsp;' . $i . "\n"; # I'm on the current page, no link
                }
                elseif ($_REQUEST["nextstep"] == ($lNextStep + $aSettings["ArticlePerPage"]))
                {
                    # Front
                    $sPageBrowsingType04 .= '&nbsp;<a class="articlelistPageNumber" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . $lNextStep . '">' . $i . '</a>';
                }
                elseif ($_REQUEST["nextstep"] == ($lNextStep - $aSettings["ArticlePerPage"]))
                {
                    # Back
                    $sPageBrowsingType04 .= '&nbsp;<a class="articlelistPageNumber" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . $lNextStep . '">' . $i . '</a>';
                }
                elseif ($_REQUEST["nextstep"] == ($lNextStep - (2 * $aSettings["ArticlePerPage"])) ||
                        $_REQUEST["nextstep"] == ($lNextStep + (2 * $aSettings["ArticlePerPage"])))
                {
                    $sPageBrowsingType04 .= '...';
                }
            }
            $sPageBrowsingType04 .= '&nbsp;<a class="articlelistEnd" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . (round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"] . '">>| ' . mi18n("End") . '</a>';
        }
        
        # Example: << < 1 ... 3 4 5 ... 8 > >>
        // First Page
        $sPageBrowsingType05 = '';
        if ($aSettings["PageBrowsingType05"] == "enabled")
        {
            if (isset($_GET['nextstep']) && !(($_GET['nextstep']) == 0))
            {
                $sPageBrowsingType05 .= '<a class="articlelistBegin" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep=0" title="' . mi18n("Begin") . '">&laquo;</a> &nbsp;';
            }
            elseif (isset($_GET['nextstep']) && (($_GET['nextstep']) == 0) || !isset($_GET['nextstep']))
            {
                $sPageBrowsingType05 .= '&laquo; &nbsp;';
            }
            
            // Previous Page
            if (isset($_GET['nextstep']) && !(($_GET['nextstep']) == 0))
            {
                $sPageBrowsingType05 .= '<a class="articlelistPrevious" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . ($_REQUEST["nextstep"] - $aSettings["ArticlePerPage"]) . '" title="' . mi18n("Previous") . '">&lsaquo;</a> &nbsp;';
            }
            elseif (isset($_GET['nextstep']) && (($_GET['nextstep']) == 0) || !isset($_GET['nextstep']))
            {
                $sPageBrowsingType05 .= '&lsaquo; &nbsp;';
            }
            
            for ($i = 1; $i <= $iPages; $i++) {
                $lNextStep = ($i - 1) * $aSettings["ArticlePerPage"];
                if ($i == 1 || $i == $iPages) {
                    if ($sPageBrowsingType05 != '') {
                        $sPageBrowsingType05 .= '&nbsp;';
                    }
                    if ($_REQUEST["nextstep"] == $lNextStep) {
                        $sPageBrowsingType05 .= $i; # I'm on the current page, no link
                    } else {
                        $sPageBrowsingType05 .= '<a class="articlelistPageNumber" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.$lNextStep.'">'.$i.'</a>';
                    }
                } else if ($_REQUEST["nextstep"] == $lNextStep) {
                    $sPageBrowsingType05 .= '&nbsp;'.$i; # I'm on the current page, no link
                } else if ($_REQUEST["nextstep"] == ($lNextStep + $aSettings["ArticlePerPage"])) {
                    # Forward
                    $sPageBrowsingType05 .= '&nbsp;<a class="articlelistPageNumber" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.$lNextStep.'">'.$i.'</a>';
                } else if ($_REQUEST["nextstep"] == ($lNextStep - $aSettings["ArticlePerPage"])) {
                    # Back
                    $sPageBrowsingType05 .= '&nbsp;<a class="articlelistPageNumber" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.$lNextStep.'">'.$i.'</a>';
                } else if ( $_REQUEST["nextstep"] == ($lNextStep - (2 * $aSettings["ArticlePerPage"])) ||
                            $_REQUEST["nextstep"] == ($lNextStep + (2 * $aSettings["ArticlePerPage"]))) {
                    $sPageBrowsingType05 .= '...';
                }
            }
        
            // Next Page
            if (isset($_GET['nextstep']) && !(($_GET['nextstep']) == ((round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"])))
            {
                $sPageBrowsingType05 .= '&nbsp; <a class="articlelistNext" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . ($_REQUEST["nextstep"] + $aSettings["ArticlePerPage"]) . '" title="' . mi18n("Next") . '">&rsaquo;</a>';
            }
            elseif (isset($_GET['nextstep']) && (($_GET['nextstep']) == ((round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"])))
            {
                $sPageBrowsingType05 .= '&nbsp; &rsaquo;';
            }
            else
            {
                $sPageBrowsingType05 .= '&nbsp; <a class="articlelistNext" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . $aSettings["ArticlePerPage"] . '" title="' . mi18n("Next") . '">&rsaquo;</a>';
            }
            
            // Last Page
            if (isset($_GET['nextstep']) && !(($_GET['nextstep']) == ((round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"])) || !isset($_GET['nextstep']))
            {
                $sPageBrowsingType05 .= '&nbsp; <a class="articlelistEnd" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.(round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"].'" title="' . mi18n("End") . '">&raquo;</a>';
            }
            elseif (isset($_GET['nextstep']) && (($_GET['nextstep']) == ((round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"])))
            {
                $sPageBrowsingType05 .= '&nbsp; &raquo;';
            }
        }
    }
    $tpl->set('s', 'PAGEBROWSINGTYPE01', $sPageBrowsingType01);
    $tpl->set('s', 'PAGEBROWSINGTYPE02', $sPageBrowsingType02);
    $tpl->set('s', 'PAGEBROWSINGTYPE03', $sPageBrowsingType03);
    $tpl->set('s', 'PAGEBROWSINGTYPE04', $sPageBrowsingType04);
    $tpl->set('s', 'PAGEBROWSINGTYPE05', $sPageBrowsingType05);
    $tpl->generate($aSettings["Template"]);
}
# Clearing memory
unset ($aData);
unset ($aSettings);
unset ($i);
unset ($lCount);
unset ($bDebug);
?>

yui
Beiträge: 140
Registriert: Di 17. Jun 2003, 17:55
Kontaktdaten:

Re: Modul: Standard-Artikelliste Advanced v2.2.2

Beitrag von yui » Mo 7. Dez 2009, 13:06

Hallo funomat,

vielen Dank für das Modul, welches ich so schon oft verwendet habe.

In Deiner Beschreibung zu dem Modul habe ich diesen Text gefunden:
- Anzeige der Kategorie-Bezeichnung
Was meinst Du damit? Wo taucht die Kategorie auf?

Ich frage, da ich die Artikelliste getrennt nach ihren Kategorien und mit deren Bezeichnung als Überschrift darstellen möchte. Laut Deiner Aussage geht das nicht. Da aber doch die Artikel sortiert werden nach u.a. idcat müsste es doch irgendwie möglich sein. Oder wie siehst Du das?

schöne GRüsse
yui
Ich weiß, dass ich nichts weiß. Sokrates

funomat
Beiträge: 345
Registriert: Do 26. Feb 2004, 22:13
Wohnort: Neuss
Kontaktdaten:

Re: Modul: Standard-Artikelliste Advanced v2.2.2

Beitrag von funomat » Mo 7. Dez 2009, 13:45

Hallo yui,
yui hat geschrieben:Was meinst Du damit? Wo taucht die Kategorie auf?
muss gerade selber ein wenig stutzen, da ich jetzt auch nicht weiß, was damit gemeint ist!! Ich habe das Modul ja nur weiterentwickelt und dieser Teil der Beschreibung stammt noch von HerrB! Ich müsste mir noch einmal den Quellcode genauer anschauen, um zu sehen wo diese Funktionalität eingebaut sein soll. Evtl. ist da bei der Umstellung auf Templates etwas verloren gegangen.
yui hat geschrieben:Laut Deiner Aussage geht das nicht. Da aber doch die Artikel sortiert werden nach u.a. idcat müsste es doch irgendwie möglich sein. Oder wie siehst Du das?
Auch diese Aussage stammt von HerrB und ich habe mir bisher da auch keine weiteren Gedanken zu gemacht. Rein theoretisch würde ich auch sagen, dass es irgendwie möglich sein sollte. Praktisch kann ich es aber zur Zeit nicht prüfen da ich bis mind. Ende des Jahres zu viel um die Ohren habe. Wenn Dir was dazu einfallen sollte, dann immer her mit der Lösung.

@alle: Zur Zeit kann ich nur Bugs entfernen oder Funktionalitäten einbauen, die ich selber benötige. Da wird auch in den nächsten Tagen noch was neues kommen. Alle die Änderungswünsche haben, diese aber nicht umsetzen können, muss ich allerdings vertrösten. Ausser Ihr seid bereit auch den eine oder anderen Euro zu investieren, dann kann man noch einmal drüber reden.

Gruß,
funomat
tiago.de | adk-msi.de | iseringhausen.de | the-iseringhausen.de
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)

Gesperrt