[WISH] Debug-Ausgabe wenn Script nicht vorhanden (cPage)

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

[WISH] Debug-Ausgabe wenn Script nicht vorhanden (cPage)

Beitrag von rethus »

Über cGuiPage kann man via addStyle und addScript Methoden weitere Files hinzufügen.
http://api.contenido.org/con492/class-cGuiPage.html

Ich finde diese Funktionen sind noch nicht vollständig, da ein Feedback fehlt, wenn eine Datei nicht vorhanden ist.
Dies sollte dann zumindest über cError oder cWarnings in das Log, besser noch zusätzlich optional über ein debug-Flag zuschaltbar sein.

Mal exemplarisch das assScript:

Code: Alles auswählen

    public function addScript($script) {
        $cfg = cRegistry::getConfig();
        $backendUrl = cRegistry::getBackendUrl();
        $backendPath = cRegistry::getBackendPath();

        if (strpos(trim($script), 'http') === 0 || strpos(trim($script), '<script') === 0 || strpos(trim($script), '//') === 0) {
            if (strpos(trim($script), '<script') === 0) {
                cDeprecated("You shouldn't use inline JS for backend pages");
            }
            // the given script path is absolute
            $this->_scripts[] = $script;
        } else if (cFileHandler::exists($backendPath . $cfg['path']['plugins'] . $this->_pluginname . '/' . $cfg['path']['scripts'] . $script)) {
            // the given script path is relative to the plugin scripts folder
            $fullpath = $backendUrl . $cfg['path']['plugins'] . $this->_pluginname . '/' . $cfg['path']['scripts'] . $script;
            $this->_scripts[] = $fullpath;
        } else if (cFileHandler::exists($backendPath . $cfg['path']['scripts'] . $script)) {
            // the given script path is relative to the CONTENIDO scripts folder
            $fullpath = $backendUrl . $cfg['path']['scripts'] . $script;
            $this->_scripts[] = $fullpath;
        }
    }
Hie würde ganz am Schluss ein :

Code: Alles auswählen

else {
cError(__FILE__, __LINE__, 'Including Script ('.$script.') Error: File not found. ');
}
Gleichen natürlich auch für addScript,
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
xmurrix
Beiträge: 3215
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 17 Mal
Kontaktdaten:

Re: [WISH] Debug-Ausgabe wenn Script nicht vorhanden (cPage)

Beitrag von xmurrix »

Das wäre eine Überlegung wert.

Problematisch wird es, wenn man externe Scripte von anderen Domains einbinden möchte, dann müsste man einen Request an den Server schicken und die Antwort prüfen, ob die externe Resource vorhanden ist oder nicht.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: [WISH] Debug-Ausgabe wenn Script nicht vorhanden (cPage)

Beitrag von rethus »

Naja, bei externen Scripten sehe ich eher die Eigenverantwortung, diese auch sauber einzubinden.
Denke nicht, dass sowas zwingend abgedeckt werden sollte. Aber das interne Handling ist meiner Meinung nach mit meiner Anregung um einiges sauberer. Zumal es die Plugin-Entwicklung etwas vereinfacht.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
Antworten