| Server IP : 121.121.20.254 / Your IP : 216.73.216.202 Web Server : Microsoft-IIS/10.0 System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64 User : IUSR ( 0) PHP Version : 8.3.28 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/inetpub/wwwroot/KnowledgeBase/wp-content/plugins/filebird-pro/includes/Page/ |
Upload File : |
<?php
namespace FileBird\Page;
use FileBird\Classes\Helpers as Helpers;
defined('ABSPATH') || exit;
/**
* Settings Page
*/
class Settings {
protected static $instance = null;
public static function getInstance() {
if (null == self::$instance) {
self::$instance = new self;
self::$instance->doHooks();
}
return self::$instance;
}
private $pageId = null;
private function __construct() {
}
private function doHooks(){
add_action('admin_menu', array($this, 'settingsMenu'));
add_action('admin_enqueue_scripts', array($this, 'enqueueAdminScripts'));
add_filter('plugin_action_links_' . NJFB_PLUGIN_BASE_NAME, array($this, 'addActionLinks'));
add_filter('plugin_row_meta', array($this, 'plugin_row_meta'), 10, 2);
add_action('admin_init', array($this, 'registerSettings'));
}
public function settingsMenu() {
$GLOBALS['fbv_settings_screen_id'] = add_submenu_page(
'options-general.php',
__('FileBird', 'filebird'),
__('FileBird', 'filebird'),
'manage_options',
$this->getPageId(),
array($this, 'settingsPage')
);
}
public function settingsPage() {
$helpers = new Helpers();
$viewPath = NJFB_PLUGIN_PATH . 'views/pages/html-settings.php';
include_once $viewPath;
}
public function plugin_row_meta($links, $file){
if ( strpos( $file, 'filebird.php' ) !== false ) {
$new_links = array(
'doc' => '<a href="https://ninjateam.gitbook.io/filebird/" target="_blank">'. __("Documentation", "filebird") .'</a>'
);
$links = array_merge( $links, $new_links );
}
return $links;
}
public function addActionLinks($links) {
$settingsLinks = array(
'<a href="' . admin_url('options-general.php?page=' . $this->getPageId()) . '">Settings</a>',
);
return array_merge($settingsLinks, $links);
}
public function enqueueAdminScripts($screenId) {
$allowed_pages = array('upload.php', 'settings_page_filebird');
if (in_array($screenId, $allowed_pages)) {
}
}
public function getPageId() {
if (null == $this->pageId) {
$this->pageId = NJFB_PREFIX . '-settings';
}
return $this->pageId;
}
public function registerSettings()
{
$settings = array(
'njt_fbv_folder_per_user',
'njt_fbv_default_folder'
);
foreach ($settings as $k => $v) {
register_setting('njt_fbv', $v);
}
}
}