Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scope module assets #441

Closed
wants to merge 150 commits into from
Closed
Show file tree
Hide file tree
Changes from 39 commits
Commits
Show all changes
150 commits
Select commit Hold shift + click to select a range
319a8fe
Adds field to the comment form to display notification info
goodguyry Jul 30, 2014
da675a5
Feedback updates as users are selected/deselected
goodguyry Jul 30, 2014
d42f421
Save the notification message info for display in the comment
goodguyry Jul 30, 2014
343adce
Display the saved notification feedback in the comment
goodguyry Jul 30, 2014
09857fa
Styles notification message in the form and comments
goodguyry Jul 30, 2014
c8c0c39
Slight formatting adjustment
goodguyry Jul 30, 2014
07d9133
Updated message creation to be more robust
goodguyry Jul 31, 2014
13dcc0e
Set up strings for localization
goodguyry Aug 29, 2014
de8b4c7
Build home_url() previews with trailing slash
jeremyfelt Jul 27, 2016
6d6cf81
Using PHPDoc to generate accesible Edit Flow documentation.
Jun 7, 2016
e429115
fix get_beginning_of_week comments
Oct 18, 2016
1c2d85a
fix get_ending_of_week returning wrong date after DST changes
Oct 21, 2016
f87ba61
Added usergroup obj filter for better flexibility
tcrsavage Oct 24, 2017
8f2fef2
Changed the way that the status on the calendar is made
Jan 22, 2018
806a99a
Support adding non-post data into days of calendar #417
cklosowski Jan 23, 2018
435447b
Add method `is_module_view`
Jan 29, 2018
970c89e
Deprecate `is_whitelisted_settings_view()` in favor of `is_module_set…
Jan 29, 2018
89206dc
Add style & script interfaces to improve method name consistency
Jan 29, 2018
e0c2aef
Add `Edit_Flow_Module_With_View` interface
Jan 29, 2018
bf67dcb
Accept $module_name in `is_module_settings_view`
Jan 29, 2018
9b2698a
Refactor calendar asset enqueuing
Jan 29, 2018
a46ed47
Refactor custom-status asset enqueuing
Jan 29, 2018
ab8bdef
Deprecate `is_whitelisted_functional_view()` method
Jan 29, 2018
49b7a9b
Pull method up & rename it to `is_module_edit_view()` for reusability
Jan 29, 2018
3785a7f
Refactor notification asset enqueuing
Jan 29, 2018
55d435b
Use `is_module_settings_view()` instead of `is_whitelisted_settings_v…
Jan 30, 2018
8a0ca71
Improve function naming: `is_module_edit_view` -> `is_active_view`
Jan 30, 2018
b70164f
Add `is_current_module_settings_view` to help easily target the curre…
Jan 30, 2018
bd4885d
Rename `is_current_module_view` to `is_calendar_view`
Jan 30, 2018
4e17907
Remove `is_module_view()` method because it’s no longer used
Jan 30, 2018
64abafa
Improve custom status `is_current_module_view` method
Jan 30, 2018
98aabcd
Refactor editorial metadata asset enqueuing
Jan 30, 2018
e938ca2
Notification assets are only needed in settings and active editor view
Jan 30, 2018
65aca1e
Refactor user groups asset enqueuing
Jan 30, 2018
cdce333
Improve comment at `is_whitelisted_functional_view` method
Jan 30, 2018
eecb486
Move deprecated methods down
Jan 30, 2018
bb31689
Rename `is_current_module_view()` to `is_custom_status_view()`
Jan 30, 2018
f8fd8f1
Remove unused Edit_Flow_Module_With_View interface
Jan 30, 2018
3ce044f
Use is_current_module_settings_view method instead of is_module_setti…
Jan 30, 2018
ec35e5b
Merge branch 'master' of https://github.com/Automattic/Edit-Flow into…
Jan 30, 2018
496ce93
Use `is_custom_status_view` to check if is active view
Jan 30, 2018
9c9da87
Extract a EF_Module_With_View trait
Jan 30, 2018
accc76c
Utilize trait `EF_Module_With_View`
Jan 30, 2018
23a6a3c
Refactor story budget asset enqueuing
Jan 30, 2018
d9862ef
Rename Edit_Flow_**** to EF_****_Interface
Jan 30, 2018
dac767f
Update comments
Jan 31, 2018
79eda84
Call a Trait a Trait
Jan 31, 2018
96387f0
Add more comments
Jan 31, 2018
dc9bf6b
Remove Trait, use regular Classes instead
Jan 31, 2018
235ae9e
Check for module settings view in EF_Custom_Status
Jan 31, 2018
b470e94
Refactor editorial comments asset enqueuing
Jan 31, 2018
cfbca15
Set the post_type to post if edit.php OR post-new.php
Jan 31, 2018
a38177c
Merge branch 'master' of https://github.com/Automattic/Edit-Flow into…
Feb 5, 2018
2de212d
Merge branch 'master' of https://github.com/Automattic/Edit-Flow into…
Feb 23, 2018
2f86e89
Add pre-html filter, to avoid doing WP_Post checks #417
cklosowski Mar 6, 2018
d29799d
Update filter name to follow naming convention #417
cklosowski Mar 6, 2018
56cb009
Fix status list to show custom post statuses
mikeyarce Mar 20, 2018
3efb837
Get post status label directly
mikeyarce Mar 20, 2018
42f9f9d
Get custom post status in Calendar
mikeyarce Mar 20, 2018
ef8eee1
Get custom post status in the Story Budget
mikeyarce Mar 20, 2018
6a3b167
Clean up get_post_status_friendly_name function
mikeyarce Mar 20, 2018
659cd6a
Add back old get_post_status_friendly_name function
mikeyarce Mar 20, 2018
b1ce1fb
Remove dependency on get_post_status_friendly_name function
mikeyarce Mar 20, 2018
4f04c48
Remove get_post_status_friendly_name function
mikeyarce Mar 21, 2018
29fd882
Add support for custom statuses in the Calendar
mikeyarce Mar 21, 2018
5fecd95
Add custom status support to Story Budget
mikeyarce Mar 21, 2018
3ea309a
Show Post States if they are not also a post status
mikeyarce Mar 21, 2018
2295d9c
Update to yoda conditions
mikeyarce Mar 21, 2018
98abbdd
Escaping
mikeyarce Mar 21, 2018
98ab0e1
Get object property correctly
mikeyarce Mar 21, 2018
f077e02
Get objects first, then their properties
mikeyarce Mar 21, 2018
ab29a0f
Check of old_status is an object before getting the object property
mikeyarce Mar 21, 2018
80ec263
Fix conditional for $old_status
mikeyarce Mar 21, 2018
02c29cf
Improve getting object parameter
mikeyarce Mar 22, 2018
ec1a0b2
Fix Spacing
mikeyarce Mar 22, 2018
071791d
Return a value for $old_status_friendly_name earlier
mikeyarce Mar 29, 2018
351bf62
Ensure user_group_ids is in post request
WPprodigy Apr 3, 2018
adc9600
Ensure all values are posted before accessing them
WPprodigy Apr 3, 2018
11ad4bc
Coding standards and cleanup
WPprodigy Apr 3, 2018
e2043ef
Merge pull request #446 from Automattic/fix/custom-post-status-post-list
sboisvert Apr 4, 2018
0ce2b64
Code cleanup - make conditional more verbose
WPprodigy Apr 4, 2018
6fc7cb1
Merge pull request #448 from Automattic/fix/undefined-index-subscript…
sboisvert Apr 5, 2018
6e6523d
Merge PR and fix conflicts
WPprodigy Apr 8, 2018
9f69bc8
Sanitize and escape
WPprodigy Apr 8, 2018
ade5a36
Conditionally output comment meta
WPprodigy Apr 8, 2018
71f833b
Formatting & Code Standards
WPprodigy Apr 8, 2018
02ebd65
Refactor notify method
WPprodigy Apr 8, 2018
f883b76
Trigger custom event when subscribers are updated
WPprodigy Apr 8, 2018
a42a44d
Localize text strings
WPprodigy Apr 8, 2018
231776d
Only save comment meta if necessary
WPprodigy Apr 8, 2018
ca9ca23
Update CSS
WPprodigy Apr 8, 2018
aad6fa1
Introduce filter to disable showing notified users
WPprodigy Apr 8, 2018
c220c60
Use WP core colors
WPprodigy Apr 8, 2018
9c1ea92
Update doc block
WPprodigy Apr 8, 2018
ee17d13
Capabilities: add capabilities via filters on VIP Go sites.
jeherve Apr 18, 2018
494499a
Made the changes discussed in PR #409
Apr 23, 2018
2b5491f
Add a “no access” badge to subscribers
WPprodigy May 4, 2018
ba9dcd7
Localize text string
WPprodigy May 4, 2018
6f4b5e8
Spacing / reduce indentation
WPprodigy May 4, 2018
3be71d6
Merge pull request #357 from jeremyfelt/bug/home-url-344
rinatkhaziev May 5, 2018
fb006c0
Update story-budget.js
rinatkhaziev May 6, 2018
29cdfae
Fix missing escaping in story-budget.php
rinatkhaziev May 6, 2018
fd4a5ff
Merge pull request #456 from jeherve/add/cap-filters-vipgo
rinatkhaziev May 6, 2018
0f29b93
Supply an empty string as a filter arg for ef_pre_calendar_single_dat…
rinatkhaziev May 6, 2018
4a04769
Merge pull request #418 from cklosowski/issue/417
rinatkhaziev May 6, 2018
9243655
Move out add_screen_options_panel from init to admin_init. It has no …
rinatkhaziev May 6, 2018
484012a
Merge pull request #463 from Automattic/issues/354
rinatkhaziev May 7, 2018
830f559
Merge pull request #401 from humanmade/add-user-group-object-filter
rinatkhaziev May 7, 2018
342a784
Merge pull request #460 from raduconst/story-budget-columns
rinatkhaziev May 7, 2018
b76c844
Remove generated phpdoc.json - there's been many changes to the codeb…
rinatkhaziev May 7, 2018
c87f3b7
Merge pull request #353 from Automattic/documentation
rinatkhaziev May 7, 2018
0121284
Merge pull request #410 from raduconst/calendar-status
rinatkhaziev May 7, 2018
b8ad6a4
Displaying updated time instead of creation time in Notepad Dashboard…
TheCrowned May 28, 2018
dd59460
Notepad dashboard widget method changed to POST, update function twea…
TheCrowned May 28, 2018
5864f7d
Removed whitespace changes with respect to previous commit.
TheCrowned May 29, 2018
363d272
Removed whitespaces introduced in last commit
TheCrowned May 29, 2018
0d69708
Changed $_REQUEST references to $_POST references in handle_notepad_u…
TheCrowned May 29, 2018
69af79b
Merge pull request #470 from TheCrowned/update/dashboard-notepad-supe…
sboisvert Jun 5, 2018
aab8337
Merge pull request #469 from TheCrowned/fix/466-notepad-widget-post-form
rinatkhaziev Jun 14, 2018
31c2903
Merge pull request #380 from FewKinG/master
rinatkhaziev Jun 14, 2018
a4537ad
Merge pull request #452 from Automattic/feature/270-comments-notifica…
rinatkhaziev Jun 15, 2018
ed3c71d
Revert "Display who was notified for an editorial comment"
rinatkhaziev Jun 15, 2018
179abf7
Merge pull request #472 from Automattic/revert-452-feature/270-commen…
rinatkhaziev Jun 15, 2018
11d7db8
Revert "Revert "Display who was notified for an editorial comment""
rinatkhaziev Jun 15, 2018
72c7b9f
Merge pull request #473 from Automattic/revert-472-revert-452-feature…
rinatkhaziev Jun 15, 2018
4e5bd20
Merge pull request #468 from TheCrowned/fix/465-notepad-updated-time
rinatkhaziev Jun 15, 2018
faa9ac3
Update Changelog and Upgrade Notice sections for 0.8.3
rinatkhaziev Jun 14, 2018
155d5a9
Bump 'Tested up to' to 4.9.6
rinatkhaziev Jun 15, 2018
0edd15c
Mirror readme updates to README.md
rinatkhaziev Jun 15, 2018
d5368a3
Bump version to 0.8.3
rinatkhaziev Jun 15, 2018
4724a3c
Merge pull request #474 from Automattic/readme-updates-0.8.3
rinatkhaziev Jun 15, 2018
8f3fabe
settings.css - remove green color on module-enabling button-primary b…
jerclarke Nov 8, 2018
bff9f4e
Enlarged modules box up to 250px, so that buttons don't overlap anymore
TheCrowned May 28, 2018
d5a8545
Removing min-width in module boxes containers, so that the layout can…
TheCrowned May 29, 2018
3c5728f
Added flexbox directives
TheCrowned Jun 15, 2018
af87de4
Implement caps check before sending notifications
WPprodigy Apr 4, 2018
0da9067
Remove unused and empty author array
WPprodigy Apr 4, 2018
d9b4a11
Coding standards and cleanup
WPprodigy Apr 4, 2018
a5a7558
Remove empty email addresses from recipients list
WPprodigy May 1, 2018
667a071
Rename variables for clarity
WPprodigy May 1, 2018
de13159
Return array or string always
WPprodigy May 3, 2018
bd49802
Add doc blocks for filters, and some typecasting
WPprodigy May 3, 2018
f6e5408
Merge branch 'master' into feature/451-notification-visibility
rinatkhaziev Dec 19, 2018
d281317
Merge pull request #461 from Automattic/feature/451-notification-visi…
rinatkhaziev Dec 19, 2018
e222adc
Fix regression due to duplicate method declaration
rinatkhaziev Dec 19, 2018
0316295
Update EF_Notifications->notification_comment() to insert the list of…
jerclarke Nov 6, 2018
975fa15
notifications.php - notification_comment() move the notification list…
jerclarke Nov 8, 2018
b7f172f
Update modules/notifications/notifications.php
WPprodigy Nov 15, 2018
94d968a
Update modules/notifications/notifications.php
WPprodigy Nov 15, 2018
9da539a
Merge branch 'fix-351-scope-assets' of github.com:justnorris/Edit-Flo…
Dec 21, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
181 changes: 181 additions & 0 deletions common/php/class-module-with-view.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
<?php


class EF_Module_With_View extends EF_Module {


/**
* Whether or not the current page is an Edit Flow settings view (either main or module)
* Determination is based on $pagenow, $_GET['page'], and the module's $settings_slug
* If there's no module name specified, it will return true against all Edit Flow settings views
*
* @since 0.8.3
*
* @param string $slug (Optional) Module name to check against
* @return bool true if is module settings view
*/
public function is_module_settings_view( $slug = false ) {
global $pagenow, $edit_flow;

// All of the settings views are based on admin.php and a $_GET['page'] parameter
if ( $pagenow !== 'admin.php' || ! isset( $_GET['page'] ) )
pyronaur marked this conversation as resolved.
Show resolved Hide resolved
return false;

$settings_view_slugs = array();
// Load all of the modules that have a settings slug/ callback for the settings page
foreach ( $edit_flow->modules as $mod_name => $mod_data ) {
if ( isset( $mod_data->options->enabled ) && $mod_data->options->enabled == 'on' && $mod_data->configure_page_cb )
pyronaur marked this conversation as resolved.
Show resolved Hide resolved
pyronaur marked this conversation as resolved.
Show resolved Hide resolved
$settings_view_slugs[] = $mod_data->settings_slug;
}

// The current page better be in the array of registered settings view slugs
if ( empty( $settings_view_slugs ) || ! in_array( $_GET['page'], $settings_view_slugs ) ) {
pyronaur marked this conversation as resolved.
Show resolved Hide resolved
return false;
}

if ( $slug && $edit_flow->modules->{$slug}->settings_slug !== $_GET['page'] ) {
return false;
}

return true;
}

/**
* Check whether if we're at module settings view
* for the current module based on `is_module_settings_view` method
*
* @return bool
*/
public function is_current_module_settings_view() {
return $this->is_module_settings_view( $this->module->name );
}


/**
* Check for admin page and whether the current post type is supported
* @param array $allowed_pages
*
* @return bool
*/
function is_active_view( $allowed_pages = array( 'edit.php', 'post.php', 'post-new.php' ) ) {
return ( $this->is_admin_page( $allowed_pages ) && $this->is_supported_post_type() );
}


/**
* Check whether the current post type is supported for $this module
*
* @return bool
*/
public function is_supported_post_type() {
$post_type = $this->get_current_post_type();

return (
$post_type
&&
in_array( $post_type, $this->get_post_types_for_module( $this->module ), true )
);
}

/**
* Checks for the current post type
*
* @since 0.7
* @return string|null $post_type The post type we've found, or null if no post type
*/
function get_current_post_type() {
global $post, $typenow, $pagenow, $current_screen;
//get_post() needs a variable
$post_id = isset( $_REQUEST['post'] ) ? (int) $_REQUEST['post'] : false;
pyronaur marked this conversation as resolved.
Show resolved Hide resolved

if ( $post && $post->post_type ) {
$post_type = $post->post_type;
} elseif ( $typenow ) {
$post_type = $typenow;
} elseif ( $current_screen && ! empty( $current_screen->post_type ) ) {
$post_type = $current_screen->post_type;
} elseif ( isset( $_REQUEST['post_type'] ) ) {
pyronaur marked this conversation as resolved.
Show resolved Hide resolved
$post_type = sanitize_key( $_REQUEST['post_type'] );
pyronaur marked this conversation as resolved.
Show resolved Hide resolved
} elseif ( 'post.php' == $pagenow
&& $post_id
&& ! empty( get_post( $post_id )->post_type ) ) {
$post_type = get_post( $post_id )->post_type;
} elseif ( in_array( $pagenow, array('edit.php', 'post-new.php' ) ) && empty( $_REQUEST['post_type'] ) ) {
pyronaur marked this conversation as resolved.
Show resolved Hide resolved
pyronaur marked this conversation as resolved.
Show resolved Hide resolved
$post_type = 'post';
} else {
$post_type = null;
}

return $post_type;
}

/**
* Check whether currently viewing the desired admin page
*
* @param array $allowed_pages
*
* @return bool
*/
public function is_admin_page( $allowed_pages = array( 'edit.php', 'post.php', 'post-new.php' ) ) {
global $pagenow;

return ( $pagenow && in_array( $pagenow, $allowed_pages, true ) );
}


/**
* Shorthand for `is_active_view` to check for list type views ( list of posts pages, custom post types )
*
* @see is_active_view
* @return bool
*/
public function is_active_list_view() {
return $this->is_active_view( array( 'edit.php' ) );
}

/**
* Shorthand for `is_active_view` to check for editor mode
*
* @see is_active_view
* @return bool
*/
public function is_active_editor_view() {
return $this->is_active_view( array( 'post.php', 'posts-new.php' ) );
}


/**
* This method was supposed to check whether or not the current page is a user-facing Edit Flow View
* But it was never implemented
*
* It is now deprecated in favor of `$this->is_active_view`
* @see EF_Module::is_active_view()
* @since 0.7
* @deprecated 0.8.3
*
* @param string $module_name (Optional) Module name to check against
*/
public function is_whitelisted_functional_view( $module_name = null ) {
_deprecated_function( __FUNCTION__, '0.8.3', 'is_active_view' );

return true;
}

/**
* Whether or not the current page is an Edit Flow settings view (either main or module)
* Determination is based on $pagenow, $_GET['page'], and the module's $settings_slug
* If there's no module name specified, it will return true against all Edit Flow settings views
*
* @since 0.7
* @deprecated 0.8.3
*
* @param string $module_name (Optional) Module name to check against
* @return bool $is_settings_view Return true if it is
*/
public function is_whitelisted_settings_view( $module_name = null ) {
_deprecated_function( 'is_whitelisted_settings_view', '0.8.3', 'is_module_settings_view' );

return $this->is_module_settings_view( $module_name );
}

}
83 changes: 2 additions & 81 deletions common/php/class-module.php
Original file line number Diff line number Diff line change
Expand Up @@ -243,38 +243,7 @@ function enqueue_datepicker_resources() {
wp_enqueue_style( 'jquery-ui-theme', EDIT_FLOW_URL . 'common/css/jquery.ui.theme.css', false, EDIT_FLOW_VERSION, 'screen' );
}

/**
* Checks for the current post type
*
* @since 0.7
* @return string|null $post_type The post type we've found, or null if no post type
*/
function get_current_post_type() {
global $post, $typenow, $pagenow, $current_screen;
//get_post() needs a variable
$post_id = isset( $_REQUEST['post'] ) ? (int)$_REQUEST['post'] : false;

if ( $post && $post->post_type ) {
$post_type = $post->post_type;
} elseif ( $typenow ) {
$post_type = $typenow;
} elseif ( $current_screen && !empty( $current_screen->post_type ) ) {
$post_type = $current_screen->post_type;
} elseif ( isset( $_REQUEST['post_type'] ) ) {
$post_type = sanitize_key( $_REQUEST['post_type'] );
} elseif ( 'post.php' == $pagenow
&& $post_id
&& !empty( get_post( $post_id )->post_type ) ) {
$post_type = get_post( $post_id )->post_type;
} elseif ( 'edit.php' == $pagenow && empty( $_REQUEST['post_type'] ) ) {
$post_type = 'post';
} else {
$post_type = null;
}

return $post_type;
}

/**
* Wrapper for the get_user_meta() function so we can replace it if we need to
*
Expand Down Expand Up @@ -331,55 +300,6 @@ function print_ajax_response( $status, $message = '' ) {
exit;
}

/**
* Whether or not the current page is a user-facing Edit Flow View
* @todo Think of a creative way to make this work
*
* @since 0.7
*
* @param string $module_name (Optional) Module name to check against
*/
function is_whitelisted_functional_view( $module_name = null ) {

// @todo complete this method

return true;
}

/**
* Whether or not the current page is an Edit Flow settings view (either main or module)
* Determination is based on $pagenow, $_GET['page'], and the module's $settings_slug
* If there's no module name specified, it will return true against all Edit Flow settings views
*
* @since 0.7
*
* @param string $module_name (Optional) Module name to check against
* @return bool $is_settings_view Return true if it is
*/
function is_whitelisted_settings_view( $module_name = null ) {
global $pagenow, $edit_flow;

// All of the settings views are based on admin.php and a $_GET['page'] parameter
if ( $pagenow != 'admin.php' || !isset( $_GET['page'] ) )
return false;

// Load all of the modules that have a settings slug/ callback for the settings page
foreach ( $edit_flow->modules as $mod_name => $mod_data ) {
if ( isset( $mod_data->options->enabled ) && $mod_data->options->enabled == 'on' && $mod_data->configure_page_cb )
$settings_view_slugs[] = $mod_data->settings_slug;
}

// The current page better be in the array of registered settings view slugs
if ( !in_array( $_GET['page'], $settings_view_slugs ) )
return false;

if ( $module_name && $edit_flow->modules->$module_name->settings_slug != $_GET['page'] )
return false;

return true;
}


/**
* This is a hack, Hack, HACK!!!
* Encode all of the given arguments as a serialized array, and then base64_encode
Expand Down Expand Up @@ -604,6 +524,7 @@ function upgrade_074_term_descriptions( $taxonomy ) {
wp_update_term( $term->term_id, $taxonomy, array( 'description' => $new_description ) );
}
}



}
}
9 changes: 8 additions & 1 deletion edit_flow.php
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,14 @@ private function load_modules() {

// Edit Flow base module
require_once( EDIT_FLOW_ROOT . '/common/php/class-module.php' );


/*
* Include interfaces:
*/
require_once( EDIT_FLOW_ROOT . '/interfaces/EF_Script_Interface.php' );
require_once( EDIT_FLOW_ROOT . '/interfaces/EF_Style_Interface.php' );
require_once( EDIT_FLOW_ROOT . '/common/php/class-module-with-view.php' );

// Scan the modules directory and include any modules that exist there
$module_dirs = scandir( EDIT_FLOW_ROOT . '/modules/' );
$class_names = array();
Expand Down
9 changes: 9 additions & 0 deletions interfaces/EF_Script_Interface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?php

/**
* Interface EF_Script_Interface
* A very simple interface tor equire a method `enqueue_admin_scripts()`
*/
interface EF_Script_Interface {
public function enqueue_admin_scripts();
}
9 changes: 9 additions & 0 deletions interfaces/EF_Style_Interface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?php

/**
* Interface EF_Style_Interface
* A very simple interface tor equire a method `enqueue_admin_styles()`
*/
interface EF_Style_Interface {
public function enqueue_admin_styles();
}
Loading