get_support_post_type();
foreach ( $support_post_types as $post_type ) {
add_meta_box( 'rucy_metabox', 'Rucy - Reservation Update Content -', array( $this, 'add_rucy_editor_box' ), $post_type, 'normal', 'high' );
}
}
public function add_rucy_editor_box() {
global $post;
$component = new Class_Rucy_Component();
$current_year = date_i18n( 'Y' );
$support_post_types = $component->get_support_post_type();
$this->support_post_types = $support_post_types;
$this->post_meta_keys = $component->get_post_meta_keys();
$this->post_metas = $component->get_post_rc_meta( $post->ID );
$this->current_post_content = $post->post_content;
$dismissed = explode( ',', get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ) );
$reserve_date = ( $this->post_metas->date == "" ) ? date_i18n( 'Y-m-d H:i:s' ) : $this->post_metas->date;
$arr_reserve_date = getdate(strtotime( $reserve_date ) );
$arr_date = array(
'rc_year' => date_i18n( 'Y', $arr_reserve_date[0] ),
'rc_month' => date_i18n( 'm', $arr_reserve_date[0] ),
'rc_day' => date_i18n( 'd', $arr_reserve_date[0] ),
'rc_hour' => date_i18n( 'H', $arr_reserve_date[0] ),
'rc_minutes' => date_i18n( 'i', $arr_reserve_date[0] ),
);
$reserve_content = ( $this->post_metas->content == "" ) ? $this->current_post_content : $this->post_metas->content;
// rollback settings
$rollback_date = ( $this->post_metas->rollback_date == "" ) ? date_i18n( 'Y-m-d H:i:s' ) : $this->post_metas->rollback_date;
$arr_rollback_date = getdate(strtotime( $rollback_date ) );
$arr_rb_date = array(
'rc_rb_year' => date_i18n( 'Y', $arr_rollback_date[0] ),
'rc_rb_month' => date_i18n( 'm', $arr_rollback_date[0] ),
'rc_rb_day' => date_i18n( 'd', $arr_rollback_date[0] ),
'rc_rb_hour' => date_i18n( 'H', $arr_rollback_date[0] ),
'rc_rb_minutes' => date_i18n( 'i', $arr_rollback_date[0] ),
);
?>
:
$v ): ?>
' . __( 'Attention - reservation update UpdateTime', RC_TXT_DOMAIN ) . '';
$pointer_content .= '
' . __( "If update UpdateTime, this post\'s permalink is changed by permalink settings.", RC_TXT_DOMAIN ) . '
';
?>
post_meta_keys->content );
/*
* support feature image reservation.
*/
if( current_theme_supports('post-thumbnails') ):
?>
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));
}
}
// add update message
public function add_reservation_message( $messages ) {
global $post, $post_ID;
$component = new Class_Rucy_Component();
$accept_post_types = $component->get_support_post_type();
$post_type = get_post_type( $post );
if ( !in_array( $post_type, $accept_post_types ) ) {
return $messages;
}
$post_metas = $component->get_post_rc_meta( $post_ID );
if ( $post_metas->accept != "1" ) {
return $messages;
}
$add_message_date = date_i18n( 'Y/m/d @ H:i', strtotime( $post_metas->date ) );
$base_str = __( 'registered reservation update content _RC_DATETIME_', RC_TXT_DOMAIN );
$add_message = '
' . strtr( $base_str, array( '_RC_DATETIME_' => $add_message_date ) );
if( $post_metas->accept_rollback == "1" ) {
$rollback_date = date_i18n( 'Y/m/d @ H:i', strtotime( $post_metas->rollback_date ) );
$rollback_base_str = __( 'registered rollback content _RC_ROLLBACK_DATETIME_ ', RC_TXT_DOMAIN );
$add_message .= '
' . strtr( $rollback_base_str , array( '_RC_ROLLBACK_DATETIME_' => $rollback_date ) );
}
// published
$messages[$post_type][1] .= $add_message;
$messages[$post_type][4] .= $add_message;
$messages[$post_type][6] .= $add_message;
// saved
$messages[$post_type][7] .= $add_message;
// submited
$messages[$post_type][8] .= $add_message;
// scheduled
$messages[$post_type][9] .= $add_message;
return $messages;
}
}