Compare commits
4 commits
368e89a2aa
...
fba9948b9d
Author | SHA1 | Date | |
---|---|---|---|
fba9948b9d | |||
d1088756c8 | |||
098b1f578b | |||
d0e63fc859 |
3 changed files with 30 additions and 12 deletions
|
@ -36,6 +36,7 @@ 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.
|
||||
|
@ -45,13 +46,26 @@ class Settings_Page {
|
|||
'Activitypub Event Extension',
|
||||
'Activitypub Events',
|
||||
'manage_options',
|
||||
'activitypub-events',
|
||||
self::settings_slug,
|
||||
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'] ) ) {
|
||||
|
@ -94,14 +108,17 @@ 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, $submenu_options );
|
||||
\load_template( ACTIVITYPUB_EVENT_EXTENSIONS_PLUGIN_DIR . 'templates/settings-general.php' , true, $args );
|
||||
break;
|
||||
default:
|
||||
\load_template( ACTIVITYPUB_EVENT_EXTENSIONS_PLUGIN_DIR . 'templates/settings-extractor.php', true, $submenu_options );
|
||||
\load_template( ACTIVITYPUB_EVENT_EXTENSIONS_PLUGIN_DIR . 'templates/settings-extractor.php', true, $args );
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -142,7 +142,8 @@ class Setup {
|
|||
}
|
||||
|
||||
add_action( 'admin_menu', array( Settings_Page::static, 'admin_menu' ) );
|
||||
add_filter( 'plugin_action_links_Activitypub_Event_Extensions', array( Settings_Page::static, 'settings_links' ) );
|
||||
add_filter( 'plugin_action_links_' . ACTIVITYPUB_EVENT_EXTENSIONS_PLUGIN_BASENAME,
|
||||
array( Settings_Page::static, 'settings_link' ) );
|
||||
|
||||
add_filter( 'activitypub_transformer', array( $this, 'register_activitypub_event_transformer' ), 10, 3 );
|
||||
}
|
||||
|
|
|
@ -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', 'activitypub-events' ); ?></h1>
|
||||
<h1><?php \esc_html_e( 'Activitypub Events Plugin', $args['slug'] ); ?></h1>
|
||||
</div>
|
||||
|
||||
<nav class="activitypub-settings-tabs-wrapper" aria-label="<?php \esc_attr_e( 'Secondary menu', 'activitypub-events' ); ?>">
|
||||
<nav class="activitypub-settings-tabs-wrapper" aria-label="<?php \esc_attr_e( 'Secondary menu', $args['slug'] ); ?>">
|
||||
<!-- todo loop through settings pages of Extractors -->
|
||||
<?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 -->
|
||||
<?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 -->
|
||||
</a>
|
||||
<?php } ?>
|
||||
|
||||
|
|
Loading…
Reference in a new issue