new infoBoxHeading() und new infoBox() sind ausgelagerte Funktionen, die aus den übergebenen Arrays dann die Box zusammenbauen.
Wenn es Funktionen wären, würde man sie ohne new aufrufen. Mir scheint stattdessen, dass es sich hierbei um eine wenig sinnvolle Verwendung von Klassen handelt.
JA, hast natürlich recht, es sind Klassen.
Außerdem ist dein Script nicht ein bisschen kommentiert. Gute Kommentare beschreiben, was der Autor im Sinn hatte. Dann kann man auch beurteilen, inwieweit das Programmteil den Intentionen des Autors nahekommt.
Das ursprüngliche Scrit erstellte einfach ein Array, ohne auf den aktuellen Pfad und seine Anzeige Rücksicht zu nehmen, d.h., es wurden alle Links immer normal dargestellt, ob nun eine Seite aus der Box aufgerufen wurde, oder nicht.
Das wollte ich dahingehend ändern, daß der aktuell angezeigte Link nun rot, fett und nicht verlinkt dargestellt wird.Ein Script macht genau das, was der Autor hingeschrieben hat. Da sich das von dem was bezweckt war unterscheiden kann, muss man als inhaltlicher Korrekturleser wissen, was gewünscht war.
Diese Erklärung ist wenig hilfreich. Wessen aktueller Pfad ist gemeint? Was hat es mt der Box auf sich? Was verstehst du unter "aktueller Link"?
Öhm ja, also, mithilfe des Scriptes wurde aus den definierten Konstanten(sämtliche großgeschriebenen Wörter) eine Navigationsbox zusammengebaut.
dies geschah einfach durch
$info_box_contents[] = array('text' => Konstante1 .
Konstante2 .
usw.
Meine Intention war es nun, daß, wenn ein Link in dieser Box angeklickt wird, dieser rot, fett und nicht verlinkt ausgegeben wird, da die Seite ja aktuell angezeigt wird. Also so eine Art Hinweis in der Navigation, "du bist gerade auf dieser Seite..."
Da konnte ich mit obigem Array natürlich nix anfangen und habe deshalb die Schleife gebaut, die mir aus den beiden Arrays $info_box_name(pfad) und $info_box_text(Linktext) und dem Wert aus $sitepath die Navigation richtig zusammensetzt. Ist $info_box_name im Array $sitepath vorhanden, dann wird kein Link ausgegeben sondern nur der Linktext, dafür aber rot und fett. anschließend wird noch ein weicher Umbruch angehängt, aber nur, wenn es nicht der letzte Wert aus dem Array ist. Dazu dient die Bedingung if ($i<$n-1).
Du verwendest Buchstabenfolgen, die man als Funktionen und Konstanten deuten kann. Ohne die Deklaration, kann man im Grunde nur raten, was sich beispielsweise hinter tep_image oder DIR_WS_IMAGES verbirgt. Und das ist zur Beurteilung der Funktionsweise nicht sinnvoll.
tep_image ist z.B. eine Funktion, genauso wie tep_href_link usw.
Die Verwendung der Buchstabenfolge "tep_" deutet in dem System immer auf eine Funktion hin, aber ich habe lange gebraucht, zu erkennen, wo ich bei was nachsehen muß, da die Scripte aus zig Einzelteilen bestehen und immer wieder auf externe Scripte verwiesen wird.
DIR_WS_IMAGES ist eine Konstante.
Ob die Verwendung von Klassen in diesem Zusammenhang sinnvoll ist, kann ich wirklich nicht beurteilen, dazu fehlt mir ein Riesen Berg an Wissen und Erfahrung. Das ganze stammt aus einem Shopsystem von osCommerce, da ist es für mich schon schwierig genug, einzelne Funktionen nach meinen Wünschen zu überarbeiten, verlange also nicht von mir, zu verstehen, was und wozu das alles mit Klassen realisiert wurde.
Ich empfinde es für mich als Leistung, daß ich zumindest schon mal so weit bin, die Scripte nach meinen Wünschen anzupassen, alles andere wäre wirklich zu hoch gegriffen.
Gruß
Kurt