Comment_Modal()
Description #
The comment_modal
ajax callback.
Source #
File: ajax/comment-modal.php
class Comment_Modal extends \AnsPress\Classes\Ajax { /** * Instance of this class. * * @var null|Comment_Modal */ protected static $instance; /** * The class constructor. * * Set requests and nonce key. */ protected function __construct() { $comment_id = ap_sanitize_unslash( 'comment_id', 'r' ); if ( empty( $comment_id ) ) { $this->req( 'post_id', ap_sanitize_unslash( 'post_id', 'r' ) ); $this->nonce_key = 'new_comment_' . $this->req( 'post_id' ); } else { $this->req( 'comment_id', $comment_id ); $this->nonce_key = 'edit_comment_' . $comment_id; } // Call parent. parent::__construct(); } /** * Verify user permission. * * @return void */ protected function verify_permission() { $comment_id = $this->req( 'comment_id' ); $post_id = $this->req( 'post_id' ); if ( ( ! empty( $comment_id ) && ! ap_user_can_edit_comment( $comment_id ) ) || ( ! empty( $post_id ) && ! ap_user_can_comment( $post_id ) ) ) { parent::verify_permission(); } // Get comment object. if ( ! empty( $comment_id ) ) { $_comment = get_comment( $comment_id ); $this->req( 'post_id', $_comment->comment_post_ID ); } } /** * Handle ajax for logged in users. * * @return void */ public function logged_in() { ob_start(); ap_comment_form( $this->req( 'post_id' ), $this->req( 'comment_id' ) ); $html = ob_get_clean(); $this->set_success(); $title = $this->req( 'comment_id' ) ? __( 'Edit comment', 'anspress-question-answer' ) : __( 'Add a comment', 'anspress-question-answer' ); $this->add_res( 'modal', array( 'name' => 'comment', 'title' => $title, 'content' => $html, ) ); } }
Expand full source code Collapse full source code View on GitHub: ajax/comment-modal.php:26
Add your comment