Fehlermeldung: 0 Call to undefined method Joomla\CMS\Application\AdministratorApplication::isAdmin()

  • Servus zusammen,


    ich stelle gerade einige Projekte von Joomla! 3.10.10 auf Jooma! 4.x um und bin freilich über die Problematik mit

    Code
    JFactory::getApplication()->isAdmin()
    JFactory::getApplication()->isSite()

    bei eigenen Komponenten, Modulen, Plug-Ins, Templates etc. gestolpert.


    Ich habe das recht rasch via SSH mit folgenden Befehlen in der Masse für alle .php Files gelöst:

    Code
    find -type f -regex "^.*\.\(php\|phtml\)$" -exec sed -i 's/isAdmin()/isClient('\''administrator'\'')/g' {} \;
    
    find -type f -regex "^.*\.\(php\|phtml\)$" -exec sed -i 's/isSite()/isClient('\''site'\'')/g' {} \;

    Es wird im jeweiligen Installationsverzeichnis (vorher mit cd dort hin navigieren) in allen php Files gesucht und entsprechend ersetzt (phtml wird bei Joomla! eigentlich nicht gebraucht aber wenn jemand den Befehl für was anderes über mehrere File-Types laufen lassen möchte habe ich das einfach gelassen).


    Vielleicht hift das jemanden weiter oder spart einfach Zeit.

  • Nur als Hinweis: Das kann bei blinder Verwendung in die Hose gehen. Es gibt nämlich Libraries und Frameworks, die nach wie vor eigene Methoden/Funktionen isAdmin(), isSite() drinnen haben. Das Astroid-Framework mit seinen Templates wäre so ein Fall. Habe aber auch schon andere Erweiterungen gesehen.

  • Ich habe jetz genau das gleiche Problem

    (Fehlermeldung: 0 Call to undefined method Joomla\CMS\Application\AdministratorApplication::isAdmin())

    und weiss nicht wer diese Fehlermeldung auslöst.


    Kenne mich mit ssh nicht aus!


    Kann ich mit z.b. mit Dreamweaver nach
    getApplication()->isAdmin() suchen und durch getApplication()->isSite() ersetzen
    wenn ich keinen besonderen libaries verwende?


    Verstehe ich das richtig?

  • und weiss nicht wer diese Fehlermeldung auslöst.