public function save_rc_post_meta($post_id) { $component = new Class_Rucy_Component(); if (!isset($_POST) && !isset($_POST['post_type'])) { return; } if (isset($_POST['schroeder']) && !wp_verify_nonce($_POST['schroeder'], plugin_basename(__FILE__))) { return; } if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { return; } $accept_post_types = $component->get_support_post_type(); if (!in_array($_POST['post_type'], $accept_post_types)) { return; } if (!array_key_exists('rc_hour', $_POST) && !array_key_exists('rc_minutes', $_POST) && !array_key_exists('rc_month', $_POST) && !array_key_exists('rc_day', $_POST) && !array_key_exists('rc_year', $_POST) && !array_key_exists('rc_rb_hour', $_POST) && !array_key_exists('rc_rb_minutes', $_POST) && !array_key_exists('rc_rb_month', $_POST) && !array_key_exists('rc_rb_day', $_POST) && !array_key_exists('rc_rb_year', $_POST)) { return; } $post_meta_keys = $component->get_post_meta_keys(); $date = mktime($_POST['rc_hour'], $_POST['rc_minutes'], 00, $_POST['rc_month'], $_POST['rc_day'], $_POST['rc_year']); if ($date) { $_POST[$post_meta_keys->date] = date_i18n('Y-m-d H:i:s', $date); } else { $_POST[$post_meta_keys->date] = ""; } if (!isset($_POST[$post_meta_keys->accept]) || $_POST[$post_meta_keys->accept] != "1") { $_POST[$post_meta_keys->accept] = "0"; } // rollback setting $rdate = mktime($_POST['rc_rb_hour'], $_POST['rc_rb_minutes'], 00, $_POST['rc_rb_month'], $_POST['rc_rb_day'], $_POST['rc_rb_year']); if ($rdate) { $_POST[$post_meta_keys->rollback_date] = date_i18n('Y-m-d H:i:s', $rdate); } else { $_POST[$post_meta_keys->rollback_date] = ""; } if (!isset($_POST[$post_meta_keys->accept_rollback]) || $_POST[$post_meta_keys->accept_rollback] != "1") { $_POST[$post_meta_keys->accept_rollback] = "0"; } if (!isset($_POST[$post_meta_keys->accept_rollback_update]) || $_POST[$post_meta_keys->accept_rollback_update] != "1") { $_POST[$post_meta_keys->accept_rollback_update] = "0"; } if (!isset($_POST[$post_meta_keys->accept_rollback_feature_img]) || $_POST[$post_meta_keys->accept_rollback_feature_img] != "1") { $_POST[$post_meta_keys->accept_rollback_feature_img] = "0"; } // save post meta foreach ($post_meta_keys as $key => $value) { $component->save_rc_post_meta_base($post_id, $value, $_POST); } // regist reserve update content if ($_POST[$post_meta_keys->accept] == "1") { $reserve_date = strtotime(get_gmt_from_date($_POST[$post_meta_keys->date]) . " GMT"); if (in_array($_POST['post_type'], $accept_post_types)) { wp_schedule_single_event($reserve_date, RC_CRON_HOOK, array($post_id)); } } else { if ($_POST[$post_meta_keys->accept] == "0" || !isset($_POST[$post_meta_keys->accept])) { // delete schedule wp_clear_scheduled_hook(RC_CRON_HOOK, array($post_id)); } } }
private function set_rollback_setting($post_id, $reserve_date, array $rollback_data) { $component = new Class_Rucy_Component(); foreach ($rollback_data as $key => $value) { $component->save_rc_post_meta_base((int) $post_id, $key, $rollback_data); } wp_schedule_single_event($reserve_date, RC_CRON_HOOK, array($post_id)); }