/**
 * Review manager update rating for a post.
 *
 * @since 1.0.0
 * @package GeoDirectory_Review_Rating_Manager
 *
 * @param int $post_id The post ID.
 * @param array $ratings The rating information.
 * @param float $overall overall rating.
 */
function geodir_reviewrating_update_postrating($post_id = 0, $ratings, $overall)
{
    geodir_reviewrating_update_postrating_all($post_id);
    return;
    // DISABLED FOR NOW, WE WILL JUST CALL AN OVERAL UPDATE FUNCTION ON COMMENT SAVE. geodir_reviewrating_update_postrating_all
    global $wpdb, $plugin_prefix;
    $post = get_post($post_id);
    $post_ratings = array();
    $post_ratings = geodir_reviewrating_get_post_rating($post_id);
    //print_r($post_ratings);exit;
    $old_ratings = $post_ratings;
    $new_ratings = array();
    //print_r($ratings);exit;
    if (!empty($ratings)) {
        $r_count = count($ratings);
        foreach ($ratings as $rating_id => $rating_value) {
            $rating_info = geodir_reviewrating_rating_categories($rating_id);
            if (!empty($post_ratings) && array_key_exists($rating_id, $old_ratings)) {
                $new_rating_value = (double) $old_ratings[$rating_id]['r'] + (double) $rating_value;
                $new_ratings[$rating_id]['c'] = $new_rating_value;
                $new_ratings[$rating_id]['r'] = (double) $old_ratings[$rating_id]['c'] + 1;
            } else {
                $new_ratings[$rating_id]['c'] = (double) $r_count;
                $new_ratings[$rating_id]['r'] = (double) $rating_value;
            }
        }
    }
    //update rating
    geodir_update_postrating($post_id, $post->post_type);
}
/**
 * Adds rating box to admin comment edit page.
 *
 * @since 1.0.0
 * @package GeoDirectory_Review_Rating_Manager
 *
 * @global object $wpdb WordPress Database object.
 *
 * @param object $comment Comment object.
 * @return bool
 */
function geodir_reviewrating_comment_rating_box($comment)
{
    if ($overall_star = get_option('geodir_reviewrating_overall_count')) {
        $post_type = get_post_type($comment->comment_post_ID);
        $all_postypes = geodir_get_posttypes();
        if (!in_array($post_type, $all_postypes)) {
            return false;
        }
        $overall_star_lable = get_option('geodir_reviewrating_overall_rating_texts');
        $star_color = get_option('geodir_reviewrating_overall_color');
        $overall_star_offimg = get_option('geodir_reviewrating_overall_off_img');
        $star_width = get_option('geodir_reviewrating_overall_off_img_width');
        global $comment, $wpdb, $is_geodir_loop;
        $comment_ratings = geodir_reviewrating_get_comment_rating_by_id($comment->comment_ID);
        if (!empty($comment_ratings)) {
            ?>
		<div id="gd_ratings_module">
				<div id="rating_frm" style="margin-top:15px;">
					<lable for="rating"><?php 
            _e('You can rate the area', GEODIRREVIEWRATING_TEXTDOMAIN);
            ?>
</lable>
					<div class="gd-rating-box-in clearfix">
						 <div class="gd-rating-box-in-left">
								 <div class="gd-rate-area clearfix">
										<span class="gd-ratehead"><?php 
            _e('Rate this area:', GEODIRREVIEWRATING_TEXTDOMAIN);
            ?>
</span>
											<ul class="rate-area-list">
											<?php 
            for ($star = 1; $star <= $overall_star; $star++) {
                if ($comment_ratings->overall_rating && $star <= (int) $comment_ratings->overall_rating) {
                    $active = 'active';
                } else {
                    $active = '';
                }
                $overall_star_text = isset($overall_star_lable[$star - 1]) ? esc_attr($overall_star_lable[$star - 1]) : '';
                $overall_star_text = stripslashes_deep(__($overall_star_text, GEODIRECTORY_TEXTDOMAIN));
                ?>
													<li star_rating="<?php 
                echo $star;
                ?>
" star_lable="<?php 
                echo $overall_star_text;
                ?>
"  class="gd-multirating-star <?php 
                echo $active;
                ?>
"><a><img src="<?php 
                echo $overall_star_offimg;
                ?>
" style="width:<?php 
                echo $star_width;
                ?>
px" alt="<?php 
                esc_attr_e('rating icon', GEODIRREVIEWRATING_TEXTDOMAIN);
                ?>
" /></a></li>
											<?php 
            }
            ?>
											</ul>
                                          <?php 
            $overall_star_text = isset($overall_star_lable[$comment_ratings->overall_rating - 1]) ? esc_attr($overall_star_lable[$comment_ratings->overall_rating - 1]) : '';
            $overall_star_text = stripslashes_deep(__($overall_star_text, GEODIRECTORY_TEXTDOMAIN));
            ?>
 
                                        <style>#rating_frm ul.rate-area-list li.active{background-color:<?php 
            echo $star_color;
            ?>
}</style>
											<span class="gd-rank"><?php 
            echo $comment_ratings->overall_rating ? $overall_star_text : '&nbsp;';
            ?>
</span>
											<input type="hidden" name="geodir_rating[overall]" value="<?php 
            echo $comment_ratings->overall_rating ? $comment_ratings->overall_rating : '0';
            ?>
"  />
								</div> 
					<?php 
            $post_type = get_post_type($comment->comment_post_ID);
            $post_categories = wp_get_post_terms($comment->comment_post_ID, $post_type . 'category', array('fields' => 'ids'));
            $ratings = geodir_reviewrating_rating_categories();
            $old_ratings = @unserialize($comment_ratings->ratings);
            if ($ratings) {
                ?>
					<div class="gd-rate-category clearfix">
									<span class="gd-ratehead"><?php 
                _e('Rate this area:', GEODIRREVIEWRATING_TEXTDOMAIN);
                ?>
</span>
									<div><?php 
                foreach ($ratings as $rating) {
                    //$star_lable = explode(",",$rating->star_lables);
                    $star_lable = geodir_reviewrating_star_lables_to_arr($rating->star_lables, true);
                    $rating->title = isset($rating->title) && $rating->title != '' ? __($rating->title, GEODIRECTORY_TEXTDOMAIN) : '';
                    $rating_cat = explode(",", $rating->category);
                    $showing_cat = array_intersect($rating_cat, $post_categories);
                    if (!empty($showing_cat)) {
                        if ($rating->check_text_rating_cond) {
                            ?>
															<div class="clearfix gd-rate-cat-in">
																	<span class="lable"><?php 
                            echo $rating->title;
                            ?>
</span>
																	<ul class="rate-area-list rating-<?php 
                            echo $rating->id;
                            ?>
">
																	<?php 
                            for ($star = 1; $star <= $rating->star_number; $star++) {
                                if ($old_ratings[$rating->id] && $star <= (int) $old_ratings[$rating->id]) {
                                    $active = 'active';
                                } else {
                                    $active = '';
                                }
                                $star_lable_text = isset($star_lable[$star - 1]) ? esc_attr($star_lable[$star - 1]) : '';
                                $star_lable_text = stripslashes_deep($star_lable_text);
                                ?>
																		<li star_rating="<?php 
                                echo $star;
                                ?>
" star_lable="<?php 
                                echo $star_lable_text;
                                ?>
"  class="gd-multirating-star <?php 
                                echo $active;
                                ?>
"><a><img src="<?php 
                                echo $rating->s_img_off;
                                ?>
" style="width:<?php 
                                echo $rating->s_img_width;
                                ?>
px" alt="<?php 
                                esc_attr_e('rating icon', GEODIRREVIEWRATING_TEXTDOMAIN);
                                ?>
" /></a></li>
																	<?php 
                            }
                            ?>
																	</ul>
																	<?php 
                            $star_lable_text = isset($star_lable[$old_ratings[$rating->id] - 1]) ? esc_attr($star_lable[$old_ratings[$rating->id] - 1]) : '';
                            $star_lable_text = stripslashes_deep($star_lable_text);
                            ?>
                                          <style>#rating_frm ul.rating-<?php 
                            echo $rating->id;
                            ?>
 li.active{background-color:<?php 
                            echo $rating->star_color;
                            ?>
}</style>

																	<span class="gd-rank"><?php 
                            echo $old_ratings[$rating->id] ? $star_lable_text : '&nbsp;';
                            ?>
</span>
																	<input type="hidden" name="geodir_rating[<?php 
                            echo $rating->id;
                            ?>
]" value="<?php 
                            echo $old_ratings[$rating->id] ? $old_ratings[$rating->id] : '0';
                            ?>
"  />
															</div>
						<?php 
                        } else {
                            ?>
							<div class="clearfix gd-rate-cat-in">
									<span class="lable"><?php 
                            _e($rating->title, GEODIRREVIEWRATING_TEXTDOMAIN);
                            ?>
</span>
									<select name="geodir_rating[<?php 
                            echo $rating->id;
                            ?>
]" > 
										<?php 
                            for ($star = 1; $star <= $rating->star_number; $star++) {
                                $star_lable_text = isset($star_lable[$star - 1]) ? esc_attr($star_lable[$star - 1]) : '';
                                $star_lable_text = stripslashes_deep($star_lable_text);
                                ?>
										<option value="<?php 
                                echo $star;
                                ?>
" <?php 
                                if ($old_ratings[$rating->id]) {
                                    echo 'selected="selected"';
                                }
                                ?>
  ><?php 
                                echo $star_lable_text;
                                ?>
</option>	
									<?php 
                            }
                            ?>
									</select>
							</div>
						<?php 
                        }
                    }
                    // endif
                }
                ?>
		 
					
									</div>
							 </div> 
								<?php 
            }
            ?>
     
						 </div>	 
				 </div>
				</div>
		</div>
		<?php 
        }
    }
}