Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
wp-content
/
plugins
/
smart-slider-3
/
Nextend
/
SmartSlider3
/
Application
/
Admin
/
Slider
:
ViewSliderEdit.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace Nextend\SmartSlider3\Application\Admin\Slider; use Nextend\Framework\Acl\Acl; use Nextend\Framework\Sanitize; use Nextend\Framework\View\AbstractView; use Nextend\SmartSlider3\Application\Admin\FormManager\FormManagerSlider; use Nextend\SmartSlider3\Application\Admin\Layout\Block\Core\Banner\BlockBannerActivate; use Nextend\SmartSlider3\Application\Admin\Layout\Block\Core\Header\BlockHeader; use Nextend\SmartSlider3\Application\Admin\Layout\Block\Core\TopBarMain\BlockTopBarMain; use Nextend\SmartSlider3\Application\Admin\Layout\Block\Forms\Button\BlockButton; use Nextend\SmartSlider3\Application\Admin\Layout\Block\Forms\Button\BlockButtonBack; use Nextend\SmartSlider3\Application\Admin\Layout\Block\Forms\Button\BlockButtonPlainIcon; use Nextend\SmartSlider3\Application\Admin\Layout\Block\Forms\Button\BlockButtonSave; use Nextend\SmartSlider3\Application\Admin\Layout\Block\Forms\FloatingMenu\BlockFloatingMenu; use Nextend\SmartSlider3\Application\Admin\Layout\Block\Forms\FloatingMenu\BlockFloatingMenuItem; use Nextend\SmartSlider3\Application\Admin\Layout\Block\Slide\SlideManager\BlockSlideManager; use Nextend\SmartSlider3\Application\Admin\Layout\LayoutDefault; use Nextend\SmartSlider3\Application\Admin\TraitAdminUrl; use Nextend\SmartSlider3\Application\Model\ModelLicense; class ViewSliderEdit extends AbstractView { use TraitAdminUrl; protected $groupID = 0; protected $groupTitle = ''; protected $slider; /** * @var BlockHeader */ protected $blockHeader; /** * @var FormManagerSlider */ protected $formManager; /** * @param int $groupID * @param string $groupTitle */ public function setGroupData($groupID, $groupTitle) { $this->groupID = $groupID; $this->groupTitle = $groupTitle; } /** * @param mixed $slider */ public function setSlider($slider) { $this->slider = $slider; } public function display() { $this->formManager = new FormManagerSlider($this, $this->slider); $this->layout = new LayoutDefault($this); if ($this->groupID) { $this->layout->addBreadcrumb(Sanitize::esc_html($this->groupTitle), 'ssi_16 ssi_16--folderclosed', $this->getUrlSliderEdit($this->groupID)); } $this->layout->addBreadcrumb(Sanitize::esc_html($this->slider['title']), 'ssi_16 ssi_16--image', $this->getUrlSliderEdit($this->slider['id'], $this->groupID)); $slideManager = new BlockSlideManager($this); $slideManager->setGroupID($this->groupID); $slideManager->setSliderID($this->slider['id']); $subNavigationHTML = ''; $subNavigationHTML .= $slideManager->toHTML(); $this->layout->setSubNavigation($subNavigationHTML); $topBar = new BlockTopBarMain($this); $buttonSave = new BlockButtonSave($this); $buttonSave->addClass('n2_slider_settings_save'); $buttonSave->addClass('n2_button--inactive'); $topBar->addPrimaryBlock($buttonSave); $buttonBack = new BlockButtonBack($this); if ($this->groupID != 0) { $buttonBack->setUrl($this->getUrlSliderEdit($this->groupID)); } else { $buttonBack->setUrl($this->getUrlDashboard()); } $buttonBack->addClass('n2_slider_settings_back'); $topBar->addPrimaryBlock($buttonBack); $buttonPreview = new BlockButtonPlainIcon($this); $buttonPreview->addClass('n2_top_bar_button_icon'); $buttonPreview->addClass('n2_top_bar_main__preview'); $buttonPreview->setIcon('ssi_24 ssi_24--preview'); $buttonPreview->addAttribute('data-n2tip', n2_('Preview')); $buttonPreview->setUrl($this->getUrlPreviewIndex($this->slider['id'])); $topBar->addPrimaryBlock($buttonPreview); $this->layout->setTopBar($topBar->toHTML()); $this->displayHeader(); $this->layout->addContent($this->render('Edit')); $this->layout->render(); } protected function displayHeader() { $this->blockHeader = new BlockHeader($this); $this->blockHeader->setHeading($this->slider['title']); $this->blockHeader->setHeadingAfter('ID: ' . $this->slider['id']); $this->formManager->addTabsToHeader($this->blockHeader); $this->addHeaderActions(); $this->layout->addContentBlock($this->blockHeader); } public function getSlider() { return $this->slider; } private function addHeaderActions() { $accessEdit = Acl::canDo('smartslider_edit', $this); $accessDelete = Acl::canDo('smartslider_delete', $this); if ($accessEdit || $accessDelete) { $sliderid = $this->slider['id']; $actionsMenu = new BlockFloatingMenu($this); $actions = new BlockButton($this); $actions->setBig(); $actions->setLabel(n2_('Actions')); $actions->setIcon('ssi_16 ssi_16--buttonarrow'); $actionsMenu->setButton($actions); if ($accessEdit) { $item = new BlockFloatingMenuItem($this); $item->setLabel(n2_('Change slider type')); $item->setIcon('ssi_16 ssi_16--arrowright'); $item->addClass('n2_slider_action__change_slider_type'); $actionsMenu->addMenuItem($item); $item = new BlockFloatingMenuItem($this); $item->setLabel(n2_('Clear cache')); $item->setIcon('ssi_16 ssi_16--reset'); $item->setUrl($this->getUrlSliderClearCache($sliderid)); $actionsMenu->addMenuItem($item); $item = new BlockFloatingMenuItem($this); $item->setLabel(sprintf(n2_('Export %1$s as HTML'), n2_('Slider'))); $item->setIcon('ssi_16 ssi_16--download'); $item->setUrl($this->getUrlSliderExportHtml($sliderid)); $actionsMenu->addMenuItem($item); $item = new BlockFloatingMenuItem($this); $item->setLabel(n2_('Export')); $item->setIcon('ssi_16 ssi_16--download'); $item->setUrl($this->getUrlSliderExport($sliderid)); $actionsMenu->addMenuItem($item); $item = new BlockFloatingMenuItem($this); $item->setLabel(n2_('Duplicate slider')); $item->setIcon('ssi_16 ssi_16--duplicate'); $item->setUrl($this->getUrlSliderDuplicate($sliderid, $this->groupID)); $actionsMenu->addMenuItem($item); } if ($accessDelete) { $item = new BlockFloatingMenuItem($this); $item->setRed(); $item->setLabel(n2_('Move to trash')); $item->setIcon('ssi_16 ssi_16--delete'); $item->setUrl($this->getUrlSliderMoveToTrash($sliderid, $this->groupID)); $actionsMenu->addMenuItem($item); } $this->blockHeader->addAction($actionsMenu->toHTML()); } } public function renderForm() { $this->formManager->render(); } }