File: /usr/local/lsws/pg88zc.com/html/wp-content/plugins/mlink-plugin/includes/gwd-mlink-settings.php
<?php
namespace GwdMlinkPlugin;
/**
* GwdMlinkSettings class.
*/
class GwdMlinkSettings
{
private $viewPath = GWD_MLINK_PLUGIN_DIR . 'includes/views/';
const SETTING_STATUS_ACTIVED = 'valid';
const SETTING_STATUS_UNACTIVED = 'invalid';
public static function getInstance(): self
{
static $instance = null;
if (null === $instance) {
$instance = new static();
}
return $instance;
}
public function registerOptions(): void
{
$kAppToken = get_option('gwd_mlink_token_value', '');
if (empty($kAppToken)) {
add_option('gwd_mlink_token_value', '');
add_option('gwd_mlink_token_status', self::SETTING_STATUS_UNACTIVED);
}
}
public function addSettingsPage(): void
{
add_options_page('GWD Mlink Plugin Settings', 'GWD Mlink Plugin', 'manage_options', 'gwd-mlink-plugin-settings', array($this, 'index'));
}
public function addSettingLinks($links): array
{
$settingLink = '<a href="options-general.php?page=gwd-mlink-plugin-settings">Settings</a>';
array_push($links, $settingLink);
return $links;
}
public function index(): void
{
$data = [
'appToken' => get_option('gwd_mlink_token_value', ''),
'branchCode' => get_option('gwd_mlink_branch_code', ''),
'appStatus' => get_option('gwd_mlink_token_status', self::SETTING_STATUS_UNACTIVED),
];
echo $this->render('settings/index', $data);
}
public function render($path, $params)
{
ob_start();
extract($params);
require($this->viewPath . $path . '.view.php');
return ob_get_clean();
}
}