AnsPress_Ajax::subscribe_to_question()
Description #
Subscribe user to a question.
Source #
File: includes/ajax-hooks.php
public static function subscribe_to_question() { $post_id = (int) ap_sanitize_unslash( 'id', 'r' ); if ( ! is_user_logged_in() ) { ap_ajax_json( array( 'success' => false, 'snackbar' => array( 'message' => __( 'You must be logged in to subscribe to a question', 'anspress-question-answer' ) ), ) ); } $_post = ap_get_post( $post_id ); if ( 'question' === $_post->post_type && ! anspress_verify_nonce( 'subscribe_' . $post_id ) ) { ap_ajax_json( array( 'success' => false, 'snackbar' => array( 'message' => __( 'Sorry, unable to subscribe', 'anspress-question-answer' ) ), ) ); } // Check if already subscribed, toggle if subscribed. $exists = ap_get_subscriber( false, 'question', $post_id ); if ( $exists ) { ap_delete_subscriber( $post_id, get_current_user_id(), 'question' ); ap_ajax_json( array( 'success' => true, 'snackbar' => array( 'message' => sprintf( /* Translators: %s Unsubscribed to the question title */ __( 'Successfully unsubscribed from question: %s', 'anspress-question-answer' ), $_post->post_title ), ), 'count' => ap_get_post_field( 'subscribers', $post_id ), 'label' => __( 'Subscribe', 'anspress-question-answer' ), ) ); } // Insert subscriber. $insert = ap_new_subscriber( false, 'question', $post_id ); if ( false === $insert ) { ap_ajax_json( array( 'success' => false, 'snackbar' => array( 'message' => __( 'Sorry, unable to subscribe', 'anspress-question-answer' ) ), ) ); } ap_ajax_json( array( 'success' => true, 'snackbar' => array( 'message' => sprintf( /* Translators: %s Subscribed to the question title */ __( 'Successfully subscribed to question: %s', 'anspress-question-answer' ), $_post->post_title ), ), 'count' => ap_get_post_field( 'subscribers', $post_id ), 'label' => __( 'Unsubscribe', 'anspress-question-answer' ), ) ); }
Expand full source code Collapse full source code View on GitHub: includes/ajax-hooks.php:514
Add your comment