Ergebnis 1 bis 17 von 17

Thema: Bilder Upload in Element nicht mehr vorhanden (Fatal Error BackendFile.php)

  1. #1
    Contao-Fan
    Registriert seit
    07.11.2010.
    Ort
    Amberg
    Beiträge
    268

    Standard Bilder Upload in Element nicht mehr vorhanden (Fatal Error BackendFile.php)

    Hallo zusammen,

    ich habe die Webseite auf Version 3.5.34 geupdatet. Hat super funktioniert, aber jetzt doch ein Problem:
    Ich kann zwar Bilder über die Dateiverwaltung hochladen, sie aber im Element "Bild: Auswahl ändern" nicht auswählen, da folgender Fehler kommt:

    Fatal error: Call to undefined method tl_content::setFileTreeFlags() in /var/www/vhosts/tourismus.amberg.de/httpdocs/system/modules/core/controllers/BackendFile.php on line 119

    Jemand eine Idee, wie ich das beheben kann?

    Danke vorab!

    BackendFile.php:
    PHP-Code:
    <?php

    /*
     * This file is part of Contao.
     *
     * (c) Leo Feyer
     *
     * @license LGPL-3.0-or-later
     */

    namespace Contao;


    /**
     * Back end file picker.
     *
     * @author Leo Feyer <https://github.com/leofeyer>
     */
    class BackendFile extends \Backend
    {

        
    /**
         * Current Ajax object
         * @var \Ajax
         */
        
    protected $objAjax;


        
    /**
         * Initialize the controller
         *
         * 1. Import the user
         * 2. Call the parent constructor
         * 3. Authenticate the user
         * 4. Load the language files
         * DO NOT CHANGE THIS ORDER!
         */
        
    public function __construct()
        {
            
    $this->import('BackendUser''User');
            
    parent::__construct();

            
    $this->User->authenticate();
            \
    System::loadLanguageFile('default');
        }


        
    /**
         * Run the controller and parse the template
         */
        
    public function run()
        {
            
    /** @var \BackendTemplate|object $objTemplate */
            
    $objTemplate = new \BackendTemplate('be_picker');
            
    $objTemplate->main '';

            
    // Ajax request
            
    if ($_POST && \Environment::get('isAjaxRequest'))
            {
                
    $this->objAjax = new \Ajax(\Input::post('action'));
                
    $this->objAjax->executePreActions();
            }

            
    $strTable = \Input::get('table');
            
    $strField = \Input::get('field');

            
    // Define the current ID
            
    define('CURRENT_ID', (\Input::get('table') ? $this->Session->get('CURRENT_ID') : \Input::get('id')));

            
    $this->loadDataContainer($strTable);
            
    $strDriver 'DC_' $GLOBALS['TL_DCA'][$strTable]['config']['dataContainer'];
            
    $objDca = new $strDriver($strTable);
            
    $objDca->field $strField;

            
    // Set the active record
            
    if ($this->Database->tableExists($strTable))
            {
                
    /** @var \Model $strModel */
                
    $strModel = \Model::getClassFromTable($strTable);

                if (
    class_exists($strModel))
                {
                    
    $objModel $strModel::findByPk(\Input::get('id'));

                    if (
    $objModel !== null)
                    {
                        
    $objDca->activeRecord $objModel;
                    }
                }
            }

            
    // AJAX request
            
    if ($_POST && \Environment::get('isAjaxRequest'))
            {
                
    $this->objAjax->executePostActions($objDca);
            }

            
    $this->Session->set('filePickerRef', \Environment::get('request'));
            
    $arrValues array_filter(explode(',', \Input::get('value')));

            
    // Convert UUIDs to binary
            
    foreach ($arrValues as $k=>$v)
            {
                
    // Can be a UUID or a path
                
    if (\Validator::isStringUuid($v))
                {
                    
    $arrValues[$k] = \StringUtil::uuidToBin($v);
                }
            }

            
    // Call the load_callback
            
    if (is_array($GLOBALS['TL_DCA'][$strTable]['fields'][$strField]['load_callback']))
            {
                foreach (
    $GLOBALS['TL_DCA'][$strTable]['fields'][$strField]['load_callback'] as $callback)
                {
                    if (
    is_array($callback))
                    {
                        
    $this->import($callback[0]);
                        
    $arrValues $this->{$callback[0]}->{$callback[1]}($arrValues$objDca);
                    }
                    elseif (
    is_callable($callback))
                    {
                        
    $arrValues $callback($arrValues$objDca);
                    }
                }
            }

            
    /** @var \FileSelector $strClass */
            
    $strClass $GLOBALS['BE_FFL']['fileSelector'];

            
    /** @var \FileSelector $objFileTree */
            
    $objFileTree = new $strClass($strClass::getAttributesFromDca($GLOBALS['TL_DCA'][$strTable]['fields'][$strField], $strField$arrValues$strField$strTable$objDca));

            
    $objTemplate->main $objFileTree->generate();
            
    $objTemplate->theme = \Backend::getTheme();
            
    $objTemplate->base = \Environment::get('base');
            
    $objTemplate->language $GLOBALS['TL_LANGUAGE'];
            
    $objTemplate->title specialchars($GLOBALS['TL_LANG']['MSC']['filepicker']);
            
    $objTemplate->charset = \Config::get('characterSet');
            
    $objTemplate->addSearch false;
            
    $objTemplate->search $GLOBALS['TL_LANG']['MSC']['search'];
            
    $objTemplate->action ampersand(\Environment::get('request'));
            
    $objTemplate->value $this->Session->get('file_selector_search');
            
    $objTemplate->breadcrumb $GLOBALS['TL_DCA']['tl_files']['list']['sorting']['breadcrumb'];

            if (
    $this->User->hasAccess('files''modules'))
            {
                
    $objTemplate->manager $GLOBALS['TL_LANG']['MSC']['fileManager'];
                
    $objTemplate->managerHref 'contao/main.php?do=files&amp;popup=1';
            }

            if (\
    Input::get('switch') && $this->User->hasAccess('page''modules'))
            {
                
    $objTemplate->switch $GLOBALS['TL_LANG']['MSC']['pagePicker'];
                
    $objTemplate->switchHref str_replace('contao/file.php''contao/page.php'ampersand(\Environment::get('request')));
            }

            \
    Config::set('debugMode'false);
            
    $objTemplate->output();
        }
    }
    Viele Grüße,
    johndoe

  2. #2
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.794

    Standard

    Überprüfe Deine Installation mit dem Contao Check Tool.

    Gesendet von meinem L52 mit Tapatalk
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  3. #3
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    /system/modules/core/controllers/BackendFile.php on line 119
    https://github.com/contao/core/blob/...dFile.php#L119

    Hast du Tristans Script erfolgreich laufen lassen? Ich vermute, dass in der DB noch falsche Werte stehen.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  4. #4
    Contao-Nutzer
    Registriert seit
    06.09.2016.
    Beiträge
    125

    Standard

    Es kann sich durchaus um einen Bug oder eine Inkompatabilität handeln. Bei mir hängt sich das Backend in 3.5.34 (und auch 3.5.33) an der gleichen Stelle (Bildauswahl zuweisen, "Die Daten werden geladen") oder in der Dateiverwaltung auf. Allerdings habe ich keine Einträge im Log und selten funktioniert es auch, oft aber nicht.

    Cache löschen und die Dateiverwaltung neu synchronisieren haben leider nichts gebracht. Die Umgebung: PHP 5.6 + relativ viele Dateien im Dateisystem.

  5. #5
    Contao-Fan
    Registriert seit
    07.11.2010.
    Ort
    Amberg
    Beiträge
    268

    Standard

    Danke für die Antworten. Da ich schon länger nicht mehr mit Contao gearbeitet habe ein paar blöde Fragen:
    -> Wo gibt es den Contao Check für 3.5.34?
    -> @ Andreas: Was meinst du mit "laufen lassen"? Ich hatte den kompletten Code mal in meine .php-Datei eingefügt -> Keine Änderung...
    Viele Grüße,
    johndoe

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard

    Validiere deine Installation mit dem Contao Check.

  7. #7
    Contao-Fan
    Registriert seit
    07.11.2010.
    Ort
    Amberg
    Beiträge
    268

    Standard

    Danke – wo finde ich den Check?
    Viele Grüße,
    johndoe

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard

    https://contao.org/de/download.html » Contao Check » https://docs.contao.org/books/manual...er-contaocheck » https://github.com/contao/check/zipball/master
    Entpacken Sie die Zip-Datei, übertragen Sie den Ordner check in Ihr Contao-Verzeichnis und öffnen Sie ihn in einem Browser.

  9. #9
    Contao-Fan
    Registriert seit
    07.11.2010.
    Ort
    Amberg
    Beiträge
    268

    Standard

    Vielen Dank!

    Version
    Eine Contao 3.5.34-Installation wurde gefunden.

    Fehlende Dateien
    .editorconfig
    .gitignore
    .github/CONTRIBUTING.md
    .htaccess.default
    Ihre Installation ist nicht aktuell.
    Viele Grüße,
    johndoe

  10. #10
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard

    Eine Extension ist für deinen Fehler verantwortlich. Durchsuche deine Installation nach setFileTreeFlags.

  11. #11
    Contao-Fan
    Registriert seit
    07.11.2010.
    Ort
    Amberg
    Beiträge
    268

    Standard

    Ja, das ist anscheinend so: Habe alle Erweiterungen auf inaktiv gesetzt, dann hat es geklappt. Eine wieder aktiviert und dann:
    Der Fehler kommt allerdings jetzt auch, wenn ich alle Erweiterungen mit .skip ausschalte...

    Warning: in_array() expects parameter 2 to be array, null given in system/modules/core/library/Contao/System.php on line 140
    #0 [internal function]: __error(2, 'in_array() expe...', '/var/www/vhosts...', 140, Array)
    #1 system/modules/core/library/Contao/System.php(140): in_array('getInstance', NULL)
    #2 system/modules/core/library/Contao/DcaLoader.php(101): Contao\System->import('Haste\\Dca\\DateR...')
    #3 system/modules/core/library/Contao/Controller.php(1319): Contao\DcaLoader->load(false)
    #4 system/modules/core/library/Contao/DcaExtractor.php(382): Contao\Controller::loadDataContainer('tl_session')
    #5 system/modules/core/library/Contao/DcaExtractor.php(128): Contao\DcaExtractor->createExtract()
    #6 system/modules/core/library/Contao/DcaExtractor.php(144): Contao\DcaExtractor->__construct('tl_session')
    #7 system/modules/core/library/Contao/Model/QueryBuilder.php(32): Contao\DcaExtractor::getInstance('tl_session')
    #8 system/modules/core/library/Contao/Model.php(1239): Contao\Model\QueryBuilder::find(Array)
    #9 system/modules/core/library/Contao/Model.php(1074): Contao\Model::buildFindQuery(Array)
    #10 system/modules/core/library/Contao/Model.php(930): Contao\Model::find(Array)
    #11 system/modules/core/models/SessionModel.php(82): Contao\Model::findOneBy(Array, Array, Array)
    #12 system/modules/core/classes/Frontend.php(535): Contao\SessionModel::findByHashAndName('516315d733 c30e9...', 'BE_USER_AUTH')
    #13 system/modules/core/controllers/FrontendIndex.php(35): Contao\Frontend->getLoginStatus('BE_USER_AUTH')
    #14 index.php(19): Contao\FrontendIndex->__construct()
    #15 {main}

    Fatal error: Class 'Haste\Dca\DateRangeFilter' not found in /var/www/vhosts/tourismus.amberg.de/httpdocs/system/modules/core/library/Contao/System.php on line 140
    Viele Grüße,
    johndoe

  12. #12
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard

    Lasse alle Extensions aktiviert und durchsuche deine Installation nach setFileTreeFlags.

  13. #13
    Contao-Fan
    Registriert seit
    07.11.2010.
    Ort
    Amberg
    Beiträge
    268

    Standard

    Scheint das gleiche Problem wie hier gewesen zu sein: https://community.contao.org/de/show...alerie-Http500

    Nun habe ich in den beiden Dateien attributeimage.php und attributefiles.php die entsprechende Zeile auskommentiert:

    PHP-Code:
    {
                
    ControllerHelper::callstatic('loadDataContainer',array('tl_content'));
                
    $arrReturn['load_callback'] = array
                (
                
    /*    array('tl_content', 'setFileTreeFlags')*/
                
    );
                
    $arrReturn['sql'] = "blob NULL";
            } 
    Danach klappt die Bildauswahl wieder...
    Ob das so gut ist?
    Viele Grüße,
    johndoe

  14. #14
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard

    In welcher Datei bzw. Extension kommt das vor?

  15. #15
    Contao-Fan
    Registriert seit
    07.11.2010.
    Ort
    Amberg
    Beiträge
    268

    Standard

    ist ein Theme und die Erweiterung heißt: pct_customelements
    Viele Grüße,
    johndoe

  16. #16
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard

    Hast du die aktuellste Version dieser Extension installiert?

  17. #17
    Contao-Nutzer
    Registriert seit
    12.02.2011.
    Beiträge
    16

    Standard

    Ich hatte das Problem auch und habe beim Anbieter des Themes nachgefragt. Von pct_customelements gibt es jetzt eine aktuelle Version - man muß da nicht selbst rum basteln.

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
  •