Tagfehler in einer Classes-Datei

Zillis-Web

Guest
In der Datei class.JTL- Shop.Grafik.php ist der öffnende phpTag
PHP:
<? ...
sollte aber der sauber so aussehen
PHP:
<?php ...
und der schließende phpTag
PHP:
... ?>
fehlt völlig.

Dadurch kam es bei mir zu folgenden Fehlern:
Am Anfang der Startseite wurde dieser Code angezeigt
HTML:
cCacheDir = 'templates_c';        $this->cFontDir = PFAD_ROOT . PFAD_FONTS;               $this->cFont = $cFont;       $this->nSize = $nSize;       $this->cColor = $cColor;    }        function html2rgb($cColor)    {       if ($cColor[0] == '#')          $cColor = substr($cColor, 1);        if (strlen($cColor) == 6)          list($r, $g, $b) = array($cColor[0].$cColor[1],                                   $cColor[2].$cColor[3],                                   $cColor[4].$cColor[5]);       elseif (strlen($cColor) == 3)          list($r, $g, $b) = array($cColor[0].$cColor[0],                                    $cColor[1].$cColor[1],                                    $cColor[2].$cColor[2]);       else          return false;                 $r = hexdec($r); $g = hexdec($g); $b = hexdec($b);       return array($r, $g, $b);    }     function calcRect($cText)    {       $box = ImageTTFBbox($this->nSize, 0, $this->cFontDir . '/' .  $this->cFont, $cText);       $width = abs($box[2] - $box[0]);       $height = abs($box[7] - $box[1]);       $x = $box[6] * -1; $y = $box[5] * -1;       return array($width, $height, $x, $y);    }        function calcMax($cText)    {       for ($i = 0; $i < strlen($cText); $i++)       {          $wh = $this->calcRect($cText[$i]);                    if ($this->nMaxWidth < $wh[0])             $this->nMaxWidth = $wh[0];                       $this->nMinWidth = $this->nMaxWidth;                    if ($this->nMinWidth > $wh[0])             $this->nMinWidth = $wh[0];                       if ($this->nMaxHeight < $wh[1])             $this->nMaxHeight = $wh[1];       }    }        function getCacheFilePath($cText)    {       $hash = md5($this->cFont . $this->nSize . $this->cColor .  $cText) . '.png';       return $this->cCacheDir . '/' . $hash;    }        function getImageFilePath($char)    {         $wh = $this->calcRect($char);       $cColor = $this->html2rgb($this->cColor);       if (!is_array($cColor))          $cColor = array(0, 0, 0);              $filePath = $this->getCacheFilePath($char);       if (!is_file($filePath))       {          $image = @ImageCreate($wh[0] + $this->nPadding,  $this->nMaxHeight + $this->nPadding);          $background = ImageColorAllocate($image, 255, 255, 255);          $cTextColor = ImageColorAllocate($image, $cColor[0],  $cColor[1], $cColor[2]);                    ImageColorTransparent($image, $background);          ImageTTFText($image, $this->nSize, 0, $wh[2] +  $this->nPadding / 2, $this->nMaxHeight + $this->nPadding / 2,                        $cTextColor, $this->cFontDir . '/' .  $this->cFont, $char);          ImagePNG($image, $filePath);       }              return $filePath;    }        function asArray($cText)    {       $list = array();       $this->calcMax($cText);        for ($i = 0; $i < strlen($cText); $i++)       {          if ($cText[$i] == ' ')             $list[] = false;          else             $list[] = $this->getImageFilePath($cText[$i]);       }              return $list;    }        function asHTML($cText)    {       $html = '';       $list = $this->asArray($cText);       $width = ($this->nMaxWidth + $this->nMinWidth) / 2;       foreach ($list as $l)       {          if ($l)             $html .= '[IMG]http://localhost/Kunststube-Shop/%27%20.%20$l%20.%20%27[/IMG]';          else             $html .= '';//'[IMG]http://localhost/Kunststube-Shop/blank.png[/IMG]';       }                 return $html;    } }
und beim Quelltext wurde der Inhalt der Datei class.JTL-Shop.Grafik.php noch vor dem Doctype ausgegeben.
 

Modulexpert

Sehr aktives Mitglied
14. März 2007
1.678
1
AW: Tagfehler in einer Classes-Datei

ob da nun php steht oder nicht ist eigendlich wurscht.. das wichtige ist das die Classe mit ?> auch geschlossen wird. Hab 2 Classen gefunden wo das nicht so ist.
 

xy-racing

Aktives Mitglied
20. Dezember 2009
134
0
AW: Tagfehler in einer Classes-Datei

ob da nun php steht oder nicht ist eigendlich wurscht.. das wichtige ist das die Classe mit ?> auch geschlossen wird. Hab 2 Classen gefunden wo das nicht so ist.

Das ist natürlich nicht wurscht!

Damit der short Open TAg funktioniert muß diese Option im Apache explizit aktiviert sein, daher schlechter Programmierstil!
Warum also eine nicht zwingend alltägliche Serverkonfiguration vorraussetzen, wenn eine Plattformübergreifende Lösung so einfach ist?

mfg
 

Zillis-Web

Guest
AW: Tagfehler in einer Classes-Datei

sage ich doch, wenn das in der php.ini nicht eingetragen ist, ist eben <? kein sauberer Code.

@rampower
wäre schon nicht schlecht wenn Du uns die zweite Datei auch hier nennen könntest, dann bräuchte man nicht den gesamten Code durchgehen, Danke
 

Nento

Sehr aktives Mitglied
4. Dezember 2008
1.820
1
AW: Tagfehler in einer Classes-Datei

Ich bin alle class Dateien durchgegangen. Konnte keinen weiteren
<?php .. ?> Fehler finden im Classes Verzeichnis.

DANKE FÜR DEN TIP !!
 

xy-racing

Aktives Mitglied
20. Dezember 2009
134
0
AW: Tagfehler in einer Classes-Datei

Naja,

heute endlich die Freischaltung für den Download erhalten, und dann gings erstmal nichts, weil die hier geschilderten Fehler im Download immer noch nicht behoben waren :frown:

Auf meinem Lokalen System friert nun nach der erfolgten Installation gleich der Server ein, kommt im Shopbereich manchmal wenigstens nen Teil der Startseite ist im Adminbereich gar nichts zu sehen ausser einer weißen Seite, und dann schmiert der Server irgendwann ab.

Leider gibt der Log auch nicht mehr her, werds nun nochmal auf dem Produktivsystem probieren!

Naja schauen wir mal.

mfg
 

Torsten

Gut bekanntes Mitglied
16. Oktober 2006
270
0
LK Stade
AW: Tagfehler in einer Classes-Datei

Bei weißen Seiten hilft in der Regel in der defines.php Zeile 18 auf 1 ändern:
ini_set("display_errors", 1);

Da erhältst Du auf jeden Fall ne Meldung!
 

andy j

Entwickler
7. April 2010
817
1
Ähnliche Themen
Titel Forum Antworten Datum
Neu Amazon Lister 2.0 - Status auf "Wartet auf Hochladen" seit über einer Woche Amazon-Lister - Fehler und Bugs 0
Neu Bewertungen seperat auf einer Seite auflisten (alle) Allgemeine Fragen zu JTL-Shop 0
Neu Erstellung einer Staging Umgebung User helfen Usern 8
Summe Wert Artikel einer Marke JTL-Wawi 1.10 2
Artikel werden nicht gelistet - Status Wartet auf Hochladen - seit einer Woche kaufland.de - Anbindung (SCX) 3
Neu Kontaktformular auf einer eigenen Seite einfügen. Wie? Allgemeine Fragen zu JTL-Shop 1
Neu Fehler beim Aktualisieren einer bestehenden Bestellung mit Ameize JTL-Ameise - Fehler und Bugs 16
Neu Produktdatenblatt aus Vorlage Artikeletikett erstellen mit mehr als einer Seite Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu "Bilder zu Plattformen zuordnen" weist beim Import der Artikelstammdaten via Ameise nur einer von dreien JTL-POS Filialen zu. JTL-Ameise - Fehler und Bugs 2
sporadische Anzeige von Kassenverkauf aus einer Filiale in der Wawi JTL-Wawi 1.9 0
In Diskussion Wie lässt sich die Ausführung eines Workflows stoppen, sobald ein Produkt in einer gewissen Kategorie ist? JTL-Workflows - Fehler und Bugs 1
Neu Feld ist für Vater in einer Kategorie vorgegeben aber nicht vorhanden Lister 2.0 Amazon-Lister - Ideen, Lob und Kritik 0
Nach Update von 1.9.4.5 auf 1.10.10.3: Nicht alle Länder einer Steuerzone zugewiesen JTL-Wawi 1.10 4

Ähnliche Themen