wp-inirepo/admin/admin.php

136 lines
3.4 KiB
PHP

<?php
/**
* The admin-specific functionality of the plugin.
*
* @link http://example.com
* @since 1.0.0
*
* @package Inirepo
* @subpackage Inirepo/admin
*/
namespace cooini\iniRepo\admin;
use cooini\iniRepo\repositories\pluginRepository;
use Dotenv\Dotenv;
use Dotenv\Repository\Adapter\EnvConstAdapter;
/**
* The admin-specific functionality of the plugin.
*
* Defines the plugin name, version, and two examples hooks for how to
* enqueue the admin-specific stylesheet and JavaScript.
*
* @package Inirepo
* @subpackage Inirepo/admin
* @author php.dev@cooini.com
*/
class admin {
/**
* The ID of this plugin.
*
* @since 1.0.0
* @access private
* @var string $plugin_name The ID of this plugin.
*/
private $plugin_name;
/**
* The version of this plugin.
*
* @since 1.0.0
* @access private
* @var string $version The current version of this plugin.
*/
private $version;
/**
* Initialize the class and set its properties.
*
* @since 1.0.0
* @param string $plugin_name The name of this plugin.
* @param string $version The version of this plugin.
*/
public function __construct( $plugin_name, $version ) {
$this->plugin_name = $plugin_name;
$this->version = $version;
}
/**
* Register the stylesheets for the admin area.
*
* @since 1.0.0
*/
public function enqueue_styles() {
/**
* This function is provided for demonstration purposes only.
*
* An instance of this class should be passed to the run() function
* defined in Inirepo_Loader as all of the hooks are defined
* in that particular class.
*
* The Inirepo_Loader will then create the relationship
* between the defined hooks and the functions defined in this
* class.
*/
wp_enqueue_style( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'css/inirepo-admin.css', array(), $this->version, 'all' );
}
/**
* Register the JavaScript for the admin area.
*
* @since 1.0.0
*/
public function enqueue_scripts() {
/**
* This function is provided for demonstration purposes only.
*
* An instance of this class should be passed to the run() function
* defined in Inirepo_Loader as all of the hooks are defined
* in that particular class.
*
* The Inirepo_Loader will then create the relationship
* between the defined hooks and the functions defined in this
* class.
*/
wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/inirepo-admin.js', array( 'jquery' ), $this->version, false );
}
public function display_menu()
{
$dot = Dotenv::createImmutable( plugin_dir_path(__DIR__)."/");
$dots = $dot->load();
if (isset($dots['PLUGIN_DISPLAY_NAME']))
$plugin_display_name = $dots['PLUGIN_DISPLAY_NAME'];
else
$plugin_display_name = 'iniRepo';
add_menu_page(
$plugin_display_name,
$plugin_display_name,
'manage_options',
'inirepo',
[$this, "index" ],
plugin_dir_url(__FILE__) . 'images/icon_wporg.png',
20
);
}
public function index()
{
require_once plugin_dir_path(__DIR__)."/includes/pluginRepository.php";
$pluginRepo = new pluginRepository('https://internal-devrepo.courselauncher.io/test.php', "");
?><pre><?=print_r($pluginRepo->getLicensed(), true);?></pre><?php
}
}