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&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();
}
}