Passed
Push — master ( a72540...ae7108 )
by Joseph
30:49 queued 11:38
created

admin-settings.php ➔ subway_setting_callback_function()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
nc 1
nop 0
dl 0
loc 8
rs 9.4285
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A admin-settings.php ➔ subway_redirect_cb() 0 3 1
1
<?php
2
/**
3
 * This file is part of the Subway WordPress Plugin Package.
4
 *
5
 * (c) Joseph Gabito <[email protected]>
6
 *
7
 * For the full copyright and license information, please view the LICENSE
8
 * file that was distributed with this source code.
9
 *
10
 * @package Subway
11
 */
12
13
if ( ! defined( 'ABSPATH' ) ) {
14
    return;
15
}
16
17
add_action( 'admin_menu', 'subway_admin_menu' );
18
19
add_action( 'admin_init', 'subway_register_settings' );
20
21
/**
22
 * Display 'Subway' link under 'Settings'
23
 * @return void
24
 */
25
function subway_admin_menu() {
26
    
27
    add_options_page( 'Subway Settings', 'Subway', 'manage_options', 'subway', 'subway_options_page' );
28
29
    return;
30
}
31
32
33
function subway_register_settings() {
34
35
	// Register our settings section.
36
	add_settings_section( 'subway-page-visibility-section', __( 'Pages Visibility', 'subway' ), 'subway_section_cb', 'subway-settings-section' );
37
	add_settings_section( 'subway-redirect-section', __( 'Redirect Options', 'subway' ), 'subway_redirect_cb', 'subway-settings-section' );
38
39
	// Register the fields.
40
    $fields = array(
41
    		array(
42
    				'id' => 'subway_is_public',
43
    				'label' => __( 'Public Website', 'subway' ),
44
    				'callback' => 'subway_is_public_form',
45
    				'section' => 'subway-settings-section',
46
    				'group' => 'subway-page-visibility-section'
47
    			),
48
    		
49
    		array(
50
    				'id' => 'subway_login_page',
51
    				'label' => __( 'Private Login Page', 'subway' ),
52
    				'callback' => 'subway_login_page_form',
53
    				'section' => 'subway-settings-section',
54
    				'group' => 'subway-page-visibility-section'
55
    			),
56
    		array(
57
    				'id' => 'subway_public_post',
58
    				'label' => __( 'Public Posts IDs', 'subway' ),
59
    				'callback' => 'subway_public_post',
60
    				'section' => 'subway-settings-section',
61
    				'group' => 'subway-page-visibility-section'
62
    			),
63
    	
64
    		array(
65
    				'id' => 'subway_redirect_type',
66
    				'label' => __( 'Redirect Type', 'subway' ),
67
    				'callback' => 'subway_redirect_option_form',
68
    				'section' => 'subway-settings-section',
69
    				'group' => 'subway-redirect-section'
70
    			),
71
    		array(
72
    				'id' => 'subway_redirect_wp_admin',
73
    				'label' => __( 'Block <em>wp-admin</em> Access', 'subway' ),
74
    				'callback' => 'subway_lock_wp_admin',
75
    				'section' => 'subway-settings-section',
76
    				'group' => 'subway-redirect-section'
77
    			),
78
    	);
79
80
    foreach( $fields as $field ) {
81
82
    	add_settings_field( $field['id'], $field['label'], $field['callback'], $field['section'], $field['group'] );
83
    	register_setting( 'subway-settings-group', $field['id'] );
84
    	require_once trailingslashit( SUBWAY_DIR_PATH ) . 'settings-fields/field-' . sanitize_title( str_replace('_','-', $field['callback']) ) . '.php';
85
    }
86
87
	register_setting( 'subway-settings-group', 'subway_redirect_page_id' );
88
	register_setting( 'subway-settings-group', 'subway_redirect_custom_url' );
89
90
    return;
91
}
92
93
function subway_section_cb() {
94
	return;
95
}
96
97
function subway_redirect_cb() {
98
	return;
99
}
100
101
function subway_options_page() {
102
    ?>
103
    <div class="wrap">
104
        <h2>
105
        	<?php esc_html_e('Subway Settings', 'subway'); ?>
106
        </h2>
107
        <form id="subway-settings-form" action="options.php" method="POST">
108
            <?php settings_fields( 'subway-settings-group' ); ?>
109
            <?php do_settings_sections( 'subway-settings-section' ); ?>
110
            <?php submit_button(); ?>
111
        </form>
112
    </div>
113
    <?php
114
}