function et_comment_rated() { global $wpdb, $table_prefix, $user_ID; if (is_single() && (isset($_GET['et_comment_like']) || isset($_GET['et_comment_dislike']))) { $comment_ips = array(); $comment_id = isset($_GET['et_comment_like']) ? $_GET['et_comment_like'] : $_GET['et_comment_dislike']; if (!et_user_can_rate_comment($comment_id)) { return; } $table_name = $table_prefix . "etcomment_rating"; $results = $wpdb->get_row($wpdb->prepare("SELECT et_author_ips, et_rating_up, et_rating_down, et_user_ids FROM {$table_name} WHERE et_comment_id = %d", $comment_id), ARRAY_A); $comment_ips = empty($results['et_author_ips']) ? array() : maybe_unserialize($results['et_author_ips']); if ($user_ID == 0) { $comment_ips = array_merge($comment_ips, et_get_comment_author_ip()); } $results['et_author_ips'] = maybe_serialize($comment_ips); $results['et_user_ids'] = empty($results['et_user_ids']) ? array() : maybe_unserialize($results['et_user_ids']); if ($user_ID != 0) { $results['et_user_ids'][] = $user_ID; } $results['et_user_ids'] = maybe_serialize($results['et_user_ids']); if (isset($_GET['et_comment_like'])) { $wpdb->query($wpdb->prepare("UPDATE {$table_name} SET et_rating_up = %d, et_author_ips = %s, et_user_ids = %s WHERE et_comment_id = %d", $results['et_rating_up'] + 1, $results['et_author_ips'], $results['et_user_ids'], $comment_id)); } else { $wpdb->query($wpdb->prepare("UPDATE {$table_name} SET et_rating_down = %d, et_author_ips = %s, et_user_ids = %s WHERE et_comment_id = %d", $results['et_rating_down'] + 1, $results['et_author_ips'], $results['et_user_ids'], $comment_id)); } } }
function et_custom_comments_display($comment, $args, $depth) { $GLOBALS['comment'] = $comment; ?> <li <?php comment_class(); ?> id="li-comment-<?php comment_ID(); ?> "> <?php $et_right_answer = false; ?> <?php if (in_array('et_right_answer', get_comment_class())) { ?> <?php $et_right_answer = true; ?> <?php } ?> <?php if ($et_right_answer) { ?> <p id="right_answer_set"><?php esc_html_e('This solution has been deemed correct by the post author', 'AskIt'); ?> </p> <div class="clear"></div> <?php } ?> <div id="comment-<?php comment_ID(); ?> " class="comment-body clearfix"> <div class="avatar-box"> <div class="avatar"> <?php echo get_avatar($comment, $size = '53'); ?> <div class="overlay"></div> <?php if ($comment->user_id != 0) { $author_comments_num = (int) et_get_author_comments_num($comment->comment_ID, $comment->user_id); ?> <span class="author_comments_num<?php if ($author_comments_num == 0) { echo ' no_comments'; } ?> "><?php echo esc_html($author_comments_num); ?> </span> <?php } ?> </div> <?php if ($comment->user_id != 0) { ?> <?php $stars_on = 1; $stars_rating_options = apply_filters('et_rating_options', array(1, 5, 10, 20)); $author_comments_num = (int) et_get_rightcomments_num($comment->user_id); switch ($author_comments_num) { case $author_comments_num > $stars_rating_options[0] && $author_comments_num <= $stars_rating_options[1]: $stars_on = 1; break; case $author_comments_num > $stars_rating_options[1] && $author_comments_num <= $stars_rating_options[2]: $stars_on = 2; break; case $author_comments_num > $stars_rating_options[2] && $author_comments_num <= $stars_rating_options[3]: $stars_on = 3; break; case $author_comments_num > $stars_rating_options[3]: $stars_on = 4; break; } ?> <div class="author-rating"> <?php for ($i = 1; $i <= $stars_on; $i++) { ?> <img src="<?php echo get_template_directory_uri(); ?> /images/star-on.png" alt="" class="star" /> <?php } ?> <?php for ($i = 1; $i <= 4 - $stars_on; $i++) { ?> <img src="<?php echo get_template_directory_uri(); ?> /images/star-off.png" alt="" class="star" /> <?php } ?> </div> <!-- end .author-rating --> <?php } ?> <span class="comment-date"><?php comment_date(get_option('askit_comment_date_format')); ?> </span> <div class="comment_join"></div> </div> <div class="comment-wrap"> <div class="comment-wrap-inner clearfix"> <div class="comment-author vcard"> <?php printf('<span class="fn">%s</span>', get_comment_author_link()); ?> <?php esc_html_e('says: ', 'AskIt'); ?> <?php edit_comment_link(esc_html__('(Edit)', 'AskIt'), ' ', ''); ?> </span> </div> <?php if ($comment->comment_approved == '0') { ?> <em class="moderation"><?php esc_html_e('Your comment is awaiting moderation.', 'AskIt'); ?> </em> <br /> <?php } ?> <div class="comment-content"><?php comment_text(); ?> </div> <!-- end comment-content--> <?php $et_comment_reply_link = get_comment_reply_link(array_merge($args, array('reply_text' => esc_attr__('Reply', 'AskIt'), 'depth' => $depth, 'max_depth' => $args['max_depth']))); if ($et_comment_reply_link) { echo '<div class="reply-container">' . $et_comment_reply_link . '</div>'; } ?> </div> <!-- end comment-wrap-inner --> <?php $rating = et_get_comment_rating($comment->comment_ID); ?> <div class="comment_rating<?php if ($rating < 0) { echo ' rating-negative'; } if ($rating > 0) { echo ' rating-positive'; } ?> "><?php echo $rating; ?> <?php if (et_user_can_rate_comment($comment->comment_ID)) { $et_like_dislike = '<div class="et_like_dislike_box">'; $et_like_dislike .= '<p>' . esc_html__('Was this answer helpful?', 'AskIt') . '</p>'; $et_like_dislike .= '<a href="' . esc_url(add_query_arg('et_comment_like', $comment->comment_ID, get_permalink())) . '" class="et_like_button">Like</a>'; $et_like_dislike .= '<a href="' . esc_url(add_query_arg('et_comment_dislike', $comment->comment_ID, get_permalink())) . '" class="et_dislike_button">Dislike</a>'; $et_like_dislike .= '</div> <!-- .et_like_dislike_box -->'; echo $et_like_dislike; } ?> </div> </div> <!-- end comment-wrap--> </div> <!-- end comment-body--> <?php }