<h2>Comments</h2> <p> <?php global $comments; ?> <?php $comments = get_comments_from_user($curauth->ID); ?> <?php if (count($comments)) { ?> <?php foreach ($comments as $comment) { ?> <?php wp_list_comments(array('type' => 'comment', 'callback' => get_digressit_comments_function())); ?> <?php } ?> <?php } else { ?> No comments. <?php } ?> </p> </div>
/** * This handles submission of comment form. */ function add_comment_ajax($request_params) { global $wpdb, $current_user, $blog_id; if (function_exists('switch_to_blog')) { if ($request_params['blog_id']) { switch_to_blog($request_params['blog_id']); } } $time = current_time('mysql'); $time_gmt = current_time('mysql', 1); $display_name = isset($current_user->display_name) ? $current_user->display_name : $request_params['display_name']; $user_email = isset($request_params['user_email']) ? $request_params['user_email'] : $current_user->user_email; $user_ID = isset($current_user->ID) ? $current_user->ID : ''; $comment_moderation = get_option('comment_moderation'); $data = array('comment_post_ID' => $request_params['comment_post_ID'], 'comment_author' => $display_name, 'comment_author_email' => $user_email, 'comment_content' => $request_params['comment'], 'comment_parent' => $request_params['comment_parent'], 'user_id' => $user_ID, 'comment_author_IP' => $_SERVER['REMOTE_ADDR'], 'comment_agent' => $_SERVER['HTTP_USER_AGENT'], 'comment_date' => $time, 'comment_date_gmt' => $time_gmt, 'comment_approved' => $comment_moderation ? 0 : 1); if (strlen($display_name) < 2) { die(json_encode(array('status' => 0, "message" => 'Please enter a valid name.'))); } if (!is_email($user_email)) { die(json_encode(array('status' => 0, "message" => 'Not a valid email.'))); } if (strlen($request_params['comment']) < 2) { die(json_encode(array('status' => 0, "message" => 'Your comment is too short.'))); } /* @TODO if(digressit_live_spam_check_comment( $data )){ die(json_encode(array('status' => 0, "message" => 'Your comment looks like spam. You might want to try again with out links'))); } */ if ($wpdb->get_var($wpdb->prepare("SELECT COUNT(*) as comment_exists FROM {$wpdb->comments} WHERE comment_author_email = {$user_email} AND {$comment_content} = %s ", $user_email, $request_params['comment'])) > 0) { die(json_encode(array('status' => 0, "message" => 'This comment already exists'))); } $comment_ID = wp_insert_comment($data); $request_params['comment_ID'] = $comment_ID; //@TODO: we are moving away from the extra column, in FUTURE VERSIONS we will just use comment meta $result = $wpdb->query($wpdb->prepare("UPDATE {$wpdb->comments} SET comment_text_signature = %s WHERE comment_ID = %d", $request_params['selected_paragraph_number'], $comment_ID)); add_metadata('post', $request_params['comment_post_ID'], 'comment_text_signature', $request_params['selected_paragraph_number'], true); add_metadata('comment', $comment_ID, 'paragraph', $request_params['selected_paragraph_number'], true); $comment_date = date('m/d/y'); $message['comment_ID'] = $comment_ID; $message['comment_parent'] = $request_params['comment_parent']; $message['comment_date'] = $comment_date; $message['comment_author'] = $display_name; $status = 1; //an extra hook do_action('add_comment_ajax_metadata', $request_params); $commentcount = count(get_approved_comments($request_params['comment_post_ID'])); delete_metadata('post', $request_params['comment_post_ID'], 'comment_count'); add_metadata('post', $request_params['comment_post_ID'], 'comment_count', $commentcount, true); $message['comment_count'] = $commentcount; $message['paragraph_comment_count'] = count(digressit_get_approved_comments_for_paragraph($request_params['comment_post_ID'], $request_params['selected_paragraph_number'])); ob_start(); $data = get_comment($comment_ID); $data->blog_id = $blog_id; $data->ajax_call = $request_params['comment_parent'] ? true : false; $data->comment_text_signature = $request_params['selected_paragraph_number']; call_user_func(get_digressit_comments_function(), $data, null, null); $message['comment_response'] = ob_get_contents(); ob_end_clean(); if (function_exists('switch_to_blog')) { if ($request_params['blog_id']) { restore_current_blog(); } } die(json_encode(array('status' => $status, "message" => $message))); }