Yasr – Yet Another Stars Rating - Version 1.3.7

Version Description

  • FIXED: Rankings yasr_top_ten_highest_rated, yasr_most_or_highest_rated_posts and yasr_top_5_reviewers has been fixed (broken in version 1.3.6)
  • FIXED: js errors on yasr-front.js, thanks to jg88
Download this release

Release Info

Developer Dudo
Plugin Icon 128x128 Yasr – Yet Another Stars Rating
Version 1.3.7
Comparing to
See all releases

Code changes from version 1.3.6 to 1.3.7

js/yasr-front.js CHANGED
@@ -122,7 +122,7 @@ document.addEventListener('DOMContentLoaded', function(event) {
122
rating: ratingArray,
123
set_type: setType
124
125
- }
126
127
//Send value to the Server
128
jQuery.post(ajaxurl, data, function(response) {
@@ -204,7 +204,7 @@ document.addEventListener('DOMContentLoaded', function(event) {
204
var data = {
205
action: 'yasr_stats_visitors_votes',
206
post_id: yasrCommonData.postid
207
- }
208
209
jQuery.post(yasrCommonData.ajaxurl, data, function(response) {
210
varTipsContent = response;
122
rating: ratingArray,
123
set_type: setType
124
125
+ };
126
127
//Send value to the Server
128
jQuery.post(ajaxurl, data, function(response) {
204
var data = {
205
action: 'yasr_stats_visitors_votes',
206
post_id: yasrCommonData.postid
207
+ };
208
209
jQuery.post(yasrCommonData.ajaxurl, data, function(response) {
210
varTipsContent = response;
lib/yasr-functions.php CHANGED
@@ -102,16 +102,6 @@ if ( ! defined( 'ABSPATH' ) ) exit('You\'re not allowed to see this page'); // E
102
}
103
104
105
- //Add the javascript needed for shortcode creator only when necessary
106
- /*add_action('wp_enqueue_media', 'yasr_shortcode_creator_javascript');
107
-
108
- function yasr_shortcode_creator_javascript () {
109
-
110
-
111
-
112
- }*/
113
-
114
-
115
/*** Css rules for stars set, from version 1.2.7
116
Here I use add_action instead of directly use wp_add_inline_style so I can
117
use remove_action if needed (e.g. Yasr Stylish)
@@ -705,7 +695,7 @@ add_action('media_buttons', 'yasr_shortcode_button_media', 99);
705
706
add_thickbox();
707
708
- echo '<a href="#TB_inline?width=530&height=600&inlineId=yasr-tinypopup-form" id="yasr-shortcode-creator" class="button thickbox"><span class="dashicons dashicons-star-half" style="vertical-align: text-top;"></span> Yasr Shortcode</a>';
709
710
}
711
102
}
103
104
105
/*** Css rules for stars set, from version 1.2.7
106
Here I use add_action instead of directly use wp_add_inline_style so I can
107
use remove_action if needed (e.g. Yasr Stylish)
695
696
add_thickbox();
697
698
+ echo '<a href="#TB_inline?width=530&height=600&inlineId=yasr-tinypopup-form" id="yasr-shortcode-creator" class="button thickbox"><span class="dashicons dashicons-star-half" style="vertical-align: midlle;"></span> Yasr Shortcode</a>';
699
700
}
701
lib/yasr-shortcode-functions.php CHANGED
@@ -32,7 +32,7 @@ add_shortcode ('yasr_overall_rating', 'shortcode_overall_rating_callback');
32
), $atts )
33
);
34
35
- $overall_rating=yasr_get_overall_rating($postid);
36
37
//if still false
38
if (!$overall_rating) {
@@ -476,6 +476,10 @@ add_shortcode ('yasr_multiset', 'shortcode_multi_set_callback');
476
477
$shortcode_html.="<table class=\"yasr_table_multi_set_shortcode\">";
478
479
foreach ($set_name_content as $set_content) {
480
481
$shortcode_html .= "<tr> <td><span class=\"yasr-multi-set-name-field\">$set_content->name </span></td>
@@ -782,12 +786,15 @@ add_shortcode ('yasr_top_ten_highest_rated', 'yasr_top_ten_highest_rated_callbac
782
783
global $wpdb;
784
785
- $query_result = $wpdb->get_results("SELECT v.overall_rating, v.post_id
786
- FROM " . YASR_VOTES_TABLE . " AS v, $wpdb->posts AS p
787
- WHERE v.post_id = p.ID
788
AND p.post_status = 'publish'
789
- AND v.overall_rating > 0
790
- ORDER BY v.overall_rating DESC, v.id ASC LIMIT 10");
791
792
$shortcode_html = '
793
<!-- Yasr Top 10 highest Rated Shortcode-->
@@ -844,20 +851,28 @@ add_shortcode ('yasr_most_or_highest_rated_posts', 'yasr_most_or_highest_rated_p
844
845
global $wpdb;
846
847
- $query_result_most_rated = $wpdb->get_results("SELECT post_id, number_of_votes, sum_votes
848
- FROM " . YASR_VOTES_TABLE . ", $wpdb->posts AS p
849
- WHERE post_id = p.ID
850
- AND number_of_votes >= 1
851
- AND p.post_status = 'publish'
852
- ORDER BY number_of_votes DESC, sum_votes DESC LIMIT 10");
853
-
854
- $query_result_highest = $wpdb->get_results("SELECT (sum_votes / number_of_votes) as result, post_id, number_of_votes
855
- FROM " . YASR_VOTES_TABLE . ", $wpdb->posts AS p
856
- WHERE post_id = p.ID
857
- AND number_of_votes >= 2
858
- AND p.post_status = 'publish'
859
- ORDER BY result DESC, number_of_votes DESC LIMIT 10
860
- ");
861
862
if ($query_result_most_rated) {
863
@@ -965,11 +980,12 @@ add_shortcode ('yasr_top_5_reviewers', 'yasr_top_5_reviewers_callback');
965
966
global $wpdb;
967
968
- $query_result = $wpdb->get_results("SELECT COUNT( post_author ) as total_count, post_author as reviewer
969
- FROM $wpdb->posts AS p, " . YASR_VOTES_TABLE . "
970
- WHERE post_id = p.ID
971
AND p.post_status = 'publish'
972
- GROUP BY post_author
973
ORDER BY (total_count) DESC
974
LIMIT 5");
975
@@ -1108,25 +1124,40 @@ add_shortcode ('yasr_top_ten_active_users', 'yasr_top_ten_active_users_callback'
1108
1109
} //End function
1110
1111
add_shortcode ('yasr_highest_rated_visitor_multi_set', 'yasr_highest_rated_visitor_multi_set_callback');
1112
1113
- function yasr_highest_rated_visitor_multi_set_callback () {
1114
1115
global $wpdb;
1116
1117
- $shortcode_html = "
1118
- <table class=\"yasr-table-chart\">";
1119
1120
- $set_fields=$wpdb->get_results("SELECT v.post_id, v.sum_votes / v.number_of_votes AS average, v.number_of_votes, f.field_name
1121
FROM " . YASR_MULTI_SET_VALUES_TABLE . " AS v, " . YASR_MULTI_SET_FIELDS_TABLE . " AS f
1122
- WHERE v.set_type = f.parent_set_id
1123
AND v.field_id = f.field_id
1124
AND v.number_of_votes > 0
1125
AND v.sum_votes > 0
1126
- ORDER BY f.parent_set_id ASC, f.field_id ASC, v.post_id ASC"
1127
- );
1128
1129
- foreach ($set_fields as $results) {
1130
1131
if (!isset($field_name) || $field_name != $results->field_name ) {
1132
@@ -1145,7 +1176,7 @@ function yasr_highest_rated_visitor_multi_set_callback () {
1145
</td>
1146
<td>
1147
<div class=\"rateit medium\" data-rateit-starwidth=\"24\" data-rateit-starheight=\"24\" data-rateit-value=\"$average\" data-rateit-step=\"0.1\" data-rateit-resetable=\"false\" data-rateit-readonly=\"true\"></div>
1148
- $average" . sprintf(__('based on %d votes', 'yet-another-stars-rating'), $results->number_of_votes); "
1149
</td>
1150
</tr>";
1151
@@ -1154,7 +1185,15 @@ function yasr_highest_rated_visitor_multi_set_callback () {
1154
1155
}
1156
1157
- $shortcode_html .= "</table>";
1158
1159
return $shortcode_html;
1160
32
), $atts )
33
);
34
35
+ $overall_rating = yasr_get_overall_rating($postid);
36
37
//if still false
38
if (!$overall_rating) {
476
477
$shortcode_html.="<table class=\"yasr_table_multi_set_shortcode\">";
478
479
+ //this is to avoid undefined, may happens when an user insert the shortcode without insert vote (only happens if more than 1 multiset are used)
480
+ $set_content = new stdClass();
481
+ $set_content->vote = NULL; //avoid undefined
482
+
483
foreach ($set_name_content as $set_content) {
484
485
$shortcode_html .= "<tr> <td><span class=\"yasr-multi-set-name-field\">$set_content->name </span></td>
786
787
global $wpdb;
788
789
+
790
+
791
+ $query_result = $wpdb->get_results("SELECT pm.meta_value AS overall_rating, pm.post_id AS post_id
792
+ FROM $wpdb->postmeta AS pm, $wpdb->posts AS p
793
+ WHERE pm.post_id = p.ID
794
AND p.post_status = 'publish'
795
+ AND pm.meta_key = 'yasr_overall_rating'
796
+ ORDER BY pm.meta_value DESC, pm.post_id ASC LIMIT 10");
797
+
798
799
$shortcode_html = '
800
<!-- Yasr Top 10 highest Rated Shortcode-->
851
852
global $wpdb;
853
854
+ $query_result_most_rated = $wpdb->get_results ("SELECT post_id, COUNT(post_id) AS number_of_votes, SUM(vote) AS sum_votes
855
+ FROM " . YASR_LOG_TABLE . " , $wpdb->posts AS p
856
+ WHERE post_id = p.ID
857
+ AND p.post_status = 'publish'
858
+ GROUP BY post_id
859
+ HAVING number_of_votes > 1
860
+ ORDER BY number_of_votes DESC, post_id ASC
861
+ LIMIT 10
862
+ ");
863
+
864
+
865
+ //count run twice but access data only once: tested with query monitor and asked
866
+ //here http://stackoverflow.com/questions/39201235/does-count-run-twice/39201492
867
+ $query_result_highest = $wpdb->get_results ("SELECT post_id, COUNT(post_id) AS number_of_votes, (SUM(vote) / COUNT(post_id)) AS result
868
+ FROM " . YASR_LOG_TABLE . " , $wpdb->posts AS p
869
+ WHERE post_id = p.ID
870
+ AND p.post_status = 'publish'
871
+ GROUP BY post_id
872
+ HAVING COUNT(post_id) >= 2
873
+ ORDER BY result DESC, number_of_votes DESC
874
+ LIMIT 10
875
+ ");
876
877
if ($query_result_most_rated) {
878
980
981
global $wpdb;
982
983
+ $query_result = $wpdb->get_results("SELECT COUNT( pm.post_id ) AS total_count, p.post_author AS reviewer
984
+ FROM $wpdb->posts AS p, $wpdb->postmeta AS pm
985
+ WHERE pm.post_id = p.ID
986
+ AND pm.meta_key = 'yasr_overall_rating'
987
AND p.post_status = 'publish'
988
+ GROUP BY reviewer
989
ORDER BY (total_count) DESC
990
LIMIT 5");
991
1124
1125
} //End function
1126
1127
+
1128
+ //this shortcode is in the plugin but not ready to use yet.
1129
+ //that's why there isn't doc about
1130
add_shortcode ('yasr_highest_rated_visitor_multi_set', 'yasr_highest_rated_visitor_multi_set_callback');
1131
1132
+ function yasr_highest_rated_visitor_multi_set_callback ($atts) {
1133
1134
global $wpdb;
1135
1136
+ // Attributes
1137
+ extract( shortcode_atts(
1138
+ array(
1139
+ 'setid' => '0',
1140
+ ), $atts )
1141
+ );
1142
+
1143
+ $set_fields = FALSE;
1144
+ $shortcode_html = '';
1145
1146
+ $set_fields=$wpdb->get_results($wpdb->prepare("SELECT v.post_id, v.sum_votes / v.number_of_votes AS average, v.number_of_votes, f.field_name
1147
FROM " . YASR_MULTI_SET_VALUES_TABLE . " AS v, " . YASR_MULTI_SET_FIELDS_TABLE . " AS f
1148
+ WHERE v.set_type = %d
1149
+ AND v.set_type = f.parent_set_id
1150
AND v.field_id = f.field_id
1151
AND v.number_of_votes > 0
1152
AND v.sum_votes > 0
1153
+ ORDER BY f.parent_set_id ASC, f.field_id ASC, v.post_id ASC", $setid));
1154
1155
+ if ($set_fields) {
1156
+
1157
+ $shortcode_html = "
1158
+ <table class=\"yasr-table-chart\">";
1159
+
1160
+ foreach ($set_fields as $results) {
1161
1162
if (!isset($field_name) || $field_name != $results->field_name ) {
1163
1176
</td>
1177
<td>
1178
<div class=\"rateit medium\" data-rateit-starwidth=\"24\" data-rateit-starheight=\"24\" data-rateit-value=\"$average\" data-rateit-step=\"0.1\" data-rateit-resetable=\"false\" data-rateit-readonly=\"true\"></div>
1179
+ $average" . sprintf(__(' based on %d votes', 'yet-another-stars-rating'), $results->number_of_votes); "
1180
</td>
1181
</tr>";
1182
1185
1186
}
1187
1188
+ $shortcode_html .= "</table>";
1189
+
1190
+ }
1191
+
1192
+ else {
1193
+
1194
+ _e("No results, try a different setid", "yet-another-stars-rating");
1195
+
1196
+ }
1197
1198
return $shortcode_html;
1199
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: 5 star, admin, administrator, AJAX, five-star, javascript, jquery, post r
4
Requires at least: 4.3.0
5
Contributors: Dudo
6
Tested up to: 4.6
7
- Stable tag: 1.3.6
8
License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
10
Yet Another Stars Rating is a simple plugin which allows you and / or your visitor to rate a post or element. Ideal for review's website
@@ -113,6 +113,10 @@ Of course not: you can easily add it on the visual editor just by clicking the "
113
114
The full changelog can be found in the plugin's directory. Recent entries:
115
116
= 1.3.6 =
117
* TWEAKED: yasr_visitor_votes doesn't use anymore yasr_votes table. It use only yasr_log instead. From this version, yasr_votes is not created anymore. If after this update everything is ok, if you wish you can drop yasr_votes table
118
* TWEAKED: add the link to the post on yasr recent ratings widget
4
Requires at least: 4.3.0
5
Contributors: Dudo
6
Tested up to: 4.6
7
+ Stable tag: 1.3.7
8
License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
10
Yet Another Stars Rating is a simple plugin which allows you and / or your visitor to rate a post or element. Ideal for review's website
113
114
The full changelog can be found in the plugin's directory. Recent entries:
115
116
+ = 1.3.7 =
117
+ * FIXED: Rankings yasr_top_ten_highest_rated, yasr_most_or_highest_rated_posts and yasr_top_5_reviewers has been fixed (broken in version 1.3.6)
118
+ * FIXED: js errors on yasr-front.js, thanks to jg88
119
+
120
= 1.3.6 =
121
* TWEAKED: yasr_visitor_votes doesn't use anymore yasr_votes table. It use only yasr_log instead. From this version, yasr_votes is not created anymore. If after this update everything is ok, if you wish you can drop yasr_votes table
122
* TWEAKED: add the link to the post on yasr recent ratings widget
yet-another-stars-rating.php CHANGED
@@ -3,7 +3,7 @@
3
* Plugin Name: Yet Another Stars Rating
4
* Plugin URI: http://wordpress.org/plugins/yet-another-stars-rating/
5
* Description: Yet Another Stars Rating turn your WordPress into a complete review website.
6
- * Version: 1.3.6
7
* Author: Dario Curvino
8
* Author URI: https://yetanotherstarsrating.com/
9
* Text Domain: yet-another-stars-rating
@@ -31,7 +31,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>
31
32
if ( ! defined( 'ABSPATH' ) ) exit('You\'re not allowed to see this page'); // Exit if accessed directly
33
34
- define('YASR_VERSION_NUM', '1.3.6');
35
36
//Plugin relative path
37
define( "YASR_ABSOLUTE_PATH", dirname(__FILE__) );
@@ -288,7 +288,7 @@ function yasr_update_version() {
288
289
$overall_rating_array=$wpdb->get_results("SELECT post_id, overall_rating, review_type
290
FROM " . YASR_VOTES_TABLE ."
291
- WHERE overall_rating >0
292
OR review_type IS NOT NULL
293
ORDER BY post_id ASC");
294
3
* Plugin Name: Yet Another Stars Rating
4
* Plugin URI: http://wordpress.org/plugins/yet-another-stars-rating/
5
* Description: Yet Another Stars Rating turn your WordPress into a complete review website.
6
+ * Version: 1.3.7
7
* Author: Dario Curvino
8
* Author URI: https://yetanotherstarsrating.com/
9
* Text Domain: yet-another-stars-rating
31
32
if ( ! defined( 'ABSPATH' ) ) exit('You\'re not allowed to see this page'); // Exit if accessed directly
33
34
+ define('YASR_VERSION_NUM', '1.3.7');
35
36
//Plugin relative path
37
define( "YASR_ABSOLUTE_PATH", dirname(__FILE__) );
288
289
$overall_rating_array=$wpdb->get_results("SELECT post_id, overall_rating, review_type
290
FROM " . YASR_VOTES_TABLE ."
291
+ WHERE overall_rating > 0
292
OR review_type IS NOT NULL
293
ORDER BY post_id ASC");
294