HEX
Server: Apache
System: Linux vps-3158868-x.dattaweb.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: emerlux (1185)
PHP: 8.3.1
Disabled: system, shell, exec, system_exec, shell_exec, mysql_pconnect, passthru, popen, proc_open, proc_close, proc_nice, proc_terminate, proc_get_status, escapeshellarg, escapeshellcmd, eval
Upload Files
File: /home/emerlux/public_html/wp-content/plugins/woocommerce-mercadopago/src/Hooks/Admin.php
<?php

namespace MercadoPago\Woocommerce\Hooks;

if (!defined('ABSPATH')) {
    exit;
}

class Admin
{
    public const HREF_TARGET_DEFAULT = '_self';

    public const HREF_TARGET_BLANK = '_blank';

    /**
     * Validate if the actual page belongs to the admin section
     *
     * @return bool
     */
    public function isAdmin(): bool
    {
        return is_admin();
    }

    /**
     * Register on WordPress or Plugins menu
     *
     * @param int   $priority
     * @param mixed $callback
     *
     * @return void
     */
    public function registerOnMenu(int $priority, $callback): void
    {
        add_action('admin_menu', $callback, $priority);
    }

    /**
     * Add plugin on another plugin submenu
     *
     * @param string $parentSlug
     * @param string $pageTitle
     * @param string $menuTitle
     * @param string $capability
     * @param string $menuSlug
     * @param mixed  $callback
     *
     * @return void
     */
    public function registerSubmenuPage(string $parentSlug, string $pageTitle, string $menuTitle, string $capability, string $menuSlug, $callback): void
    {
        add_submenu_page($parentSlug, $pageTitle, $menuTitle, $capability, $menuSlug, $callback);
    }

    /**
     * Register more links on WordPress plugins page
     *
     * @param string $pluginName
     * @param array  $pluginLinks
     *
     * @return void
     */
    public function registerPluginActionLinks(string $pluginName, array $pluginLinks): void
    {
        add_filter('plugin_action_links_' . $pluginName, function (array $links) use ($pluginLinks) {
            $newLinks = [];

            foreach ($pluginLinks as $link) {
                $newLinks[] = sprintf(
                    '<a href="%s" target="%s">%s</a>',
                    $link['href'],
                    $link['target'],
                    $link['text']
                );
            }

            return array_merge($newLinks, $links);
        });
    }
}