<?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 } }