Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Sign in
Toggle navigation
W
WP Revisions Control
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
WP Plugins
WP Revisions Control
Commits
eb221dd6
Commit
eb221dd6
authored
May 26, 2019
by
Erick Hitter
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Begin adding bulk actions
parent
c4502d89
Pipeline
#1058
passed with stages
in 3 minutes and 30 seconds
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
112 additions
and
1 deletion
+112
-1
inc/class-wp-revisions-control-bulk-actions.php
inc/class-wp-revisions-control-bulk-actions.php
+105
-0
inc/class-wp-revisions-control.php
inc/class-wp-revisions-control.php
+6
-1
wp-revisions-control.php
wp-revisions-control.php
+1
-0
No files found.
inc/class-wp-revisions-control-bulk-actions.php
0 → 100644
View file @
eb221dd6
<?php
/**
* Bulk actions.
*
* @package WP_Revisions_Control
*/
/**
* Class WP_Revisions_Control_Bulk_Actions.
*/
class
WP_Revisions_Control_Bulk_Actions
{
/**
* Supported post types.
*
* @var array
*/
protected
$post_types
;
/**
* Custom bulk actions.
*
* @var array
*/
protected
$actions
;
/**
* Constructor.
*
* @param array $post_types Supported post types.
*/
public
function
__construct
(
$post_types
)
{
if
(
empty
(
$post_types
)
||
!
is_array
(
$post_types
)
)
{
return
;
}
$this
->
post_types
=
$post_types
;
$this
->
register_actions
();
add_action
(
'load-edit.php'
,
array
(
$this
,
'setup'
)
);
}
/**
* Register custom actions.
*/
protected
function
register_actions
()
{
$actions
=
array
();
$action_base
=
'wp_rev_ctl_bulk_'
;
$actions
[
$action_base
.
'purge_excess'
]
=
__
(
'Purge excess revisions'
,
'wp_revisions_control'
);
$actions
[
$action_base
.
'purge_all'
]
=
__
(
'Purge ALL revisions'
,
'wp_revisions_control'
);
$this
->
actions
=
$actions
;
}
/**
* Register various hooks.
*/
public
function
setup
()
{
$screen
=
get_current_screen
();
if
(
null
===
$screen
)
{
return
;
}
$post_types
=
array_keys
(
$this
->
post_types
);
if
(
!
in_array
(
$screen
->
post_type
,
$post_types
,
true
)
)
{
return
;
}
if
(
'edit'
!==
$screen
->
base
)
{
return
;
}
add_filter
(
'bulk_actions-'
.
$screen
->
id
,
array
(
$this
,
'add_actions'
)
);
add_filter
(
'handle_bulk_actions-'
.
$screen
->
id
,
array
(
$this
,
'handle_action'
),
10
,
3
);
}
/**
* Add our actions.
*
* @param string[] $actions Array of available actions.
* @return array
*/
public
function
add_actions
(
$actions
)
{
return
array_merge
(
$actions
,
$this
->
actions
);
}
/**
* Handle our bulk actions.
*
* @param string $redirect_to Redirect URL.
* @param string $action Bulk action being taken.
* @param array $ids Object IDs to manipulate.
* @return string
*/
public
function
handle_action
(
$redirect_to
,
$action
,
$ids
)
{
if
(
!
array_key_exists
(
$action
,
$this
->
actions
)
)
{
return
$redirect_to
;
}
// TODO: implement and add a query string to trigger a message.
return
$redirect_to
;
}
}
inc/class-wp-revisions-control.php
View file @
eb221dd6
...
...
@@ -125,12 +125,14 @@ class WP_Revisions_Control {
* Plugin title is intentionally not translatable.
*/
public
function
action_admin_init
()
{
$post_types
=
$this
->
get_post_types
();
// Plugin setting section.
register_setting
(
$this
->
settings_page
,
$this
->
settings_section
,
array
(
$this
,
'sanitize_options'
)
);
add_settings_section
(
$this
->
settings_section
,
'WP Revisions Control'
,
array
(
$this
,
'settings_section_intro'
),
$this
->
settings_page
);
foreach
(
$
this
->
get_post_types
()
as
$post_type
=>
$name
)
{
foreach
(
$
post_types
as
$post_type
=>
$name
)
{
add_settings_field
(
$this
->
settings_section
.
'-'
.
$post_type
,
$name
,
array
(
$this
,
'field_post_type'
),
$this
->
settings_page
,
$this
->
settings_section
,
array
(
'post_type'
=>
$post_type
)
);
}
...
...
@@ -138,6 +140,9 @@ class WP_Revisions_Control {
add_action
(
'add_meta_boxes'
,
array
(
$this
,
'action_add_meta_boxes'
),
10
,
2
);
add_action
(
'wp_ajax_'
.
$this
->
settings_section
.
'_purge'
,
array
(
$this
,
'ajax_purge'
)
);
add_action
(
'save_post'
,
array
(
$this
,
'action_save_post'
)
);
// Bulk actions.
new
WP_Revisions_Control_Bulk_Actions
(
$post_types
);
}
/**
...
...
wp-revisions-control.php
View file @
eb221dd6
...
...
@@ -30,4 +30,5 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
require_once
__DIR__
.
'/inc/class-wp-revisions-control-bulk-actions.php'
;
require_once
__DIR__
.
'/inc/class-wp-revisions-control.php'
;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment