Ankündigung

Einklappen
Keine Ankündigung bisher.

ThemeDesigner, Demo-Installer im Backend ausblenden, selbst für Admins

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • ThemeDesigner, Demo-Installer im Backend ausblenden, selbst für Admins

    Hi,
    wer seinem Endkunden Admin-Zugänge bereitstellt, möchte ggf. nicht dass dieser auch Zugang zu den sensiblen Backend-Modulen ThemeDesigner und Demo-Installer hat (Eclipse-Theme). Da Admins in Contao generell alle Rechte besitzen, müssen wir hier eine Ebene höher ansetzen.

    Das kleine Script prüft im Backend, ob für den jeweilige Backend-Benutzer (id oder Benutzername) die Backend-Module ausradiert werden sollen.

    In diesem Beispiel: Benutzer mit ID=1 oder Benutzername = admin2

    initconfig.php (oder dcaconfig.php)

    PHP-Code:
    // hide ThemeDesigner and/or DemoInstaller for backend user by id or username
    if(TL_MODE == 'BE')
    {
        
    $arrUsers = array(1,'admin2'); // user-id or username
        
    $objUser = \BackendUser::getInstance();

        if( 
    in_array($objUser->id,$arrUsers) || in_array($objUser->username,$arrUsers) )
        {
            
    // hide ThemeDesigner
            
    unset($GLOBALS['BE_MOD']['design']['pct_themedesigner']);
            
    // hide DemoInstaller
            
    unset($GLOBALS['BE_MOD']['design']['pct_demoinstaller']);
        }

    http://www.premium-contao-themes.com

  • #2
    hallo,

    ich habe eine kleine modifikation eingebaut:
    - für den fall, dass es jemandem hilft anbei:
    1. für alle IDs, die NICHT in $arrUsers explizit aufgeführt sind, werden die einträge ausgeblendet (also ist es egal, wer später von den eingesetzten zusätzlichen admins noch angelegt wird) und
    2. wird der eintrag zum theme-installer zusätzlich ausgeblendet.


    PHP-Code:
    <?php

    // only show ThemeDesigner, DemoInstaller and/or ThemeInstaller for backend user by id

    if(TL_MODE == 'BE')
    {
        
    $arrUsers = array(1); // user-id
        
    $objUser = \BackendUser::getInstance();

        if( !
    in_array($objUser->id$arrUsers) )
        {
            
    // hide ThemeDesigner
            
    unset($GLOBALS['BE_MOD']['design']['pct_themedesigner']);
            
    // hide DemoInstaller
            
    unset($GLOBALS['BE_MOD']['design']['pct_demoinstaller']);
            
    // hide ThemeInstaller
            
    unset($GLOBALS['BE_MOD']['system']['pct_theme_installer']);
        }
    }

    eingetragen ist das ganze in C4 hier:

    Code:
    /system/config/initconfig.php
    cache löschen nicht vergessen!

    (verzeichnis /var/cache löschen)

    HTH
    Zuletzt geändert von Dr.E.; 28.11.2018, 14:03.

    Kommentar


    • #3
      Oki. Ist das gleiche nur anders herum. Vielleicht in diesem Fall das Kommentar entsprechend anpassen, damit es zum Code passt.
      http://www.premium-contao-themes.com

      Kommentar


      • #4
        ja, nur anders herum - keine weltneuheit

        kommentar ist angepasst, danke für den hinweis.

        Kommentar


        • #5
          Hi zusammen,
          wie läuft das unter Contao 4.4 ab?

          Kommentar


          • #6
            Zitat von TypoLight Beitrag anzeigen
            Hi zusammen,
            wie läuft das unter Contao 4.4 ab?
            TypoLight, ach das waren schöne Zeiten damals

            Das ist allgemein-gültig. Gilt für 4.4 und auch 3.5. Höhstwahrscheinlich auch 4.9. Das Rad wurde hier nicht neuerfunden.
            http://www.premium-contao-themes.com

            Kommentar


            • #7
              Zitat von Tim Beitrag anzeigen

              TypoLight, ach das waren schöne Zeiten damals

              Das ist allgemein-gültig. Gilt für 4.4 und auch 3.5. Höhstwahrscheinlich auch 4.9. Das Rad wurde hier nicht neuerfunden.
              Ja, was waren wir jung :-)
              Also, unter C4 gehts auch perfekt wenn man die Datei dcaconfig.php entsprechend erstellt.

              Kommentar


              • #8
                Zitat von TypoLight Beitrag anzeigen

                Ja, was waren wir jung :-)
                Also, unter C4 gehts auch perfekt wenn man die Datei dcaconfig.php entsprechend erstellt.
                Oh Mann. So ist es. (jetzt bloß nicht sentimental werden )
                http://www.premium-contao-themes.com

                Kommentar


                • #9
                  Und dann immer die ständige Nachfrage der Kunden "Ach, das ist eine abgespeckte Version von Typo 3, oder?"
                  Was hab ich das gehasst :-)

                  Kommentar


                  • #10
                    Ach ja, gute Zeiten
                    In Typo3 hatte ich nicht mal geschafft eine Navi zu erstellen.
                    http://www.premium-contao-themes.com

                    Kommentar


                    • #11
                      Zitat von Tim Beitrag anzeigen
                      Ach ja, gute Zeiten
                      In Typo3 hatte ich nicht mal geschafft eine Navi zu erstellen.
                      Phew, endlich hab' ich Dir mal was voraus

                      Kommentar


                      • #12
                        Zitat von Brubbel Beitrag anzeigen

                        Phew, endlich hab' ich Dir mal was voraus
                        Krass. Hut ab! Das war in Typo3 gefühlte Raketenwissenschaft.
                        http://www.premium-contao-themes.com

                        Kommentar


                        • #13
                          Zitat von Tim Beitrag anzeigen

                          Das ist allgemein-gültig. Gilt für 4.4 und auch 3.5. Höhstwahrscheinlich auch 4.9. Das Rad wurde hier nicht neuerfunden.
                          Scheint aber in 4.9 (EclipseX) nicht mehr zu funktionieren. Gibt's da ne andere Lösung?

                          Kommentar


                          • #14
                            Zitat von mapfei Beitrag anzeigen

                            Scheint aber in 4.9 (EclipseX) nicht mehr zu funktionieren. Gibt's da ne andere Lösung?
                            Pack's in die initconfig.php unter 4.9. Dort greift es. dcaconfig.php wird anscheinend nicht mal ausgeführt.

                            http://www.premium-contao-themes.com

                            Kommentar


                            • #15
                              Habs in der initconfig.php. Cache geleert, funzt aber nicht...

                              Kommentar

                              Lädt...
                              X