Seite 1 von 1

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

Verfasst: Fr 10. Jan 2014, 12:34
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,

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

Verfasst: Sa 11. Jan 2014, 14:50
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

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

Verfasst: Di 14. Jan 2014, 14:25
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.