39 $shortName = $shortName ?: $driverConfig[
'shortName'];
40 $this->
registerDriverClass($driverConfig[
'class'], $shortName, $driverConfig[
'label'], $driverConfig[
'flexFormDS']);
54 public function registerDriverClass($className, $shortName = NULL, $label = NULL, $flexFormDataStructurePathAndFilename = NULL) {
56 if (!class_exists($className)) {
57 throw new \InvalidArgumentException(
'Class ' . $className .
' does not exist.', 1314979197);
60 if (!in_array(
'TYPO3\CMS\Core\Resource\Driver\DriverInterface', class_implements($className), TRUE)) {
61 throw new \InvalidArgumentException(
'Driver ' . $className .
' needs to implement the DriverInterface.', 1387619575);
63 if ($shortName ===
'') {
64 $shortName = $className;
66 if (array_key_exists($shortName, $this->drivers)) {
68 if ($this->drivers[$shortName] === $className) {
71 throw new \InvalidArgumentException(
'Driver ' . $shortName .
' is already registered.', 1314979451);
74 $this->drivers[$shortName] = $className;
75 $this->driverConfigurations[$shortName] = array(
76 'class' => $className,
77 'shortName' => $shortName,
79 'flexFormDS' => $flexFormDataStructurePathAndFilename
92 $driverFieldConfig = &
$GLOBALS[
'TCA'][
'sys_file_storage'][
'columns'][
'driver'][
'config'];
93 $configurationFieldConfig = &
$GLOBALS[
'TCA'][
'sys_file_storage'][
'columns'][
'configuration'][
'config'];
94 foreach ($this->driverConfigurations as
$driver) {
95 $label = $driver[
'label'] ?: $driver[
'class'];
96 $driverFieldConfig[
'items'][] = array($label, $driver[
'shortName']);
97 if ($driver[
'flexFormDS']) {
98 $configurationFieldConfig[
'ds'][$driver[
'shortName']] = $driver[
'flexFormDS'];
111 if (in_array($shortName, $this->drivers) && class_exists($shortName)) {
114 if (!array_key_exists($shortName, $this->drivers)) {
115 throw new \InvalidArgumentException(
'Desired storage is not in the list of available storages.', 1314085990);
117 return $this->drivers[$shortName];
127 return array_key_exists($shortName, $this->drivers);
registerDriverClass($className, $shortName=NULL, $label=NULL, $flexFormDataStructurePathAndFilename=NULL)
if(!defined('TYPO3_MODE')) $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['logoff_pre_processing'][]
getDriverClass($shortName)