Kategoriemodul

Tom Quenten
Beiträge: 125
Registriert: Do 10. Jun 2004, 13:55
Wohnort: Gallinchen
Kontaktdaten:

Beitrag von Tom Quenten » Mo 5. Jul 2004, 10:23

Geht net, ich glaube ich habe hier ein dickes Problem und könnte heulen. Habe jetzt mal im Forum gesucht nach Bildgenerierung, ImageMagick und GD alles was ich so rauslesen konnte eben. Es gibt offensichtlich viele Probleme damit, nur leider verstehe ich von den Begriffen nur Bahnhof.

Ein Tipp wo ich jetzt anfangen kann das Problem aufzuknöpfen, wäre super, an deinen Modulen schient es ja nu nicht zu liegen.

Meine Konfig
Linux 9.0
Apache 2.0
MySQL
PHP 4

Danke!

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

Beitrag von kummer » Mo 5. Jul 2004, 10:31

am besten du machst folgendes:

(1) lege ein verzeichnis und darin eine datei mit der bezeichnung index.php an: z.b. {deinrootverzeichnis}/testarea/phpinfo/index.php

(2) die datei enthält nur eine befehlszeile:

Code: Alles auswählen

<?
phpinfo();
?>
(3) dann rufst du diese datei über deinen browser auf:
http://{deinedomäne}/testarea/phpinfo/

(4) du erhälst dann die php-konfiguration

(5) dann suchst du darin nach: gd und imagemagick

(6) wenn du weder noch findest, dann kannst du keine bilder generieren oder verändern.

(7) wenn du die gd mit einer version grösser 2 findest, sollten meine module funktionieren.

(8) falls du imagemagick findest, dann funktionieren zwar meine module nicht, aber dann gibt es einen anderen weg, die bilder zu generieren.

gruss,
andreas
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)

Tom Quenten
Beiträge: 125
Registriert: Do 10. Jun 2004, 13:55
Wohnort: Gallinchen
Kontaktdaten:

Beitrag von Tom Quenten » Mo 5. Jul 2004, 11:01

Also dies hat er mir ausgegeben...

GD Support enabled
GD Version bundled (2.0.15 compatible)
FreeType Support enabled
FreeType Linkage with freetype
T1Lib Support enabled
GIF Read Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled

imagemagick gibts net


ist hier irgendwas falsch?

Tom Quenten
Beiträge: 125
Registriert: Do 10. Jun 2004, 13:55
Wohnort: Gallinchen
Kontaktdaten:

Beitrag von Tom Quenten » Mo 5. Jul 2004, 12:18

also ich habe jetzt noch mal rumgespielt mit beiden deiner module, bei beiden generiert er immer die oben genanten imagelinks also nach dem schema .....upload/auto_thumbnails/100_51.jpg.

er übernimmt einfach den dateinamen nicht und macht stattdessen immer eine zahl, den upload übrigens auchnicht, also in dem verzeichnis liegt nichts drin, obwohl ich die rechte mehrmals überprüft habe. (777)

Tom Quenten
Beiträge: 125
Registriert: Do 10. Jun 2004, 13:55
Wohnort: Gallinchen
Kontaktdaten:

Beitrag von Tom Quenten » Di 6. Jul 2004, 09:55

Hallo Andreas,

mühsam ernährt sich das Eichhörnchen....
Habe noch was wichtiges gefunden in den Apache LogProtokollen!!!
Wenn ich mir das so anschaue (das fette) kann selbst ich sagen das was mit der Config nicht stimmt oder aber mit den Variblen in dem Code. Ich habe die Config noch mal durchgeschaut sowiet wie ich das sehen kann aber kein Fehler festgestellt, ich habe mich an die gegebenen kurzen Infos zu den Pfadangaben gehalten.

[client 217.225.185.240] PHP Warning: Division by zero in /srv/www/htdocs/web1/html/tlcc/frontend/front_content.php(563) : eval()'d code on line 716
[client 217.225.185.240] PHP Warning: imagecreatetruecolor(): Invalid image dimensions in /srv/www/htdocs/web1/html/tlcc/frontend/front_content.php(563) : eval()'d code on line 722
[client 217.225.185.240] PHP Warning: imagecreatefromgd(/srv/www/htdocs/web1/html/tlcc/frontend//srv/www/htdocs/web1/html/tlcc/frontend/upload/bilder/tlcc.tarife.jpg): failed to open stream: No such file or directory in /srv/www/htdocs/web1/html/tlcc/frontend/front_content.php(563) : eval()'d code on line 729
[client 217.225.185.240] PHP Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /srv/www/htdocs/web1/html/tlcc/frontend/front_content.php(563) : eval()'d code on line 732
[client 217.225.185.240] PHP Warning: imagejpeg(): supplied argument is not a valid Image resource in /srv/www/htdocs/web1/html/tlcc/frontend/front_content.php(563) : eval()'d code on line 733
[client 217.225.185.240] PHP Warning: getimagesize(): Unable to access /srv/www/htdocs/web1/html/tlcc/frontend//srv/www/htdocs/web1/html/tlcc/frontend/upload/auto_thumbnails/100_21.jpg in /srv/www/htdocs/web1/html/tlcc/frontend/front_content.php(563) : eval()'d code on line 742
[client 217.225.185.240] PHP Warning: getimagesize(/srv/www/htdocs/web1/html/tlcc/frontend//srv/www/htdocs/web1/html/tlcc/frontend/upload/auto_thumbnails/100_21.jpg): failed to open stream: Permission denied in /srv/www/htdocs/web1/html/tlcc/frontend/front_content.php(563) : eval()'d code on line 742

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

Beitrag von kummer » Di 6. Jul 2004, 10:00

diesen pfad kann es tatsächlich nicht geben. mittendrin sind zwei aufeinander folgende slashes (/). das gibt es in einem pfad nie.

du musst im modul bei der pfadkonfiguration das slash am anfang respektive am ende entfernen, damit es nicht mehr doppelt auftritt.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)

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

Beitrag von kummer » Di 6. Jul 2004, 10:59

hier nochmals der code, wie ich ihn hier (siehe link) verwende:

http://www.w3concepts.net/1/1/45.html

Input-Script:

Code: Alles auswählen

/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname   :	    w3concepts_alist_v1
* Author      :     Andreas Kummer
* Copyright   :     mumprecht & kummer w3concepts
* Created     :     06-05-2004
* Modified    :     06-05-2004
************************************************/


$selected = "CMS_VALUE[0]";

echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\"><tr valign=\"top\"><td>Kategorie wählen:</td><td><select name=\"CMS_VAR[0]\">";

if($selected!="0" && $selected!=""){
    echo"<option value=\"0\">--- kein ---</option>";
} else {
    echo"<option selected=\"selected\" value=\"0\">--- kein ---</option>";
}

$sql = "
    SELECT a.idcat, a.level, c.name
    FROM {$cfg['tab']['cat_tree']} AS a,
         {$cfg['tab']['cat']} AS b,
         {$cfg['tab']['cat_lang']} AS c
    WHERE
        a.idcat = b.idcat
        AND b.idcat = c.idcat
        AND c.idlang='$lang'
        AND b.idclient='$client'
        AND c.visible = 1
    ORDER BY a.idtree
    ";

$db->query($sql);

while ($db->next_record()) {
    $spaces = "|";
    $levels = $db->f("level");
    for ($i = 0; $i < $levels; $i ++) {
        $spaces = $spaces . "--";
    }
    $spaces .= ">";

    if ($selected == $db->f("idcat")) {
        echo "<option selected=\"selected\" value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";
    } else {
        echo "<option value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";
    }
}

echo "</select></td></tr>";

echo "<tr><td>Anzahl Artikel je Seite:</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[1]\" value=\"CMS_VALUE[1]\" size=\"3\" /></td>";

echo "<tr><td>Startartikel anzeigen?</td>";
$startartikel = "CMS_VALUE[2]";
if ($startartikel != '') {
    echo "<td><input type=\"checkbox\" name=\"CMS_VAR[2]\" value=\"true\" size=\"3\" checked=\"checked\"/></td>";
} else {
    echo "<td><input type=\"checkbox\" name=\"CMS_VAR[2]\" value=\"true\" size=\"3\"/></td>";
}

echo "<tr><td>Anzahl angezeigte Zeichen der Subheadline:</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[3]\" value=\"CMS_VALUE[3]\" size=\"5\" /></td>";

echo "<tr><td>Text für Previous-Link:</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[4]\" value=\"CMS_VALUE[4]\" size=\"15\" /></td>";

echo "<tr><td>Text für Next-Link:</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[5]\" value=\"CMS_VALUE[5]\" size=\"15\" /></td>";

echo "<tr><td>Thumbnail-Breite:</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[7]\" value=\"CMS_VALUE[7]\" size=\"5\" /></td>";

echo "<tr><td>Artikel anzeigen bis:</td>";
echo "<td><select name=\"CMS_VAR[6]\">";
$ebene = "CMS_VALUE[6]";
for ($i=0;$i>-3;$i--) {
    if ($i == $ebene) {
        echo"<option value=\"$i\" selected=\"selected\">Ebene $i</option>";
    } else {
        echo"<option value=\"$i\">Ebene $i</option>";
    }
}

echo "</table>";
Output-Script:

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     w3concepts_alist_v1
* Author      :     Andreas Kummer
* Copyright   :     mumprecht & kummer w3concepts
* Created     :     06-05-2004
* Modified    :     06-05-2004
************************************************/

    // manuelle konfiguration des moduls
    $uploadpfad = "/cms/upload/"; // relativ zum root-verzeichnis (mit slash am anfang und am ende)
    $thumbnailpfad = "/cms/upload/bilder/auto_thumbnails/"; //relativ zum root-verzeichnis (mit slash am anfang und am ende)

    // konfiguration

    $categorie = "CMS_VALUE[0]";

    $angezeigte_anzahl = "CMS_VALUE[1]";
    if ($angezeigte_anzahl == '') $angezeigte_anzahl = 10;

    $startartikel = "CMS_VALUE[2]";
    if ($startartikel == '') $startartikel = false;

    $subheadline = "CMS_VALUE[3]";
    if ($subheadline == '') $subheadline = 200;

    $navigationslink['previous'] = "CMS_VALUE[4]";
    if ($navigationslink['previous'] == '') $navigationslink['previous'] = '[:: rückwärts ]';

    $navigationslink['next'] = "CMS_VALUE[5]";
    if ($navigationslink['next'] == '') $navigationslink['next'] = '[ vorwärts ::]';

    $ebene = "CMS_VALUE[6]";

    $bildbreite = "CMS_VALUE[7]";

    $limit = (isset($_GET['displaylimit']) && $_GET['displaylimit'] > 0)?($_GET['displaylimit']):(0);

    $db = new DB_Contenido;
    $db2 = new DB_Contenido;

    // wenn startartikel true ist, werden die startartikel dargestellt, sonst nicht
    $nurstartartikel = ($startartikel)?(''):('AND d.is_start = 0');

    // liest die anzahl betroffener artikel aus der datenbank
    switch ($ebene) {
        case -2:
            $sql_1 = "
                SELECT count(*) AS anzahl
                FROM {$cfg['tab']['cat']} AS a,
                     {$cfg['tab']['cat']} AS b,
                     {$cfg['tab']['cat']} AS c
                LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat
                LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
                WHERE
                    (
                        (
                            c.parentid = b.idcat
                            AND b.parentid = a.idcat
                        )
                        OR
                        (
                            c.idcat = b.idcat
                            AND b.parentid = a.idcat
                        )
                        OR
                        (
                            c.idcat = b.idcat
                            AND b.idcat = a.idcat
                        )
                    )
                    AND a.idcat = $categorie
                    AND e.online = 1
                    AND e.redirect = 0
                    AND e.external_redirect = 0
                    AND e.idlang = $lang
                    $nurstartartikel
                ";
            $sql_2 = "
                SELECT c.idcat, d.idart, e.idartlang, e.created, DATE_FORMAT(e.created,'%d.%m.%y') AS erstellungsdatum
                FROM {$cfg['tab']['cat']} AS a,
                {$cfg['tab']['cat']} AS b,
                {$cfg['tab']['cat']} AS c
                LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat
                LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
                WHERE
                    (
                        (
                            c.parentid = b.idcat
                            AND b.parentid = a.idcat
                        )
                        OR
                        (
                            c.idcat = b.idcat
                            AND b.parentid = a.idcat
                        )
                        OR
                        (
                            c.idcat = b.idcat
                            AND b.idcat = a.idcat
                        )
                    )
                    AND a.idcat = $categorie
                    AND e.online = 1
                    AND e.redirect = 0
                    AND e.external_redirect = 0
                    AND e.idlang = $lang
                    $nurstartartikel
                ORDER BY e.created DESC
                LIMIT $limit, $angezeigte_anzahl
                ";
            break;
        case -1:
            $sql_1 = "
                SELECT count(*) AS anzahl
                FROM {$cfg['tab']['cat']} AS a,
                     {$cfg['tab']['cat']} AS b,
                     {$cfg['tab']['cat']} AS c
                LEFT JOIN {$cfg['tab']['cat_art']} AS d ON b.idcat = d.idcat
                LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
                WHERE
                    (
                        (
                            c.idcat = b.idcat
                            AND b.parentid = a.idcat
                        )
                        OR
                        (
                            c.idcat = b.idcat
                            AND b.idcat = a.idcat
                        )
                    )
                    AND a.idcat = $categorie
                    AND e.online = 1
                    AND e.redirect = 0
                    AND e.external_redirect = 0
                    AND e.idlang = $lang
                    $nurstartartikel
                ";
            $sql_2 = "
                SELECT c.idcat, d.idart, e.idartlang, e.created, DATE_FORMAT(e.created,'%d.%m.%y') AS erstellungsdatum
                FROM {$cfg['tab']['cat']} AS a,
                {$cfg['tab']['cat']} AS b,
                {$cfg['tab']['cat']} AS c
                LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat
                LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
                WHERE
                    (
                        (
                            c.idcat = b.idcat
                            AND b.parentid = a.idcat
                        )
                        OR
                        (
                            c.idcat = b.idcat
                            AND b.idcat = a.idcat
                        )
                    )
                    AND a.idcat = $categorie
                    AND e.online = 1
                    AND e.redirect = 0
                    AND e.external_redirect = 0
                    AND e.idlang = $lang
                    $nurstartartikel
                ORDER BY e.created DESC
                LIMIT $limit, $angezeigte_anzahl
                    ";
            break;
        case 0:
            $sql_1 = "
                SELECT count(*) AS anzahl
                FROM {$cfg['tab']['cat']} AS a,
                     {$cfg['tab']['cat']} AS b,
                     {$cfg['tab']['cat']} AS c
                LEFT JOIN {$cfg['tab']['cat_art']} AS d ON b.idcat = d.idcat
                LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
                WHERE
                    (
                        (
                            c.idcat = b.idcat
                            AND b.idcat = a.idcat
                        )
                    )
                    AND a.idcat = $categorie
                    AND e.online = 1
                    AND e.redirect = 0
                    AND e.external_redirect = 0
                    AND e.idlang = $lang
                    $nurstartartikel
                ";
            $sql_2 = "
                SELECT c.idcat, d.idart, e.idartlang, e.created, DATE_FORMAT(e.created,'%d.%m.%y') AS erstellungsdatum
                FROM {$cfg['tab']['cat']} AS a,
                {$cfg['tab']['cat']} AS b,
                {$cfg['tab']['cat']} AS c
                LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat
                LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
                WHERE
                    (
                        (
                            c.idcat = b.idcat
                            AND b.idcat = a.idcat
                        )
                    )
                    AND a.idcat = $categorie
                    AND e.online = 1
                    AND e.redirect = 0
                    AND e.external_redirect = 0
                    AND e.idlang = $lang
                    $nurstartartikel
                ORDER BY e.created DESC
                LIMIT $limit, $angezeigte_anzahl
                    ";
            break;
    }

    $db->query($sql_1);
    $db->next_record();
    $anzahl_artikel = $db->f("anzahl");

    $db->query($sql_2);

    echo '<p><table cellpadding="0" cellspacing="0" style="width:100%"><tr style="height:1px;"><td></td><td style="width:200px;"></td><td style="width:50px;"></td></tr>';

    while ($db->next_record()) {
        
        $sql = "
            SELECT a.value, a.typeid, b.type, c.filename, c.dirname FROM {$cfg['tab']['content']} AS a
            LEFT JOIN {$cfg['tab']['type']} AS b ON a.idtype = b.idtype
            LEFT JOIN {$cfg['tab']['upl']} AS c ON a.value = c.idupl
            WHERE
            a.idartlang = ".$db->f("idartlang")."
            AND (
                b.type = 'CMS_HTMLHEAD'
                OR b.type = 'CMS_IMG'
            )
            ORDER BY b.type, a.typeid ASC
            ";

        // print "<p>$sql</p>";

        $db2->query($sql);
        $db2->next_record();

        // $link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=".$db->f("idcat")."&idart=".$db->f("idart"));
        $link = $sess->url("/$client/$lang/".$db->f("idcat")."/".$db->f("idart").".html");

        echo "<tr><td colspan=\"2\" class=\"artlist_headline\"><a href=\"$link\" class=\"artlist_headlinelink\">".urldecode($db2->f("value"))."</a></td>";
        echo "<td class=\"artlist_date\">".$db->f("erstellungsdatum")."</td></tr>";

        $db2->next_record();

        // die subheadline auf die gewünschte länge reduzieren (trennung nur
        // nach bzw. vor einem ganzen wort
        if (strlen($db2->f("value")) > $subheadline) {
            $newsubheadline = '';
            $worte = explode (" ",strip_tags(urldecode($db2->f("value"))));
            $zulang = false;
            foreach ($worte as $wort) {
                if (strlen($newsubheadline." ".$wort) >= $subheadline) $zulang = true;
                $newsubheadline = (!$zulang)?($newsubheadline." ".$wort):($newsubheadline);
            }
            $newsubheadline .= "...";
        } else {
            $newsubheadline = strip_tags(urldecode($db2->f("value")));
        }

        $bild_vorhanden = false;
        while ($db2->next_record()) {
            if ($db2->f("type") == 'CMS_IMG' && $db2->f("typeid") == 1) {
                $bilddateiname = "{$thumbnailpfad}{$bildbreite}_".$db2->f("filename").".jpg";
                if (!file_exists($cfg['path']['frontend'].$bilddateiname)) {

                    $src_image_size = getimagesize($cfg['path']['frontend'].$uploadpfad.$db2->f("dirname").$db2->f("filename"));

                    $bildhoehe = round($src_image_size[1] * $bildbreite / $src_image_size[0]);
                    if ($bildhoehe > $bildbreite) {
                        $bildhoehe = $bildbreite;
                        $bildbreite = round($src_image_size[0] * $bildhoehe / $src_image_size[1]);
                    }

                    $dst_im = imagecreatetruecolor($bildbreite,$bildhoehe);

                    if ($src_image_size[2] == 1) {
                        $src_im = imagecreatefromGIF($cfg['path']['frontend'].$uploadpfad.$db2->f("dirname").$db2->f("filename"));
                    } elseif ($src_image_size[2] == 2) {
                        $src_im = @ImageCreateFromJPEG($cfg['path']['frontend'].$uploadpfad.$db2->f("dirname").$db2->f("filename"));
                    } else {
                        $src_im = imagecreatefromgd($cfg['path']['frontend'].$uploadpfad.$db2->f("dirname").$db2->f("filename"));
                    }
                    
                    imagecopyresampled ($dst_im,$src_im,0,0,0,0,$bildbreite,$bildhoehe,$src_image_size[0],$src_image_size[1]);
                    imagejpeg ($dst_im,$cfg['path']['frontend'].$bilddateiname,100);
                }
                $bild_vorhanden = true;
            }
        }

        if ($bild_vorhanden) {
            $width = "CMS_VALUE[7]";
            $width += 5;
            $src_image_size = getimagesize($cfg['path']['frontend'].$bilddateiname);
            echo "<tr><td class=\"artlist_subheadline\" style=\"width:{$width}px;\"><a href=\"$link\"><img src=\"$bilddateiname\" {$src_image_size[3]}/></a></td><td class=\"artlist_subheadline\" colspan=\"2\">$newsubheadline</td></tr>";
        } else {
            echo "<tr><td class=\"artlist_subheadline\" colspan=\"3\">$newsubheadline</td></tr>";
        }

    }

    echo '</table>';

    if ($limit > 0 || $anzahl_artikel > $limit + $angezeigte_anzahl) {
        echo '<table cellpadding="0" cellspacing="0" style="width:100%"><tr>';
        if ($limit > 0) {
            $displaylimit = ($limit - $angezeigte_anzahl >= 0)?($limit - $angezeigte_anzahl):(0);
            // echo "<td style=\"text-align:left\"><a href=\"".$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&displaylimit=$displaylimit")."\">{$navigationslink['previous']}</a></td>";
            echo "<td style=\"text-align:left\"><a href=\"".$sess->url("/$client/$lang/$idcat/$idart/$displaylimit.html")."\">{$navigationslink['previous']}</a></td>";
        } else {
            echo '<td>&nbsp;</td>';
        }
        if ($anzahl_artikel > $limit + $angezeigte_anzahl) {
            $displaylimit = $limit + $angezeigte_anzahl;
            // echo "<td style=\"text-align:right\"><a href=\"".$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&displaylimit=$displaylimit")."\">{$navigationslink['next']}</a></td>";
            echo "<td style=\"text-align:right\"><a href=\"".$sess->url("/$client/$lang/$idcat/$idart/$displaylimit.html")."\">{$navigationslink['next']}</a></td>";
        } else {
            echo '<td>&nbsp;</td>';
        }
        echo '</tr></table></p>';
    }
?>
möglicherweise habe ich inzwischen anpassungen gemacht, die auf meiner downloadseite noch nicht vorgenommen worden sind.

mit genau dieser konfiguration funktioniert es bei mir perfekt. du musst einfach bei den ersten beiden zeilen entsprechend deiner situation anpassungen vornehmen.

in diesem script sind allerdings die anpassungen noch nicht drin, die gerne haben möchtest. aber ich denke, es ist einfach damit zu starten und dann - wenn das mal funktioniert -, es wunschgemäss anzupassen.

gruss,
andreas
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)

Tom Quenten
Beiträge: 125
Registriert: Do 10. Jun 2004, 13:55
Wohnort: Gallinchen
Kontaktdaten:

Beitrag von Tom Quenten » Di 6. Jul 2004, 11:45

So, nach langem rumprobieren und vergleichen der Logs ist mir folgendes aufgefallen....

Das ist die zu letzt gespeicherte Config

Code: Alles auswählen

    // manuelle konfiguration des moduls
    $uploadpfad = "/srv/www/htdocs/web1/html/tlcc/frontend/upload/"; // relativ zum root-verzeichnis (mit slash am anfang und am ende)
    $thumbnailpfad = "/auto_thumbnails/"; //relativ zum root-verzeichnis (mit slash am anfang und am ende)
Damit kam dann folgendes in den Logs
[Tue Jul 06 11:51:07 2004] [error] [client 217.225.185.240] File does not exist: /srv/www/htdocs/web1/html/tlcc/auto_thumbnails, referer: http://cms.tlcc.de/frontend/front_conte ... b3d7f1f4d5
[Tue Jul 06 11:51:07 2004] [error] [client 217.225.185.240] File does not exist: /srv/www/htdocs/web1/html/tlcc/auto_thumbnails, referer: http://cms.tlcc.de/frontend/front_conte ... b3d7f1f4d5
[Tue Jul 06 11:51:07 2004] [error] [client 217.225.185.240] File does not exist: /srv/www/htdocs/web1/html/tlcc/auto_thumbnails, referer: http://cms.tlcc.de/frontend/front_conte ... b3d7f1f4d5
[Tue Jul 06 11:51:07 2004] [error] [client 217.225.185.240] File does not exist: /srv/www/htdocs/web1/html/tlcc/auto_thumbnails, referer: http://cms.tlcc.de/frontend/front_conte ... b3d7f1f4d5
[Tue Jul 06 11:51:07 2004] [error] [client 217.225.185.240] File does not exist: /srv/www/htdocs/web1/html/tlcc/frontend/upload/auto_thumbnails/100_78.jpg, referer: http://cms.tlcc.de/frontend/front_conte ... b3d7f1f4d5
[client 217.225.185.240] PHP Parse error: parse error in /srv/www/htdocs/web1/html/tlcc.admin/contenido/contenido/includes/functions.mod.php(155) : eval()'d code on line 68, referer: http://admin.tlcc.de/contenido/contenid ... b3d7f1f4d5
[client 217.225.185.240] PHP Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /srv/www/htdocs/web1/html/tlcc.admin/contenido/contenido/includes/functions.mod.php(155) : eval()'d code on line 24, referer: http://admin.tlcc.de/contenido/contenid ... b3d7f1f4d5
[client 217.225.185.240] PHP Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /srv/www/htdocs/web1/html/tlcc.admin/contenido/contenido/includes/functions.mod.php(155) : eval()'d code on line 157, referer: http://admin.tlcc.de/contenido/contenid ... b3d7f1f4d5
[client 217.225.185.240] PHP Parse error: parse error in /srv/www/htdocs/web1/html/tlcc.admin/contenido/contenido/includes/functions.mod.php(155) : eval()'d code on line 68, referer: http://admin.tlcc.de/contenido/contenid ... b3d7f1f4d5
[client 217.225.185.240] PHP Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /srv/www/htdocs/web1/html/tlcc.admin/contenido/contenido/includes/functions.mod.php(155) : eval()'d code on line 24, referer: http://admin.tlcc.de/contenido/contenid ... b3d7f1f4d5
[client 217.225.185.240] PHP Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /srv/www/htdocs/web1/html/tlcc.admin/contenido/contenido/includes/functions.mod.php(155) : eval()'d code on line 157, referer: http://admin.tlcc.de/contenido/contenid ... b3d7f1f4d5

Den Teil den ich unterstrichen habe ist genau so ausgegeben wie ich es in der Config angegeben habe, jedoch weiter oben fehlt es, warum ist mir schleierhaft, wo er diesen Pfad herholt kann ich nicht sagen.

Tom Quenten
Beiträge: 125
Registriert: Do 10. Jun 2004, 13:55
Wohnort: Gallinchen
Kontaktdaten:

Beitrag von Tom Quenten » Di 6. Jul 2004, 12:11

Deinen Code oben habe ich erst jetzt gesehen und ausprobiert, leider gehen die links net wegen deinem mode_rewrite.... aber dazu später mal...

Wann genau sollten denn die Thumbs generiert werden? Beim erstellen des Artikels oder beim Aufrufen der Artikelübersicht? Ich habe immer wieder neue Artikel erstellt, das Bild geändert weil ich nicht wußte wann er das eigentlich erstellt. Mit meinem logischen Verständnis müsste es immer beim aufrufen der Artikelübersicht sein (also beim ausführen des Templates mit dem Output Code)...

Gibt es irgend ein einfaches Script zum Testen ob die thumbs funzen, den code also so gering wie irgendwie möglich zu halten um die übersichtlichkeit zu erhöhen und den fehler dann einzugrenzen???

Tom Quenten
Beiträge: 125
Registriert: Do 10. Jun 2004, 13:55
Wohnort: Gallinchen
Kontaktdaten:

Beitrag von Tom Quenten » Di 6. Jul 2004, 12:45

Ein kleinen Schritt weiter!

Deine Bezeichnung relativ zum root-verzeichnis (mit slash am anfang und am ende hat mich so fertig gemacht, es muss nämlich relativ zum kunden cms verzeichnis sein.

Root habe ich hier als Server Root aufgefasst...

Ich habe jetzt mal ein bild manuell hochgeladen um zu sehen ob der pfad stimmt. Natürlich war das nicht der fall da ich immer relativ zum root-verzeichnis angegeben habe...

Gut, eben ein schritt weiter, nun der uploadpfad. Sollte das der Upload Pfad aus der Dateiverwaltung sein oder exakt der Pfad wo die thumbs liegen sollen??? Nach Deinem Code hin sind diese bei dir Unterschiedlich, vermutlich weil man ja noch unterverzeichnisse anlegen kann im verzeichnis upload.

Code: Alles auswählen

    // manuelle konfiguration des moduls
    $uploadpfad = "/frontend/upload/"; // relativ zum  kunden cms verzeichnis (mit slash am anfang und am ende)
    $thumbnailpfad = "/frontend/upload/auto_thumbnails/"; //relativ zum kunden cms verzeichnis (mit slash am anfang und am ende)
Der Pfad für das Thumb Verzeichnis ist nun absolut korrekt, ein manuell geladenes bild wird jetzt angezeigt. Aber das mit dem Upload läuft leider nicht, habe noch mal einen Artikel erstellt und ein Bild zugeweisen aber es tat sich nix.

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

Beitrag von kummer » Di 6. Jul 2004, 12:51

was verwendest du denn für ein bildmodul? eines, das auch gleich den upload vornimmt?

ich mache den upload von bilder separat und weise dann mit dem bildmodul lediglich das bild dem artikel zu.

ist es nun der upload der nicht funktioniert oder die darstellung im artikel oder nur in der artikelliste?
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)

Tom Quenten
Beiträge: 125
Registriert: Do 10. Jun 2004, 13:55
Wohnort: Gallinchen
Kontaktdaten:

Beitrag von Tom Quenten » Di 6. Jul 2004, 12:52

E S - - - K L A P P T !!!!!!!!!!!!!!!!!!!!!!!!!!


Nach weiteren probieren und ständigem vergleichen mit den log protokolen sieht meine config jetzt so aus

Code: Alles auswählen

    // manuelle konfiguration des moduls
    $uploadpfad = "upload/"; // relativ zum root-verzeichnis (mit slash am anfang und am ende)
    $thumbnailpfad = "upload/auto_thumbnails/"; //relativ zum root-verzeichnis (mit slash am anfang und am ende)
Keine Ahnung wieso, warum, weshalb so simpel ABER es geht.

Trotzdem gibts noch ein kleines Problem, wichtig ist es zwar nun nicht mehr aber ich werfe es trotzdem noch mal auf.

Du sagtest die bilder werden nach Pixelbreite_dateiname.jpg bezeichnet,
meine heißen aber mit dem modul w3concepts.alist so wie ich es vorher schon geschildert hatte, also pixelbreite_nummer.jpg.

Dann stellt sich noch die Frage ob die Thumbs irgendwann wieder gelöscht werden damit das verzeichnis bei großen projekten nicht voller und voller wird, und der ganze nicht mehr benötigte datenmüll dann liegenbleibt...

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

Beitrag von kummer » Di 6. Jul 2004, 13:00

gut! endlich! und sorry about!

zu deinen fragen:

(1) bei der version, die zurzeit verwendest stimmt das. der name lautet pixelbreite_nummer.jpg. die nummer stammt aus der datenbank und ist eindeutig. du kannst allerdings anstatt der nummer auch den bisherigen dateinamen verwenden. dieser wäre dann allerdings nicht unbedingt eindeutig, da ein und der selbe dateinamen in verschiedenen verzeichnissen vorkommen kann. ich habe das bei mir übrigens geändert, da ich so besser entscheiden kann, ob ein bild gelöscht werden kann oder nicht. und das führt mich gleich zu deiner zweiten frage.

(2) die bilder werden nicht automatisch gelöscht. wenn du einmal feststellen solltest, dass du zuviele bilder in diesem verzeichnis (mit dem thumbnails) hast, kannst du sie einfach alle löschen. das ist kein problem. diejenigen, die noch verwendet werden, werden automatisch neu erstellt. die performance deiner site wird dadurch kurzzeitig reduziert (bis die bilder wieder erstellt worden sind), aber sonst hast du keine probleme. die bilder werden übrigens erst erstellt, wenn sie benötigt werden.

gruss,
andreas
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)

Tom Quenten
Beiträge: 125
Registriert: Do 10. Jun 2004, 13:55
Wohnort: Gallinchen
Kontaktdaten:

Beitrag von Tom Quenten » Di 6. Jul 2004, 13:11

o.k. das mit den nummern finde ich auch besser, denn das verzeichnis wird ja automatisch gefüllt, und da ist es eigentlich egal wie die benannt sind.

ich werde jetzt gleich mal das mit deinem kategoriemodul ausprobieren...
jetzt weiß ich ja woran es liegen kann :D

Tom Quenten
Beiträge: 125
Registriert: Do 10. Jun 2004, 13:55
Wohnort: Gallinchen
Kontaktdaten:

Beitrag von Tom Quenten » Di 6. Jul 2004, 14:05

O.K. AUCH DAS GEHT

werde mich jetzt mal an die arbeit machen ....

Achso, kann man die Sortierung noch an dem Sortierschlüssel orientieren. Das es geht weiß ich aber ich weiß nicht wie ich das feld anspreche, du sagtest mal das es für alle tabellen einen alias namen gibt weil der wesentlich kürzer ist, nur eine übersicht dazu habe ich nicht gefunden. auch auf den entwickler seiten gabs das nicht ausser ein pdf mit der db strucktur.

Gesperrt