82 lines
2.4 KiB
PHP
82 lines
2.4 KiB
PHP
|
<?php
|
||
|
|
||
|
/**
|
||
|
* This program is free software; you can redistribute it and/or
|
||
|
* modify it under the terms of the GNU General Public License
|
||
|
* as published by the Free Software Foundation; under version 2
|
||
|
* of the License (non-upgradable).
|
||
|
*
|
||
|
* This program is distributed in the hope that it will be useful,
|
||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
* GNU General Public License for more details.
|
||
|
*
|
||
|
* You should have received a copy of the GNU General Public License
|
||
|
* along with this program; if not, write to the Free Software
|
||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||
|
*
|
||
|
* Copyright (c) 2014-2021 (original work) Open Assessment Technologies SA;
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
declare(strict_types=1);
|
||
|
|
||
|
namespace oat\taoMediaManager\model;
|
||
|
|
||
|
/**
|
||
|
* Service methods to manage the Media
|
||
|
*
|
||
|
* @access public
|
||
|
* @package taoMediaManager
|
||
|
*/
|
||
|
class editInstanceForm extends \tao_actions_form_Instance
|
||
|
{
|
||
|
public const IS_REPLACE_ASSET_DISABLED = 'is_replace_asset_disabled';
|
||
|
|
||
|
protected function initForm()
|
||
|
{
|
||
|
parent::initForm();
|
||
|
$bottom = $this->form->getActions('bottom');
|
||
|
$top = $this->form->getActions('top');
|
||
|
|
||
|
$edit = \tao_helpers_form_FormFactory::getElement('edit', 'Free');
|
||
|
$value = $edit ? $this->getReplaceAssetButtonTemplate() : '';
|
||
|
|
||
|
$edit->setValue($value);
|
||
|
$top[] = $edit;
|
||
|
$bottom[] = $edit;
|
||
|
|
||
|
$this->form->setActions($bottom, 'bottom');
|
||
|
$this->form->setActions($top, 'top');
|
||
|
}
|
||
|
|
||
|
private function isEnabled(): bool
|
||
|
{
|
||
|
return empty($this->options[self::IS_DISABLED] ?? false);
|
||
|
}
|
||
|
|
||
|
private function isReplaceEnabled(): bool
|
||
|
{
|
||
|
return empty($this->options[self::IS_REPLACE_ASSET_DISABLED] ?? false);
|
||
|
}
|
||
|
|
||
|
private function getReplaceAssetButtonTemplate(): string
|
||
|
{
|
||
|
return sprintf(
|
||
|
'<button
|
||
|
type="button"
|
||
|
id="edit-media" %s
|
||
|
data-classuri="%s"
|
||
|
data-uri="%s"
|
||
|
class="edit-instance btn-success small">
|
||
|
<span class="icon-loop"></span>
|
||
|
%s
|
||
|
</button>',
|
||
|
($this->isReplaceEnabled() ? '' : 'disabled="disabled" '),
|
||
|
$this->getClazz()->getUri(),
|
||
|
$this->getInstance()->getUri(),
|
||
|
__('Replace Asset')
|
||
|
);
|
||
|
}
|
||
|
}
|