コード例 #1
0
 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'));
     }
 }
コード例 #2
0
 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()));
     }
 }