You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.8 KiB
PHTML
55 lines
1.8 KiB
PHTML
8 months ago
|
<?php
|
||
|
/**
|
||
|
* The Updates routine for version 1.0.98
|
||
|
*
|
||
|
* @since 1.0.98
|
||
|
* @package RankMath
|
||
|
* @subpackage RankMath\Updates
|
||
|
* @author Rank Math <support@rankmath.com>
|
||
|
*/
|
||
|
|
||
|
defined( 'ABSPATH' ) || exit;
|
||
|
|
||
|
/**
|
||
|
* Get a group's ID based on its name/slug.
|
||
|
*
|
||
|
* @param string $slug The string name of a group.
|
||
|
*
|
||
|
* @return int The group's ID, if it exists or is created, or 0 if it does not exist and is not created.
|
||
|
*/
|
||
|
function rank_math_1_0_98_as_get_group_id( $slug ) {
|
||
|
if ( empty( $slug ) ) {
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
global $wpdb;
|
||
|
$table = $wpdb->prefix . 'actionscheduler_groups';
|
||
|
$group_id = (int) $wpdb->get_var( $wpdb->prepare( "SELECT group_id FROM {$table} WHERE slug=%s", $slug ) );
|
||
|
|
||
|
return $group_id;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Fix Action Scheduler groups.
|
||
|
*/
|
||
|
function rank_math_1_0_98_fix_as_groups() {
|
||
|
$workflow_group_id = rank_math_1_0_98_as_get_group_id( 'workflow' );
|
||
|
$inspections_group_id = rank_math_1_0_98_as_get_group_id( 'rank_math/analytics/get_inspections_data' );
|
||
|
$rank_math_group_id = rank_math_1_0_98_as_get_group_id( 'rank-math' );
|
||
|
|
||
|
if ( 0 === $rank_math_group_id ) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
// In the actions table, update the group_id for all actions in the 'workflow' & 'rank_math/analytics/get_inspections_data' groups to the 'rank-math' group.
|
||
|
global $wpdb;
|
||
|
$actions_table = $wpdb->prefix . 'actionscheduler_actions';
|
||
|
$wpdb->query( $wpdb->prepare( "UPDATE {$actions_table} SET group_id=%d WHERE group_id=%d OR group_id=%d", $rank_math_group_id, $workflow_group_id, $inspections_group_id ) );
|
||
|
|
||
|
// Delete the 'workflow' & 'rank_math/analytics/get_inspections_data' groups.
|
||
|
$groups_table = $wpdb->prefix . 'actionscheduler_groups';
|
||
|
$wpdb->query( $wpdb->prepare( "DELETE FROM {$groups_table} WHERE group_id=%d OR group_id=%d", $workflow_group_id, $inspections_group_id ) );
|
||
|
}
|
||
|
|
||
|
rank_math_1_0_98_fix_as_groups();
|