<?php
/* Template Name: Edit Post Creator */
get_header();
?>
<?php
if ( !is_user_logged_in() ) {
$url= get_site_url().'/login/';
echo "<script> window.location.href ='".$url."';</script>";
}
require_once( ABSPATH . 'wp-admin/includes/image.php' );
require_once( ABSPATH . 'wp-admin/includes/file.php' );
require_once( ABSPATH . 'wp-admin/includes/media.php' );
$current_users = wp_get_current_user();
$user_login = $current_users->user_login;
$user_email = $current_users->user_email;
$user_id =$current_users->ID;
$messageserr ="";
if(isset($_POST['CreatorSavePost'])){
$FormEditPostId= $_POST['EditPostId'];
$title = $_POST['title'];
$tags = $_POST['tags_list'];
$description = $_POST['description'];
$cateId = $_POST['cat'];
$yoastSeoFocus = $_POST['creator_seo_focus'];
$yoastSeoDescription = $_POST['creator_seo_description'];
if(empty($title) || empty($tags) || empty($description) || empty($_POST['creator_seo_focus']) || empty($_POST['creator_seo_description']) ){
$messageserr = "All Fields Are mandatory";
}
else{
$insertpdata = array(
'ID' => $FormEditPostId,
'post_title' => $title,
'post_content' => $description,
'post_status' => 'pending',
'post_type' => 'post',
'post_author' => $user_id,
'comment_status' => 'open', // if you prefer
);
$postdata = wp_update_post( $insertpdata);
if($postdata){
update_post_meta($postdata, '_yoast_wpseo_focuskw', $yoastSeoFocus);
update_post_meta($postdata, '_yoast_wpseo_metadesc', $yoastSeoDescription);
/*
update_post_meta($postdata, 'rank_math_focus_keyword', $yoastSeoFocus);
update_post_meta($postdata, 'rank_math_description', $yoastSeoDescription);*/
$curtags = wp_get_post_tags($postdata, 'post_tag');
foreach($curtags as $curtag) {
// unset($curtags[$id]);
wp_remove_object_terms( $postdata, (int)$curtag->term_id, 'post_tag',true );
}
foreach($tags as $term){
if(term_exists($term,"post_tag")){
$getterm = get_term_by("name",$term,"post_tag");
$termId = $getterm->term_id;
}else{
$insert_term = wp_insert_term( $term,"post_tag");
$termId = $insert_term['term_id'];
}
//wp_remove_object_terms( $postdata, (int)$termId, 'post_tag',true );
wp_set_object_terms( $postdata, (int)$termId, 'post_tag',true );
}
wp_set_object_terms( $postdata, (int)$cateId, 'category' );
$redUrl = home_url('creator/edit-post/?postid='.$FormEditPostId.'&postupdated=succussfully');
echo "<script> window.location.href ='".$redUrl."';</script>";
wp_redirect();
}
}
}
if(isset($_POST['CreatorFeaturedPost'])){
$FormEditImgId= $_POST['Edit_Featured_Post_Id'];
$attach_id = media_handle_upload('image', $FormEditImgId);
set_post_thumbnail( $FormEditImgId,$attach_id);
$redUrl = home_url('creator/edit-post/?postid='.$FormEditImgId.'&mediaupload=succussfully');
echo "<script> window.location.href ='".$redUrl."';</script>";
wp_redirect();
}
?>
<?php
if(isset($_GET['postid'])) {
$editPostID= $_GET['postid'];
$post_author_idred = get_post_field( 'post_author', $editPostID );
if(trim($post_author_idred) !== trim($user_id)){
$urltootheruser = get_site_url().'/creator/';
echo "<script> window.location.href ='".$urltootheruser."';</script>";
}
?>
<div class="dashboard-heading">
<h1 class="text-center">Edit Post</h1>
<div class="snow-blanket"></div>
</div>
<div class="container">
<div class="creator_newpost_section">
<div class="col-md-12 creator_newpost_content_area">
<div class="col-md-12 px-0">
<?php if(isset($_GET['postupdated']) && $_GET['postupdated']=="succussfully"){
echo "<div class='success-outer'><div class='success-inner'>Your post updated successfully.</div></div>";
} ?>
<div class="error-msg-save" <?php if(!empty($messageserr)){ ?> style="display:block" <?php } ?>><?php if(!empty($messageserr)){ echo $messageserr; } ?></div>
<div class="back_btn_creator"><a href="<?php echo site_url(); ?>/creator/" class="back_to_page aps_btn_primary">
<i class="fa fa-long-arrow-left pr-1"></i> Back</a></div>
</div><!--.col-md-12 end-->
<div class="row">
<div class="col-md-8">
<div class="creator_newpost_content">
<form method="post" id="creatorFormData" enctype="multipart/form-data" class="row creator_newpost_form" >
<div class="col-md-12 form-group creator_form_style">
<label>Title</label>
<input type="text" name="title" class="CreatorPostTitle" maxlength="60" value="<?php echo get_the_title($editPostID); ?>">
</div>
<div class="col-md-12 form-group creator_form_style">
<label>Tag</label>
<?php
$postTagscus = get_the_tags($editPostID);
$tags = [];
if(!empty($postTagscus)){
foreach($postTagscus as $postTags){
if(!in_array($postTags->name,$tags)){
array_push($tags,$postTags->name);
}
}
}
$implodetags = implode(',',$tags);
?>
<input type="text" name="tags" class="CreatorPostTags" value="<?php echo $implodetags; ?>">
</div>
<div class="col-md-12 form-group creator_form_style">
<label>Category</label>
<?php
$catsARR = get_the_category($editPostID);
wp_dropdown_categories( 'taxonomy=category&class=creator_post_category&exclude=1&hide_empty=0&orderby=name&order=ASC&show_option_none=Select category&selected='.$catsARR[0]->term_id.'' ); ?>
</div>
<div class="col-md-12 form-group creator_form_style">
<?php
$settings = array(
'wpautop' => true,
'media_buttons' => true,
'textarea_name' =>"description",
'textarea_rows' => get_option('default_post_edit_rows', 10), // rows="..."
'tabindex' => '',
'editor_css' => '',
'editor_class' => '',
'teeny' => false,
'dfw' => false,
'tinymce' => true,
'quicktags' => true,
);
$postContent = get_post_field( 'post_content', $editPostID );
wp_enqueue_script('media-upload');
wp_enqueue_script('thickbox');
wp_enqueue_style('thickbox');
wp_editor( $postContent, 'description',$settings );
?>
<div id="wordcount"></div>
</div>
<div class="col-md-12 form-group creator_form_style">
<label>Seo Focus keyphrase</label>
<input type="text" name="creator_seo_focus" class="CreateSeoFocus" value="<?php echo get_post_meta( $editPostID, '_yoast_wpseo_focuskw', true ); ?>">
</div>
<div class="col-md-12 form-group creator_form_style">
<label>Seo Meta description</label>
<textarea minlength=130 maxlength="160" name="creator_seo_description" class="CreateSeoDescription" id="theTextArea" placeholder="Between 130 and 160 characters are allowed" rows="9" required> <?php echo get_post_meta( $editPostID, '_yoast_wpseo_metadesc', true ); ?></textarea>
<!--<div id="textarea_feedback"></div> -->
<div class="progress">
<div class="progress-bar famad-counter" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%">
<span class="famad-counter-text"></span>
</div>
</div>
</div>
<div class="col-md-12 form-group creator_submit_form creator_form_style">
<input type="hidden" name="CreatorSavePost" value="Save" >
<input type="hidden" name="EditPostId" value="<?php echo $editPostID; ?>" >
<input type="button" name="CreatorSavePost" value="Submit for Review" class="CreatorSavePost CreatorSubmitPost">
</div>
</form>
</div>
</div><!--.col-md-8 End -->
<div class="col-md-4">
<div class="featured_image_section">
<?php $image= get_the_post_thumbnail($editPostID,'medium');
if ($image) { ?>
<div class="edit_featured_form_img"><?php echo $image; ?></div>
<?php } else{ ?>
<div class="edit_featured_form_img"><p class="no_thumb_select">No Thumbnail Selected</p></div>
<?php } ?>
<form method="post" id="creatorImageData" enctype="multipart/form-data" class="row creator_editpost_form" >
<div class="col-md-12 form-group creator_form_style">
<label>Featured Image</label>
<input type="file" id="featured-image" accept="image/*" name="image" class="CreatorPostimage">
<div class="form-group creator_edit_imgform creator_form_style">
<input type="hidden" name="CreatorFeaturedPost" value="Upload Image" >
<input type="hidden" id="edit_hidden_img" name="Edit_Featured_Post_Id" value="<?php echo $editPostID; ?>" >
<input type="button" name="CreatorFeaturedPost" value="Upload Image" class="CreatorFeaturedPost FeaturedSubmitPost">
</div>
</div>
</form>
</div>
</div>
</div><!--.col-md-4 End -->
</div><!--.creator_newpost_content_area end-->
</div> <!--.creator_newpost_section end-->
</div><!--.container end -->
<?php } ?>
<?php
get_footer();
?>
<script src="<?php echo get_stylesheet_directory_uri(); ?>/js/word-count.js"></script>
<script src="<?php echo get_stylesheet_directory_uri(); ?>/js/jQuery.tagify.min.js"></script>
<script src="<?php echo get_stylesheet_directory_uri(); ?>/js/tagify.js"></script>
<link href="<?php echo get_stylesheet_directory_uri(); ?>/css/tagify.css" rel="stylesheet">
<script>
(function(){
var input = document.querySelector('input[name=tags]'),
tagify = new Tagify(input, {
pattern : /^.{1,25}$/,
maxTags:6
});
tagify.on('add', onAddTag)
.on('remove', onRemoveTag)
.on('input', onInput)
.on('invalid', onInvalidTag);
function onAddTag(e){
console.log(e, e.detail);
console.log( tagify.DOM.originalInput.value )
tagify.off('add', onAddTag)
}
function onRemoveTag(e){
console.log(e, e.detail);
}
function onInput(e){
console.log(e, e.detail);
}
function onInvalidTag(e){
console.log(e, e.detail);
}
})()
</script>
<script type="text/javascript">
jQuery(document).ready(function() {
var text_max = 160;
$('.famad-counter-text').html(text_max + ' remaining');
$('#theTextArea').keyup(function() {
var text_length = $('#theTextArea').val().length;
var text_remaining = text_max - text_length;
var text_percent = parseInt((text_remaining * 100) / text_max);
var percent = 100 - text_percent;
$('.famad-counter').removeClass('progress-bar-success').removeClass('progress-bar-warning');
if(percent >= 0 && percent < 82){
$('.famad-counter').addClass('progress-bar-warning')
}
if(percent >= 82 && percent < 100){
$('.famad-counter').addClass('progress-bar-success')
}
if(percent == 100){
$('.famad-counter').addClass('progress-bar-warning')
}
$('.famad-counter').attr("aria-valuenow","10").css("width",percent+"%");
$('.famad-counter-text').html(text_remaining + ' remaining');
});
// var text_max = 220;
// $('#textarea_feedback').html(text_max + ' characters remaining');
// $('#theTextArea').keyup(function() {
// var text_length = $('#theTextArea').val().length;
// var text_remaining = text_max - text_length;
// $('#textarea_feedback').html(text_remaining + ' characters remaining');
// });
});
</script>
<script>
$ = jQuery;
function updateCount(){
prevCount = 0;
var Description = tinyMCE.get('description').getContent();
var counter = new window.wp.utils.WordCounter();
var str = document.getElementById('description').value
var text, count;
if ( ! tinyMCE.get('description') || tinyMCE.get('description').isHidden() ) {
text = str;
} else {
text = tinyMCE.get('description').getContent( { format: 'raw' } );
}
count = counter.count( text );
prevCount = count;
return prevCount;
}
// $( document ).on( 'tinymce-editor-init', function( event, editor ) {
// prevCount =0;
// editor.on( 'nodechange keyup', function(){
// var text, count;
// var counter = new window.wp.utils.WordCounter();
// text = tinyMCE.get('description').getContent( { format: 'raw' } );
// count = counter.count( text);
// if ( count !== prevCount ) {
// $("#wordcount").text("Words Count: " + count );
// }
// prevCount = count;
// });
// $("#description").on( 'input keyup', function(){
// var text, count;
// var counter = new window.wp.utils.WordCounter();
// text = document.getElementById('description').value
// count = counter.count( text );
// if ( count !== prevCount ) {
// $("#wordcount").text("Words Count: " + count );
// }
// prevCount = count;
// });
// });
i=0;
$(document).ready(function(){
// visual mode
// the iframe id
$("#description_ifr").ready(function () {
setInterval(function(){
var tinymceval = $('#description_ifr').contents().find('body').text();
var wordscount = tinymceval.split(" ");
// you should crete a div with the
// the id = #wordcount to show count
$("#wordcount").text("Words Count: " + wordscount.length);
}, 2000)
});
// html mode
// #description is the id of the text area
$("#description").keypress(function(){
$("#wordcount").text(i+=1);
});
});
jQuery(document).ready(function(){
jQuery(".CreatorSubmitPost").on("click",function(){
$(".success-outer").hide();
error = "";
var PostTitle = $(".CreatorPostTitle").val();
var PostTags = $(".tagList").val();
var categoryDropdown = $("#cat").val();
//var Description = tinyMCE.get('description').getContent();
var Description = tinyMCE.get('description').getContent();
var DescriptionLength = updateCount()
var PostSeoFocus = $(".CreateSeoFocus").val();
var PostSeoDescription = $("#theTextArea").val();
if(PostTitle ===""){
error = "Title is Required";
}
else if(PostTitle.length > 80){
error = "Title length should be less then 80 character";
}
else if(PostTags == null){
error = "Tag field is Required";
}
else if( categoryDropdown === '-1'){
error = "Please Select Category";
}
else if(DescriptionLength < 800){
error = "Editor Content should be more then 800 words";
}
else if(PostSeoFocus ===""){
error = "Seo Focus keyphrase is Required";
}
else if(PostSeoDescription == ""){
error = "Seo Meta description is Required";
}
else if(PostSeoDescription.length < 130){
error = "Seo Meta Description Length should be more then 130 ";
}
else if(PostSeoDescription.length > 220){
error = "Seo Meta Description Length should be less then 220 ";
}
if(error !==""){
$('html,body').animate({
scrollTop: $("body").offset().top},
'slow');
$(".error-msg-save").show();
$(".error-msg-save").text(error);
}else{
$("#creatorFormData").submit();
$(".error-msg-save").hide();
$(".error-msg-save").text("");
}
});
//Edit Image Form Validation
jQuery(".FeaturedSubmitPost").on("click",function(){
$(".success-outer").hide();
error = "";
var Postimage = $(".CreatorPostimage").val();
if(Postimage === ""){
error = "Select Featured Image";
}
if(error !==""){
$('html,body').animate({
scrollTop: $("body").offset().top},
'slow');
$(".error-msg-save").show();
$(".error-msg-save").text(error);
}else{
$("#creatorImageData").submit();
$(".error-msg-save").hide();
$(".error-msg-save").text("");
}
});
});
</script>
<style>
.error-msg-save{
width: 100%;
float: left;
background: red;
color: #fff;
padding: 16px;
display: none;
}
.success-outer {
background: #63b900;
padding: 10px;
color: #fff;
margin-bottom: 10px;
}
.progress {
position: relative;
margin: 7px 0;
height: 17px;
border-radius: 45px;
}
.progress span {
position: absolute;
display: block;
width: 100%;
font-size: 12px;
color: black;
}
.wp-switch-editor{
height:auto;
color: #fff;
}
button#insert-media-button {
color: #fff;
}
.CreatorFeaturedPost {
color: #fff;
}
</style>