public function release_claim(ActionScheduler_ActionClaim $claim) { /** @var wpdb $wpdb */ global $wpdb; $action_ids = $this->find_actions_by_claim_id($claim->get_id()); if ($claim->get_id() && !empty($action_ids)) { $action_id_string = implode(',', array_map('intval', $action_ids)); $sql = "UPDATE {$wpdb->posts} SET post_parent = 0 WHERE ID IN ({$action_id_string}) AND post_parent = %d"; $sql = $wpdb->prepare($sql, array($claim->get_id())); $result = $wpdb->query($sql); if ($result === false) { throw new RuntimeException(sprintf(__('Unable to unlock claim %s. Database error.', 'action-scheduler'), $claim->get_id())); } } if ($claim->get_id()) { $wpdb->update($wpdb->posts, array('post_status' => 'publish'), array('ID' => $claim->get_id()), array('%s'), array('%d')); } }
public function release_claim(ActionScheduler_ActionClaim $claim) { $action_ids = $this->find_actions_by_claim_id($claim->get_id()); if (empty($action_ids)) { return; // nothing to do } $action_id_string = implode(',', array_map('intval', $action_ids)); /** @var wpdb $wpdb */ global $wpdb; $sql = "UPDATE {$wpdb->posts} SET post_password = '' WHERE ID IN ({$action_id_string}) AND post_password = %s"; $sql = $wpdb->prepare($sql, array($claim->get_id())); $result = $wpdb->query($sql); if ($result === false) { throw new RuntimeException(sprintf(__('Unable to unlock claim %s. Database error.', 'action-scheduler'), $claim->get_id())); } }