File "Template_Edit_post.php"

Full Path: /home/mba/public_html/wp-content-20250807152928/themes/twentytwenty-child-theme/Template_Edit_post.php
File size: 18.12 KB
MIME-type: text/x-php
Charset: utf-8

<?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>