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)); } } }
public function uninstall_rucy() { wp_clear_scheduled_hook(RC_CRON_HOOK); delete_option(RC_SETTING_OPTION_KEY); delete_option('rucy_version'); $all_posts = get_posts('numberposts=-1&post_status='); $component = new Class_Rucy_Component(); $post_meta_keys = $component->get_post_meta_keys(); foreach ($all_posts as $post_info) { foreach ($post_meta_keys as $key => $value) { delete_post_meta($post_info->ID, $value); } } }
private function get_rollback_post($post_id, $accept_rollback_date = "0", $accept_rollback_feature_image = "0") { $post_data = get_post($post_id); $component = new Class_Rucy_Component(); $post_meta_keys = $component->get_post_meta_keys(); $res = array($post_meta_keys->content => $post_data->post_content, $post_meta_keys->accept => "1"); if ($accept_rollback_date == "1") { $res[$post_meta_keys->accept_update] = "1"; $res[$post_meta_keys->date] = $post_data->post_date; } if ($accept_rollback_feature_image == "1") { $res[$post_meta_keys->accept_feature_img] = "1"; $feature_image = wp_get_attachment_image_src(get_post_thumbnail_id($post_id), 'full'); $res[$post_meta_keys->feature_img] = $feature_image[0]; } return $res; }