%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/modules/landing/lib/hook/page/ |
Current File : //home/bitrix/www/bitrix/modules/landing/lib/hook/page/background.php |
<?php namespace Bitrix\Landing\Hook\Page; use \Bitrix\Landing\Field; use \Bitrix\Main\Localization\Loc; Loc::loadMessages(__FILE__); class Background extends \Bitrix\Landing\Hook\Page { /** * Map of the field. * @return array */ protected function getMap() { return array( 'USE' => new Field\Checkbox('USE', array( 'title' => Loc::getMessage('LANDING_HOOK_BG_USE') )), 'PICTURE' => new Field\Hidden('PICTURE', array( 'title' => Loc::getMessage('LANDING_HOOK_BG_PICTURE') )), 'POSITION' => new Field\Select('POSITION', array( 'title' => Loc::getMessage('LANDING_HOOK_BG_POSITION'), 'help' => Loc::getMessage('LANDING_HOOK_BG_POSITION_HELP'), 'options' => array( 'center' => Loc::getMessage('LANDING_HOOK_BG_POSITION_CENTER'), 'repeat' => Loc::getMessage('LANDING_HOOK_BG_POSITION_REPEAT') ) )), 'COLOR' => new Field\Text('COLOR', array( 'title' => Loc::getMessage('LANDING_HOOK_BG_COLOR') )) ); } /** * Title of Hook, if you want. * @return string */ public function getTitle() { return Loc::getMessage('LANDING_HOOK_BG_NAME'); } /** * Description of Hook, if you want. * @return string */ public function getDescription() { return Loc::getMessage('LANDING_HOOK_BG_DESCRIPTION'); } /** * Enable or not the hook. * @return boolean */ public function enabled() { return $this->fields['USE']->getValue() == 'Y'; } /** * Exec hook. * @return void */ public function exec() { $picture = \htmlspecialcharsbx(trim($this->fields['PICTURE']->getValue())); $color = \htmlspecialcharsbx(trim($this->fields['COLOR']->getValue())); $position = trim($this->fields['POSITION']->getValue()); if ($picture) { if ($picture > 0) { $picture = \htmlspecialcharsbx(\CFile::getPath($picture)); } } if ($picture) { if ($position == 'center') { \Bitrix\Main\Page\Asset::getInstance()->addString( '<style type="text/css"> body { background-image: url("' . $picture . '"); background-attachment: fixed; background-size: cover; background-position: center; background-repeat: no-repeat; } </style>' ); } else { \Bitrix\Main\Page\Asset::getInstance()->addString( '<style type="text/css"> body { background-image: url("' . $picture . '"); background-attachment: fixed; background-position: center; background-repeat: repeat; } </style>' ); } } if ($color) { \Bitrix\Main\Page\Asset::getInstance()->addString( '<style type="text/css"> body { background-color: ' . $color . '; } </style>' ); } } }