first commit

This commit is contained in:
salam committed 2026-10-19 08:18:39 +02:00
commit 1218dd1517
12716 files changed
+989233

No files matched your search

@@ -0,0 +1,44 @@
<?php
namespace TYPO3\CMS\Extbase\Domain\Model;
/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/
/**
* A file object (File Abstraction Layer)
*
* @internal experimental! This class is experimental and subject to change!
*/
abstract class AbstractFileCollection extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
{
/**
* @var \TYPO3\CMS\Core\Resource\Collection\AbstractFileCollection
*/
protected $object;
/**
* @param \TYPO3\CMS\Core\Resource\Collection\AbstractFileCollection $object
*/
public function setObject(\TYPO3\CMS\Core\Resource\Collection\AbstractFileCollection $object)
{
$this->object = $object;
}
/**
* @return \TYPO3\CMS\Core\Resource\Collection\AbstractFileCollection
*/
public function getObject()
{
return $this->object;
}
}
@@ -0,0 +1,44 @@
<?php
namespace TYPO3\CMS\Extbase\Domain\Model;
/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/
/**
* A file object (File Abstraction Layer)
*
* @internal experimental! This class is experimental and subject to change!
*/
abstract class AbstractFileFolder extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
{
/**
* @var \TYPO3\CMS\Core\Resource\ResourceInterface
*/
protected $originalResource;
/**
* @param \TYPO3\CMS\Core\Resource\ResourceInterface $originalResource
*/
public function setOriginalResource(\TYPO3\CMS\Core\Resource\ResourceInterface $originalResource)
{
$this->originalResource = $originalResource;
}
/**
* @return \TYPO3\CMS\Core\Resource\ResourceInterface
*/
public function getOriginalResource()
{
return $this->originalResource;
}
}
@@ -0,0 +1,310 @@
<?php
namespace TYPO3\CMS\Extbase\Domain\Model;
/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/
use TYPO3\CMS\Extbase\Annotation as Extbase;
/**
* This model represents a back-end user.
*/
class BackendUser extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
{
/**
* @var string
* @Extbase\Validate("NotEmpty")
*/
protected $userName = '';
/**
* @var string
*/
protected $description = '';
/**
* @var bool
*/
protected $isAdministrator = false;
/**
* @var bool
*/
protected $isDisabled = false;
/**
* @var \DateTime|null
*/
protected $startDateAndTime;
/**
* @var \DateTime|null
*/
protected $endDateAndTime;
/**
* @var string
*/
protected $email = '';
/**
* @var string
*/
protected $realName = '';
/**
* @var \DateTime|null
*/
protected $lastLoginDateAndTime;
/**
* @var bool
*/
protected $ipLockIsDisabled = false;
/**
* Gets the user name.
*
* @return string the user name, will not be empty
*/
public function getUserName()
{
return $this->userName;
}
/**
* Sets the user name.
*
* @param string $userName the user name to set, must not be empty
*/
public function setUserName($userName)
{
$this->userName = $userName;
}
/**
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* @param string $description
*/
public function setDescription($description)
{
$this->description = $description;
}
/**
* Checks whether this user is an administrator.
*
* @return bool whether this user is an administrator
*/
public function getIsAdministrator()
{
return $this->isAdministrator;
}
/**
* Sets whether this user should be an administrator.
*
* @param bool $isAdministrator whether this user should be an administrator
*/
public function setIsAdministrator($isAdministrator)
{
$this->isAdministrator = $isAdministrator;
}
/**
* Checks whether this user is disabled.
*
* @return bool whether this user is disabled
*/
public function getIsDisabled()
{
return $this->isDisabled;
}
/**
* Sets whether this user is disabled.
*
* @param bool $isDisabled whether this user is disabled
*/
public function setIsDisabled($isDisabled)
{
$this->isDisabled = $isDisabled;
}
/**
* Returns the point in time from which this user is enabled.
*
* @return \DateTime|null the start date and time
*/
public function getStartDateAndTime()
{
return $this->startDateAndTime;
}
/**
* Sets the point in time from which this user is enabled.
*
* @param \DateTime|null $dateAndTime the start date and time
*/
public function setStartDateAndTime(\DateTime $dateAndTime = null)
{
$this->startDateAndTime = $dateAndTime;
}
/**
* Returns the point in time before which this user is enabled.
*
* @return \DateTime|null the end date and time
*/
public function getEndDateAndTime()
{
return $this->endDateAndTime;
}
/**
* Sets the point in time before which this user is enabled.
*
* @param \DateTime|null $dateAndTime the end date and time
*/
public function setEndDateAndTime(\DateTime $dateAndTime = null)
{
$this->endDateAndTime = $dateAndTime;
}
/**
* Gets the e-mail address of this user.
*
* @return string the e-mail address, might be empty
*/
public function getEmail()
{
return $this->email;
}
/**
* Sets the e-mail address of this user.
*
* @param string $email the e-mail address, may be empty
*/
public function setEmail($email)
{
$this->email = $email;
}
/**
* Returns this user's real name.
*
* @return string the real name. might be empty
*/
public function getRealName()
{
return $this->realName;
}
/**
* Sets this user's real name.
*
* @param string $name the user's real name, may be empty.
*/
public function setRealName($name)
{
$this->realName = $name;
}
/**
* Checks whether this user is currently activated.
*
* This function takes the "disabled" flag, the start date/time and the end date/time into account.
*
* @return bool whether this user is currently activated
*/
public function isActivated()
{
return !$this->getIsDisabled() && $this->isActivatedViaStartDateAndTime() && $this->isActivatedViaEndDateAndTime();
}
/**
* Checks whether this user is activated as far as the start date and time is concerned.
*
* @return bool whether this user is activated as far as the start date and time is concerned
*/
protected function isActivatedViaStartDateAndTime()
{
if ($this->getStartDateAndTime() === null) {
return true;
}
$now = new \DateTime('now');
return $this->getStartDateAndTime() <= $now;
}
/**
* Checks whether this user is activated as far as the end date and time is concerned.
*
* @return bool whether this user is activated as far as the end date and time is concerned
*/
protected function isActivatedViaEndDateAndTime()
{
if ($this->getEndDateAndTime() === null) {
return true;
}
$now = new \DateTime('now');
return $now <= $this->getEndDateAndTime();
}
/**
* Sets whether the IP lock for this user is disabled.
*
* @param bool $disableIpLock whether the IP lock for this user is disabled
*/
public function setIpLockIsDisabled($disableIpLock)
{
$this->ipLockIsDisabled = $disableIpLock;
}
/**
* Checks whether the IP lock for this user is disabled.
*
* @return bool whether the IP lock for this user is disabled
*/
public function getIpLockIsDisabled()
{
return $this->ipLockIsDisabled;
}
/**
* Gets this user's last login date and time.
*
* @return \DateTime|null this user's last login date and time, will be NULL if this user has never logged in before
*/
public function getLastLoginDateAndTime()
{
return $this->lastLoginDateAndTime;
}
/**
* Sets this user's last login date and time.
*
* @param \DateTime|null $dateAndTime this user's last login date and time
*/
public function setLastLoginDateAndTime(\DateTime $dateAndTime = null)
{
$this->lastLoginDateAndTime = $dateAndTime;
}
}
@@ -0,0 +1,548 @@
<?php
namespace TYPO3\CMS\Extbase\Domain\Model;
/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/
use TYPO3\CMS\Extbase\Annotation as Extbase;
/**
* This model represents a backend usergroup.
*/
class BackendUserGroup extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
{
const FILE_OPPERATIONS = 1;
const DIRECTORY_OPPERATIONS = 4;
const DIRECTORY_COPY = 8;
const DIRECTORY_REMOVE_RECURSIVELY = 16;
/**
* @var string
* @Extbase\Validate("NotEmpty")
*/
protected $title = '';
/**
* @var string
*/
protected $description = '';
/**
* @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\BackendUserGroup>
*/
protected $subGroups;
/**
* @var string
*/
protected $modules = '';
/**
* @var string
*/
protected $tablesListening = '';
/**
* @var string
*/
protected $tablesModify = '';
/**
* @var string
*/
protected $pageTypes = '';
/**
* @var string
*/
protected $allowedExcludeFields = '';
/**
* @var string
*/
protected $explicitlyAllowAndDeny = '';
/**
* @var string
*/
protected $allowedLanguages = '';
/**
* @var bool
*/
protected $workspacePermission = false;
/**
* @var string
*/
protected $databaseMounts = '';
/**
* @var int
*/
protected $fileOperationPermissions = 0;
/**
* @var string
*/
protected $lockToDomain = '';
/**
* @var string
*/
protected $tsConfig = '';
/**
* Constructs this backend usergroup
*/
public function __construct()
{
$this->subGroups = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage();
}
/**
* Setter for title
*
* @param string $title
*/
public function setTitle($title)
{
$this->title = $title;
}
/**
* Getter for title
*
* @return string
*/
public function getTitle()
{
return $this->title;
}
/**
* Setter for description
*
* @param string $description
*/
public function setDescription($description)
{
$this->description = $description;
}
/**
* Getter for description
*
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* Setter for the sub groups
*
* @param \TYPO3\CMS\Extbase\Persistence\ObjectStorage $subGroups
*/
public function setSubGroups(\TYPO3\CMS\Extbase\Persistence\ObjectStorage $subGroups)
{
$this->subGroups = $subGroups;
}
/**
* Adds a sub group to this backend user group
*
* @param \TYPO3\CMS\Extbase\Domain\Model\BackendUserGroup $beGroup
*/
public function addSubGroup(\TYPO3\CMS\Extbase\Domain\Model\BackendUserGroup $beGroup)
{
$this->subGroups->attach($beGroup);
}
/**
* Removes sub group from this backend user group
*
* @param \TYPO3\CMS\Extbase\Domain\Model\BackendUserGroup $groupToDelete
*/
public function removeSubGroup(\TYPO3\CMS\Extbase\Domain\Model\BackendUserGroup $groupToDelete)
{
$this->subGroups->detach($groupToDelete);
}
/**
* Remove all sub groups from this backend user group
*/
public function removeAllSubGroups()
{
$subGroups = clone $this->subGroups;
$this->subGroups->removeAll($subGroups);
}
/**
* Getter of sub groups
*
* @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage
*/
public function getSubGroups()
{
return $this->subGroups;
}
/**
* Setter for modules
*
* @param string $modules
*/
public function setModules($modules)
{
$this->modules = $modules;
}
/**
* Getter for modules
*
* @return string
*/
public function getModules()
{
return $this->modules;
}
/**
* Setter for tables listening
*
* @param string $tablesListening
*/
public function setTablesListening($tablesListening)
{
$this->tablesListening = $tablesListening;
}
/**
* Getter for tables listening
*
* @return string
*/
public function getTablesListening()
{
return $this->tablesListening;
}
/**
* Setter for tables modify
*
* @param string $tablesModify
*/
public function setTablesModify($tablesModify)
{
$this->tablesModify = $tablesModify;
}
/**
* Getter for tables modify
*
* @return string
*/
public function getTablesModify()
{
return $this->tablesModify;
}
/**
* Setter for page types
*
* @param string $pageTypes
*/
public function setPageTypes($pageTypes)
{
$this->pageTypes = $pageTypes;
}
/**
* Getter for page types
*
* @return string
*/
public function getPageTypes()
{
return $this->pageTypes;
}
/**
* Setter for allowed exclude fields
*
* @param string $allowedExcludeFields
*/
public function setAllowedExcludeFields($allowedExcludeFields)
{
$this->allowedExcludeFields = $allowedExcludeFields;
}
/**
* Getter for allowed exclude fields
*
* @return string
*/
public function getAllowedExcludeFields()
{
return $this->allowedExcludeFields;
}
/**
* Setter for explicitly allow and deny
*
* @param string $explicitlyAllowAndDeny
*/
public function setExplicitlyAllowAndDeny($explicitlyAllowAndDeny)
{
$this->explicitlyAllowAndDeny = $explicitlyAllowAndDeny;
}
/**
* Getter for explicitly allow and deny
*
* @return string
*/
public function getExplicitlyAllowAndDeny()
{
return $this->explicitlyAllowAndDeny;
}
/**
* Setter for allowed languages
*
* @param string $allowedLanguages
*/
public function setAllowedLanguages($allowedLanguages)
{
$this->allowedLanguages = $allowedLanguages;
}
/**
* Getter for allowed languages
*
* @return string
*/
public function getAllowedLanguages()
{
return $this->allowedLanguages;
}
/**
* Setter for workspace permission
*
* @param bool $workspacePermission
*/
public function setWorkspacePermissions($workspacePermission)
{
$this->workspacePermission = $workspacePermission;
}
/**
* Getter for workspace permission
*
* @return bool
*/
public function getWorkspacePermission()
{
return $this->workspacePermission;
}
/**
* Setter for database mounts
*
* @param string $databaseMounts
*/
public function setDatabaseMounts($databaseMounts)
{
$this->databaseMounts = $databaseMounts;
}
/**
* Getter for database mounts
*
* @return string
*/
public function getDatabaseMounts()
{
return $this->databaseMounts;
}
/**
* Getter for file operation permissions
*
* @param int $fileOperationPermissions
*/
public function setFileOperationPermissions($fileOperationPermissions)
{
$this->fileOperationPermissions = $fileOperationPermissions;
}
/**
* Getter for file operation permissions
*
* @return int
*/
public function getFileOperationPermissions()
{
return $this->fileOperationPermissions;
}
/**
* Check if file operations like upload, copy, move, delete, rename, new and
* edit files is allowed.
*
* @return bool
*/
public function isFileOperationAllowed()
{
return $this->isPermissionSet(self::FILE_OPPERATIONS);
}
/**
* Set the the bit for file operations are allowed.
*
* @param bool $value
*/
public function setFileOperationAllowed($value)
{
$this->setPermission(self::FILE_OPPERATIONS, $value);
}
/**
* Check if folder operations like move, delete, rename, and new are allowed.
*
* @return bool
*/
public function isDirectoryOperationAllowed()
{
return $this->isPermissionSet(self::DIRECTORY_OPPERATIONS);
}
/**
* Set the the bit for directory operations are allowed.
*
* @param bool $value
*/
public function setDirectoryOperationAllowed($value)
{
$this->setPermission(self::DIRECTORY_OPPERATIONS, $value);
}
/**
* Check if it is allowed to copy folders.
*
* @return bool
*/
public function isDirectoryCopyAllowed()
{
return $this->isPermissionSet(self::DIRECTORY_COPY);
}
/**
* Set the the bit for copy directories.
*
* @param bool $value
*/
public function setDirectoryCopyAllowed($value)
{
$this->setPermission(self::DIRECTORY_COPY, $value);
}
/**
* Check if it is allowed to remove folders recursively.
*
* @return bool
*/
public function isDirectoryRemoveRecursivelyAllowed()
{
return $this->isPermissionSet(self::DIRECTORY_REMOVE_RECURSIVELY);
}
/**
* Set the the bit for remove directories recursively.
*
* @param bool $value
*/
public function setDirectoryRemoveRecursivelyAllowed($value)
{
$this->setPermission(self::DIRECTORY_REMOVE_RECURSIVELY, $value);
}
/**
* Setter for lock to domain
*
* @param string $lockToDomain
*/
public function setLockToDomain($lockToDomain)
{
$this->lockToDomain = $lockToDomain;
}
/**
* Getter for lock to domain
*
* @return string
*/
public function getLockToDomain()
{
return $this->lockToDomain;
}
/**
* Setter for ts config
*
* @param string $tsConfig
*/
public function setTsConfig($tsConfig)
{
$this->tsConfig = $tsConfig;
}
/**
* Getter for ts config
*
* @return string
*/
public function getTsConfig()
{
return $this->tsConfig;
}
/**
* Helper method for checking the permissions bitwise.
*
* @param int $permission
* @return bool
*/
protected function isPermissionSet($permission)
{
return ($this->fileOperationPermissions & $permission) == $permission;
}
/**
* Helper method for settung permissions bitwise.
*
* @param int $permission
* @param bool $value
*/
protected function setPermission($permission, $value)
{
if ($value) {
$this->fileOperationPermissions |= $permission;
} else {
$this->fileOperationPermissions &= ~$permission;
}
}
}
@@ -0,0 +1,103 @@
<?php
namespace TYPO3\CMS\Extbase\Domain\Model;
/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/
use TYPO3\CMS\Extbase\Annotation as Extbase;
/**
* This model represents a category (for anything).
*/
class Category extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
{
/**
* @var string
* @Extbase\Validate("NotEmpty")
*/
protected $title = '';
/**
* @var string
*/
protected $description = '';
/**
* @var \TYPO3\CMS\Extbase\Domain\Model\Category|null
* @Extbase\ORM\Lazy
*/
protected $parent;
/**
* Gets the title.
*
* @return string the title, might be empty
*/
public function getTitle()
{
return $this->title;
}
/**
* Sets the title.
*
* @param string $title the title to set, may be empty
*/
public function setTitle($title)
{
$this->title = $title;
}
/**
* Gets the description.
*
* @return string the description, might be empty
*/
public function getDescription()
{
return $this->description;
}
/**
* Sets the description.
*
* @param string $description the description to set, may be empty
*/
public function setDescription($description)
{
$this->description = $description;
}
/**
* Gets the parent category.
*
* @return \TYPO3\CMS\Extbase\Domain\Model\Category|null the parent category
*/
public function getParent()
{
if ($this->parent instanceof \TYPO3\CMS\Extbase\Persistence\Generic\LazyLoadingProxy) {
$this->parent->_loadRealInstance();
}
return $this->parent;
}
/**
* Sets the parent category.
*
* @param \TYPO3\CMS\Extbase\Domain\Model\Category $parent the parent category
*/
public function setParent(\TYPO3\CMS\Extbase\Domain\Model\Category $parent)
{
$this->parent = $parent;
}
}
@@ -0,0 +1,35 @@
<?php
namespace TYPO3\CMS\Extbase\Domain\Model;
/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/
/**
* A file object (File Abstraction Layer)
*
* @internal experimental! This class is experimental and subject to change!
*/
class File extends \TYPO3\CMS\Extbase\Domain\Model\AbstractFileFolder
{
/**
* @return \TYPO3\CMS\Core\Resource\File
*/
public function getOriginalResource()
{
if ($this->originalResource === null) {
$this->originalResource = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->getFileObject($this->getUid());
}
return $this->originalResource;
}
}
@@ -0,0 +1,164 @@
<?php
namespace TYPO3\CMS\Extbase\Domain\Model;
/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/
use TYPO3\CMS\Extbase\Annotation as Extbase;
/**
* This model represents a file mount.
*/
class FileMount extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
{
/**
* Title of the file mount.
*
* @var string
* @Extbase\Validate("NotEmpty")
*/
protected $title = '';
/**
* Description of the file mount.
*
* @var string
*/
protected $description;
/**
* Path of the file mount.
*
* @var string
* @Extbase\Validate("NotEmpty")
*/
protected $path = '';
/**
* Determines whether the value of the path field is to be recognized as an absolute
* path on the server or a path relative to the fileadmin/ subfolder to the website.
*
* If the value is true the path is an absolute one, otherwise the path is relative
* the fileadmin.
*
* @var bool
*/
protected $isAbsolutePath = false;
/**
* Determines whether this file mount should be read only.
*
* @var bool
*/
protected $readOnly = false;
/**
* Getter for the title of the file mount.
*
* @return string
*/
public function getTitle()
{
return $this->title;
}
/**
* Setter for the title of the file mount.
*
* @param string $value
*/
public function setTitle($value)
{
$this->title = $value;
}
/**
* Getter for the description of the file mount.
*
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* Setter for the description of the file mount.
*
* @param string $description
*/
public function setDescription($description)
{
$this->description = $description;
}
/**
* Getter for the path of the file mount.
*
* @return string
*/
public function getPath()
{
return $this->path;
}
/**
* Setter for the path of the file mount.
*
* @param string $value
*/
public function setPath($value)
{
$this->path = $value;
}
/**
* Getter for the is absolute path of the file mount.
*
* @return bool
*/
public function getIsAbsolutePath()
{
return $this->isAbsolutePath;
}
/**
* Setter for is absolute path of the file mount.
*
* @param bool $value
*/
public function setIsAbsolutePath($value)
{
$this->isAbsolutePath = $value;
}
/**
* Setter for the readOnly property of the file mount.
*
* @param bool $readOnly
*/
public function setReadOnly($readOnly)
{
$this->readOnly = $readOnly;
}
/**
* Getter for the readOnly property of the file mount.
*
* @return bool
*/
public function isReadOnly()
{
return $this->readOnly;
}
}
@@ -0,0 +1,71 @@
<?php
namespace TYPO3\CMS\Extbase\Domain\Model;
/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/
use TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface;
/**
* A file reference object (File Abstraction Layer)
*
* @internal experimental! This class is experimental and subject to change!
*/
class FileReference extends \TYPO3\CMS\Extbase\Domain\Model\AbstractFileFolder
{
/**
* Uid of the referenced sys_file. Needed for extbase to serialize the
* reference correctly.
*
* @var int
*/
protected $uidLocal;
/**
* @var \TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface
*/
protected $configurationManager;
/**
* @param \TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface $configurationManager
*/
public function injectConfigurationManager(ConfigurationManagerInterface $configurationManager)
{
$this->configurationManager = $configurationManager;
}
/**
* @param \TYPO3\CMS\Core\Resource\ResourceInterface $originalResource
*/
public function setOriginalResource(\TYPO3\CMS\Core\Resource\ResourceInterface $originalResource)
{
$this->originalResource = $originalResource;
$this->uidLocal = (int)$originalResource->getOriginalFile()->getUid();
}
/**
* @return \TYPO3\CMS\Core\Resource\FileReference
*/
public function getOriginalResource()
{
if ($this->originalResource === null) {
$uid = $this->getUid();
if ($this->configurationManager->isFeatureEnabled('consistentTranslationOverlayHandling')) {
$uid = $this->_localizedUid;
}
$this->originalResource = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->getFileReferenceObject($uid);
}
return $this->originalResource;
}
}
@@ -0,0 +1,24 @@
<?php
namespace TYPO3\CMS\Extbase\Domain\Model;
/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/
/**
* A folder object (File Abstraction Layer)
*
* @internal experimental! This class is experimental and subject to change!
*/
class Folder extends \TYPO3\CMS\Extbase\Domain\Model\AbstractFileFolder
{
}
@@ -0,0 +1,24 @@
<?php
namespace TYPO3\CMS\Extbase\Domain\Model;
/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/
/**
* A file collection object (File Abstraction Layer)
*
* @internal experimental! This class is experimental and subject to change!
*/
class FolderBasedFileCollection extends \TYPO3\CMS\Extbase\Domain\Model\AbstractFileCollection
{
}
@@ -0,0 +1,557 @@
<?php
namespace TYPO3\CMS\Extbase\Domain\Model;
/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/
/**
* A Frontend User
*/
class FrontendUser extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
{
/**
* @var string
*/
protected $username = '';
/**
* @var string
*/
protected $password = '';
/**
* @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\FrontendUserGroup>
*/
protected $usergroup;
/**
* @var string
*/
protected $name = '';
/**
* @var string
*/
protected $firstName = '';
/**
* @var string
*/
protected $middleName = '';
/**
* @var string
*/
protected $lastName = '';
/**
* @var string
*/
protected $address = '';
/**
* @var string
*/
protected $telephone = '';
/**
* @var string
*/
protected $fax = '';
/**
* @var string
*/
protected $email = '';
/**
* @var string
*/
protected $lockToDomain = '';
/**
* @var string
*/
protected $title = '';
/**
* @var string
*/
protected $zip = '';
/**
* @var string
*/
protected $city = '';
/**
* @var string
*/
protected $country = '';
/**
* @var string
*/
protected $www = '';
/**
* @var string
*/
protected $company = '';
/**
* @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\FileReference>
*/
protected $image;
/**
* @var \DateTime|null
*/
protected $lastlogin;
/**
* Constructs a new Front-End User
*
* @param string $username
* @param string $password
*/
public function __construct($username = '', $password = '')
{
$this->username = $username;
$this->password = $password;
$this->usergroup = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage();
$this->image = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage();
}
/**
* Sets the username value
*
* @param string $username
*/
public function setUsername($username)
{
$this->username = $username;
}
/**
* Returns the username value
*
* @return string
*/
public function getUsername()
{
return $this->username;
}
/**
* Sets the password value
*
* @param string $password
*/
public function setPassword($password)
{
$this->password = $password;
}
/**
* Returns the password value
*
* @return string
*/
public function getPassword()
{
return $this->password;
}
/**
* Sets the usergroups. Keep in mind that the property is called "usergroup"
* although it can hold several usergroups.
*
* @param \TYPO3\CMS\Extbase\Persistence\ObjectStorage $usergroup
*/
public function setUsergroup(\TYPO3\CMS\Extbase\Persistence\ObjectStorage $usergroup)
{
$this->usergroup = $usergroup;
}
/**
* Adds a usergroup to the frontend user
*
* @param \TYPO3\CMS\Extbase\Domain\Model\FrontendUserGroup $usergroup
*/
public function addUsergroup(\TYPO3\CMS\Extbase\Domain\Model\FrontendUserGroup $usergroup)
{
$this->usergroup->attach($usergroup);
}
/**
* Removes a usergroup from the frontend user
*
* @param \TYPO3\CMS\Extbase\Domain\Model\FrontendUserGroup $usergroup
*/
public function removeUsergroup(\TYPO3\CMS\Extbase\Domain\Model\FrontendUserGroup $usergroup)
{
$this->usergroup->detach($usergroup);
}
/**
* Returns the usergroups. Keep in mind that the property is called "usergroup"
* although it can hold several usergroups.
*
* @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage An object storage containing the usergroup
*/
public function getUsergroup()
{
return $this->usergroup;
}
/**
* Sets the name value
*
* @param string $name
*/
public function setName($name)
{
$this->name = $name;
}
/**
* Returns the name value
*
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Sets the firstName value
*
* @param string $firstName
*/
public function setFirstName($firstName)
{
$this->firstName = $firstName;
}
/**
* Returns the firstName value
*
* @return string
*/
public function getFirstName()
{
return $this->firstName;
}
/**
* Sets the middleName value
*
* @param string $middleName
*/
public function setMiddleName($middleName)
{
$this->middleName = $middleName;
}
/**
* Returns the middleName value
*
* @return string
*/
public function getMiddleName()
{
return $this->middleName;
}
/**
* Sets the lastName value
*
* @param string $lastName
*/
public function setLastName($lastName)
{
$this->lastName = $lastName;
}
/**
* Returns the lastName value
*
* @return string
*/
public function getLastName()
{
return $this->lastName;
}
/**
* Sets the address value
*
* @param string $address
*/
public function setAddress($address)
{
$this->address = $address;
}
/**
* Returns the address value
*
* @return string
*/
public function getAddress()
{
return $this->address;
}
/**
* Sets the telephone value
*
* @param string $telephone
*/
public function setTelephone($telephone)
{
$this->telephone = $telephone;
}
/**
* Returns the telephone value
*
* @return string
*/
public function getTelephone()
{
return $this->telephone;
}
/**
* Sets the fax value
*
* @param string $fax
*/
public function setFax($fax)
{
$this->fax = $fax;
}
/**
* Returns the fax value
*
* @return string
*/
public function getFax()
{
return $this->fax;
}
/**
* Sets the email value
*
* @param string $email
*/
public function setEmail($email)
{
$this->email = $email;
}
/**
* Returns the email value
*
* @return string
*/
public function getEmail()
{
return $this->email;
}
/**
* Sets the lockToDomain value
*
* @param string $lockToDomain
*/
public function setLockToDomain($lockToDomain)
{
$this->lockToDomain = $lockToDomain;
}
/**
* Returns the lockToDomain value
*
* @return string
*/
public function getLockToDomain()
{
return $this->lockToDomain;
}
/**
* Sets the title value
*
* @param string $title
*/
public function setTitle($title)
{
$this->title = $title;
}
/**
* Returns the title value
*
* @return string
*/
public function getTitle()
{
return $this->title;
}
/**
* Sets the zip value
*
* @param string $zip
*/
public function setZip($zip)
{
$this->zip = $zip;
}
/**
* Returns the zip value
*
* @return string
*/
public function getZip()
{
return $this->zip;
}
/**
* Sets the city value
*
* @param string $city
*/
public function setCity($city)
{
$this->city = $city;
}
/**
* Returns the city value
*
* @return string
*/
public function getCity()
{
return $this->city;
}
/**
* Sets the country value
*
* @param string $country
*/
public function setCountry($country)
{
$this->country = $country;
}
/**
* Returns the country value
*
* @return string
*/
public function getCountry()
{
return $this->country;
}
/**
* Sets the www value
*
* @param string $www
*/
public function setWww($www)
{
$this->www = $www;
}
/**
* Returns the www value
*
* @return string
*/
public function getWww()
{
return $this->www;
}
/**
* Sets the company value
*
* @param string $company
*/
public function setCompany($company)
{
$this->company = $company;
}
/**
* Returns the company value
*
* @return string
*/
public function getCompany()
{
return $this->company;
}
/**
* Sets the image value
*
* @param \TYPO3\CMS\Extbase\Persistence\ObjectStorage $image
*/
public function setImage(\TYPO3\CMS\Extbase\Persistence\ObjectStorage $image)
{
$this->image = $image;
}
/**
* Gets the image value
*
* @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage
*/
public function getImage()
{
return $this->image;
}
/**
* Sets the lastlogin value
*
* @param \DateTime $lastlogin
*/
public function setLastlogin(\DateTime $lastlogin)
{
$this->lastlogin = $lastlogin;
}
/**
* Returns the lastlogin value
*
* @return \DateTime
*/
public function getLastlogin()
{
return $this->lastlogin;
}
}
@@ -0,0 +1,154 @@
<?php
namespace TYPO3\CMS\Extbase\Domain\Model;
/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/
/**
* A Frontend User Group
*/
class FrontendUserGroup extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
{
/**
* @var string
*/
protected $title = '';
/**
* @var string
*/
protected $lockToDomain = '';
/**
* @var string
*/
protected $description = '';
/**
* @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\FrontendUserGroup>
*/
protected $subgroup;
/**
* Constructs a new Frontend User Group
*
* @param string $title
*/
public function __construct($title = '')
{
$this->setTitle($title);
$this->subgroup = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage();
}
/**
* Sets the title value
*
* @param string $title
*/
public function setTitle($title)
{
$this->title = $title;
}
/**
* Returns the title value
*
* @return string
*/
public function getTitle()
{
return $this->title;
}
/**
* Sets the lockToDomain value
*
* @param string $lockToDomain
*/
public function setLockToDomain($lockToDomain)
{
$this->lockToDomain = $lockToDomain;
}
/**
* Returns the lockToDomain value
*
* @return string
*/
public function getLockToDomain()
{
return $this->lockToDomain;
}
/**
* Sets the description value
*
* @param string $description
*/
public function setDescription($description)
{
$this->description = $description;
}
/**
* Returns the description value
*
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* Sets the subgroups. Keep in mind that the property is called "subgroup"
* although it can hold several subgroups.
*
* @param \TYPO3\CMS\Extbase\Persistence\ObjectStorage $subgroup An object storage containing the subgroups to add
*/
public function setSubgroup(\TYPO3\CMS\Extbase\Persistence\ObjectStorage $subgroup)
{
$this->subgroup = $subgroup;
}
/**
* Adds a subgroup to the frontend user
*
* @param \TYPO3\CMS\Extbase\Domain\Model\FrontendUserGroup $subgroup
*/
public function addSubgroup(\TYPO3\CMS\Extbase\Domain\Model\FrontendUserGroup $subgroup)
{
$this->subgroup->attach($subgroup);
}
/**
* Removes a subgroup from the frontend user group
*
* @param \TYPO3\CMS\Extbase\Domain\Model\FrontendUserGroup $subgroup
*/
public function removeSubgroup(\TYPO3\CMS\Extbase\Domain\Model\FrontendUserGroup $subgroup)
{
$this->subgroup->detach($subgroup);
}
/**
* Returns the subgroups. Keep in mind that the property is called "subgroup"
* although it can hold several subgroups.
*
* @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage An object storage containing the subgroups
*/
public function getSubgroup()
{
return $this->subgroup;
}
}
@@ -0,0 +1,24 @@
<?php
namespace TYPO3\CMS\Extbase\Domain\Model;
/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/
/**
* A file collection object (File Abstraction Layer)
*
* @internal experimental! This class is experimental and subject to change!
*/
class StaticFileCollection extends \TYPO3\CMS\Extbase\Domain\Model\AbstractFileCollection
{
}