%PDF- %PDF-
| Direktori : /www/klubovnaostrava_o/test/wp-content/plugins/filebird/includes/Page/ |
| Current File : //www/klubovnaostrava_o/test/wp-content/plugins/filebird/includes/Page/Settings.php |
<?php
namespace FileBird\Page;
defined( 'ABSPATH' ) || exit;
/**
* Settings Page
*/
class Settings {
protected static $instance = null;
private $pageId = null;
public $settingPageSuffix = '';
public static function getInstance() {
if ( null == self::$instance ) {
self::$instance = new self();
self::$instance->doHooks();
}
return self::$instance;
}
private function doHooks() {
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' ) );
add_action( 'admin_footer', array( $this, 'adminFooter' ) );
add_action( 'admin_menu', array( $this, 'settingsMenu' ) );
}
public function settingsMenu() {
$filebirdIcon = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEwLDRINEMyLjg5LDQgMiw0Ljg5IDIsNlYxOEEyLDIgMCAwLDAgNCwyMEgyMEEyLDIgMCAwLDAgMjIsMThWOEMyMiw2Ljg5IDIxLjEsNiAyMCw2SDEyTDEwLDRaIiBmaWxsPSIjYTdhYWFkIi8+PC9zdmc+';
add_menu_page( 'FileBird', 'FileBird', 'manage_options', 'filebird-settings', null, $filebirdIcon );
$this->settingPageSuffix = add_submenu_page( 'filebird-settings', __( 'FileBird Settings', 'filebird' ), __( 'FileBird Settings', 'filebird' ), 'manage_options', 'filebird-settings', array( $this, 'settingsPage' ), 0 );
add_submenu_page(
'filebird-settings',
'',
'<span>' . __( 'Go Pro', 'filebird' ) . '</span>',
'manage_options',
'go_filebird_pro',
array( $this, 'goProRedirects' ),
100
);
}
public function adminFooter() {
?>
<style>
body.admin-color-fresh #adminmenu #toplevel_page_filebird-settings a[href="admin.php?page=go_filebird_pro"] {
color: #00BC28;
font-weight: bold;
position: relative;
}
body.admin-color-fresh #adminmenu #toplevel_page_filebird-settings a[href="admin.php?page=go_filebird_pro"]::after {
content: '';
position: absolute;
width: 4px;
top: 0;
bottom: 0;
left: 0;
background: green;
}
</style>
<script>
jQuery(document).ready(function() {
jQuery('#toplevel_page_filebird-settings a[href="admin.php?page=go_filebird_pro"]').click(function(event) {
event.preventDefault()
window.open('https://1.envato.market/GoPro-FileBird-Premium', '_blank')
})
})
</script>
<?php
}
public function goProRedirects() {
if ( empty( $_GET['page'] ) ) {
return;
}
if ( 'go_filebird_pro' === $_GET['page'] ) {
// wp_redirect( 'https://1.envato.market/GoPro-FileBird-Premium' );
?>
<script>window.location.href = "https://1.envato.market/GoPro-FileBird-Premium"</script>
<?php
}
}
public function settingsPage() {
include_once NJFB_PLUGIN_PATH . 'views/pages/html-settings.php';
}
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( 'admin.php?page=' . $this->getPageId() ) . '">' . esc_html__( 'Settings', 'filebird' ) . '</a>',
);
$links[] = '<a target="_blank" href="https://1.envato.market/FileBirdPro" style="color: #43B854; font-weight: bold">' . __( 'Go Pro', 'filebird' ) . '</a>';
return array_merge( $settingsLinks, $links );
}
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_allow_svg_upload',
'njt_fbv_default_folder',
);
foreach ( $settings as $k => $v ) {
register_setting( 'njt_fbv', $v );
}
}
}