AnsPress_Flag()
Description #
All flag methods.
Source #
File: includes/flag.php
class AnsPress_Flag {
/**
* Ajax callback to process post flag button
*
* @since 2.0.0
*/
public static function action_flag() {
$post_id = (int) ap_sanitize_unslash( 'post_id', 'r' );
if ( ! anspress_verify_nonce( 'flag_' . $post_id ) || ! is_user_logged_in() ) {
ap_ajax_json( 'something_wrong' );
}
$post = ap_get_post( $post_id );
$userid = get_current_user_id();
$is_flagged = ap_is_user_flagged( $post_id );
// Die if already flagged.
if ( $is_flagged ) {
ap_ajax_json(
array(
'success' => false,
'snackbar' => array(
'message' => sprintf(
/* Translators: %s Question or Answer post type label for already reported question or answer. */
__( 'You have already reported this %s.', 'anspress-question-answer' ),
( 'question' === $post->post_type ) ? esc_html__( 'question', 'anspress-question-answer' ) : esc_html__( 'answer', 'anspress-question-answer' )
),
),
)
);
}
ap_add_flag( $post_id );
$count = ap_update_flags_count( $post_id );
ap_ajax_json(
array(
'success' => true,
'action' => array(
'count' => $count,
'active' => true,
),
'snackbar' => array(
'message' => sprintf(
/* Translators: %s Question or Answer post type label for reported question or answer. */
__( 'Thank you for reporting this %s.', 'anspress-question-answer' ),
( 'question' === $post->post_type ) ? esc_html__( 'question', 'anspress-question-answer' ) : esc_html__( 'answer', 'anspress-question-answer' )
),
),
)
);
}
}
Expand full source code Collapse full source code View on GitHub: includes/flag.php:20
Add your comment