admin-settings.php
4.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<?php
/**
* BadgeOS LearnDash Settings
*/
if ( ! defined( 'ABSPATH' ) ) exit;
/**
* Class BadgeOS_ld_Admin_Settings
*/
class BadgeOS_ld_Admin_Settings {
public $page_tab;
public function __construct() {
add_filter( 'admin_footer_text', [ $this, 'remove_footer_admin' ] );
add_action('admin_init', array($this,'badgeos_learndash_setting_register'));
add_action( 'badgeos_settings_main_tab_header', array($this,'badgeos_learndash_settings_tab_header'),10, 1);
add_action( 'badgeos_settings_main_tab_content', array($this, 'badgeos_learndash_settings_tab_content'),10, 1);
// enqueue admin scripts
add_action( 'admin_enqueue_scripts', array($this, 'badgeos_learndasg_admin_enqueue_scripts') );
}
/**
* Register the JavaScript and CSS for the admin area.
*
* @since 1.1
*/
public function badgeos_learndasg_admin_enqueue_scripts() {
/**
* Load admin styles
*/
wp_enqueue_style('badgeos-learndash-admin', plugin_dir_url(__FILE__) . 'assets/css/badgeos-learndash-admin-style.css', array(), '1.1', 'all');
/**
* Load admin scripts
*/
wp_enqueue_script('badgeos-learndash-admin', plugin_dir_url(__FILE__) . 'assets/js/badgeos-learndash-admin-script.js', array('jquery'), '1.1', true);
}
/**
* Add footer branding
*
* @param $footer_text
* @return mixed
*/
function remove_footer_admin ( $footer_text ) {
if( isset( $_GET['page'] ) && ( $_GET['page'] == 'badgeos_learndash_settings' ) ) {
_e('Fueled by <a href="http://www.wordpress.org" target="_blank">WordPress</a> | developed and designed by <a href="https://wooninjas.com" target="_blank">The WooNinjas</a></p>', 'badgeos-learndash' );
} else {
return $footer_text;
}
}
/*
* register settings for BadgeOS LearnDash addon
*/
function badgeos_learndash_setting_register()
{
register_setting( 'wn_bos_ld_options_group', 'wn_bos_ld_options', array($this, 'badgeos_learndash_settings_validate') );
}
/*
* validate registered settings for BadgeOS LearnDash addon
*/
function badgeos_learndash_settings_validate($input='')
{
$bdos_ld_original_settings=array();
$bdos_ld_saved_settings = get_option('wn_bos_ld_options');
$bdos_ld_original_settings['quiz_points_as_badgeos_points'] = isset( $_POST['quiz_points_as_badgeos_points'] ) ? $_POST['quiz_points_as_badgeos_points'] : $bdos_ld_saved_settings['quiz_points_as_badgeos_points'];
$bdos_ld_original_settings['badgeos_learndash_quiz_score_multiplier'] = isset( $_POST['badgeos_learndash_quiz_score_multiplier'] ) ? (int) $_POST['badgeos_learndash_quiz_score_multiplier'] : $bdos_ld_saved_settings['badgeos_learndash_quiz_score_multiplier'];
$bdos_ld_original_settings['bos_ld_quiz_point_type'] = isset( $_POST['bos_ld_quiz_point_type'] ) ? absint($_POST['bos_ld_quiz_point_type']) : $bdos_ld_saved_settings['bos_ld_quiz_point_type'];
$bdos_ld_original_settings['badgeos_learndash_quiz_multi_time_point_award'] = $_POST['badgeos_learndash_quiz_multi_time_point_award']=='on' ? 1 : 0;
return $bdos_ld_original_settings;
}
/*
* add heading of main tab for BadgeOS LearnDash addon
*/
function badgeos_learndash_settings_tab_header($setting_page_tab)
{
?>
<a href="admin.php?page=badgeos_settings&bos_s_tab=bos_ld_settings" class="nav-tab <?php echo $setting_page_tab == 'bos_ld_settings'? 'nav-tab-active' : ''; ?>">
<i class="fa fa-shield" aria-hidden="true"></i>
<?php _e( 'LearnDash', 'badgeos' ); ?>
</a>
<?php
}
/*
* add content od main tab for BadgeOS LearnDash addon
*/
function badgeos_learndash_settings_tab_content($setting_page_tab)
{
if( $setting_page_tab == 'bos_ld_settings' ) {
include_once( 'admin-templates/general.php' );
}
}
}
$GLOBALS['badgeos_learndash_options'] = new BadgeOS_ld_Admin_Settings();