mirror of
https://github.com/silverstripe/silverstripe-subsites
synced 2024-10-22 09:05:55 +00:00
Merge pull request #571 from creative-commoners/pulls/4/protect-hooks
API Set extension hook implementation visibility to protected
This commit is contained in:
commit
4bd9be84f2
@ -20,7 +20,7 @@ class BaseElementSubsites extends DataExtension
|
|||||||
* @param string|null $action
|
* @param string|null $action
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function updatePreviewLink(&$link)
|
protected function updatePreviewLink(&$link)
|
||||||
{
|
{
|
||||||
// Get subsite ID from the element or from its page. Defaults to 0 automatically.
|
// Get subsite ID from the element or from its page. Defaults to 0 automatically.
|
||||||
$subsiteID = $this->owner->SubsiteID;
|
$subsiteID = $this->owner->SubsiteID;
|
||||||
|
@ -13,7 +13,7 @@ use SilverStripe\Subsites\State\SubsiteState;
|
|||||||
*/
|
*/
|
||||||
class CMSPageAddControllerExtension extends Extension
|
class CMSPageAddControllerExtension extends Extension
|
||||||
{
|
{
|
||||||
public function updatePageOptions(FieldList $fields)
|
protected function updatePageOptions(FieldList $fields)
|
||||||
{
|
{
|
||||||
$fields->push(HiddenField::create('SubsiteID', 'SubsiteID', SubsiteState::singleton()->getSubsiteId()));
|
$fields->push(HiddenField::create('SubsiteID', 'SubsiteID', SubsiteState::singleton()->getSubsiteId()));
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,7 @@ class ErrorPageSubsite extends DataExtension
|
|||||||
* @param string $name
|
* @param string $name
|
||||||
* @param int $statusCode
|
* @param int $statusCode
|
||||||
*/
|
*/
|
||||||
public function updateErrorFilename(&$name, &$statusCode)
|
protected function updateErrorFilename(&$name, &$statusCode)
|
||||||
{
|
{
|
||||||
$static_filepath = Config::inst()->get($this->owner->ClassName, 'static_filepath');
|
$static_filepath = Config::inst()->get($this->owner->ClassName, 'static_filepath');
|
||||||
$subdomainPart = '';
|
$subdomainPart = '';
|
||||||
|
@ -49,7 +49,7 @@ class FileSubsites extends DataExtension
|
|||||||
* @param SQLSelect $query
|
* @param SQLSelect $query
|
||||||
* @param DataQuery|null $dataQuery
|
* @param DataQuery|null $dataQuery
|
||||||
*/
|
*/
|
||||||
public function augmentSQL(SQLSelect $query, DataQuery $dataQuery = null)
|
protected function augmentSQL(SQLSelect $query, DataQuery $dataQuery = null)
|
||||||
{
|
{
|
||||||
if (Subsite::$disable_subsite_filter) {
|
if (Subsite::$disable_subsite_filter) {
|
||||||
return;
|
return;
|
||||||
@ -85,7 +85,7 @@ class FileSubsites extends DataExtension
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function onBeforeWrite()
|
protected function onBeforeWrite()
|
||||||
{
|
{
|
||||||
if (!$this->owner->ID && !$this->owner->SubsiteID) {
|
if (!$this->owner->ID && !$this->owner->SubsiteID) {
|
||||||
if ($this->owner->config()->get('default_root_folders_global')) {
|
if ($this->owner->config()->get('default_root_folders_global')) {
|
||||||
@ -96,7 +96,7 @@ class FileSubsites extends DataExtension
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function onAfterUpload()
|
protected function onAfterUpload()
|
||||||
{
|
{
|
||||||
// If we have a parent, use it's subsite as our subsite
|
// If we have a parent, use it's subsite as our subsite
|
||||||
if ($this->owner->Parent()) {
|
if ($this->owner->Parent()) {
|
||||||
@ -132,7 +132,7 @@ class FileSubsites extends DataExtension
|
|||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function cacheKeyComponent()
|
protected function cacheKeyComponent()
|
||||||
{
|
{
|
||||||
return 'subsite-' . SubsiteState::singleton()->getSubsiteId();
|
return 'subsite-' . SubsiteState::singleton()->getSubsiteId();
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ class FolderFormFactoryExtension extends Extension
|
|||||||
* Add subsites-specific fields to the folder editor.
|
* Add subsites-specific fields to the folder editor.
|
||||||
* @param FieldList $fields
|
* @param FieldList $fields
|
||||||
*/
|
*/
|
||||||
public function updateFormFields(FieldList $fields)
|
protected function updateFormFields(FieldList $fields)
|
||||||
{
|
{
|
||||||
$sites = Subsite::accessible_sites('CMS_ACCESS_AssetAdmin');
|
$sites = Subsite::accessible_sites('CMS_ACCESS_AssetAdmin');
|
||||||
$values = [];
|
$values = [];
|
||||||
|
@ -78,7 +78,7 @@ class GroupSubsites extends DataExtension implements PermissionProvider
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function updateCMSFields(FieldList $fields)
|
protected function updateCMSFields(FieldList $fields)
|
||||||
{
|
{
|
||||||
if ($this->owner->canEdit()) {
|
if ($this->owner->canEdit()) {
|
||||||
// i18n tab
|
// i18n tab
|
||||||
@ -132,7 +132,7 @@ class GroupSubsites extends DataExtension implements PermissionProvider
|
|||||||
*
|
*
|
||||||
* @param string $title
|
* @param string $title
|
||||||
*/
|
*/
|
||||||
public function updateTreeTitle(&$title)
|
protected function updateTreeTitle(&$title)
|
||||||
{
|
{
|
||||||
if ($this->owner->AccessAllSubsites) {
|
if ($this->owner->AccessAllSubsites) {
|
||||||
$title = _t(__CLASS__ . '.GlobalGroup', 'global group');
|
$title = _t(__CLASS__ . '.GlobalGroup', 'global group');
|
||||||
@ -148,7 +148,7 @@ class GroupSubsites extends DataExtension implements PermissionProvider
|
|||||||
* @param SQLSelect $query
|
* @param SQLSelect $query
|
||||||
* @param DataQuery|null $dataQuery
|
* @param DataQuery|null $dataQuery
|
||||||
*/
|
*/
|
||||||
public function augmentSQL(SQLSelect $query, DataQuery $dataQuery = null)
|
protected function augmentSQL(SQLSelect $query, DataQuery $dataQuery = null)
|
||||||
{
|
{
|
||||||
if (Subsite::$disable_subsite_filter) {
|
if (Subsite::$disable_subsite_filter) {
|
||||||
return;
|
return;
|
||||||
@ -203,7 +203,7 @@ class GroupSubsites extends DataExtension implements PermissionProvider
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function onBeforeWrite()
|
protected function onBeforeWrite()
|
||||||
{
|
{
|
||||||
// New record test approximated by checking whether the ID has changed.
|
// New record test approximated by checking whether the ID has changed.
|
||||||
// Note also that the after write test is only used when we're *not* on a subsite
|
// Note also that the after write test is only used when we're *not* on a subsite
|
||||||
@ -212,7 +212,7 @@ class GroupSubsites extends DataExtension implements PermissionProvider
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function onAfterWrite()
|
protected function onAfterWrite()
|
||||||
{
|
{
|
||||||
// New record test approximated by checking whether the ID has changed.
|
// New record test approximated by checking whether the ID has changed.
|
||||||
// Note also that the after write test is only used when we're on a subsite
|
// Note also that the after write test is only used when we're on a subsite
|
||||||
|
@ -16,7 +16,7 @@ use SilverStripe\Subsites\State\SubsiteState;
|
|||||||
*/
|
*/
|
||||||
class HintsCacheKeyExtension extends Extension
|
class HintsCacheKeyExtension extends Extension
|
||||||
{
|
{
|
||||||
public function updateHintsCacheKey(&$baseKey)
|
protected function updateHintsCacheKey(&$baseKey)
|
||||||
{
|
{
|
||||||
$baseKey .= '_Subsite:' . SubsiteState::singleton()->getSubsiteId();
|
$baseKey .= '_Subsite:' . SubsiteState::singleton()->getSubsiteId();
|
||||||
}
|
}
|
||||||
|
@ -56,7 +56,7 @@ class LeftAndMainSubsites extends LeftAndMainExtension
|
|||||||
return $subsite ? Convert::raw2xml($subsite->Title) : _t(__CLASS__.'.SITECONTENTLEFT', 'Site Content');
|
return $subsite ? Convert::raw2xml($subsite->Title) : _t(__CLASS__.'.SITECONTENTLEFT', 'Site Content');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function updatePageOptions(&$fields)
|
protected function updatePageOptions(&$fields)
|
||||||
{
|
{
|
||||||
$fields->push(HiddenField::create('SubsiteID', 'SubsiteID', SubsiteState::singleton()->getSubsiteId()));
|
$fields->push(HiddenField::create('SubsiteID', 'SubsiteID', SubsiteState::singleton()->getSubsiteId()));
|
||||||
}
|
}
|
||||||
@ -266,7 +266,7 @@ class LeftAndMainSubsites extends LeftAndMainExtension
|
|||||||
* fully re-synchronised with the internal session. This is better than risking some panels
|
* fully re-synchronised with the internal session. This is better than risking some panels
|
||||||
* showing data from another subsite.
|
* showing data from another subsite.
|
||||||
*/
|
*/
|
||||||
public function onBeforeInit()
|
protected function onBeforeInit()
|
||||||
{
|
{
|
||||||
$request = Controller::curr()->getRequest();
|
$request = Controller::curr()->getRequest();
|
||||||
$session = $request->getSession();
|
$session = $request->getSession();
|
||||||
@ -381,13 +381,13 @@ class LeftAndMainSubsites extends LeftAndMainExtension
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function augmentNewSiteTreeItem(&$item)
|
protected function augmentNewSiteTreeItem(&$item)
|
||||||
{
|
{
|
||||||
$request = Controller::curr()->getRequest();
|
$request = Controller::curr()->getRequest();
|
||||||
$item->SubsiteID = $request->postVar('SubsiteID') ?: SubsiteState::singleton()->getSubsiteId();
|
$item->SubsiteID = $request->postVar('SubsiteID') ?: SubsiteState::singleton()->getSubsiteId();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function onAfterSave($record)
|
protected function onAfterSave($record)
|
||||||
{
|
{
|
||||||
if ($record->hasMethod('NormalRelated') && ($record->NormalRelated() || $record->ReverseRelated())) {
|
if ($record->hasMethod('NormalRelated') && ($record->NormalRelated() || $record->ReverseRelated())) {
|
||||||
$this->owner->response->addHeader(
|
$this->owner->response->addHeader(
|
||||||
|
@ -29,7 +29,7 @@ class SiteConfigSubsites extends DataExtension
|
|||||||
* @param SQLSelect $query
|
* @param SQLSelect $query
|
||||||
* @param DataQuery|null $dataQuery
|
* @param DataQuery|null $dataQuery
|
||||||
*/
|
*/
|
||||||
public function augmentSQL(SQLSelect $query, DataQuery $dataQuery = null)
|
protected function augmentSQL(SQLSelect $query, DataQuery $dataQuery = null)
|
||||||
{
|
{
|
||||||
if (Subsite::$disable_subsite_filter) {
|
if (Subsite::$disable_subsite_filter) {
|
||||||
return;
|
return;
|
||||||
@ -60,7 +60,7 @@ class SiteConfigSubsites extends DataExtension
|
|||||||
$query->addWhere("\"$tableName\".\"SubsiteID\" IN ($subsiteID)");
|
$query->addWhere("\"$tableName\".\"SubsiteID\" IN ($subsiteID)");
|
||||||
}
|
}
|
||||||
|
|
||||||
public function onBeforeWrite()
|
protected function onBeforeWrite()
|
||||||
{
|
{
|
||||||
if ((!is_numeric($this->owner->ID) || !$this->owner->ID) && !$this->owner->SubsiteID) {
|
if ((!is_numeric($this->owner->ID) || !$this->owner->ID) && !$this->owner->SubsiteID) {
|
||||||
$this->owner->SubsiteID = SubsiteState::singleton()->getSubsiteId();
|
$this->owner->SubsiteID = SubsiteState::singleton()->getSubsiteId();
|
||||||
@ -70,12 +70,12 @@ class SiteConfigSubsites extends DataExtension
|
|||||||
/**
|
/**
|
||||||
* Return a piece of text to keep DataObject cache keys appropriately specific
|
* Return a piece of text to keep DataObject cache keys appropriately specific
|
||||||
*/
|
*/
|
||||||
public function cacheKeyComponent()
|
protected function cacheKeyComponent()
|
||||||
{
|
{
|
||||||
return 'subsite-' . SubsiteState::singleton()->getSubsiteId();
|
return 'subsite-' . SubsiteState::singleton()->getSubsiteId();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function updateCMSFields(FieldList $fields)
|
protected function updateCMSFields(FieldList $fields)
|
||||||
{
|
{
|
||||||
$fields->push(HiddenField::create('SubsiteID', 'SubsiteID', SubsiteState::singleton()->getSubsiteId()));
|
$fields->push(HiddenField::create('SubsiteID', 'SubsiteID', SubsiteState::singleton()->getSubsiteId()));
|
||||||
}
|
}
|
||||||
|
@ -63,7 +63,7 @@ class SiteTreeSubsites extends DataExtension
|
|||||||
* @param SQLSelect $query
|
* @param SQLSelect $query
|
||||||
* @param DataQuery $dataQuery
|
* @param DataQuery $dataQuery
|
||||||
*/
|
*/
|
||||||
public function augmentSQL(SQLSelect $query, DataQuery $dataQuery = null)
|
protected function augmentSQL(SQLSelect $query, DataQuery $dataQuery = null)
|
||||||
{
|
{
|
||||||
if (Subsite::$disable_subsite_filter) {
|
if (Subsite::$disable_subsite_filter) {
|
||||||
return;
|
return;
|
||||||
@ -98,7 +98,7 @@ class SiteTreeSubsites extends DataExtension
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function onBeforeWrite()
|
protected function onBeforeWrite()
|
||||||
{
|
{
|
||||||
if (!$this->owner->ID && !$this->owner->SubsiteID) {
|
if (!$this->owner->ID && !$this->owner->SubsiteID) {
|
||||||
$this->owner->SubsiteID = SubsiteState::singleton()->getSubsiteId();
|
$this->owner->SubsiteID = SubsiteState::singleton()->getSubsiteId();
|
||||||
@ -107,7 +107,7 @@ class SiteTreeSubsites extends DataExtension
|
|||||||
parent::onBeforeWrite();
|
parent::onBeforeWrite();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function updateCMSFields(FieldList $fields)
|
protected function updateCMSFields(FieldList $fields)
|
||||||
{
|
{
|
||||||
$subsites = Subsite::accessible_sites('CMS_ACCESS_CMSMain');
|
$subsites = Subsite::accessible_sites('CMS_ACCESS_CMSMain');
|
||||||
if ($subsites && $subsites->count()) {
|
if ($subsites && $subsites->count()) {
|
||||||
@ -225,7 +225,7 @@ class SiteTreeSubsites extends DataExtension
|
|||||||
/**
|
/**
|
||||||
* When duplicating a page, assign the current subsite ID from the state
|
* When duplicating a page, assign the current subsite ID from the state
|
||||||
*/
|
*/
|
||||||
public function onBeforeDuplicate()
|
protected function onBeforeDuplicate()
|
||||||
{
|
{
|
||||||
$subsiteId = SubsiteState::singleton()->getSubsiteId();
|
$subsiteId = SubsiteState::singleton()->getSubsiteId();
|
||||||
if ($subsiteId !== null) {
|
if ($subsiteId !== null) {
|
||||||
@ -290,7 +290,7 @@ class SiteTreeSubsites extends DataExtension
|
|||||||
/**
|
/**
|
||||||
* @return SiteConfig
|
* @return SiteConfig
|
||||||
*/
|
*/
|
||||||
public function alternateSiteConfig()
|
protected function alternateSiteConfig()
|
||||||
{
|
{
|
||||||
if (!$this->owner->SubsiteID) {
|
if (!$this->owner->SubsiteID) {
|
||||||
return false;
|
return false;
|
||||||
@ -433,7 +433,7 @@ class SiteTreeSubsites extends DataExtension
|
|||||||
* @param string|null $action
|
* @param string|null $action
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function updatePreviewLink(&$link, $action = null)
|
protected function updatePreviewLink(&$link, $action = null)
|
||||||
{
|
{
|
||||||
$url = Director::absoluteURL($this->owner->Link($action));
|
$url = Director::absoluteURL($this->owner->Link($action));
|
||||||
$link = HTTP::setGetVar('SubsiteID', $this->owner->SubsiteID, $url);
|
$link = HTTP::setGetVar('SubsiteID', $this->owner->SubsiteID, $url);
|
||||||
@ -454,7 +454,7 @@ class SiteTreeSubsites extends DataExtension
|
|||||||
return $tags;
|
return $tags;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function augmentSyncLinkTracking()
|
protected function augmentSyncLinkTracking()
|
||||||
{
|
{
|
||||||
// Set LinkTracking appropriately
|
// Set LinkTracking appropriately
|
||||||
$links = HTTP::getLinksIn($this->owner->Content);
|
$links = HTTP::getLinksIn($this->owner->Content);
|
||||||
@ -502,7 +502,7 @@ class SiteTreeSubsites extends DataExtension
|
|||||||
*
|
*
|
||||||
* @return null|bool Either true or false, or null to not influence result
|
* @return null|bool Either true or false, or null to not influence result
|
||||||
*/
|
*/
|
||||||
public function augmentValidURLSegment()
|
protected function augmentValidURLSegment()
|
||||||
{
|
{
|
||||||
// If this page is being filtered in the current subsite, then no custom validation query is required.
|
// If this page is being filtered in the current subsite, then no custom validation query is required.
|
||||||
$subsiteID = SubsiteState::singleton()->getSubsiteId();
|
$subsiteID = SubsiteState::singleton()->getSubsiteId();
|
||||||
@ -518,7 +518,7 @@ class SiteTreeSubsites extends DataExtension
|
|||||||
/**
|
/**
|
||||||
* Return a piece of text to keep DataObject cache keys appropriately specific
|
* Return a piece of text to keep DataObject cache keys appropriately specific
|
||||||
*/
|
*/
|
||||||
public function cacheKeyComponent()
|
protected function cacheKeyComponent()
|
||||||
{
|
{
|
||||||
return 'subsite-' . SubsiteState::singleton()->getSubsiteId();
|
return 'subsite-' . SubsiteState::singleton()->getSubsiteId();
|
||||||
}
|
}
|
||||||
|
@ -819,7 +819,7 @@ class Subsite extends DataObject
|
|||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function onAfterWrite()
|
protected function onAfterWrite()
|
||||||
{
|
{
|
||||||
Subsite::writeHostMap();
|
Subsite::writeHostMap();
|
||||||
if ($this->isChanged('ID')) {
|
if ($this->isChanged('ID')) {
|
||||||
|
@ -95,7 +95,7 @@ class SubsiteDomain extends DataObject
|
|||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function onAfterWrite()
|
protected function onAfterWrite()
|
||||||
{
|
{
|
||||||
Subsite::writeHostMap();
|
Subsite::writeHostMap();
|
||||||
parent::onAfterWrite();
|
parent::onAfterWrite();
|
||||||
|
@ -192,7 +192,7 @@ class SubsitesVirtualPage extends VirtualPage
|
|||||||
Subsite::$disable_subsite_filter = $oldState;
|
Subsite::$disable_subsite_filter = $oldState;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function onBeforeWrite()
|
protected function onBeforeWrite()
|
||||||
{
|
{
|
||||||
parent::onBeforeWrite();
|
parent::onBeforeWrite();
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@ use SilverStripe\Forms\FieldList;
|
|||||||
use SilverStripe\Subsites\Extensions\FileSubsites;
|
use SilverStripe\Subsites\Extensions\FileSubsites;
|
||||||
use SilverStripe\Subsites\Model\Subsite;
|
use SilverStripe\Subsites\Model\Subsite;
|
||||||
use SilverStripe\Security\Member;
|
use SilverStripe\Security\Member;
|
||||||
|
use ReflectionMethod;
|
||||||
|
|
||||||
class FileSubsitesTest extends BaseSubsiteTest
|
class FileSubsitesTest extends BaseSubsiteTest
|
||||||
{
|
{
|
||||||
@ -25,7 +26,11 @@ class FileSubsitesTest extends BaseSubsiteTest
|
|||||||
$this->assertEquals('FileTitle', $file->getTreeTitle());
|
$this->assertEquals('FileTitle', $file->getTreeTitle());
|
||||||
$this->assertInstanceOf(FieldList::class, singleton(Folder::class)->getCMSFields());
|
$this->assertInstanceOf(FieldList::class, singleton(Folder::class)->getCMSFields());
|
||||||
Subsite::changeSubsite(1);
|
Subsite::changeSubsite(1);
|
||||||
$this->assertEquals('subsite-1', $file->getExtensionInstance(FileSubsites::class)->cacheKeyComponent());
|
$ext = $file->getExtensionInstance(FileSubsites::class);
|
||||||
|
$method = new ReflectionMethod(FileSubsites::class, 'cacheKeyComponent');
|
||||||
|
$method->setAccessible(true);
|
||||||
|
$result = $method->invoke($ext);
|
||||||
|
$this->assertEquals('subsite-1', $result);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testWritingSubsiteID()
|
public function testWritingSubsiteID()
|
||||||
@ -35,10 +40,13 @@ class FileSubsitesTest extends BaseSubsiteTest
|
|||||||
$subsite = $this->objFromFixture(Subsite::class, 'domaintest1');
|
$subsite = $this->objFromFixture(Subsite::class, 'domaintest1');
|
||||||
Config::modify()->set(FileSubsites::class, 'default_root_folders_global', true);
|
Config::modify()->set(FileSubsites::class, 'default_root_folders_global', true);
|
||||||
|
|
||||||
|
$method = new ReflectionMethod(File::class, 'onAfterUpload');
|
||||||
|
$method->setAccessible(true);
|
||||||
|
|
||||||
Subsite::changeSubsite(0);
|
Subsite::changeSubsite(0);
|
||||||
$file = new File();
|
$file = new File();
|
||||||
$file->write();
|
$file->write();
|
||||||
$file->onAfterUpload();
|
$method->invoke($file);
|
||||||
$this->assertEquals((int)$file->SubsiteID, 0);
|
$this->assertEquals((int)$file->SubsiteID, 0);
|
||||||
|
|
||||||
Subsite::changeSubsite($subsite->ID);
|
Subsite::changeSubsite($subsite->ID);
|
||||||
@ -63,7 +71,7 @@ class FileSubsitesTest extends BaseSubsiteTest
|
|||||||
Config::modify()->set(FileSubsites::class, 'default_root_folders_global', true);
|
Config::modify()->set(FileSubsites::class, 'default_root_folders_global', true);
|
||||||
$file = new File();
|
$file = new File();
|
||||||
$file->ParentID = $folder->ID;
|
$file->ParentID = $folder->ID;
|
||||||
$file->onAfterUpload();
|
$method->invoke($file);
|
||||||
$this->assertEquals($folder->SubsiteID, $file->SubsiteID);
|
$this->assertEquals($folder->SubsiteID, $file->SubsiteID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user