Compare commits

..

1 commit

Author SHA1 Message Date
Benjamin Linus Witzerstorfer
368e89a2aa added settings page sceleton 2024-07-17 16:17:54 +02:00
3 changed files with 12 additions and 30 deletions

View file

@ -36,7 +36,6 @@ class Settings_Page {
*/
const static = 'Activitypub_Event_Extensions\Admin\Settings_Page';
const settings_slug = 'activitypub-events';
/**
* Warning if the plugin is Active and the ActivityPub plugin is not.
@ -46,26 +45,13 @@ class Settings_Page {
'Activitypub Event Extension',
'Activitypub Events',
'manage_options',
self::settings_slug,
'activitypub-events',
array( self::static, 'settings_page' )
);
}
/**
* Adds Link to the settings page in the plugin page.
* It's called via apply_filter('plugin_action_links_' . PLUGIN_NAME).
*
* @param links already added links
* @return array original links but with link to setting page added
*/
public static function settings_link( $links ) {
return array_merge(
$links,
array(
'<a href="' . admin_url( 'options-general.php?page=' . self::settings_slug ) . '">Settings</a>',
)
);
}
public static function settings_page() {
if ( empty( $_GET['tab'] ) ) {
@ -108,17 +94,14 @@ class Settings_Page {
$submenu_options[$tab]['active'] = true;
$args = array(
'slug' => settings_slug,
'options' => $submenu_options,
);
switch ( $tab ) {
case 'general':
\load_template( ACTIVITYPUB_EVENT_EXTENSIONS_PLUGIN_DIR . 'templates/settings-general.php' , true, $args );
\load_template( ACTIVITYPUB_EVENT_EXTENSIONS_PLUGIN_DIR . 'templates/settings-general.php' , true, $submenu_options );
break;
default:
\load_template( ACTIVITYPUB_EVENT_EXTENSIONS_PLUGIN_DIR . 'templates/settings-extractor.php', true, $args );
\load_template( ACTIVITYPUB_EVENT_EXTENSIONS_PLUGIN_DIR . 'templates/settings-extractor.php', true, $submenu_options );
break;
}

View file

@ -142,8 +142,7 @@ class Setup {
}
add_action( 'admin_menu', array( Settings_Page::static, 'admin_menu' ) );
add_filter( 'plugin_action_links_' . ACTIVITYPUB_EVENT_EXTENSIONS_PLUGIN_BASENAME,
array( Settings_Page::static, 'settings_link' ) );
add_filter( 'plugin_action_links_Activitypub_Event_Extensions', array( Settings_Page::static, 'settings_links' ) );
add_filter( 'activitypub_transformer', array( $this, 'register_activitypub_event_transformer' ), 10, 3 );
}

View file

@ -3,14 +3,14 @@ currently reusing activitypub classes which is kinda nice, because it has a cons
-->
<div class="activitypub-settings-header">
<div class="activitypub-settings-title-section">
<h1><?php \esc_html_e( 'Activitypub Events Plugin', $args['slug'] ); ?></h1>
<h1><?php \esc_html_e( 'Activitypub Events Plugin', 'activitypub-events' ); ?></h1>
</div>
<nav class="activitypub-settings-tabs-wrapper" aria-label="<?php \esc_attr_e( 'Secondary menu', $args['slug'] ); ?>">
<nav class="activitypub-settings-tabs-wrapper" aria-label="<?php \esc_attr_e( 'Secondary menu', 'activitypub-events' ); ?>">
<!-- todo loop through settings pages of Extractors -->
<?php foreach ( $args['options'] as $tabslug => $plugin ) { ?>
<a href="<?php echo \esc_url_raw( admin_url( 'options-general.php?page='. $args['slug'] .'&tab=' . $tabslug ) ); ?>" class="activitypub-settings-tab <?php echo \esc_attr( $plugin['active'] ? 'active' : '' ); ?>">
<?php \esc_html_e( $plugin['name'], $args['slug'] ); ?> <!-- Todo better name handling -->
<?php foreach ( $args as $slug => $plugin ) { ?>
<a href="<?php echo \esc_url_raw( admin_url( 'options-general.php?page=activitypub-events&tab=' . $slug ) ); ?>" class="activitypub-settings-tab <?php echo \esc_attr( $plugin['active'] ? 'active' : '' ); ?>">
<?php \esc_html_e( $plugin['name'], 'activitypub-events' ); ?> <!-- Todo better name handling -->
</a>
<?php } ?>