%PDF- %PDF-
| Direktori : /home/bitrix/www/bitrix/components/bitrix/landing.landing_view/templates/.default/ |
| Current File : //home/bitrix/www/bitrix/components/bitrix/landing.landing_view/templates/.default/template.php |
<?php
if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true)
{
die();
}
use \Bitrix\Landing\Manager;
use \Bitrix\Main\Localization\Loc;
use \Bitrix\Main\UI\Extension;
Loc::loadMessages(__FILE__);
Extension::load([
'ui.buttons',
'ui.buttons.icons',
'ui.alerts',
'ui.fonts.opensans',
'sidepanel',
'popup_menu',
'marketplace',
'applayout',
'landing_master'
]);
if ($arResult['ERRORS'])
{
$errors = $arResult['ERRORS'];
if (isset($errors['LICENSE_EXPIRED']))
{
$link = Manager::isB24()
? 'https://www.bitrix24.ru/prices/self-hosted.php'
: 'https://www.1c-bitrix.ru/buy/cms.php#tab-updates-link';
?>
<div class="landing-license-wrapper">
<div class="landing-license-inner">
<div class="landing-license-icon-container">
<div class="landing-license-icon"></div>
</div>
<div class="landing-license-info">
<span class="landing-license-info-text"><?= $errors['LICENSE_EXPIRED'];?></span>
<div class="landing-license-info-btn">
<?= Loc::getMessage('LANDING_TPL_BUY_RENEW', array(
'#LINK1#' => '<a href="' . $link . '" target="_blank" class="landing-license-info-link">',
'#LINK2#' => '</a>'
));?>
</div>
</div>
</div>
</div>
<?
}
elseif (isset($errors['SITE_IS_NOW_CREATING']))
{
?>
<div class="landing-view-loader-container">
<div class="main-ui-loader main-ui-show" data-is-shown="true" style="">
<svg class="main-ui-loader-svg" viewBox="25 25 50 50">
<circle class="main-ui-loader-svg-circle" cx="50" cy="50" r="20" fill="none" stroke-miterlimit="10"></circle>
</svg>
</div>
<div class="landing-view-loader-text"><?= Loc::getMessage('LANDING_WAIT_WHILE_CREATING');?></div>
</div>
<script type="text/javascript">
BX.ready(function()
{
setTimeout(function() {
window.location.href = "<?= \CUtil::jsEscape($arResult['LANDING_FULL_URL']);?>"
}, 3000);
});
</script>
<?
}
else
{
\showError(
implode("\n", $errors)
);
}
return;
}
$site = $arResult['SITE'];
$context = \Bitrix\Main\Application::getInstance()->getContext();
$request = $context->getRequest();
$curUrl = $arResult['CUR_URI'];
// common url
$uriEdit = new \Bitrix\Main\Web\Uri($curUrl);
$uriEdit->addParams(array(
'landing_mode' => 'edit'
));
$uriSettCatalog = new \Bitrix\Main\Web\Uri($arParams['PAGE_URL_SITE_EDIT']);
$uriSettCatalog->addParams(array(
'tpl' => 'catalog'
));
$this->getComponent()->initAPIKeys();
if (!$request->offsetExists('landing_mode')):
// some url
$uriPub = new \Bitrix\Main\Web\Uri($curUrl);
$uriPub->addParams(array(
'action' => 'publication',
'param' => $arResult['LANDING']->getId(),
'code' => $arResult['LANDING']->getXmlId(),
'sessid' => bitrix_sessid()
));
$uriPubAll = new \Bitrix\Main\Web\Uri($curUrl);
$uriPubAll->addParams(array(
'action' => 'publicationAll',
'param' => $arResult['LANDING']->getId(),
'site_id' => $arResult['LANDING']->getSiteId(),
'code' => $arResult['LANDING']->getXmlId(),
'sessid' => bitrix_sessid()
));
$uriUnPub = new \Bitrix\Main\Web\Uri($curUrl);
$uriUnPub->addParams(array(
'action' => 'unpublic',
'param' => $arResult['LANDING']->getId(),
'code' => $arResult['LANDING']->getXmlId(),
'sessid' => bitrix_sessid()
));
$uriPreview = new \Bitrix\Main\Web\Uri($curUrl);
$uriPreview->addParams(array(
'action' => 'preview',
'landing_mode' => 'preview',
'param' => $arResult['LANDING']->getId(),
'code' => $arResult['LANDING']->getXmlId(),
'sessid' => bitrix_sessid()
));
// b24 title
$b24Title = \Bitrix\Main\Config\Option::get('bitrix24', 'site_title', '');
$b24Logo = \Bitrix\Main\Config\Option::get('bitrix24', 'logo24show', 'Y');
if (!$b24Title)
{
$b24Title = Loc::getMessage(
'LANDING_TPL_START_PAGE_LOGO' . (!Manager::isB24() ? '_SMN' : '')
);
}
// help url
$helpUrl = \Bitrix\Landing\Help::getHelpUrl('LANDING_EDIT');
?>
<div class="landing-ui-panel landing-ui-panel-top">
<div class="landing-ui-panel-top-logo">
<?if ($arParams['PAGE_URL_URL_SITES']):?>
<a href="<?= $arParams['PAGE_URL_URL_SITES'];?>"><?
?><span class="landing-ui-panel-top-logo-text"><?= \htmlspecialcharsbx($b24Title);?></span><?
if ($b24Logo != 'N'):
?><span class="landing-ui-panel-top-logo-color"><?= Loc::getMessage('LANDING_TPL_START_PAGE_LOGO_24');?></span><?
endif;?>
</a>
<?else:?>
<span class="landing-ui-panel-top-logo-text"><?= \htmlspecialcharsbx($b24Title);?></span><?
if ($b24Logo != 'N'):
?><span class="landing-ui-panel-top-logo-color"><?= Loc::getMessage('LANDING_TPL_START_PAGE_LOGO_24');?></span>
<?endif;?>
<?endif;?>
</div>
<div class="landing-ui-panel-top-chain">
<?if ($arParams['PAGE_URL_URL_SITES']):?>
<a href="<?= $arParams['PAGE_URL_URL_SITES'];?>" class="ui-btn ui-btn-xs ui-btn-light ui-btn-round landing-ui-panel-top-chain-link landing-ui-panel-top-chain-link-sites" title="<?= Loc::getMessage('LANDING_TPL_START_PAGE');?>">
<?
$title = Loc::getMessage('LANDING_TPL_START_PAGE_' . $arParams['TYPE']);
if (!$title)
{
$title = Loc::getMessage('LANDING_TPL_START_PAGE');
}
echo $title;
?>
</a><?
?><strong class="landing-ui-panel-top-chain-link-separator"><span></span></strong>
<?endif;?><?
$sitesCount = $component->getSitesCount();
$pagesCount = $component->getPagesCount();
?><<?=$sitesCount <= 1 ? "a href=\"".$arParams['PAGE_URL_LANDINGS']."\"" : "span"?> class="ui-btn ui-btn-xs ui-btn-light ui-btn-round landing-ui-panel-top-chain-link landing-ui-panel-top-chain-link-site<?=($sitesCount <= 1 ? " landing-ui-no-icon" : "")?>" title="<?= \htmlspecialcharsbx($site['TITLE']);?>">
<?= \htmlspecialcharsbx($site['TITLE']);?>
</<?=$sitesCount <= 1 ? "a" : "span"?>><?
?><strong class="landing-ui-panel-top-chain-link-separator"><span></span></strong><?
?><span class="ui-btn ui-btn-xs ui-btn-light ui-btn-round landing-ui-panel-top-chain-link landing-ui-panel-top-chain-link-page<?=($pagesCount <= 1 ? " landing-ui-no-icon" : "")?>" title="<?= \htmlspecialcharsbx($arResult['LANDING']->getTitle());?>"><?
echo \htmlspecialcharsbx($arResult['LANDING']->getTitle());
?></span>
</div>
<div class="landing-ui-panel-top-devices">
<div class="landing-ui-panel-top-devices-inner">
<button class="landing-ui-button landing-ui-button-desktop active" data-id="desktop_button"></button>
<button class="landing-ui-button landing-ui-button-tablet" data-id="tablet_button"></button>
<button class="landing-ui-button landing-ui-button-mobile" data-id="mobile_button"></button>
</div>
</div>
<div class="landing-ui-panel-top-history">
<span class="landing-ui-panel-top-history-button landing-ui-panel-top-history-undo landing-ui-disabled"></span>
<span class="landing-ui-panel-top-history-button landing-ui-panel-top-history-redo landing-ui-disabled"></span>
</div>
<div class="landing-ui-panel-top-menu">
<span class="ui-btn ui-btn-link ui-btn-icon-setting landing-ui-panel-top-menu-link landing-ui-panel-top-menu-link-settings" title="<?= Loc::getMessage('LANDING_TPL_SETTINGS_URL');?>"></span>
<span class="ui-btn ui-btn-xs ui-btn-light ui-btn-round landing-ui-panel-top-chain-link landing-ui-panel-top-menu-link-settings">
<?= Loc::getMessage('LANDING_TPL_SETTINGS_URL');?>
</span><?
?><a href="<?= $uriPreview->getUri();?>" class="ui-btn ui-btn-light-border landing-ui-panel-top-menu-link landing-btn-menu" target="_blank"><?= Loc::getMessage('LANDING_TPL_PREVIEW_URL');?></a><?
?>
<div class="ui-btn-split ui-btn-primary landing-btn-menu">
<a href="<?= $arParams['TYPE'] == 'STORE' ? $uriPubAll->getUri() : $uriPub->getUri();?>" id="landing-publication" class="ui-btn-main" target="_blank">
<?= Loc::getMessage('LANDING_TPL_PUBLIC_URL');?>
</a>
<?if (
$arResult['CAN_PUBLICATION_PAGE'] &&
$arResult['CAN_PUBLICATION_SITE']
):?>
<span id="landing-publication-submenu" class="ui-btn-extra"></span>
<?endif;?>
</div>
<?
if ($helpUrl):
?><a href="<?= $helpUrl?>" class="ui-btn ui-btn-light ui-btn-round landing-ui-panel-top-menu-link landing-ui-panel-top-menu-link-help" target="_blank">
<span class="landing-ui-panel-top-menu-link-help-icon">?</span>
</a><?
endif;?>
</div>
</div>
<div class="landing-ui-view-container">
<?php
endif;
?>
<script type="text/javascript">
var landingParams = <?= \CUtil::phpToJSObject($arParams);?>;
</script>
<?
if ($request->offsetExists('landing_mode'))
{
if ($request->get('landing_mode') == 'edit')
{
Manager::setPageView('MainClass', 'landing-edit-mode');
}
$arResult['LANDING']->view();
?>
<style type="text/css">
.bx-session-message {
display: none;
}
</style>
<?
if ($request->get('forceLoad') == 'true')
{
?>
<script>
BX.namespace('BX.Landing');
BX.Landing.Block = function() {};
BX.Landing.Main = function() {};
BX.Landing.Main.createInstance = function() {};
</script>
<?
}
}
else
{
// exec theme-hooks for correct assets
$hooksSite = \Bitrix\Landing\Hook::getForSite($arResult['LANDING']->getSiteId());
$hooksLanding = \Bitrix\Landing\Hook::getForLanding($arResult['LANDING']->getId());
if (
isset($hooksSite['THEME']) &&
$hooksSite['THEME']->enabled()
)
{
$hooksSite['THEME']->exec();
}
if (
isset($hooksLanding['THEME']) &&
$hooksLanding['THEME']->enabled()
)
{
$hooksLanding['THEME']->exec();
}
// title
Manager::setPageTitle(
\htmlspecialcharsbx($arResult['LANDING']->getTitle())
);
?>
<style type="text/css">
html, body {
height: 100%;
overflow: hidden;
}
</style>
<script type="text/javascript">
BX.ready(function() {
var settingButtons = [].slice.call(document.querySelectorAll('.landing-ui-panel-top-menu-link-settings'));
var publicButtons = [BX('landing-publication-submenu')];
var settingsMenuIds = [];
/**
* Handles click on settings button
*/
var onSettingsClick = function(index, event) {
settingsMenuIds.push('landing-menu-settings' + index);
var menu = (
BX.PopupMenu.getMenuById('landing-menu-settings' + index) ||
new BX.Landing.UI.Tool.Menu({
id: 'landing-menu-settings' + index,
bindElement: event.currentTarget,
autoHide: true,
zIndex: 1200,
offsetLeft: 20,
angle: true,
closeByEsc: true,
items: [
{
href: '<?= \CUtil::JSEscape($arParams['PAGE_URL_LANDING_EDIT']);?>',
text: '<?= \CUtil::JSEscape(Loc::getMessage('LANDING_TPL_SETTINGS_PAGE_URL'));?>'
},
{
href: '<?= \CUtil::JSEscape($arParams['PAGE_URL_SITE_EDIT']);?>',
text: '<?= \CUtil::JSEscape(Loc::getMessage('LANDING_TPL_SETTINGS_SITE_URL'));?>'
}
<?if (
($arParams['TYPE'] == 'STORE') ||
(
!Manager::isB24() &&
Manager::isStoreEnabled()
)
):
?>
, {
href: '<?= \CUtil::JSEscape($uriSettCatalog->getUri());?>',
text: '<?= \CUtil::JSEscape(Loc::getMessage('LANDING_TPL_SETTINGS_CATALOG_URL'));?>'
}
<?endif;?>
, {
href: '<?= \CUtil::JSEscape($uriUnPub->getUri());?>',
text: '<?= \CUtil::JSEscape(Loc::getMessage('LANDING_TPL_SETTINGS_UNPUBLIC'));?>',
disabled : <?= $arResult['LANDING']->isActive() ? 'false' : 'true';?>
}
<?
if (!empty($arResult['PLACEMENTS_SETTINGS']))
{
foreach ($arResult['PLACEMENTS_SETTINGS'] as $placement)
{
?>
, {
onclick: function()
{
BX.rest.AppLayout.openApplication(
<?= $placement['APP_ID'];?>,
{
SITE_ID: <?= $arParams['SITE_ID'];?>,
LID: <?= $arParams['LANDING_ID'];?>
},
{
PLACEMENT: '<?= $placement['PLACEMENT'];?>',
PLACEMENT_ID: <?= $placement['ID'];?>
}
);
},
text: '<?= \CUtil::JSEscape(\htmlspecialcharsbx($placement['TITLE']));?>'
}
<?
}
}
?>
]
})
);
menu.show();
};
settingButtons.forEach(function(element, index) {
element.addEventListener('click', onSettingsClick.bind(null, index));
});
/**
* Handles click on publication extra button
*/
var onPublicationClick = function(index, event) {
settingsMenuIds.push('landing-publication-submenu' + index);
var menu = (
BX.PopupMenu.getMenuById('landing-publication-submenu' + index) ||
new BX.Landing.UI.Tool.Menu({
id: 'landing-publication-submenu' + index,
bindElement: event.currentTarget,
autoHide: true,
zIndex: 1200,
offsetLeft: 20,
angle: true,
closeByEsc: true,
items: [
{
href: '<?= \CUtil::JSEscape($uriPub->getUri());?>',
text: '<?= \CUtil::JSEscape(Loc::getMessage('LANDING_TPL_PUBLIC_URL_PAGE'));?>',
target: '_blank'
},
{
href: '<?= \CUtil::JSEscape($uriPubAll->getUri());?>',
text: '<?= \CUtil::JSEscape(Loc::getMessage('LANDING_TPL_PUBLIC_URL_ALL'));?>',
target: '_blank'
}
]
})
);
menu.show();
};
publicButtons.forEach(function(element, index) {
if (element)
{
element.addEventListener('click', onPublicationClick.bind(null, index));
}
});
/**
* Closes all settings menus
*/
var closeAllSettingsMenu = function() {
settingsMenuIds.forEach(function(id) {
var menu = BX.PopupMenu.getMenuById(id);
if (menu)
{
menu.close();
}
})
};
/**
* Check limit for publication.
*/
<?if (
!$arResult['CAN_PUBLICATION_PAGE'] ||
!$arResult['CAN_PUBLICATION_SITE']
):?>
BX.bind(
BX("landing-publication"),
"click",
function(e)
{
BX.Landing.PaymentAlertShow({
message: "<?= !$arResult['CAN_PUBLICATION_PAGE']
? \CUtil::jsEscape(Loc::getMessage('LANDING_PUBLIC_PAGE_REACHED'))
: \CUtil::jsEscape(Loc::getMessage('LANDING_PUBLIC_SITE_REACHED'));?>"
});
e.preventDefault();
}
);
<?endif;?>
/**
* Force top and style panel initialization
*/
var forceBasePanelsInit = function() {
BX.Landing.UI.Panel.StylePanel.getInstance();
BX.Landing.UI.Panel.Top.getInstance();
};
/**
* Binds on iframe events
*/
BX.Landing.PageObject.getInstance().view().then(function(iframe) {
iframe.contentWindow.addEventListener("load", forceBasePanelsInit);
iframe.contentWindow.addEventListener("click", closeAllSettingsMenu);
iframe.contentWindow.addEventListener("resize", BX.debounce(closeAllSettingsMenu, 200));
});
/**
* Hide panel by click on top panel
*/
BX.Landing.PageObject.getInstance().top().then(function(panel) {
panel.addEventListener("click", function() {
BX.Landing.PageObject.getInstance().view()
.then(function(iframe) {
if (iframe.contentWindow.BX)
{
if (iframe.contentWindow.BX.Landing.Block.Node.Text.currentNode)
{
iframe.contentWindow.BX.Landing.Block.Node.Text.currentNode.disableEdit();
}
if (iframe.contentWindow.BX.Landing.UI.Field.BaseField.currentField)
{
iframe.contentWindow.BX.Landing.UI.Field.BaseField.currentField.disableEdit();
}
iframe.contentWindow.BX.Landing.UI.Panel.EditorPanel.getInstance().hide();
}
})
});
});
/**
* Side panel
*/
if (typeof BX.SidePanel !== 'undefined')
{
var lastLocation = top.location.toString();
BX.SidePanel.Instance.bindAnchors({
rules: [
{
condition: [
<?if (
isset($arParams['PARAMS']['sef_url']['landing_edit']) &&
trim($arParams['PARAMS']['sef_url']['landing_edit'])
):?>
new RegExp('<?= str_replace(
array(
'#site_show#', '#landing_edit#', '?'
),
array(
'[0-9]+', '[0-9]+', '\\\?'
),
\CUtil::jsEscape($arParams['PARAMS']['sef_url']['landing_edit'])
);?>')
<?endif;?>
<?if (
isset($arParams['PARAMS']['sef_url']['site_edit']) &&
trim($arParams['PARAMS']['sef_url']['site_edit'])
):?>
, new RegExp('<?= str_replace(
array(
'#site_edit#', '#site_show#', '?'
),
array(
'[0-9]+', '[0-9]+', '\\\?'
),
\CUtil::jsEscape($arParams['PARAMS']['sef_url']['site_edit'])
);?>')
<?endif;?>
<?if (
isset($arParams['PARAMS']['sef_url']['site_show']) &&
trim($arParams['PARAMS']['sef_url']['site_show'])
):?>
, new RegExp('<?= str_replace(
array(
'#site_show#', '?'
),
array(
'[0-9]+', '\\\?'
),
\CUtil::jsEscape($arParams['PARAMS']['sef_url']['site_show'])
);?>(?!view)')
<?endif;?>
],
options: {
events: {
onClose: function()
{
if (window['landingSettingsSaved'] === true)
{
top.location = lastLocation;
}
if (BX.PopupMenu.getCurrentMenu())
{
BX.PopupMenu.getCurrentMenu().close();
}
}
},
allowChangeHistory: false
}
}
]
});
}
});
/**
* Some preparing
*/
BX(function() {
var loaderContainer = top.document.querySelector(".landing-editor-loader-container");
var userActionContainer = top.document.querySelector(".landing-editor-required-user-action");
if (loaderContainer)
{
var loader = new BX.Loader({offset: {top: "-70px"}});
loader.show(loaderContainer);
BX.Landing.PageObject.getInstance().view().then(function(iframe) {
BX.bindOnce(iframe, "load", function() {
var action = BX.Landing.Main.getInstance().options.requiredUserAction;
if (BX.Landing.Utils.isPlainObject(action) && !BX.Landing.Utils.isEmpty(action))
{
if (action.header)
{
userActionContainer.querySelector("h3").innerText = action.header;
}
if (action.description)
{
userActionContainer.querySelector("p").innerText = action.description;
}
if (action.href)
{
userActionContainer.querySelector("a").setAttribute("href", action.href);
}
if (action.text)
{
userActionContainer.querySelector("a").innerText = action.text;
}
userActionContainer.classList.add("landing-ui-user-action-show");
document.querySelector(".landing-ui-panel-top-history").classList.add("landing-ui-disabled");
document.querySelector(".landing-ui-panel-top-devices").classList.add("landing-ui-disabled");
document.querySelector(".landing-ui-panel-top-chain-link.landing-ui-panel-top-menu-link-settings").classList.add("landing-ui-disabled");
[].slice.call(document.querySelectorAll(".landing-ui-panel-top-menu-link:not(.landing-ui-panel-top-menu-link-help)"))
.forEach(function(item) {
item.classList.add("landing-ui-disabled");
});
}
else
{
iframe.classList.add("landing-ui-view-show");
}
setTimeout(function() {
BX.remove(loaderContainer);
BX.remove(userActionContainer);
}, 200);
});
});
}
});
</script>
<div class="landing-ui-view-wrapper">
<div class="landing-editor-loader-container"></div>
<div class="landing-editor-required-user-action">
<h3></h3>
<p></p>
<div>
<a href="" class="ui-btn"></a>
</div>
</div>
<div class="landing-ui-view-iframe-wrapper">
<iframe src="<?= $uriEdit->getUri();?>" class="landing-ui-view" id="landing-view-frame" allowfullscreen></iframe>
</div>
</div>
</div>
<?
}