本文整理汇总了PHP中ElggFile::transfer方法的典型用法代码示例。如果您正苦于以下问题:PHP ElggFile::transfer方法的具体用法?PHP ElggFile::transfer怎么用?PHP ElggFile::transfer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ElggFile
的用法示例。
在下文中一共展示了ElggFile::transfer方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testCanTransferFile
/**
* @group FileService
*/
public function testCanTransferFile()
{
$dataroot = elgg_get_config('dataroot');
$file = new \ElggFile();
$file->owner_guid = 3;
$file->setFilename("file-to-transfer.txt");
$file->setFilename("file-to-transfer.txt");
// Fail with non-existent file
$this->assertFalse($file->transfer(4));
$file->open('write');
$file->write('Transfer');
$file->close();
$this->assertTrue($file->transfer(4));
$this->assertEquals(4, $file->owner_guid);
$this->assertEquals("file-to-transfer.txt", $file->getFilename());
$this->assertEquals("{$dataroot}1/4/file-to-transfer.txt", $file->getFilenameOnFilestore());
$this->assertTrue($file->exists());
$this->assertFalse(file_exists("{$dataroot}1/3/file-to-transfer.txt"));
$this->assertTrue($file->transfer(3, 'tmp/transferred-file.txt'));
$this->assertEquals(3, $file->owner_guid);
$this->assertEquals("tmp/transferred-file.txt", $file->getFilename());
$this->assertEquals("{$dataroot}1/3/tmp/transferred-file.txt", $file->getFilenameOnFilestore());
$this->assertTrue($file->exists());
$this->assertFalse(file_exists("{$dataroot}1/4/file-to-transfer.txt"));
// cleanup
_elgg_rmdir("{$dataroot}1/3/");
_elgg_rmdir("{$dataroot}1/4/");
}
示例2: groups_update_event_listener
/**
* Listen to group ownership changes and update group icon ownership
* This will only move the source file, the actual icons are moved by
* _elgg_filestore_move_icons()
*
* This operation is performed in an event listener to ensure that icons
* are moved when ownership changes outside of the groups/edit action flow.
*
* @todo #4683 proposes that icons are owned by groups and not group owners
* @see _elgg_filestore_move_icons()
*
* @param string $event "update:after"
* @param string $type "group"
* @param ElggGroup $group Group entity
* @return void
*/
function groups_update_event_listener($event, $type, $group)
{
/* @var $group \ElggGroup */
$original_attributes = $group->getOriginalAttributes();
if (empty($original_attributes['owner_guid'])) {
return;
}
$previous_owner_guid = $original_attributes['owner_guid'];
// In addition to standard icons, groups plugin stores a copy of the original upload
$filehandler = new ElggFile();
$filehandler->owner_guid = $previous_owner_guid;
$filehandler->setFilename("groups/{$group->guid}.jpg");
$filehandler->transfer($group->owner_guid);
}