예제 #1
0
 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));
         }
     }
 }
예제 #2
0
파일: rucy.php 프로젝트: nibushibu/rucy
 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);
         }
     }
 }
예제 #3
0
 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;
 }