| Current Path : /var/www/homesaver/www/bitrix/modules/sprint.migration/lib/builders/ |
| Current File : /var/www/homesaver/www/bitrix/modules/sprint.migration/lib/builders/medialibelementsbuilder.php |
<?php
namespace Sprint\Migration\Builders;
use Sprint\Migration\Exceptions\HelperException;
use Sprint\Migration\Exceptions\MigrationException;
use Sprint\Migration\Exceptions\RebuildException;
use Sprint\Migration\Exceptions\RestartException;
use Sprint\Migration\Locale;
use Sprint\Migration\Module;
use Sprint\Migration\VersionBuilder;
class MedialibElementsBuilder extends VersionBuilder
{
/**
* @return bool
*/
protected function isBuilderEnabled()
{
return (!Locale::isWin1251() && $this->getHelperManager()->MedialibExchange()->isEnabled());
}
protected function initialize()
{
$this->setTitle(Locale::getMessage('BUILDER_MedialibElements1'));
$this->setDescription(Locale::getMessage('BUILDER_MedialibElements2'));
$this->setGroup(Locale::getMessage('BUILDER_GROUP_Medialib'));
$this->addVersionFields();
}
/**
* @throws RebuildException
* @throws HelperException
* @throws MigrationException
*/
protected function execute()
{
$medialibExchange = $this->getHelperManager()->MedialibExchange();
$collectionIds = $this->addFieldAndReturn(
'collection_id',
[
'title' => Locale::getMessage('BUILDER_MedialibElements_CollectionId'),
'placeholder' => '',
'width' => 250,
'select' => $medialibExchange->getCollectionStructure(
$medialibExchange::TYPE_IMAGE
),
'multiple' => true,
]
);
$this->getExchangeManager()
->MedialibElementsExport()
->setLimit(20)
->setCollectionIds($collectionIds)
->setExchangeFile(
$this->getVersionResourceFile(
$this->getVersionName(),
'medialib_elements.xml'
)
)->execute();
$this->createVersionFile(
Module::getModuleDir() . '/templates/MedialibElementsExport.php'
);
}
}