e5eaaf2e |
);
// set update post date
if ( $post_metas->accept_update == "1" ) {
$updates['post_date'] = $post_metas->date;
$updates['post_date_gmt'] = get_gmt_from_date( $post_metas->date );
}
// update post
remove_filter( 'content_save_pre', 'wp_filter_post_kses' );
remove_filter( 'content_filtered_save_pre', 'wp_filter_post_kses' );
add_filter( 'content_save_pre', array( $this, 'rc_content_allow_iframe' ) );
wp_update_post( $updates, true );
remove_filter( 'content_save_pre', array( $this, 'rc_content_allow_iframe' ) );
add_filter( 'content_save_pre', 'wp_filter_post_kses' );
add_filter( 'content_filtered_save_pre', 'wp_filter_post_kses' );
// update feature image
if ( $post_metas->accept_feature_img == "1" && $post_metas->feature_img != "" ) {
$this->update_post_thumbnail( $post_id, $post_metas->feature_img );
}
// delete post metas
$post_meta_keys = $component->get_post_meta_keys();
foreach ( $post_meta_keys as $key => $value ) {
delete_post_meta( $post_id, $value );
}
// clear schedule on wp_cron
wp_clear_scheduled_hook( RC_CRON_HOOK, array( $post_id ) ); |
e5eaaf2e |
}
public function rc_content_allow_iframe( $content ) {
global $allowedposttags;
// iframe and attribute in iframe
$allowedposttags['iframe'] = array(
'class' => array(), 'src' => array(),
'width' => array(), 'height' => array(),
'frameborder' => array(), 'scrolling' => array(),
'marginheight' => array(), 'marginwidth' => array(),
'srcdoc' => array(), 'sandbox' => array(),
'seamless' => array(), 'name' => array(),
);
return $content;
}
private function update_post_thumbnail( $post_id, $reserved_post_thumb_path ) {
include_once(ABSPATH . 'wp-admin/includes/image.php');
$upload_dir = wp_upload_dir();
$image_data = file_get_contents( $reserved_post_thumb_path );
$file_name = basename( $reserved_post_thumb_path );
if( wp_mkdir_p( $upload_dir['path'] ) ) {
$file = $upload_dir['path'] . '/' . $file_name;
} else {
$file = $upload_dir['basedir'] . '/' . $file_name;
}
file_put_contents( $file, $image_data );
$wp_file_type = wp_check_filetype( $file_name, null );
$attachment = array(
'post_mime_type' => $wp_file_type['type'],
'post_title' => sanitize_file_name( $file_name ),
'post_content' => '',
'post_status' => 'inherit',
);
delete_post_thumbnail( $post_id );
$attachment_id = wp_insert_attachment( $attachment, $file, $post_id );
$attach_data = wp_generate_attachment_metadata( $attachment_id, $file );
if( !empty( $attach_data ) && !is_wp_error( $attach_data ) ){
$res = wp_update_attachment_metadata( $attachment_id, $attach_data );
set_post_thumbnail( $post_id, $attachment_id );
return $res;
}
} |
04c7021c |
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;
}
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 ) );
} |