167 lines
5.6 KiB
PHP
167 lines
5.6 KiB
PHP
<?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
|
|
}
|
|
}
|