Files
san-reymoros/ext/phpbbstudio/dice/migrations/update_skins_directory.php
Gauvain Boiché 155e626426 Extensions
2020-04-04 23:28:30 +02:00

73 lines
1.6 KiB
PHP

<?php
/**
* phpBB Studio's Dice extension for the phpBB Forum Software package.
*
* @copyright (c) 2019 phpBB Studio <https://www.phpbbstudio.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*/
namespace phpbbstudio\dice\migrations;
/**
* phpBB Studio's Dice Migration: Update skins directory.
*/
class update_skins_directory extends \phpbb\db\migration\migration
{
/**
* Assign migration file dependencies for this migration.
*
* @return array Array of migration files
* @access public
* @static
*/
static public function depends_on()
{
return [
'\phpbb\db\migration\data\v32x\v325',
'\phpbbstudio\dice\migrations\install_configs',
];
}
/**
* Update the dice skin directory configuration.
*
* @return array
* @access public
*/
public function update_data()
{
return [
['config.remove', ['dice_version']],
['if', [
$this->config['dice_skins_dir'] === 'ext/phpbbstudio/dice/skins',
['config.update', ['dice_skins_dir', 'images/dice']],
]],
['custom', [[$this, 'mirror_skin_directory']]],
];
}
/**
* Mirror the dice skin directory.
*
* @throws \Exception
* @return void
* @access public
*/
public function mirror_skin_directory()
{
global $phpbb_container;
/** @var \phpbb\filesystem\filesystem $filesystem */
$filesystem = $phpbb_container->get('filesystem');
$origin = $this->phpbb_root_path . 'ext/phpbbstudio/dice/skins';
$target = $this->phpbb_root_path . 'images/dice';
if (!$filesystem->exists($target))
{
$filesystem->mirror($origin, $target, null, [false, false, false]);
}
}
}