Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/old/vendor/magefan/module-admin-user-guide/Block/Adminhtml/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/vendor/magefan/module-admin-user-guide/Block/Adminhtml/Help.php
<?php
/**
 * Copyright © Magefan ([email protected]). All rights reserved.
 * Please visit Magefan.com for license details (https://magefan.com/end-user-license-agreement).
 */
namespace Magefan\AdminUserGuide\Block\Adminhtml;

use Magento\Framework\View\Element\Template;
use Magefan\AdminUserGuide\Model\XmlReader;
use Magefan\AdminUserGuide\Model\Config;
use Magento\Framework\AuthorizationInterface;

class Help extends \Magento\Framework\View\Element\Template
{
    /**
     * @var XmlReader
     */
    private $xmlReader;

    /**
     * @var Config
     */
    private $config;

    /**
     * @var AuthorizationInterface
     */
    private $authorization;

    /**
     * Help constructor.
     * @param Template\Context $context
     * @param XmlReader $xmlReader
     * @param Config $config
     * @param AuthorizationInterface $authorization
     * @param array $data
     */
    public function __construct(
        Template\Context $context,
        XmlReader $xmlReader,
        Config $config,
        AuthorizationInterface $authorization,
        array $data = []
    ) {
        parent::__construct($context, $data);
        $this->xmlReader = $xmlReader;
        $this->config = $config;
        $this->authorization = $authorization;
    }

    /**
     * @return array
     * @throws \Magento\Framework\Exception\FileSystemException
     */
    public function getPageHelp()
    {
        $data = [];
        if (!$this->authorization->isAllowed('Magefan_AdminUserGuide::help')) {
            return $data;
        }

        if ($this->config->isEnabled()) {
            $guideData = $this->xmlReader->get();

            $fullActionName = str_replace('_', '-', $this->getRequest()->getFullActionName());
            $secondActionName = $fullActionName;

            if ('adminhtml-system-config-edit' == $secondActionName) {
                $secondActionName .= '-section-' . $this->getRequest()->getParam('section');
            }

            $data = [];
            if ($guideData) {
                foreach ($guideData as $item) {
                    if (empty($item['class']) || empty($item['title'])) {
                        continue;
                    }

                    $classes = explode(' ', $item['class']);
                    if (in_array($fullActionName, $classes)
                        || in_array($secondActionName, $classes)
                    ) {
                        $links = [];
                        for ($i = 0; $i <= count($item) - 2; $i++) {
                            if ($i == 0) {
                                if (isset($item['link'])) {
                                    $links[] = $item['link'];
                                }
                                $i++;
                            } else {
                                if (isset($item['link' . $i])) {
                                    $links[] = $item['link' . $i];
                                }
                            }
                        }

                        if (!count($links)) {
                            continue;
                        }
                        $data[] = [
                            'title' => $item['title'],
                            'links' => $links
                        ];
                    }
                }
            }

        }
        return $data;
    }
}

Spamworldpro Mini