<?php

namespace Bdp\Modules\KompassSettings\Controllers;


use Bdp\Libs\WpConfigEditor;

class SettingsPage
{
    public static function add_menu() {
        if (
            null !== get_option('bdp_calendar_source_url', null ) ||
            !file_exists(dirname(BDP_LV_STARTUP_FILE ) . '/../kronos/kronos.php')
        )
         {
            add_menu_page(
                'Kalender Installation',
                'Kalender Installation',
                'manage_options',
                'kompass-calendar',
                ['Bdp\Modules\PluginInstaller\Controllers\InstallSingleplugin', 'install_calendar'],
                'dashicons-calendar-alt',
                2
            );

            if ( file_exists(dirname(BDP_LV_STARTUP_FILE ) . '/../kronos/kronos.php') ) {
                add_action( 'admin_notices', array( 'Bdp\Modules\PluginInstaller\Controllers\OutdatedModule', 'calender' ) );
            }
        }


        if (
            !file_exists(dirname(BDP_LV_STARTUP_FILE ) . '/../solea/solea.php')
        )
        {
            add_menu_page(
                'Installiere solea (Veranstaltungen)',
                'Installiere solea (Veranstaltungen)',
                'manage_options',
                'kompass-events',
                ['Bdp\Modules\PluginInstaller\Controllers\InstallSingleplugin', 'install_events'],
                'dashicons-tickets-alt',
                2
            );

        }







	    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); }
            if (isset($_POST['external_cronjobs'])) {
                WpConfigEditor::updateConfig('DISABLE_WP_CRON', true);
            } else {
                WpConfigEditor::deleteConfigKey('DISABLE_WP_CRON');
            }

            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':
                    kompass_print_message_box('Diese Funktion wird nicht mdehr unterstützt.', 'error');
	                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
    }
}