Ergebnis 1 bis 6 von 6

Thema: Pop-Up "Dateien auswählen" zeigt Fehler: "Ein Fehler ist aufgetreten!"

  1. #1
    Contao-Fan Avatar von marcos
    Registriert seit
    09.02.2011.
    Ort
    Schweiz
    Beiträge
    575
    User beschenken
    Wunschliste

    Frage Pop-Up "Dateien auswählen" zeigt Fehler: "Ein Fehler ist aufgetreten!"

    Hallo zusammen

    Ich habe ein Problem mit dem Dateiwähler. Melde ich mich mit einem normalen Benutzer (nicht Admin!) an und möchte eine Datei auswählen (Bsp. Bild) öffnet sich das entsprechende PopUp "Dateien auswählen". Anstatt der Dateiverwaltung wird mir im PopUp aber das Backend nochmals geladen und es steht die Meldung "Ein Fehler ist aufgetreten!".
    In den Logs steht dann dieser Eintrag:
    Code:
    Details:	Not enough permissions to access the modules module
    Funktion:	tl_module::checkPermission
    Der Benutzer hat aber Rechte für die Dateiverwaltung und kann dort Dateien hochladen, umbenennen usw. Mit dem Administrator geht das PopUp korrekt auf. Nur mit einem normalen Benutzer nicht.

    Ich habe auch schon folgende Fixes eingefügt: https://github.com/contao/core/commit/718910d82c98663e51d1b92c94fbe48c6522ecd1
    Aber auch das hat das Problem nicht gelöst...

    Hatte dieses Problem schon jemand? Was könnte das Problem sein?

    Contao Version 3.4.5
    PHP 5.4

    Danke und Gruss
    Marco

  2. #2
    Gesperrt
    Registriert seit
    07.05.2011.
    Beiträge
    1.199

    Standard

    Schätzungsweise hast Du Dich mit dem Github-Link vertan. Da geht´s um ein ganz anderes Thema.

    Hm, eine brauchbare Idee dazu hab ich grad nicht. Aber ich hatte das exakt gleiche Problem ebenfalls schonmal bei einer Kundenwebseite. Ist schon ne Weile her und noch mit Contao 2.11. Plötzlich konnten alle Redakteure keine Dateien mehr hochladen. Mit Adminrechten ging´s nach wie vor. Es kam allerdings nicht diese vage Bildschirmfehlermeldung, nichtmal irgendeine. Doch in der error.log fand ich PHP-Fehlermeldungen wg. fehlender Permissions. Eine Lösung dazu jedoch nicht.

    Nachdem ich keine mögliche Ursache fand, löschte ich alle Redakteurs-Accounts, zum Glück nur ca. 15, und legte sie neu an. Mit denselben Rechten (nur Gruppenrechte). Danach ging es wie von Zauberhand wieder normal und dieser Fehler trat auch nie wieder auf. Keine Ahnung, was da war.

    Du solltest aber jedenfalls auch in die error.log schauen, Systembereinigung durchführen, mal den BE-Sessioncookie löschen und den Contao Check laufen lassen. Mehr fällt mir jetzt leider auch nicht dazu ein.

    Edit:
    Ein Gedanke kam mir eben noch. Vielleicht stimmt mit den Dateiberechtigungen auf dem Server was nicht. Nicht die Uploadordner betreffend, denn da kommst Du ja garnicht erst hin. Sondern die Modulordner und/oder deren ausführbare Dateien. Was vllt. der Contao Check feststellen könnte, weil zum Core gehörig. Ein UTF8 Problem kann man wohl ausschließen, sonst ginge es auch mit Adminrechten nicht.
    Geändert von soweit_ok (09.09.2015 um 16:20 Uhr)

  3. #3
    Contao-Fan Avatar von marcos
    Registriert seit
    09.02.2011.
    Ort
    Schweiz
    Beiträge
    575
    User beschenken
    Wunschliste

    Standard

    Hey soweit_ok

    Vielen Dank für deine Antwort.

    Das mit Github habe ich von einem anderen Thread, wo es auch um so einen ähnlichen Fehler mit der Dateiverwaltung ging.

    Grundsätzlich funktioniert ja alles in der Dateiverwaltung. Nur in diesem PopUp "Dateien auswählen" wird die Dateiverwaltung nicht geladen. Ich tippe da eben eher auf ein JS/AJAX Problem?!

    Ich habe schon auf verschiedenen Computern mit verschiedenen Browsern getestet und auch einen neuen Benutzer angelegt - aber auch der hat das gleiche Problem.
    Dateirechte sind ganz normal (755 Ordner, 644 Dateien). Der Contao-Check zeigt keine Fehler. Auch in den Error-Logs auf dem Server wird keine Fehlermeldung dazu eingetragen.

    Ich finde es eben auch komisch, dass tl_module::checkPermission den Fehler verursacht. Ich habe schon in dca/tl_module.php gedebuggt aber irgendwie wird diese Methode gar nicht aufgerufen... trotzdem steht sie in den Logs... komische Sache...

  4. #4
    Gesperrt
    Registriert seit
    07.05.2011.
    Beiträge
    1.199

    Standard

    Wieso ein JS/Ajax-Problem? Zu dem Zeitpunkt wird ja noch garkein Request abgesetzt, es scheitert bereits der Modulaufruf. Aber die JS-Fehlerkonsole könntest Du natürlich trotzdem mal aufrufen, ob die irgendwas anzeigt.

    Hast Du denn in die tl_module.php auch mal reingeschaut? Da ist ein onload_callback mit der Methode drin.
    'onload_callback' => array
    (
    array(
    'Klasse', 'Methode')
    )

    Code:
    /**
    * Table tl_module
    */
    $GLOBALS['TL_DCA']['tl_module'] = array
    (
    // Config
    'config' => array
    (
    'dataContainer' => 'Table',
    'ptable' => 'tl_theme',
    'enableVersioning' => true,
    'onload_callback' => array
    (
    array('tl_module', 'checkPermission')
    ),
    'sql' => array
    (
    'keys' => array
    (
    'id' => 'primary'
    )
    )
    ),
    Die Funktion check_permissions() hat keine Parameter. Da wird nur return zurückgegeben, wenn der Benutzer Adminrechte hat.

    In der if-Abfrage darunter wird Dein Fehler ausgelöst. Du könntest nur mal so zum Testen in check_permissions ungeprüft return zurückgeben. Und die if-Abfrage ganz auskommentieren. Mal schauen, was dann passiert, ob Du nun das PopUp auch als Normalbenutzer aufrufen kannst und den Bilderupload durchführen. Keine Lösung, nur als Beleg, wo der Bremsklotz sitzt. Dass in der tl_module.php ein Bug ist, halte ich für unwahrscheinlich. Anderenfalls würden vermutlich auch andere Modulaufrufe scheitern. Ich glaube, Dein Problem wird woanders verursacht. Vielleicht doch irgendein Benutzer- oder Gruppenrecht nicht gesetzt? In anderen Installationen funktionierts doch auch, hatte noch in keinem Contao Release dieses Problem.

    Code:
    
    
    /**
    * Check permissions to edit the table
    */
    public function checkPermission()
    {
    if ($this->User->isAdmin)
    {
    return;
    }
    if (!$this->User->hasAccess('modules', 'themes'))
    {
    $this->log('Not enough permissions to access the modules module', __METHOD__, TL_ERROR);
    $this->redirect('contao/main.php?act=error');
    }
    }


  5. #5
    Contao-Fan Avatar von marcos
    Registriert seit
    09.02.2011.
    Ort
    Schweiz
    Beiträge
    575
    User beschenken
    Wunschliste

    Standard Gelöst: Theme-Module > Frontend-Module

    Ich habe die Lösung in der Zwischenzeit gefunden. Bei der Benutzergruppe musste ich bei "Theme-Module" noch "Frontend-Module" auswählen. Jetzt wird die Dateiliste geladen. Aber eigentlich total komisch, dass musste ich noch bei keiner Contao-Installation tun. Der Redaktor hat sowieso keine Zugriffsrechte auf Theme-Einstellungen... Vielleicht hat es was mit einem Fremdplugin zu tun?!? Naja, bin schon mal froh, dass es jetzt läuft

  6. #6
    Gesperrt
    Registriert seit
    07.05.2011.
    Beiträge
    1.199

    Standard

    Was ja eigentlich auch die bewusste If-Abfrage in tl_module.php andeutete. Nö, erinnern kann ich mich an dieses Gruppenrecht grad auch nicht. Was aber wohl bloß daran liegt, dass ich normalerweise bloß die Rechte einer anderen Installation übernehme und mir nicht jedesmal einen Kopf darüber mache.

    Na gut, schön dass es jetzt funktioniert. Ich werd ich sicher an den Punkt erinnern, falls ich evtl. auch mal diesen Fehler haben sollte.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •