HEX
Server: LiteSpeed
System: Linux ubuntu-8gb-hel1-1 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: root (0)
PHP: 8.3.24
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /mnt/HC_Volume_101697859/livrariaeconomica.com.br/wp-content/plugins/wp-manutencao/app/Main.php
<?php
/**
 * Plugin main service class.
 */

namespace WpManutencao\App;

use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;

defined( 'ABSPATH' ) || exit;

/**
 * Plugin main service class.
 *
 * @since   1.0.0
 * @version 1.0.6
 */
final class Main extends MainAbstract {
	/**
	 * Constructor.
	 *
	 * @since 1.0.0
	 */
	public function __construct() {
		$this->init_container();
		$this->init_plugin();
	}

	/**
	 * @since 1.0.6
	 *
	 * @return void
	 * @throws ContainerExceptionInterface
	 * @throws NotFoundExceptionInterface
	 */
	public function init_container() {
		$container = new Container();

		$this->utils           = $container->get( 'utils' );
		$this->settings        = $container->get( 'settings' );
		$this->maintenanceMode = $container->get( 'maintenanceMode' );
	}

	public function init_plugin() {
		add_action( 'plugins_loaded', function () {
			add_action( 'init', [ $this, 'load_plugin_text_domain' ] );
			add_action( 'plugin_action_links_' . WP_MANUTENCAO_BASENAME, [ $this, 'load_plugin_action_links' ] );
			add_action( 'admin_enqueue_scripts', [ $this, 'load_admin_assets' ] );
		} );
	}

	/**
	 * @since 1.0.0
	 *
	 * @return void
	 */
	public function load_plugin_text_domain() {
		load_plugin_textdomain( 'wp-manutencao', false, dirname( WP_MANUTENCAO_BASENAME ) . '/languages' );
	}

	/**
	 * @since 1.0.0
	 *
	 * @param  array $links
	 * @return array
	 */
	public function load_plugin_action_links( $links ) {
		$settings_url = admin_url( 'options-general.php?page=' . wpManutencao()->settings->page );

		return array_merge( (array) $links, [
			'<a href="' . esc_url( $settings_url ) . '">' . __( 'Settings' ) . '</a>'
		] );
	}

	/**
	 * @since   1.0.0
	 * @version 1.0.6
	 *
	 * @param  string $hook_suffix The current admin page.
	 * @return void
	 */
	public function load_admin_assets( $hook_suffix ) {
		if ( $hook_suffix !== 'settings_page_' . wpManutencao()->settings->page ) {
			return;
		}

		wp_enqueue_script( WP_MANUTENCAO_SLUG . '-admin', WP_MANUTENCAO_URL . 'public/scripts/admin.js', [], WP_MANUTENCAO_VERSION, true );
		wp_enqueue_style( WP_MANUTENCAO_SLUG . '-admin', WP_MANUTENCAO_URL . 'public/styles/admin.css', false, WP_MANUTENCAO_VERSION );
	}
}