119 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			119 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace Bdp\Modules\KompassSettings\Controllers;
 | 
						|
 | 
						|
 | 
						|
class SettingsPage
 | 
						|
{
 | 
						|
    public static function add_menu() {
 | 
						|
	    add_submenu_page('options-general.php',
 | 
						|
		    'kompass Einstellungen',
 | 
						|
		    'kompass Einstellungen',
 | 
						|
		    'manage_options',
 | 
						|
		    'kompass-settings',
 | 
						|
		    ['Bdp\Modules\KompassSettings\Controllers\SettingsPage', 'kompass_settings_page_new']
 | 
						|
	    );
 | 
						|
 | 
						|
 | 
						|
	    add_submenu_page('options-general.php',
 | 
						|
		    'Mail',
 | 
						|
		    'Mail',
 | 
						|
		    'manage_options',
 | 
						|
		    'kompass-mail-settings',
 | 
						|
		    ['Bdp\Modules\Mail\Controllers\MailSettingsController', 'settings_form']
 | 
						|
	    );
 | 
						|
 | 
						|
 | 
						|
    }
 | 
						|
    public function __construct()
 | 
						|
    {
 | 
						|
        add_options_page(
 | 
						|
	        __('kompass', BDP_LV_PLUGIN_SLUG) . ' - ' . __('Settings', BDP_LV_PLUGIN_SLUG),
 | 
						|
            __('kompass', BDP_LV_PLUGIN_SLUG) . ' - ' . __('Settings', BDP_LV_PLUGIN_SLUG),
 | 
						|
            'manage_options',
 | 
						|
            BDP_LV_PLUGIN_SLUG . '-Kompass-settings',
 | 
						|
            [$this, 'option_page'],2048);
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    public static function kompass_settings_page_new() {
 | 
						|
	    if (isset($_POST['save'])) {
 | 
						|
 | 
						|
		    update_option('paged_used_for_state', false);
 | 
						|
	        update_option('user_can_register', false);
 | 
						|
	         update_option('use_mareike_theme', false);
 | 
						|
 | 
						|
            if (isset($_POST['used_for_state'])) { update_option('paged_used_for_state', true); }
 | 
						|
		    if (isset($_POST['self_register'])) { update_option('user_can_register', true); }
 | 
						|
		    if (isset($_POST['use_mareike_theme'])) { update_option('use_mareike_theme', true); }
 | 
						|
 | 
						|
            kompass_print_message_box('Die Einstellungen wurden gespeichert.');
 | 
						|
        }
 | 
						|
 | 
						|
        require BDP_LV_PLUGIN_DIR . '/settings/views/settings.php';
 | 
						|
        return;
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    public function option_page() {
 | 
						|
        bdp_kompass_load_plugin_textdomain();
 | 
						|
        $showMessage = null;
 | 
						|
	    $tab = isset($_REQUEST['tab']) ? $_REQUEST['tab'] : 'tab1';
 | 
						|
        if (isset($_REQUEST['update_options']) && $_REQUEST['update_options'] == true) {
 | 
						|
            switch ($tab) {
 | 
						|
                case 'tab2':
 | 
						|
	                update_option('bdp_calendar_categories', json_encode($_POST['category']));
 | 
						|
	                update_option('bdp_calendar_source_url', $_POST['bdp_calendar_source_url']);
 | 
						|
	                $showMessage = __('The settings were saved.', BDP_LV_PLUGIN_SLUG);
 | 
						|
                    break;
 | 
						|
 | 
						|
                case 'tab3':
 | 
						|
                    update_option('kompass_seo_google_verification', $_POST['kompass_seo_google_verification']);
 | 
						|
	                update_option('kompass_seo_bing_verification', $_POST['kompass_seo_bing_verification']);
 | 
						|
	                $showMessage = __('The settings were saved.', BDP_LV_PLUGIN_SLUG);
 | 
						|
                    break;
 | 
						|
            }
 | 
						|
 | 
						|
	        if (null !== $showMessage) {
 | 
						|
		        echo '<div class="notice notice-success" style="padding: 5px 10px;">';
 | 
						|
		        echo $showMessage;
 | 
						|
		        echo '</div>';
 | 
						|
	        }
 | 
						|
        }
 | 
						|
 | 
						|
	    bdp_kompass_load_plugin_textdomain();
 | 
						|
 | 
						|
        ?>
 | 
						|
 | 
						|
        <div class="wrap">
 | 
						|
            <h1 class="wp-heading-inline">
 | 
						|
                <?= __('kompass', BDP_LV_PLUGIN_SLUG); ?> - <?= __('Settings', BDP_LV_PLUGIN_SLUG); ?></h1>
 | 
						|
            <hr class="wp-header-end">
 | 
						|
            <?= kompass_settings_print_tab_header($tab); ?>
 | 
						|
 | 
						|
            <div class="tab-content">
 | 
						|
                <?php
 | 
						|
                switch ($tab) {
 | 
						|
                    case 'tab2':
 | 
						|
                        echo '<form action="admin.php?page=bdp-kompass-Kompass-settings&tab=tab2" method="post">';
 | 
						|
	                    do_settings_sections(BDP_LV_PLUGIN_SLUG . '-calendar-settings');
 | 
						|
                        require_once BDP_LV_PLUGIN_DIR . '/modules/calendar/Views/categories-partial.php';
 | 
						|
	                    echo '<input type="hidden" name="tab" value="tab2" />';
 | 
						|
	                    submit_button();
 | 
						|
                        echo '</form>';
 | 
						|
                        break;
 | 
						|
                    case 'tab3':
 | 
						|
	                    echo '<form action="admin.php?page=bdp-kompass-Kompass-settings" method="post">';
 | 
						|
                        do_settings_sections(BDP_LV_PLUGIN_SLUG . '-seo-settings');
 | 
						|
	                    submit_button();
 | 
						|
	                    echo '<input type="hidden" name="tab" value="tab3" />';
 | 
						|
	                    echo '</form>';
 | 
						|
	                    break;
 | 
						|
                }
 | 
						|
                ?>
 | 
						|
            </div>
 | 
						|
        </div>
 | 
						|
        <?php
 | 
						|
    }
 | 
						|
}
 |