To save text of Dialog Box in database table having name “wp_comments”

How we can save text of Dialog Box in database table having name “wp_comments”. WP-DISCUZ plugin have been used to show comments on published Articles.
What we have customized is that when User publish a article, it will sent to Admin for approval. If admin Rejects it with a comment (this comment box will
reflect as dialog box) then the commented text should save in database table “wp_comments”. How can we implement this.

 /* WordPress Function to Insert Comment */

    function wp_insert_comment( $commentdata ) {
        global $wpdb;
        $data = wp_unslash( $commentdata );

        $comment_author       = ! isset( $data['comment_author'] )       ? '' : $data['comment_author'];
        $comment_author_email = ! isset( $data['comment_author_email'] ) ? '' : $data['comment_author_email'];
        $comment_author_url   = ! isset( $data['comment_author_url'] )   ? '' : $data['comment_author_url'];
        $comment_author_IP    = ! isset( $data['comment_author_IP'] )    ? '' : $data['comment_author_IP'];

        $comment_date     = ! isset( $data['comment_date'] )     ? current_time( 'mysql' )            : $data['comment_date'];
        $comment_date_gmt = ! isset( $data['comment_date_gmt'] ) ? get_gmt_from_date( $comment_date ) : $data['comment_date_gmt'];

        $comment_post_ID  = ! isset( $data['comment_post_ID'] )  ? '' : $data['comment_post_ID'];
        $comment_content  = ! isset( $data['comment_content'] )  ? '' : $data['comment_content'];
        $comment_karma    = ! isset( $data['comment_karma'] )    ? 0  : $data['comment_karma'];

        $comment_approved = ! isset( $data['comment_approved'] ) ? 1  : $data['comment_approved'];

        $comment_agent    = ! isset( $data['comment_agent'] )    ? '' : $data['comment_agent'];
        $comment_type     = ! isset( $data['comment_type'] )     ? '' : $data['comment_type'];
        $comment_parent   = ! isset( $data['comment_parent'] )   ? 0  : $data['comment_parent'];

        $user_id  = ! isset( $data['user_id'] ) ? 0 : $data['user_id'];

        $compacted = compact( 'comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_author_IP', 'comment_date', 'comment_date_gmt', 'comment_content', 'comment_karma', 'comment_approved', 'comment_agent', 'comment_type', 'comment_parent', 'user_id' );
        if ( ! $wpdb->insert( $wpdb->comments, $compacted ) ) {
            return false;
        }

        $id = (int) $wpdb->insert_id;

        if ( $comment_approved == 1 ) {
            wp_update_comment_count( $comment_post_ID );
        }
        $comment = get_comment( $id );

        /**
         * Fires immediately after a comment is inserted into the database.
         *
         * @since 2.8.0
         *
         * @param int $id      The comment ID.
         * @param obj $comment Comment object.
         */
        do_action( 'wp_insert_comment', $id, $comment );


        wp_cache_set( 'last_changed', microtime(), 'comment' );

        return $id;
    }


/* The function that will executed on Rejection by Admin */

  $(".reject-post-status").on('click', function () {
        // alert($(this).attr("id"))
        var pid = $(this).attr("id");
        $('#dialog').dialogBox({
            hasClose: false,
            // effect: 'fade',
            width: 800,
            height: 300,
            hasBtn: true,
            confirmValue: 'OK',
            cancelValue: 'Cancel',

            confirm: function () {

                $.ajax({
                    type: "POST",
                    url: 'http://example.com/update-status.php?rejected-pid=' + pid,
                    data: { message: $('#comment').val() },

                    success: function (html) {
                        // alert(html);
                        window.location.href = 'http://example.com/Pending-Approval/';
                    }

                });

            },
            content: '<textarea rows="6" cols="105" id="comment" required></textarea>',
            title: "Add Comment"

        });
        return false;

    });

Related posts