Changeset 1298994
- Timestamp:
- 12/02/2015 12:31:01 PM (10 years ago)
- Location:
- rateitcool/trunk
- Files:
-
- 2 added
- 12 edited
-
assets/css/rate-it-cool.css (modified) (3 diffs)
-
assets/js/rateit.cool.js (modified) (24 diffs)
-
classes/class-wc-rateitcool-export-reviews.php (modified) (2 diffs)
-
lib/rateitcool-api/RateItCool.php (modified) (1 diff)
-
readme.txt (modified) (4 diffs)
-
screenshot-1.png (modified) (previous)
-
screenshot-3.png (modified) (previous)
-
screenshot-4.png (modified) (previous)
-
screenshot-5.png (modified) (previous)
-
screenshot-6.png (modified) (previous)
-
screenshot-7.png (added)
-
screenshot-8.png (added)
-
templates/wc-rateitcool-settings.php (modified) (11 diffs)
-
wc_rateitcool.php (modified) (19 diffs)
Legend:
- Unmodified
- Added
- Removed
-
rateitcool/trunk/assets/css/rate-it-cool.css
r1250160 r1298994 5 5 } 6 6 .woocommerce .star-rating { 7 width: 90px;7 width: 85px; 8 8 float: left; 9 9 margin: 4px 0; 10 } 11 .rate-it-cool-product-feedbacks hr { 12 margin: 5px 0; 10 13 } 11 14 .rate-it-cool-product-feedbacks .date { … … 13 16 } 14 17 .rate-it-cool-product-feedbacks td.ratings { 15 width: 8 0px;18 width: 85px; 16 19 } 17 20 .rate-it-cool-product-feedbacks .helpful .positive, .rate-it-cool-product-feedbacks .helpful .negative { … … 33 36 margin-top: 10px; 34 37 } 38 .rate-it-cool-show-stars { 39 margin-left: 5px; 40 padding: 2px 5px; 41 cursor: pointer; 42 outline: #ccc 1px solid; 43 } 44 45 .rate-it-cool-stars-detail-table { 46 outline: solid 1px #ccc; 47 margin-top: 10px; 48 max-width: 200px; 49 } 50 51 #feedbackform table { 52 max-width: 200px; 53 } 54 55 .rate-it-cool-stars-detail-table td, .rate-it-cool-stars-detail-table th { 56 padding: 2px; 57 } 58 .rate-it-cool-stars-detail-table td.stars { 59 width: 90px; 60 } 61 62 .overview table.feedbackOverview { 63 float: left; 64 width: 200px; 65 } 66 table.rate-it-cool-detail-stars { 67 float: right; 68 width:200px; 69 } 70 .clearfix { 71 clear:both; 72 } 73 .feedbackOverview td, .rate-it-cool-detail-stars td { 74 padding: 2px; 75 } 76 .rate-it-cool-stars-detail-table th { 77 background-color: #ccc; 78 font-weight: bold; 79 } 80 .rate-it-cool-verified, .rate-it-cool-public, .rate-it-cool-mobile { 81 float: right; 82 font-weight: bold; 83 } 84 85 .star-rating.oneStars, .star-rating.twoStars, .star-rating.threeStars, .star-rating.fourStars, .star-rating.fiveStars { 86 width: 17px; 87 float:left; 88 } 89 .feedback-title input { 90 width: 100%; 91 margin: 0 0 10px 0; 92 } -
rateitcool/trunk/assets/js/rateit.cool.js
r1253364 r1298994 5 5 _limit = 3, 6 6 _jQuery = $, 7 _securityText = '', 8 _labels = {}, 7 9 _server = 'https://api.rateit.cool', 8 10 _oldjQuery = $; … … 25 27 gpnvalues = {}, 26 28 gpnvalue = '', 27 error = true; 29 language = '', 30 error = true, 31 formId = undefined; 28 32 for ( var i = 0; i < productlistSpans.length; i++ ) { 29 33 if (_jQuery(productlistSpans[ i ]).attr('data-gpntype') !== undefined) { 30 34 gpntype = _jQuery(productlistSpans[ i ]).attr('data-gpntype'); 31 35 } 36 if (_jQuery(productlistSpans[ i ]).attr('data-language') !== undefined) { 37 if (language === '') { 38 language = _jQuery(productlistSpans[ i ]).attr('data-language'); 39 } 40 } 32 41 if (_jQuery(productlistSpans[ i ]).attr('data-gpnvalue') !== undefined) { 33 42 gpnvalue = _jQuery(productlistSpans[ i ]).attr('data-gpnvalue'); … … 45 54 } 46 55 } 56 if (_jQuery(productlistSpans[ i ]).attr('data-form') !== undefined) { 57 formId = _jQuery(productlistSpans[ i ]).attr('data-form'); 58 } 47 59 } 48 60 if (!error) { … … 50 62 if (values.length > 0) { 51 63 _jQuery.ajax({ 52 url : _server + '/stars/' + gpntype + '/' + values.join(',') ,64 url : _server + '/stars/' + gpntype + '/' + values.join(',') + '/' + language, 53 65 method: 'GET', 54 66 dataType : 'json', … … 66 78 destinationElement.find('.rate-it-cool-review-summary').attr('style','width: ' + Number((oneRatingResponse.summary * 20).toFixed(0)) + '%;'); 67 79 destinationElement.find('.rateit-cool-review-link').show(); 80 if (formId !== undefined) { 81 // feedback form 82 if (oneRatingResponse.details !== undefined) { 83 if (oneRatingResponse.details.detail1 !== undefined) { 84 _jQuery('form[name=' + formId + ']').find('.reviewDetail1 .label').text(oneRatingResponse.labels.detail1); 85 _jQuery('form[name=' + formId + ']').find('.reviewDetail1').show(); 86 } 87 if (oneRatingResponse.details.detail2 !== undefined) { 88 _jQuery('form[name=' + formId + ']').find('.reviewDetail2 .label').text(oneRatingResponse.labels.detail2); 89 _jQuery('form[name=' + formId + ']').find('.reviewDetail2').show(); 90 } 91 if (oneRatingResponse.details.detail3 !== undefined) { 92 _jQuery('form[name=' + formId + ']').find('.reviewDetail3 .label').text(oneRatingResponse.labels.detail3); 93 _jQuery('form[name=' + formId + ']').find('.reviewDetail3').show(); 94 } 95 if (oneRatingResponse.details.detail4 !== undefined) { 96 _jQuery('form[name=' + formId + ']').find('.reviewDetail4 .label').text(oneRatingResponse.labels.detail4); 97 _jQuery('form[name=' + formId + ']').find('.reviewDetail4').show(); 98 } 99 } 100 } else if (oneRatingResponse.details !== undefined) { 101 if (oneRatingResponse.details.detail1 !== undefined) { 102 _jQuery('.rate-it-cool-feedback-form').find('.reviewDetail1 .label').text(oneRatingResponse.labels.detail1); 103 _jQuery('.rate-it-cool-feedback-form').find('.reviewDetail1').show(); 104 } 105 if (oneRatingResponse.details.detail2 !== undefined) { 106 _jQuery('.rate-it-cool-feedback-form').find('.reviewDetail2 .label').text(oneRatingResponse.labels.detail2); 107 _jQuery('.rate-it-cool-feedback-form').find('.reviewDetail2').show(); 108 } 109 if (oneRatingResponse.details.detail3 !== undefined) { 110 _jQuery('.rate-it-cool-feedback-form').find('.reviewDetail3 .label').text(oneRatingResponse.labels.detail3); 111 _jQuery('.rate-it-cool-feedback-form').find('.reviewDetail3').show(); 112 } 113 if (oneRatingResponse.details.detail4 !== undefined) { 114 _jQuery('.rate-it-cool-feedback-form').find('.reviewDetail4 .label').text(oneRatingResponse.labels.detail4); 115 _jQuery('.rate-it-cool-feedback-form').find('.reviewDetail4').show(); 116 } 117 } 68 118 }); 69 119 } … … 80 130 var productlistSpans = _jQuery('.rate-it-cool-product-detail'), 81 131 gpntype = '', 82 gpnvalue = ''; 132 gpnvalue = '', 133 language = '', 134 template = ''; 83 135 84 136 if (productlistSpans && productlistSpans.length > 0) { … … 89 141 if (_jQuery(productlistSpans[0]).attr('data-gpnvalue') !== undefined) { 90 142 gpnvalue = _jQuery(productlistSpans[0]).attr('data-gpnvalue'); 143 } 144 if (_jQuery(productlistSpans[0]).attr('data-language') !== undefined) { 145 if (language === '') { 146 language = _jQuery(productlistSpans[0]).attr('data-language'); 147 } 91 148 } 92 149 var destinationElement = _jQuery(productlistSpans[0]); 93 150 if (gpntype && gpnvalue) { 94 151 _jQuery.ajax({ 95 url : _server + '/stars/' + gpntype + '/' + gpnvalue ,152 url : _server + '/stars/' + gpntype + '/' + gpnvalue + '/' + language, 96 153 method: 'GET', 97 154 dataType : 'json', … … 103 160 }, 104 161 success : function(data) { 162 template = _jQuery('.rate-it-cool-stars-detail-table').html(); 105 163 if (data.length > 0) { 106 164 var oneRatingResponse = data[0]; 165 if (oneRatingResponse.details !== undefined) { 166 if (oneRatingResponse.details.detail1 !== undefined) { 167 _jQuery('#feedbackform.rate-it-cool-feedback-form').find('.reviewDetail1 .label').text(oneRatingResponse.labels.detail1); 168 _jQuery('#feedbackform.rate-it-cool-feedback-form').find('.reviewDetail1').show(); 169 } 170 if (oneRatingResponse.details.detail2 !== undefined) { 171 _jQuery('#feedbackform.rate-it-cool-feedback-form').find('.reviewDetail2 .label').text(oneRatingResponse.labels.detail2); 172 _jQuery('#feedbackform.rate-it-cool-feedback-form').find('.reviewDetail2').show(); 173 } 174 if (oneRatingResponse.details.detail3 !== undefined) { 175 _jQuery('#feedbackform.rate-it-cool-feedback-form').find('.reviewDetail3 .label').text(oneRatingResponse.labels.detail3); 176 _jQuery('#feedbackform.rate-it-cool-feedback-form').find('.reviewDetail3').show(); 177 } 178 if (oneRatingResponse.details.detail4 !== undefined) { 179 _jQuery('#feedbackform.rate-it-cool-feedback-form').find('.reviewDetail4 .label').text(oneRatingResponse.labels.detail4); 180 _jQuery('#feedbackform.rate-it-cool-feedback-form').find('.reviewDetail4').show(); 181 } 182 } 183 if (oneRatingResponse.total > 0) { 184 _jQuery('.rate-it-cool-stars-detail-table').html(template 185 .split('$review.summary').join(Number((oneRatingResponse.summary).toFixed(0))) 186 .split('$review.total').join(oneRatingResponse.total) 187 .split('$review.star5').join(oneRatingResponse.stars.five) 188 .split('$review.star4').join(oneRatingResponse.stars.four) 189 .split('$review.star3').join(oneRatingResponse.stars.three) 190 .split('$review.star2').join(oneRatingResponse.stars.two) 191 .split('$review.star1').join(oneRatingResponse.stars.one) 192 .split('$details.display').join((oneRatingResponse.details == undefined || oneRatingResponse.details.detail1 == undefined ? 'display:none;':'')) 193 .split('$details.total').join((oneRatingResponse.details == undefined || oneRatingResponse.details.total !== undefined ? oneRatingResponse.details.total:0)) 194 .split('$details.percent').join((oneRatingResponse.details == undefined || oneRatingResponse.details.total !== undefined ? Number(oneRatingResponse.details.total/(oneRatingResponse.total/100).toFixed(2)) :0)) 195 .split('$details.detail1.display').join((oneRatingResponse.details == undefined || oneRatingResponse.details.detail1 == undefined ? 'display:none;':'')) 196 .split('$details.detail2.display').join((oneRatingResponse.details == undefined || oneRatingResponse.details.detail2 == undefined ? 'display:none;':'')) 197 .split('$details.detail3.display').join((oneRatingResponse.details == undefined || oneRatingResponse.details.detail3 == undefined ? 'display:none;':'')) 198 .split('$details.detail4.display').join((oneRatingResponse.details == undefined || oneRatingResponse.details.detail4 == undefined ? 'display:none;':'')) 199 .split('$details.detail1.title').join((oneRatingResponse.labels.detail1 !== undefined ? oneRatingResponse.labels.detail1:'')) 200 .split('$details.detail2.title').join((oneRatingResponse.labels.detail2 !== undefined ? oneRatingResponse.labels.detail2:'')) 201 .split('$details.detail3.title').join((oneRatingResponse.labels.detail3 !== undefined ? oneRatingResponse.labels.detail3:'')) 202 .split('$details.detail4.title').join((oneRatingResponse.labels.detail4 !== undefined ? oneRatingResponse.labels.detail4:'')) 203 .split('$review.details.detail1').join( (Number(oneRatingResponse.details.detail1)*20).toFixed(0) ) 204 .split('$review.details.detail2').join( (Number(oneRatingResponse.details.detail2)*20).toFixed(0) ) 205 .split('$review.details.detail3').join( (Number(oneRatingResponse.details.detail3)*20).toFixed(0) ) 206 .split('$review.details.detail4').join( (Number(oneRatingResponse.details.detail4)*20).toFixed(0) ) 207 ); 208 209 destinationElement.find('.rate-it-cool-show-stars').show(); 210 } 107 211 destinationElement.find('.rate-it-cool-review-counts').text(oneRatingResponse.total); 108 212 destinationElement.find('.rate-it-cool-review-summary').removeClass('rate-it-cool-review-summary-empty').attr('style','width: ' + Number((oneRatingResponse.summary * 20).toFixed(0)) + '%;'); … … 121 225 language = '', 122 226 templateOneFeedback = _jQuery('#rate-it-cool-product-feedbacks-template .feedbackElement').html(), 227 templateMissingFeedback = _jQuery('#rate-it-cool-product-feedbacks-template .missingFeedback').html(), 228 templateFeedbackForm = _jQuery('#rate-it-cool-product-feedbacks-template .feedbackElements #feedbackform').html(), 123 229 templateList = _jQuery('#rate-it-cool-product-feedbacks-template .feedbackElements').html(); 124 230 … … 144 250 145 251 _jQuery.ajax({ 146 url : _server + '/feedback/' + gpntype + '/' + gpnvalue + '/' + language + '?limit=' + _limit + '&full=true' +extendedString,252 url : _server + '/feedback/' + gpntype + '/' + gpnvalue + '/' + language + '?limit=' + _limit + extendedString, 147 253 method: 'GET', 148 254 dataType : 'json', … … 164 270 counts = data.region; 165 271 } 272 _labels = data.overview.labels; 273 if (data.overview.details == undefined) { 274 data.overview.details = {}; 275 } 166 276 templateList = templateList.replace('$five', data.overview.stars.five) 167 277 .replace('$four', data.overview.stars.four) … … 170 280 .replace('$one', data.overview.stars.one) 171 281 .replace('$total.all', data.total.all) 282 .replace('$overview.total', data.overview.total) 283 .split('$detail.show').join( (data.overview.details.detail1 !== undefined?'':'display:none;') ) 284 .replace('$details.total', (data.overview.details == undefined || data.overview.details.total !== undefined ? data.overview.details.total : 0)) 285 .replace('$details.percent', (data.overview.details == undefined || data.overview.details.total !== undefined ? Number(data.overview.details.total/(data.overview.total/100).toFixed(2)) :0)) 286 .replace('$details.detail1.display', (data.overview.details == undefined || data.overview.details.detail1 == undefined ? 'display:none;':'')) 287 .replace('$details.detail2.display', (data.overview.details == undefined || data.overview.details.detail2 == undefined ? 'display:none;':'')) 288 .replace('$details.detail3.display', (data.overview.details == undefined || data.overview.details.detail3 == undefined ? 'display:none;':'')) 289 .replace('$details.detail4.display', (data.overview.details == undefined || data.overview.details.detail4 == undefined ? 'display:none;':'')) 290 .replace('$details.detail1.title', (data.overview.labels.detail1 !== undefined ? data.overview.labels.detail1:'')) 291 .replace('$details.detail2.title', (data.overview.labels.detail2 !== undefined ? data.overview.labels.detail2:'')) 292 .replace('$details.detail3.title', (data.overview.labels.detail3 !== undefined ? data.overview.labels.detail3:'')) 293 .replace('$details.detail4.title', (data.overview.labels.detail4 !== undefined ? data.overview.labels.detail4:'')) 294 .split('$detail.detail1').join( Number((data.overview.details.detail1 !== undefined?(data.overview.details.detail1*20):0)).toFixed(0) ) 295 .split('$detail.detail2').join( Number((data.overview.details.detail2 !== undefined?(data.overview.details.detail2*20):0)).toFixed(0) ) 296 .split('$detail.detail3').join( Number((data.overview.details.detail3 !== undefined?(data.overview.details.detail3*20):0)).toFixed(0) ) 297 .split('$detail.detail4').join( Number((data.overview.details.detail4 !== undefined?(data.overview.details.detail4*20):0)).toFixed(0) ) 172 298 .replace('$total.language', data.total.language) 173 299 .replace('$total.region', data.total.region) … … 181 307 // create elemnt from template 182 308 var oneFeedback = templateOneFeedback; 309 if (feedback.details == undefined) { 310 feedback.details = {}; 311 } 183 312 oneFeedback = oneFeedback.replace('$review.stars', (feedback.stars * 20)) 184 .replace('$review.time', new Date(feedback.time).toLocale String())313 .replace('$review.time', new Date(feedback.time).toLocaleDateString()) 185 314 .replace('$review.title', feedback.title) 186 315 .replace('$review.content', feedback.content) … … 189 318 .split('$review.gpnvalue').join(data.gpnvalue) 190 319 .split('$review.language').join(feedback.language + '_' + feedback.region) 320 .split('$review.detail.show').join( (feedback.details !== undefined && feedback.details.detail1 !== undefined?'':'display:none;')) 321 .replace('$details.detail1.display', (feedback.details == undefined || feedback.details.detail1 == undefined ? 'display:none;':'')) 322 .replace('$details.detail2.display', (feedback.details == undefined || feedback.details.detail2 == undefined ? 'display:none;':'')) 323 .replace('$details.detail3.display', (feedback.details == undefined || feedback.details.detail3 == undefined ? 'display:none;':'')) 324 .replace('$details.detail4.display', (feedback.details == undefined || feedback.details.detail4 == undefined ? 'display:none;':'')) 325 .replace('$details.detail1.title', (_labels.detail1 !== undefined ? _labels.detail1:'')) 326 .replace('$details.detail2.title', (_labels.detail2 !== undefined ? _labels.detail2:'')) 327 .replace('$details.detail3.title', (_labels.detail3 !== undefined ? _labels.detail3:'')) 328 .replace('$details.detail4.title', (_labels.detail4 !== undefined ? _labels.detail4:'')) 329 .split('$review.detail.detail1').join( (feedback.details.detail1 !== undefined?(feedback.details.detail1*20):0)) 330 .split('$review.detail.detail2').join( (feedback.details.detail2 !== undefined?(feedback.details.detail2*20):0)) 331 .split('$review.detail.detail3').join( (feedback.details.detail3 !== undefined?(feedback.details.detail3*20):0)) 332 .split('$review.detail.detail4').join( (feedback.details.detail4 !== undefined?(feedback.details.detail4*20):0)) 333 .split('$review.source').join(feedback.source) 334 .split('$review.verified_source').join((feedback.source === 'verified'?'display:block;':'display:none;')) 335 .split('$review.public_source').join((feedback.source === 'public'?'display:block;':'display:none;')) 336 .split('$review.mobile_source').join((feedback.source === 'mobile'?'display:block;':'display:none;')) 191 337 .split('$review.positive').join(feedback.positive) 192 338 .split('$review.negative').join(feedback.negative); … … 195 341 }); 196 342 destinationElement.html(templateList.replace('$list',feedbackElements.join(''))); 343 } else { 344 destinationElement.html(templateMissingFeedback.split('$feedbackForm').join(templateFeedbackForm)); 345 if (data.overview.details !== undefined) { 346 if (data.overview.details.detail1 !== undefined) { 347 destinationElement.find('.reviewDetail1 .label').text(data.overview.labels.detail1); 348 destinationElement.find('.reviewDetail1').show(); 349 } 350 if (data.overview.details.detail2 !== undefined) { 351 destinationElement.find('.reviewDetail2 .label').text(data.overview.labels.detail2); 352 destinationElement.find('.reviewDetail2').show(); 353 } 354 if (data.overview.details.detail3 !== undefined) { 355 destinationElement.find('.reviewDetail3 .label').text(data.overview.labels.detail3); 356 destinationElement.find('.reviewDetail3').show(); 357 } 358 if (data.overview.details.detail4 !== undefined) { 359 destinationElement.find('.reviewDetail4 .label').text(data.overview.labels.detail4); 360 destinationElement.find('.reviewDetail4').show(); 361 } 362 } 197 363 } 198 364 } … … 271 437 var oneFeedback = templateOneFeedback; 272 438 oneFeedback = oneFeedback.replace('$review.stars', (feedback.stars * 20)) 273 .replace('$review.time', new Date(feedback.time).toLocale String())439 .replace('$review.time', new Date(feedback.time).toLocaleDateString()) 274 440 .replace('$review.title', feedback.title) 275 441 .replace('$review.content', feedback.content) 276 442 .split('$review.id').join(feedback._id) 443 .split('$review.detail.show').join( (feedback.details !== undefined && feedback.details.detail1 !== undefined?'':'display:none;')) 444 .replace('$details.detail1.display', (feedback.details == undefined || feedback.details.detail1 == undefined ? 'display:none;':'')) 445 .replace('$details.detail2.display', (feedback.details == undefined || feedback.details.detail2 == undefined ? 'display:none;':'')) 446 .replace('$details.detail3.display', (feedback.details == undefined || feedback.details.detail3 == undefined ? 'display:none;':'')) 447 .replace('$details.detail4.display', (feedback.details == undefined || feedback.details.detail4 == undefined ? 'display:none;':'')) 448 .replace('$details.detail1.title', (_labels.detail1 !== undefined ? _labels.detail1:'')) 449 .replace('$details.detail2.title', (_labels.detail2 !== undefined ? _labels.detail2:'')) 450 .replace('$details.detail3.title', (_labels.detail3 !== undefined ? _labels.detail3:'')) 451 .replace('$details.detail4.title', (_labels.detail4 !== undefined ? _labels.detail4:'')) 452 .split('$review.detail.detail1').join( (feedback.details.detail1 !== undefined?(feedback.details.detail1*20):0)) 453 .split('$review.detail.detail2').join( (feedback.details.detail2 !== undefined?(feedback.details.detail2*20):0)) 454 .split('$review.detail.detail3').join( (feedback.details.detail3 !== undefined?(feedback.details.detail3*20):0)) 455 .split('$review.detail.detail4').join( (feedback.details.detail4 !== undefined?(feedback.details.detail4*20):0)) 456 .split('$review.source').join(feedback.source) 457 .split('$review.verified_source').join((feedback.source === 'verified'?'display:block;':'display:none;')) 458 .split('$review.public_source').join((feedback.source === 'public'?'display:block;':'display:none;')) 459 .split('$review.mobile_source').join((feedback.source === 'mobile'?'display:block;':'display:none;')) 277 460 .split('$review.gpntype').join(data.gpntype) 278 461 .split('$review.gpnvalue').join(data.gpnvalue) … … 295 478 _jQuery('.rateit-cool-send-feedback').delegate('a', 'click', function(e){ 296 479 e.preventDefault(); 297 var gpntype = _jQuery('form[name=' + _jQuery(this).attr('data-formname') + ']').find('[name=gpntype]').val(), 298 gpnvalue = _jQuery('form[name=' + _jQuery(this).attr('data-formname') + ']').find('[name=gpnvalue]').val(), 299 language = _jQuery('form[name=' + _jQuery(this).attr('data-formname') + ']').find('[name=language]').val(), 480 var _form = _jQuery('form[name=' + _jQuery(this).attr('data-formname') + ']'), 481 gpntype = _form.find('[name=gpntype]').val(), 482 gpnvalue = _form.find('[name=gpnvalue]').val(), 483 language = _form.find('[name=language]').val(), 484 detail1 = parseInt(_form.find('[name=detail1]').val()), 485 detail2 = parseInt(_form.find('[name=detail2]').val()), 486 detail3 = parseInt(_form.find('[name=detail3]').val()), 487 detail4 = parseInt(_form.find('[name=detail4]').val()), 488 detail = (detail1 + detail2 + detail3 + detail4), 300 489 feedbackElement = { 301 stars: parseInt(_jQuery('form[name=' + _jQuery(this).attr('data-formname') + ']').find('[name=stars]').val()), 302 title: _jQuery('form[name=' + _jQuery(this).attr('data-formname') + ']').find('[name=feedbackTitle]').val(), 303 content: _jQuery('form[name=' + _jQuery(this).attr('data-formname') + ']').find('[name=feedbackContent]').val(), 304 recommend: (_jQuery('form[name=' + _jQuery(this).attr('data-formname') + ']').find('[name=recommend]').is(':checked')?1:0) 305 }, 306 destinationElement = _jQuery(this); 307 308 if (gpntype && gpnvalue && language && feedbackElement.title !== '' && feedbackElement.content !== '' && feedbackElement.stars > 0) { 490 stars: parseInt(_form.find('[name=stars]').val()), 491 title: _form.find('[name=feedbackTitle]').val(), 492 source: _form.find('[name=source]').val(), 493 content: _form.find('[name=feedbackContent]').val(), 494 recommend: (_form.find('[name=recommend]').is(':checked')?1:0), 495 details: { 496 detail1: detail1, 497 detail2: detail2, 498 detail3: detail3, 499 detail4: detail4 500 } 501 }, 502 destinationElement = _jQuery(this), 503 securitytext = _form.find('[name=securityText]').val(), 504 formOk = true; 505 506 if (detail > 0) { 507 feedbackElement.stars = (detail / ((detail1 > 0?1:0) + (detail2 > 0?1:0) + (detail3 > 0?1:0) + (detail4 > 0?1:0))); 508 } 509 if (securitytext !== undefined) { 510 formOk = (securitytext === _securityText); 511 if (!formOk) { 512 _form.find('[name=securityText]').addClass('rate-it-cool-error'); 513 } 514 } 515 if (formOk && gpntype && gpnvalue && language && feedbackElement.title !== '' && feedbackElement.content !== '' && feedbackElement.stars > 0) { 309 516 _jQuery.ajax({ 310 517 url : _server + '/feedback/' + gpntype + '/' + gpnvalue + '/' + language, … … 348 555 _jQuery('.rate-it-cool-feedback-form').delegate('.oneStars', 'click', function(e) { 349 556 e.preventDefault(); 350 _jQuery(this).parents(' form').find('.rate-it-cool-review-summary').attr('style','');557 _jQuery(this).parents('tr').find('.rate-it-cool-review-summary').attr('style',''); 351 558 _jQuery(this).find('.rate-it-cool-review-summary').attr('style','width:100%;'); 352 _jQuery(this).parents('form').find('.oneStars .rate-it-cool-review-summary').attr('style','width:100%;'); 353 _jQuery(this).parents('form').find('[name=stars]').val(2); 354 _jQuery(this).parents('form').find('.rate-it-cool-star-text').html(_jQuery(this).attr('title')); 559 _jQuery(this).parents('tr').find('.oneStars .rate-it-cool-review-summary').attr('style','width:100%;'); 560 _jQuery(this).parents('tr').find('input.stars').val(1); 561 _jQuery(this).parents('tr').find('[name=stars]').val(1); 562 _jQuery(this).parents('tr').find('.rate-it-cool-star-text').html(_jQuery(this).attr('title')); 355 563 }); 356 564 357 565 _jQuery('.rate-it-cool-feedback-form').delegate('.twoStars', 'click', function(e) { 358 566 e.preventDefault(); 359 _jQuery(this).parents(' form').find('.rate-it-cool-review-summary').attr('style','');567 _jQuery(this).parents('tr').find('.rate-it-cool-review-summary').attr('style',''); 360 568 _jQuery(this).find('.rate-it-cool-review-summary').attr('style','width:100%;'); 361 _jQuery(this).parents('form').find('.oneStars .rate-it-cool-review-summary').attr('style','width:100%;'); 362 _jQuery(this).parents('form').find('.twoStars .rate-it-cool-review-summary').attr('style','width:100%;'); 363 _jQuery(this).parents('form').find('[name=stars]').val(2); 364 _jQuery(this).parents('form').find('.rate-it-cool-star-text').html(_jQuery(this).attr('title')); 569 _jQuery(this).parents('tr').find('.oneStars .rate-it-cool-review-summary').attr('style','width:100%;'); 570 _jQuery(this).parents('tr').find('.twoStars .rate-it-cool-review-summary').attr('style','width:100%;'); 571 _jQuery(this).parents('tr').find('input.stars').val(2); 572 _jQuery(this).parents('tr').find('[name=stars]').val(2); 573 _jQuery(this).parents('tr').find('.rate-it-cool-star-text').html(_jQuery(this).attr('title')); 365 574 }); 366 575 367 576 _jQuery('.rate-it-cool-feedback-form').delegate('.threeStars', 'click', function(e) { 368 577 e.preventDefault(); 369 _jQuery(this).parents(' form').find('.rate-it-cool-review-summary').attr('style','');578 _jQuery(this).parents('tr').find('.rate-it-cool-review-summary').attr('style',''); 370 579 _jQuery(this).find('.rate-it-cool-review-summary').attr('style','width:100%;'); 371 _jQuery(this).parents('form').find('.oneStars .rate-it-cool-review-summary').attr('style','width:100%;'); 372 _jQuery(this).parents('form').find('.twoStars .rate-it-cool-review-summary').attr('style','width:100%;'); 373 _jQuery(this).parents('form').find('.threeStars .rate-it-cool-review-summary').attr('style','width:100%;'); 374 _jQuery(this).parents('form').find('[name=stars]').val(3); 375 _jQuery(this).parents('form').find('.rate-it-cool-star-text').html(_jQuery(this).attr('title')); 580 _jQuery(this).parents('tr').find('.oneStars .rate-it-cool-review-summary').attr('style','width:100%;'); 581 _jQuery(this).parents('tr').find('.twoStars .rate-it-cool-review-summary').attr('style','width:100%;'); 582 _jQuery(this).parents('tr').find('.threeStars .rate-it-cool-review-summary').attr('style','width:100%;'); 583 _jQuery(this).parents('tr').find('input.stars').val(3); 584 _jQuery(this).parents('tr').find('[name=stars]').val(3); 585 _jQuery(this).parents('tr').find('.rate-it-cool-star-text').html(_jQuery(this).attr('title')); 376 586 }); 377 587 378 588 _jQuery('.rate-it-cool-feedback-form').delegate('.fourStars', 'click', function(e) { 379 589 e.preventDefault(); 380 _jQuery(this).parents(' form').find('.rate-it-cool-review-summary').attr('style','');590 _jQuery(this).parents('tr').find('.rate-it-cool-review-summary').attr('style',''); 381 591 _jQuery(this).find('.rate-it-cool-review-summary').attr('style','width:100%;'); 382 _jQuery(this).parents('form').find('.oneStars .rate-it-cool-review-summary').attr('style','width:100%;'); 383 _jQuery(this).parents('form').find('.twoStars .rate-it-cool-review-summary').attr('style','width:100%;'); 384 _jQuery(this).parents('form').find('.threeStars .rate-it-cool-review-summary').attr('style','width:100%;'); 385 _jQuery(this).parents('form').find('.fourStars .rate-it-cool-review-summary').attr('style','width:100%;'); 386 _jQuery(this).parents('form').find('[name=stars]').val(4); 387 _jQuery(this).parents('form').find('.rate-it-cool-star-text').html(_jQuery(this).attr('title')); 592 _jQuery(this).parents('tr').find('.oneStars .rate-it-cool-review-summary').attr('style','width:100%;'); 593 _jQuery(this).parents('tr').find('.twoStars .rate-it-cool-review-summary').attr('style','width:100%;'); 594 _jQuery(this).parents('tr').find('.threeStars .rate-it-cool-review-summary').attr('style','width:100%;'); 595 _jQuery(this).parents('tr').find('.fourStars .rate-it-cool-review-summary').attr('style','width:100%;'); 596 _jQuery(this).parents('tr').find('input.stars').val(4); 597 _jQuery(this).parents('tr').find('[name=stars]').val(4); 598 _jQuery(this).parents('tr').find('.rate-it-cool-star-text').html(_jQuery(this).attr('title')); 388 599 }); 389 600 390 601 _jQuery('.rate-it-cool-feedback-form').delegate('.fiveStars', 'click', function(e) { 391 602 e.preventDefault(); 392 _jQuery(this).parents(' form').find('.rate-it-cool-review-summary').attr('style','');603 _jQuery(this).parents('tr').find('.rate-it-cool-review-summary').attr('style',''); 393 604 _jQuery(this).find('.rate-it-cool-review-summary').attr('style','width:100%;'); 394 _jQuery(this).parents('form').find('.oneStars .rate-it-cool-review-summary').attr('style','width:100%;'); 395 _jQuery(this).parents('form').find('.twoStars .rate-it-cool-review-summary').attr('style','width:100%;'); 396 _jQuery(this).parents('form').find('.threeStars .rate-it-cool-review-summary').attr('style','width:100%;'); 397 _jQuery(this).parents('form').find('.fourStars .rate-it-cool-review-summary').attr('style','width:100%;'); 398 _jQuery(this).parents('form').find('.fiveStars .rate-it-cool-review-summary').attr('style','width:100%;'); 399 _jQuery(this).parents('form').find('[name=stars]').val(5); 400 _jQuery(this).parents('form').find('.rate-it-cool-star-text').html(_jQuery(this).attr('title')); 605 _jQuery(this).parents('tr').find('.oneStars .rate-it-cool-review-summary').attr('style','width:100%;'); 606 _jQuery(this).parents('tr').find('.twoStars .rate-it-cool-review-summary').attr('style','width:100%;'); 607 _jQuery(this).parents('tr').find('.threeStars .rate-it-cool-review-summary').attr('style','width:100%;'); 608 _jQuery(this).parents('tr').find('.fourStars .rate-it-cool-review-summary').attr('style','width:100%;'); 609 _jQuery(this).parents('tr').find('.fiveStars .rate-it-cool-review-summary').attr('style','width:100%;'); 610 _jQuery(this).parents('tr').find('input.stars').val(5); 611 _jQuery(this).parents('tr').find('[name=stars]').val(5); 612 _jQuery(this).parents('tr').find('.rate-it-cool-star-text').html(_jQuery(this).attr('title')); 401 613 }); 402 614 // fill stars on click end … … 530 742 }; 531 743 744 var _showFeedbackFormOnClick = function() { 745 _jQuery('.rate-it-cool-product-feedbackform').delegate('a.rateit-cool-show-feedbackform-link','click',function(e) { 746 e.preventDefault(); 747 _jQuery('.rate-it-cool-feedback-form').toggle('bounce'); 748 }); 749 }; 750 532 751 var _showMoreFeedbacksOnClick = function () { 533 752 _jQuery('.showMoreFeedbacks').on('click', function(e) { … … 569 788 // render each feedback 570 789 data.elements.forEach(function(feedback) { 790 if (feedback.details == undefined) { 791 feedback.details = {}; 792 } 571 793 // create elemnt from template 572 794 var oneFeedback = templateOneFeedback; 573 795 oneFeedback = oneFeedback.replace('$review.stars', (feedback.stars * 20)) 574 .replace('$review.time', new Date(feedback.time).toLocale String())796 .replace('$review.time', new Date(feedback.time).toLocaleDateString()) 575 797 .replace('$review.title', feedback.title) 576 798 .replace('$review.content', feedback.content) … … 578 800 .split('$review.gpntype').join(data.gpntype) 579 801 .split('$review.gpnvalue').join(data.gpnvalue) 802 .split('$review.detail.show').join( (feedback.details !== undefined && feedback.details.detail1 !== undefined?'':'display:none;')) 803 .replace('$details.detail1.display', (feedback.details == undefined || feedback.details.detail1 == undefined ? 'display:none;':'')) 804 .replace('$details.detail2.display', (feedback.details == undefined || feedback.details.detail2 == undefined ? 'display:none;':'')) 805 .replace('$details.detail3.display', (feedback.details == undefined || feedback.details.detail3 == undefined ? 'display:none;':'')) 806 .replace('$details.detail4.display', (feedback.details == undefined || feedback.details.detail4 == undefined ? 'display:none;':'')) 807 .replace('$details.detail1.title', (_labels.detail1 !== undefined ? _labels.detail1:'')) 808 .replace('$details.detail2.title', (_labels.detail2 !== undefined ? _labels.detail2:'')) 809 .replace('$details.detail3.title', (_labels.detail3 !== undefined ? _labels.detail3:'')) 810 .replace('$details.detail4.title', (_labels.detail4 !== undefined ? _labels.detail4:'')) 811 .split('$review.detail.detail1').join( (feedback.details.detail1 !== undefined?(feedback.details.detail1*20):0)) 812 .split('$review.detail.detail2').join( (feedback.details.detail2 !== undefined?(feedback.details.detail2*20):0)) 813 .split('$review.detail.detail3').join( (feedback.details.detail3 !== undefined?(feedback.details.detail3*20):0)) 814 .split('$review.detail.detail4').join( (feedback.details.detail4 !== undefined?(feedback.details.detail4*20):0)) 815 .split('$review.source').join(feedback.source) 816 .split('$review.verified_source').join((feedback.source === 'verified'?'display:block;':'display:none;')) 817 .split('$review.public_source').join((feedback.source === 'public'?'display:block;':'display:none;')) 818 .split('$review.mobile_source').join((feedback.source === 'mobile'?'display:block;':'display:none;')) 580 819 .split('$review.language').join(feedback.language + '_' + feedback.region) 581 820 .split('$review.positive').join(feedback.positive) … … 610 849 _showMoreFeedbacksOnClick(); 611 850 _sendIncorrectOnClick(); 612 851 _showFeedbackFormOnClick(); 852 _jQuery('.rate-it-cool-show-stars').on('click',function(e) { 853 e.preventDefault(); 854 _jQuery('.rate-it-cool-stars-detail-table').toggle('bounce'); 855 }); 613 856 _openFeedbackForm(); 857 614 858 } 615 859 … … 618 862 _username = params.username; 619 863 _password = params.password; 864 _securityText = params.securitytext; 620 865 _limit = params.limit; 621 866 if (params.noConflict) { … … 635 880 username: rateitcool_settings.username, 636 881 password: rateitcool_settings.apikey, 882 securitytext: rateitcool_settings.securitytext, 637 883 limit: 3, 638 884 noConflict: false -
rateitcool/trunk/classes/class-wc-rateitcool-export-reviews.php
r1253364 r1298994 92 92 'language', 93 93 'stars', 94 'costbenefit',95 'design',96 'workmanship',97 'description',98 'details-total',99 94 'positive', 100 95 'negative', 101 96 'recommend', 97 'status', 102 98 'time', 103 'status' 99 'category', 100 'detail1', 101 'detail2', 102 'detail3', 103 'detail4' 104 104 ); 105 105 } … … 137 137 $current_review['language'] = $settings['language_code']; 138 138 $current_review['stars'] = $value->stars; 139 $current_review['costbenefit'] = 0;140 $current_review['design'] = 0;141 $current_review['workmanship'] = 0;142 $current_review['description'] = 0;143 $current_review['details-total'] = 0;144 139 $current_review['positive'] = 0; 145 140 $current_review['negative'] = 0; -
rateitcool/trunk/lib/rateitcool-api/RateItCool.php
r1250160 r1298994 8 8 class RateItCool { 9 9 10 const VERSION = '0.0.1';11 const TIMEOUT = 5;12 //protected static $username, $apikey, $serverapikey, $base_uri = 'https://api.rateit.cool';13 protected static $username, $apikey, $serverapikey, $base_uri = 'http://localhost:8080';14 protected $request;10 const VERSION = '0.0.1'; 11 const TIMEOUT = 5; 12 protected static $username, $apikey, $serverapikey, $base_uri = 'https://api.rateit.cool'; 13 //protected static $username, $apikey, $serverapikey, $base_uri = 'http://localhost:8080'; 14 protected $request; 15 15 16 public function __construct($settings) { 17 $this->set_username($settings['username']); 18 19 $this->set_serverapikey($settings['serverapikey']); 20 $this->set_apikey($settings['apikey']); 21 } 16 public function __construct($settings) { 17 $this->set_username($settings['username']); 18 $this->set_serverapikey($settings['serverapikey']); 19 $this->set_apikey($settings['apikey']); 20 } 22 21 23 22 protected function set_request_method($method, $vars) { 24 switch (strtoupper($method)) {25 case 'HEAD':26 curl_setopt($this->request, CURLOPT_NOBODY, true);27 break;28 case 'GET':29 curl_setopt($this->request, CURLOPT_HTTPGET, true);30 break;31 case 'POST':32 curl_setopt($this->request, CURLOPT_POSTFIELDS, $vars);33 curl_setopt($this->request, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Content-length: '.strlen($vars)));34 curl_setopt($this->request, CURLOPT_POST, true);35 break;36 default:37 curl_setopt($this->request, CURLOPT_CUSTOMREQUEST, $method);38 }23 switch (strtoupper($method)) { 24 case 'HEAD': 25 curl_setopt($this->request, CURLOPT_NOBODY, true); 26 break; 27 case 'GET': 28 curl_setopt($this->request, CURLOPT_HTTPGET, true); 29 break; 30 case 'POST': 31 curl_setopt($this->request, CURLOPT_POSTFIELDS, $vars); 32 curl_setopt($this->request, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Content-length: '.strlen($vars))); 33 curl_setopt($this->request, CURLOPT_POST, true); 34 break; 35 default: 36 curl_setopt($this->request, CURLOPT_CUSTOMREQUEST, $method); 37 } 39 38 } 40 39 41 40 protected function set_request_options($url) { 42 curl_setopt($this->request, CURLOPT_URL, $url);41 curl_setopt($this->request, CURLOPT_URL, $url); 43 42 44 $headers = array(45 'Content-Type:application/json',46 'X-Api-Version: 1.0.0',47 'X-Api-Key: ' . self::$apikey,48 'Origin: localhost',49 'Authorization: Basic '. base64_encode(self::$username . ':' . self::$serverapikey)50 );43 $headers = array( 44 'Content-Type:application/json', 45 'X-Api-Version: 1.0.0', 46 'X-Api-Key: ' . self::$apikey, 47 'Origin: localhost', 48 'Authorization: Basic '. base64_encode(self::$username . ':' . self::$serverapikey) 49 ); 51 50 52 # Set some default CURL options53 curl_setopt($this->request, CURLOPT_HTTPHEADER, $headers);54 curl_setopt($this->request, CURLOPT_RETURNTRANSFER, true);51 # Set some default CURL options 52 curl_setopt($this->request, CURLOPT_HTTPHEADER, $headers); 53 curl_setopt($this->request, CURLOPT_RETURNTRANSFER, true); 55 54 56 curl_setopt($this->request, CURLOPT_FOLLOWLOCATION, true); 57 curl_setopt($this->request, CURLOPT_SSL_VERIFYPEER, false); 58 curl_setopt($this->request, CURLOPT_SSL_VERIFYHOST, false); 59 curl_setopt($this->request, CURLOPT_CONNECTTIMEOUT ,self::TIMEOUT); 55 //curl_setopt($this->request, CURLOPT_FOLLOWLOCATION, true); 56 curl_setopt($this->request, CURLOPT_SSL_VERIFYPEER, false); 57 curl_setopt($this->request, CURLOPT_SSL_VERIFYHOST, false); 58 curl_setopt($this->request, CURLOPT_CONNECTTIMEOUT ,self::TIMEOUT); 59 } 60 61 function request($method, $url, $vars = array()) { 62 if (!empty($vars)) $vars = self::clean_array($vars); 63 $url = self::$base_uri . $url; 64 $this->error = ''; 65 $this->request = curl_init(); 66 if (is_array($vars)) { 67 if($method == 'POST') { 68 $vars = json_encode($vars); 69 } 70 else { 71 $vars = http_build_query($vars, '', '&'); 72 } 73 } 74 75 $this->set_request_method($method, $vars); 76 $this->set_request_options($url); 77 $response = curl_exec($this->request); 78 79 curl_close($this->request); 80 81 return self::process_response($response); 82 } 83 84 protected function get($url, $vars = array()) { 85 if (!empty($vars)) { 86 $url .= (stripos($url, '?') !== false) ? '&' : '?'; 87 $url .= (is_string($vars)) ? $vars : http_build_query($vars, '', '&'); 60 88 } 89 return $this->request('GET', $url); 90 } 61 91 62 function request($method, $url, $vars = array()) { 63 if (!empty($vars)) $vars = self::clean_array($vars); 64 $url = self::$base_uri . $url; 65 $this->error = ''; 66 $this->request = curl_init(); 67 if (is_array($vars)) { 68 if($method == 'POST') { 69 $vars = json_encode($vars); 70 } 71 else { 72 $vars = http_build_query($vars, '', '&'); 73 } 74 } 92 protected function delete($url, $vars = array()) { 93 return $this->request('DELETE', $url, $vars); 94 } 75 95 76 $this->set_request_method($method, $vars);77 $this->set_request_options($url);78 $response = curl_exec($this->request);96 protected function post($url, $vars = array()) { 97 return $this->request('POST', $url, $vars); 98 } 79 99 80 curl_close($this->request); 100 protected function put($url, $vars = array()) { 101 return $this->request('PUT', $url, $vars); 102 } 81 103 82 return self::process_response($response); 104 protected static function process_response($response) { 105 if ($response != NULL) { 106 try { 107 $response = json_decode($response, true); 108 } catch (Exception $e) { 109 } 83 110 } 111 return $response; 112 } 84 113 85 protected function get($url, $vars = array()) { 86 if (!empty($vars)) { 87 $url .= (stripos($url, '?') !== false) ? '&' : '?'; 88 $url .= (is_string($vars)) ? $vars : http_build_query($vars, '', '&'); 89 } 90 return $this->request('GET', $url); 114 115 public function getReviews($product) { 116 return $this->get('/feedback/' . $product['gpntype'] . '/' . $product['gpnvalue'] . '/' . $product['language'], array('limit' => 5)); 117 } 118 119 public function set_username($username) { 120 if ($username != null) { 121 self::$username = $username; 91 122 } 123 } 92 124 93 protected function delete($url, $vars = array()) { 94 return $this->request('DELETE', $url, $vars); 125 public function set_serverapikey($serverapikey) { 126 if ($serverapikey != null) { 127 self::$serverapikey = $serverapikey; 95 128 } 129 } 96 130 97 protected function post($url, $vars = array()) { 98 return $this->request('POST', $url, $vars); 131 public function set_apikey($apikey) { 132 if ($apikey != null) { 133 self::$apikey = $apikey; 99 134 } 135 } 100 136 101 protected function put($url, $vars = array()) { 102 return $this->request('PUT', $url, $vars); 137 protected static function build_request(array $params, array $request_params) { 138 $request = array(); 139 foreach ($params as $key => $value) { 140 if (array_key_exists($key, $request_params)) { 141 $request[$value] = $request_params[$key]; 142 } 103 143 } 144 return $request; 145 } 104 146 105 protected static function process_response($response) { 106 if ($response != NULL) { 107 try { 108 $response = json_decode($response, true); 109 } catch (Exception $e) { 147 protected static function clean_array(array $array){ 148 149 foreach( $array as $key => $value ) { 150 if( is_array( $value ) ) { 151 foreach( $value as $key2 => $value2 ) { 152 if( empty( $value2 ) ) 153 unset( $array[ $key ][ $key2 ] ); 110 154 } 111 155 } 112 return $response; 156 if( empty( $array[ $key ] ) ) 157 unset( $array[ $key ] ); 113 158 } 114 115 116 public function getReviews($product) { 117 return $this->get('/feedback/' . $product['gpntype'] . '/' . $product['gpnvalue'] . '/' . $product['language'], array('limit' => 5)); 118 } 119 120 public function set_username($username) { 121 if ($username != null) { 122 self::$username = $username; 123 } 124 } 125 126 public function set_serverapikey($serverapikey) { 127 if ($serverapikey != null) { 128 self::$serverapikey = $serverapikey; 129 } 130 } 131 132 public function set_apikey($apikey) { 133 if ($apikey != null) { 134 self::$apikey = $apikey; 135 } 136 } 137 138 protected static function build_request(array $params, array $request_params) { 139 $request = array(); 140 foreach ($params as $key => $value) { 141 if (array_key_exists($key, $request_params)) { 142 $request[$value] = $request_params[$key]; 143 } 144 } 145 return $request; 146 } 147 148 protected static function clean_array(array $array){ 149 150 foreach( $array as $key => $value ) { 151 if( is_array( $value ) ) { 152 foreach( $value as $key2 => $value2 ) { 153 if( empty( $value2 ) ) 154 unset( $array[ $key ][ $key2 ] ); 155 } 156 } 157 if( empty( $array[ $key ] ) ) 158 unset( $array[ $key ] ); 159 } 160 return $array; 161 } 159 return $array; 160 } 162 161 163 162 } -
rateitcool/trunk/readme.txt
r1253364 r1298994 4 4 Requires at least: 3.5.1 5 5 Tested up to: 4.1 6 Stable tag: 1.0. 16 Stable tag: 1.0.2 7 7 License: GPLv2 8 8 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 19 19 20 20 Use it everywhere. Integrate the rateit.cool service at your homepage, your shop or app. Show the product reviews everywhere you want. 21 22 = What is rateit.cool really all about? = 23 24 Watch this video on [youtube](https://www.youtube.com/watch?v=5k9tJmm3u08). 21 25 22 26 = The main features of rateit.cool = … … 76 80 2. Productlist element with reviews counts and average review value. 77 81 3. Reviews counts and average review value at the product detail page. 78 4. Product reviews on a example tab. 79 5. Product review form at order history. 80 5. Shop review form at order history. 82 4. Show Detail Reviews counts and average review value at the product detail page. 83 5. Product reviews on a example tab. 84 6. Product review form on a example tab. 85 7. Product review form at order history. 86 8. Shop review form at order history. 81 87 82 88 == Changelog == … … 87 93 = 1.0.1 - 09/24/2015 = 88 94 * Replace EAN with GTIN 95 96 = 1.0.2 - 12/02/2015 = 97 * Product detail review 98 * Public product review form -
rateitcool/trunk/templates/wc-rateitcool-settings.php
r1253364 r1298994 32 32 $apikey = $rateitcool_settings['apikey']; 33 33 $serverapikey = $rateitcool_settings['serverapikey']; 34 $securitytext = $rateitcool_settings['securitytext']; 34 35 35 36 $language_code = $rateitcool_settings['language_code']; … … 64 65 <td><input id='serverapikey' type='text' name='rateitcool_serverapikey' value='$serverapikey' /></td> 65 66 </tr> 67 <tr valign='top'> 68 <th scope='row'><div>Securitytext:</div></th> 69 <td><input id='serverapikey' type='text' name='rateitcool_securitytext' value='$securitytext' /></td> 70 </tr> 66 71 </fieldset> 67 72 <fieldset> … … 132 137 </tr> 133 138 <tr valign='top'> 139 <th scope='row'><div>Title of Overview table:</div></th> 140 <td><input type='text' name='review_overview_title' value='" . $rateitcool_settings['review_overview_title'] . "' /></td> 141 </tr> 142 <tr valign='top'> 143 <th scope='row'><div>Title of Detail table:</div></th> 144 <td><input type='text' name='review_detail_title' value='" . $rateitcool_settings['review_detail_title'] . "' /></td> 145 </tr> 146 147 <tr valign='top'> 148 <th scope='row'><div>Label for 'verified customer':</div></th> 149 <td><input type='text' name='verified' value='" . $rateitcool_settings['verified'] . "' /></td> 150 </tr> 151 <tr valign='top'> 152 <th scope='row'><div>Label for 'public review':</div></th> 153 <td><input type='text' name='public' value='" . $rateitcool_settings['public'] . "' /></td> 154 </tr> 155 <tr valign='top'> 156 <th scope='row'><div>Label for 'mobile app review':</div></th> 157 <td><input type='text' name='mobile' value='" . $rateitcool_settings['mobile'] . "' /></td> 158 </tr> 159 <tr valign='top'> 134 160 <th scope='row'><div>Show only five stars:</div></th> 135 161 <td><input type='text' name='show_only_five_stars' value='" . $rateitcool_settings['show_only_five_stars'] . "' /></td> … … 199 225 <td><input type='text' name='report_this_review' value='" . $rateitcool_settings['report_this_review'] . "' /></td> 200 226 </tr> 227 <tr valign='top'> 228 <th scope='row'><div>Write product review title (public view):</div></th> 229 <td><input type='text' name='write_a_product_review' value='" . $rateitcool_settings['write_a_product_review'] . "' /></td> 230 </tr> 201 231 <tr valign='top'> 202 232 <th scope='row'><div>Write product review title:</div></th> … … 232 262 </tr> 233 263 <tr valign='top'> 264 <th scope='row'><div>Review title global:</div></th> 265 <td><input type='text' name='review_global' value='" . $rateitcool_settings['review_global'] . "' /></td> 266 </tr> 267 <tr valign='top'> 234 268 <th scope='row'><div>Placeholder review title:</div></th> 235 269 <td><input type='text' name='placeholder_review_title' value='" . $rateitcool_settings['placeholder_review_title'] . "' /></td> … … 266 300 <th scope='row'><div>Write shop review hint:</div></th> 267 301 <td><input type='text' name='write_shop_review_hint' value='" . $rateitcool_settings['write_shop_review_hint'] . "' /></td> 302 </tr> 303 304 <tr valign='top'> 305 <th scope='row'><div>Please fill in the fellowing text:</div></th> 306 <td><input type='text' name='please_fill_in_the_fellowing_text' value='" . $rateitcool_settings['please_fill_in_the_fellowing_text'] . "' /></td> 268 307 </tr> 269 308 </fieldset> … … 294 333 'widget_location' => $_POST['rateitcool_widget_location'], 295 334 'language_code' => $_POST['rateitcool_widget_language_code'], 335 'securitytext' => $_POST['rateitcool_securitytext'], 296 336 'widget_tab_name' => $_POST['rateitcool_widget_tab_name'], 297 337 'bottom_line_enabled_product' => isset($_POST['rateitcool_bottom_line_enabled_product']) ? true : false, … … 303 343 304 344 'translation_review_template_title' => isset($_POST['translation_review_template_title']) ? $_POST['translation_review_template_title'] : $current_settings['translation_review_template_title'], 345 'review_overview_title' => isset($_POST['review_overview_title']) ? $_POST['review_overview_title'] : $current_settings['review_overview_title'], 346 'review_detail_title' => isset($_POST['review_detail_title']) ? $_POST['review_detail_title'] : $current_settings['review_detail_title'], 347 'verified' => isset($_POST['verified']) ? $_POST['verified'] : $current_settings['verified'], 348 'public' => isset($_POST['public']) ? $_POST['public'] : $current_settings['public'], 349 'mobile' => isset($_POST['mobile']) ? $_POST['mobile'] : $current_settings['remobileview_detail_title'], 305 350 'show_only_five_stars' => isset($_POST['show_only_five_stars']) ? $_POST['show_only_five_stars'] : $current_settings['show_only_five_stars'], 306 351 'show_only_four_stars' => isset($_POST['show_only_four_stars']) ? $_POST['show_only_four_stars'] : $current_settings['show_only_four_stars'], … … 320 365 'no_helpful_text' => isset($_POST['no_helpful_text']) ? $_POST['no_helpful_text'] : $current_settings['no_helpful_text'], 321 366 'report_this_review' => isset($_POST['report_this_review']) ? $_POST['report_this_review'] : $current_settings['report_this_review'], 322 367 'write_a_product_review' => isset($_POST['write_a_product_review']) ? $_POST['write_a_product_review'] : $current_settings['write_a_product_review'], 323 368 'write_product_review_title' => isset($_POST['write_product_review_title']) ? $_POST['write_product_review_title'] : $current_settings['write_product_review_title'], 324 369 'write_product_review_link' => isset($_POST['write_product_review_link']) ? $_POST['write_product_review_link'] : $current_settings['write_product_review_link'], … … 329 374 '4_stars_cool' => isset($_POST['4_stars_cool']) ? $_POST['4_stars_cool'] : $current_settings['4_stars_cool'], 330 375 '5_stars_coolest' => isset($_POST['5_stars_coolest']) ? $_POST['5_stars_coolest'] : $current_settings['5_stars_coolest'], 376 'review_global' => isset($_POST['review_global']) ? $_POST['review_global'] : $current_settings['review_global'], 331 377 'placeholder_review_title' => isset($_POST['placeholder_review_title']) ? $_POST['placeholder_review_title'] : $current_settings['placeholder_review_title'], 332 378 'placeholder_review_content' => isset($_POST['placeholder_review_content']) ? $_POST['placeholder_review_content'] : $current_settings['placeholder_review_content'], … … 338 384 'write_shop_review_title' => isset($_POST['write_shop_review_title']) ? $_POST['write_shop_review_title'] : $current_settings['write_shop_review_title'], 339 385 'write_shop_review_hint' => isset($_POST['write_shop_review_hint']) ? $_POST['write_shop_review_hint'] : $current_settings['write_shop_review_hint'], 340 386 'please_fill_in_the_fellowing_text' => isset($_POST['please_fill_in_the_fellowing_text']) ? $_POST['please_fill_in_the_fellowing_text'] : $current_settings['please_fill_in_the_fellowing_text'], 341 387 ); 342 388 update_option( 'rateitcool_settings', $new_settings ); -
rateitcool/trunk/wc_rateitcool.php
r1253364 r1298994 82 82 '<input type="hidden" name="stars" value="0"/> ' . 83 83 '<div class="ratings">' . 84 '<div class="star-rating oneStars" style="width: 17px;float:left;"title="' . $settings['1_stars_not_really_ok'] . '">' .85 '<span class="rate-it-cool-review-summary" style="width: 0;"></span>' . 86 '</div>' . 87 '<div class="star-rating twoStars" style="width: 17px;float:left;"title="' . $settings['2_stars_hm_ok'] . '">' .88 '<span class="rate-it-cool-review-summary" style="width: 0;"></span>' . 89 '</div>' . 90 '<div class="star-rating threeStars" style="width: 17px;float:left;"title="' . $settings['3_stars_ok'] . '">' .91 '<span class="rate-it-cool-review-summary" style="width: 0;"></span>' . 92 '</div>' . 93 '<div class="star-rating fourStars" style="width: 17px;float:left;"title="' . $settings['4_stars_cool'] . '">' .94 '<span class="rate-it-cool-review-summary" style="width: 0;"></span>' . 95 '</div>' . 96 '<div class="star-rating fiveStars" style="width: 17px;float:left;"title="' . $settings['5_stars_coolest'] . '">' .84 '<div class="star-rating oneStars" title="' . $settings['1_stars_not_really_ok'] . '">' . 85 '<span class="rate-it-cool-review-summary" style="width: 0;"></span>' . 86 '</div>' . 87 '<div class="star-rating twoStars" title="' . $settings['2_stars_hm_ok'] . '">' . 88 '<span class="rate-it-cool-review-summary" style="width: 0;"></span>' . 89 '</div>' . 90 '<div class="star-rating threeStars" title="' . $settings['3_stars_ok'] . '">' . 91 '<span class="rate-it-cool-review-summary" style="width: 0;"></span>' . 92 '</div>' . 93 '<div class="star-rating fourStars" title="' . $settings['4_stars_cool'] . '">' . 94 '<span class="rate-it-cool-review-summary" style="width: 0;"></span>' . 95 '</div>' . 96 '<div class="star-rating fiveStars" title="' . $settings['5_stars_coolest'] . '">' . 97 97 '<span class="rate-it-cool-review-summary" style="width: 0;"></span>' . 98 98 '</div>' . … … 143 143 '<input type="hidden" name="stars" value="0"/> ' . 144 144 '<div class="ratings">' . 145 '<div class="star-rating oneStars" style="width: 17px;float:left;"title="' . $settings['1_stars_not_really_ok'] . '">' .146 '<span class="rate-it-cool-review-summary" style="width: 0;"></span>' . 147 '</div>' . 148 '<div class="star-rating twoStars" style="width: 17px;float:left;"title="' . $settings['2_stars_hm_ok'] . '">' .149 '<span class="rate-it-cool-review-summary" style="width: 0;"></span>' . 150 '</div>' . 151 '<div class="star-rating threeStars" style="width: 17px;float:left;"title="' . $settings['3_stars_ok'] . '">' .152 '<span class="rate-it-cool-review-summary" style="width: 0;"></span>' . 153 '</div>' . 154 '<div class="star-rating fourStars" style="width: 17px;float:left;"title="' . $settings['4_stars_cool'] . '">' .155 '<span class="rate-it-cool-review-summary" style="width: 0;"></span>' . 156 '</div>' . 157 '<div class="star-rating fiveStars" style="width: 17px;float:left;"title="' . $settings['5_stars_coolest'] . '">' .145 '<div class="star-rating oneStars" title="' . $settings['1_stars_not_really_ok'] . '">' . 146 '<span class="rate-it-cool-review-summary" style="width: 0;"></span>' . 147 '</div>' . 148 '<div class="star-rating twoStars" title="' . $settings['2_stars_hm_ok'] . '">' . 149 '<span class="rate-it-cool-review-summary" style="width: 0;"></span>' . 150 '</div>' . 151 '<div class="star-rating threeStars" title="' . $settings['3_stars_ok'] . '">' . 152 '<span class="rate-it-cool-review-summary" style="width: 0;"></span>' . 153 '</div>' . 154 '<div class="star-rating fourStars" title="' . $settings['4_stars_cool'] . '">' . 155 '<span class="rate-it-cool-review-summary" style="width: 0;"></span>' . 156 '</div>' . 157 '<div class="star-rating fiveStars" title="' . $settings['5_stars_coolest'] . '">' . 158 158 '<span class="rate-it-cool-review-summary" style="width: 0;"></span>' . 159 159 '</div>' . … … 161 161 '<span class="rate-it-cool-star-text"></span>' . 162 162 '<div class="feedback-title">' . 163 '<input type="text" style="padding: 10px 0 10px 5px; width: 99% " name="feedbackTitle" placeholder="' . $settings['placeholder_review_title'] . '" />' .163 '<input type="text" style="padding: 10px 0 10px 5px; width: 99%;" name="feedbackTitle" placeholder="' . $settings['placeholder_review_title'] . '" />' . 164 164 '</div>' . 165 165 '<div class="feedback-content">' . … … 234 234 235 235 function wc_rateitcool_show_widget() { 236 236 237 $product = get_product(); 237 if($product->post-> comment_status == 'open') {238 if($product->post->post_status == 'publish') { 238 239 $product_data = wc_rateitcool_get_product_data($product); 239 240 $postData = $product->get_post_data(); … … 242 243 $rateitcool_api = new RateItCool($settings); 243 244 $rateitcool_reviews = $rateitcool_api->getReviews($product_data); 245 244 246 $rateitcool_div = "<div class='rate-it-cool-product-feedbacks' 245 247 data-gpntype='".$product_data['gpntype']."' … … 251 253 $rateitcool_div .= '<div itemscope itemtype="http://schema.org/Review">'; 252 254 $timeObj = new DateTime($review['time']); 253 $rateitcool_div .= '<meta itemprop="datePublished" content="' . date_i18n( 'Y-m-d', strtotime( '11/15-1976' ) ) . '">' . date_i18n( get_option( 'date_format' ), strtotime( '11/15-1976') );255 $rateitcool_div .= '<meta itemprop="datePublished" content="' . date_i18n( 'Y-m-d', $timeObj->getTimestamp() ) . '">' . date_i18n( get_option( 'date_format' ), $timeObj->getTimestamp() ); 254 256 $rateitcool_div .= '<div itemprop="itemReviewed" itemscope itemtype="http://schema.org/Product">'; 255 257 $rateitcool_div .= '<span itemprop="name">' . $postData->post_title . '</span>'; … … 272 274 $rateitcool_div .= "</div>"; 273 275 echo $rateitcool_div; 274 echo wc_rateitcool_get_feedback_template(); 276 echo wc_rateitcool_get_feedback_template($product); 277 275 278 } 276 279 } … … 278 281 function wc_rateitcool_show_qa_bottomline() { 279 282 $product_data = wc_rateitcool_get_product_data(get_product()); 280 echo " QA BLA<div class='yotpo QABottomLine'283 echo "<div class='yotpo QABottomLine' 281 284 data-appkey='".$product_data['app_key']."' 282 285 data-product-id='".$product_data['id']."'></div>"; … … 297 300 echo ' data-gpntype="' . $settings['username'] . '"'; 298 301 echo ' data-gpnvalue="' . get_post_meta( $product->id, '_sku', true ) . '"'; 302 echo ' data-language="'. implode('_', explode('-', get_bloginfo('language'))) .'"'; 299 303 } else { 300 304 echo ' data-gpntype="' . $settings['rateitcool_gpntype'] . '"'; 301 305 echo ' data-gpnvalue="' . $gpn .'"'; 306 echo ' data-language="'. implode('_', explode('-', get_bloginfo('language'))) .'"'; 302 307 } 303 308 echo '><span class="star-rating"><span class="rate-it-cool-review-summary" style="width:0%"></span></span> (<span class="rate-it-cool-review-counts">0</span>)</div>'; … … 320 325 echo ' data-gpntype="' . $settings['username'] . '"'; 321 326 echo ' data-gpnvalue="' . get_post_meta( $product->id, '_sku', true ) . '"'; 327 echo ' data-language="'. implode('_', explode('-', get_bloginfo('language'))) .'"'; 322 328 } else { 323 329 echo ' data-gpntype="' . $settings['rateitcool_gpntype'] . '"'; 324 330 echo ' data-gpnvalue="' . $gpn .'"'; 325 } 326 echo '><span class="star-rating"><span class="rate-it-cool-review-summary" style="width:0%"></span></span> (<span class="rate-it-cool-review-counts">0</span>)</div>'; 331 echo ' data-language="'. implode('_', explode('-', get_bloginfo('language'))) .'"'; 332 } 333 echo '><span class="star-rating"><span class="rate-it-cool-review-summary" style="width:0%"></span></span> (<span class="rate-it-cool-review-counts">0</span>)'; 334 echo '<span class="rate-it-cool-show-stars" style="display:none;">+</span>'; 335 echo '</div>'; 336 echo '<div class="ratings rate-it-cool-stars-detail-table" style="display: none;">' . 337 '<table style="width:100%;">' . 338 '<tbody>' . 339 '<tr>' . 340 '<th colspan="2">' . $settings['review_overview_title'] . '</th>' . 341 '</tr>' . 342 '</tbody>' . 343 '<tr>' . 344 '<td class="stars">'. 345 '<div class="star-rating">'. 346 '<span class="rating" style="width: 100%;"></span>'. 347 '</div>'. 348 '</td>'. 349 '<td>$review.star5</td>'. 350 '</tr>'. 351 '<tr>'. 352 '<td class="stars">'. 353 '<div class="star-rating">'. 354 '<span class="rating" style="width: 75%;"></span>'. 355 '</div>'. 356 '</td>'. 357 '<td>$review.star4</td>'. 358 '</tr>'. 359 '<tr>'. 360 '<td class="stars">'. 361 '<div class="star-rating">'. 362 '<span class="rating" style="width: 55%;"></span>'. 363 '</div>'. 364 '</td>'. 365 '<td>$review.star3</td>'. 366 '</tr>'. 367 '<tr>'. 368 '<td class="stars">'. 369 '<div class="star-rating">'. 370 '<span class="rating" style="width: 35%;"></span>'. 371 '</div>'. 372 '</td>'. 373 '<td>$review.star2</td>'. 374 '</tr>'. 375 '<tr>'. 376 '<td class="stars">'. 377 '<div class="star-rating">'. 378 '<span class="rating" style="width: 20%;"></span>'. 379 '</div>'. 380 '</td>'. 381 '<td>$review.star1</td>'. 382 '</tr>'. 383 '</table>'. 384 '<table style="width:100%;$details.display">'. 385 '<tbody>'. 386 '<tr>'. 387 '<th colspan="2">' . $settings['review_detail_title'] . ' ($details.total/$review.total)</th>'. 388 '</tr>'. 389 '</tbody>'. 390 '<tr style="$details.detail1.display">'. 391 '<td>$details.detail1.title</td>'. 392 '<td class="stars">'. 393 '<div class="star-rating">'. 394 '<div class="rating" style="width: $review.details.detail1%;"></div>'. 395 '</div>'. 396 '</td>'. 397 '</tr>'. 398 '<tr style="$details.detail2.display">'. 399 '<td>$details.detail2.title</td>'. 400 '<td class="stars">'. 401 '<div class="star-rating">'. 402 '<div class="rating" style="width: $review.details.detail2%;"></div>'. 403 '</div>'. 404 '</td>'. 405 '</tr>'. 406 '<tr style="$details.detail3.display">'. 407 '<td>$details.detail3.title</td>'. 408 '<td class="stars">'. 409 '<div class="star-rating">'. 410 '<div class="rating" style="width: $review.details.detail3%;"></div>'. 411 '</div>'. 412 '</td>'. 413 '</tr>'. 414 '<tr style="$details.detail4.display">'. 415 '<td>$details.detail4.title</td>'. 416 '<td class="stars">'. 417 '<div class="star-rating">'. 418 '<div class="rating" style="width: $review.details.detail4%;"></div>'. 419 '</div>'. 420 '</td>'. 421 '</tr>'. 422 '</table>'. 423 '</div>'; 327 424 } 328 425 … … 372 469 $product_data['gpnvalue'] = $gpn; 373 470 } 374 $product_data['language'] = $settings['language_code'];471 $product_data['language'] = implode('_', explode('-', get_bloginfo('language'))); 375 472 if($settings['rateitcool_language_as_site'] == true) { 376 473 $product_data['language'] = implode('_', explode('-', get_bloginfo('language'))); … … 390 487 'apikey' => '', 391 488 'serverapikey' => '', 489 'securitytext' => '', 392 490 'widget_location' => 'tab', 393 491 'language_code' => implode('_', explode('-', get_bloginfo('language'))), … … 399 497 'disable_native_review_system' => true, 400 498 'native_star_ratings_enabled' => 'no', 401 499 'write_a_product_review' => 'Write a product review', 402 500 'translation_review_template_title' => 'Reviews', 501 'review_overview_title' => 'Overview', 502 'review_detail_title' => 'Detail', 403 503 'show_only_five_stars' => 'Show only reviews with 5 stars', 404 504 'show_only_four_stars' => 'Show only reviews with 4 stars', … … 418 518 'no_helpful_text' => 'No', 419 519 'report_this_review' => 'Report this review.', 420 520 'verified' => 'Verified Customer', 521 'public' => 'Public Review', 522 'mobile' => 'Mobile App Review', 421 523 'write_product_review_title' => 'Product Review for', 422 524 'write_product_review_link' => 'Write Product reviews', 423 525 'write_product_review_hint' => 'A product review contains the voting about the product itself. It contains not the voting about the shop, shipping and other things.', 424 '1_stars_not_really_ok' => 'not really ok', 425 '2_stars_hm_ok' => 'hm ok', 426 '3_stars_ok' => 'ok', 427 '4_stars_cool' => 'cool', 428 '5_stars_coolest' => 'coolest', 526 '1_stars_not_really_ok' => '1_stars_not_really_ok', 527 '2_stars_hm_ok' => '2_stars_hm_ok', 528 '3_stars_ok' => '3_stars_ok', 529 '4_stars_cool' => '4_stars_cool', 530 '5_stars_coolest' => '5_stars_coolest', 531 'review_global' => 'Global', 429 532 'placeholder_review_title' => 'Title of the review', 430 533 'placeholder_review_content' => 'Content of the review', … … 436 539 'write_shop_review_title' => 'Review for this shop', 437 540 'write_shop_review_hint' => 'A shop review contains the voting about the shop itself, shipping and other things.', 438 541 'please_fill_in_the_fellowing_text' => 'Please fill in the fellowing text', 439 542 ); 440 543 } … … 464 567 } 465 568 466 function wc_rateitcool_get_feedback_template( ) {569 function wc_rateitcool_get_feedback_template($product) { 467 570 $settings = get_option('rateitcool_settings',wc_rateitcool_get_default_settings()); 468 571 $template = '<div id="rate-it-cool-product-feedbacks-template" style="display:none;">' . 469 572 '<div class="feedbackElements">' . 470 573 '<div class="overview">' . 471 $settings['translation_review_template_title'].574 '<h3>' . $settings['translation_review_template_title'] . '</h3>'. 472 575 '<table class="feedbackOverview">' . 473 576 '<tr>' . … … 532 635 '</tr>' . 533 636 '</table>' . 534 '</div>' . 637 '<table class="rate-it-cool-detail-stars" style="$detail.show">' . 638 '<thead>' . 639 '<tr>' . 640 '<th colspan="2">' . $settings['review_detail_title'] . ' ($details.total / $overview.total)</th>' . 641 '</tr>' . 642 '</thead>' . 643 '<tr style="$details.detail1.display">' . 644 '<td>$details.detail1.title</td>' . 645 '<td class="ratings">' . 646 '<div class="star-rating">' . 647 '<span class="rating" style="width:$detail.detail1%;"></span>' . 648 '</div>'. 649 '</td>'. 650 '</tr>'. 651 '<tr style="$details.detail2.display">'. 652 '<td>$details.detail2.title</td>'. 653 '<td class="ratings">'. 654 '<div class="star-rating">'. 655 '<span class="rating" style="width:$detail.detail2%;"></span>'. 656 '</div>'. 657 '</td>'. 658 '</tr>'. 659 '<tr style="$details.detail3.display">'. 660 '<td>$details.detail3.title</td>'. 661 '<td class="ratings">'. 662 '<div class="star-rating">'. 663 '<span class="rating" style="width:$detail.detail3%;"></span>'. 664 '</div>'. 665 '</td>'. 666 '</tr>'. 667 '<tr style="$details.detail4.display">'. 668 '<td>$details.detail4.title</td>'. 669 '<td class="ratings">'. 670 '<div class="star-rating">'. 671 '<span class="rating" style="width:$detail.detail4%;"></span>'. 672 '</div>'. 673 '</td>'. 674 '</tr>'. 675 '</table>'. 676 '<div class="clearfix"></div>'. 677 '</div><hr/>' . 678 '<div class="rate-it-cool-product-public-feedbackform">'. 679 '<div class="rate-it-cool-product-feedbackform">'. 680 '<a href="#" '. 681 'class="rateit-cool-show-feedbackform-link" '. 682 'title="'. $settings['write_a_product_review'] . '">'. $settings['write_a_product_review'] . '</a>'. 683 '</div><hr/>'. 684 '<div id="feedbackform" class="rate-it-cool-feedback-form" style="display:none;">'. 685 '<h3>'. $settings['write_product_review_title'] . ' ' . $product->post->post_title . '</h3>' . 686 '<form name="productDetailFeedbackform$gpnvalue">'. 687 '<input type="hidden" name="gpntype" value="$gpntype"/>'. 688 '<input type="hidden" name="gpnvalue" value="$gpnvalue"/>'. 689 '<input type="hidden" name="source" value="public"/>'. 690 '<input type="hidden" name="language" value="' . implode('_', explode('-', get_bloginfo('language'))). '"/>'. 691 '<table>'. 692 '<tr>'. 693 '<td class="label second">' . $settings['review_global'] . '</td>'. 694 '<td class="ratings">'. 695 '<span class="reviewStars">'. 696 '<input type="hidden" class="stars" name="stars" value="0"/>'. 697 '<div class="star-rating oneStars" title="' . $settings['1_stars_not_really_ok'] . '">'. 698 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 699 '</div>'. 700 '<div class="star-rating twoStars" title="' . $settings['2_stars_hm_ok'] . '">'. 701 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 702 '</div>'. 703 '<div class="star-rating threeStars" title="' . $settings['3_stars_ok'] . '">'. 704 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 705 '</div>'. 706 '<div class="star-rating fourStars" title="' . $settings['4_stars_cool'] . '">'. 707 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 708 '</div>'. 709 '<div class="star-rating fiveStars" title="' . $settings['5_stars_coolest'] . '">'. 710 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 711 '</div>'. 712 '</div>'. 713 '</span>'. 714 '</td>'. 715 '</tr>'. 716 '<tr class="reviewDetail1" style="display:none;">'. 717 '<td class="label"></td>'. 718 '<td class="ratings">'. 719 '<span class="reviewStars">'. 720 '<input type="hidden" class="stars" name="detail1" value="0"/>'. 721 '<div class="star-rating oneStars" title="' . $settings['1_stars_not_really_ok'] . '">'. 722 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 723 '</div>'. 724 '<div class="star-rating twoStars" title="' . $settings['2_stars_hm_ok'] . '">'. 725 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 726 '</div>'. 727 '<div class="star-rating threeStars" title="' . $settings['3_stars_ok'] . '">'. 728 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 729 '</div>'. 730 '<div class="star-rating fourStars" title="' . $settings['4_stars_cool'] . '">'. 731 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 732 '</div>'. 733 '<div class="star-rating fiveStars" title="' . $settings['5_stars_coolest'] . '">'. 734 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 735 '</div>'. 736 '</div>'. 737 '</span>'. 738 '</td>'. 739 '</tr>'. 740 '<tr class="reviewDetail2" style="display:none;">'. 741 '<td class="label second"></td>'. 742 '<td class="ratings">'. 743 '<span class="reviewStars">'. 744 '<input type="hidden" class="stars" name="detail2" value="0"/>'. 745 '<div class="star-rating oneStars" title="' . $settings['1_stars_not_really_ok'] . '">'. 746 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 747 '</div>'. 748 '<div class="star-rating twoStars" title="' . $settings['2_stars_hm_ok'] . '">'. 749 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 750 '</div>'. 751 '<div class="star-rating threeStars" title="' . $settings['3_stars_ok'] . '">'. 752 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 753 '</div>'. 754 '<div class="star-rating fourStars" title="' . $settings['4_stars_cool'] . '">'. 755 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 756 '</div>'. 757 '<div class="star-rating fiveStars" title="' . $settings['5_stars_coolest'] . '">'. 758 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 759 '</div>'. 760 '</div>'. 761 '</span>'. 762 '</td>'. 763 '</tr>'. 764 '<tr class="reviewDetail3" style="display:none;">'. 765 '<td class="label"></td>'. 766 '<td class="ratings">'. 767 '<span class="reviewStars">'. 768 '<input type="hidden" class="stars" name="detail3" value="0"/>'. 769 '<div class="star-rating oneStars" title="' . $settings['1_stars_not_really_ok'] . '">'. 770 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 771 '</div>'. 772 '<div class="star-rating twoStars" title="' . $settings['2_stars_hm_ok'] . '">'. 773 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 774 '</div>'. 775 '<div class="star-rating threeStars" title="' . $settings['3_stars_ok'] . '">'. 776 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 777 '</div>'. 778 '<div class="star-rating fourStars" title="' . $settings['4_stars_cool'] . '">'. 779 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 780 '</div>'. 781 '<div class="star-rating fiveStars" title="' . $settings['5_stars_coolest'] . '">'. 782 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 783 '</div>'. 784 '</div>'. 785 '</span>'. 786 '</td>'. 787 '</tr>'. 788 '<tr class="reviewDetail4" style="display:none;">'. 789 '<td class="label second"></td>'. 790 '<td class="ratings">'. 791 '<span class="reviewStars">'. 792 '<input type="hidden" class="stars" name="detail4" value="0"/>'. 793 '<div class="star-rating oneStars" title="' . $settings['1_stars_not_really_ok'] . '">'. 794 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 795 '</div>'. 796 '<div class="star-rating twoStars" title="' . $settings['2_stars_hm_ok'] . '">'. 797 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 798 '</div>'. 799 '<div class="star-rating threeStars" title="' . $settings['3_stars_ok'] . '">'. 800 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 801 '</div>'. 802 '<div class="star-rating fourStars" title="' . $settings['4_stars_cool'] . '">'. 803 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 804 '</div>'. 805 '<div class="star-rating fiveStars" title="' . $settings['5_stars_coolest'] . '">'. 806 '<span class="rating rate-it-cool-review-summary-empty rate-it-cool-review-summary"></span>'. 807 '</div>'. 808 '</div>'. 809 '</span>'. 810 '</td>'. 811 '</tr>'. 812 '</table>'. 813 '<br/>'. 814 '<div class="feedback-title">'. 815 '<input type="text" name="feedbackTitle" placeholder="' . $settings['placeholder_review_title'] . '" />'. 816 '</div>'. 817 '<div class="feedback-content">'. 818 '<textarea name="feedbackContent" placeholder="' . $settings['placeholder_review_content'] . '"></textarea>'. 819 '</div>'. 820 '<div class="feedback-recommend">'. 821 '<input name="recommend" type="checkbox"> ' . $settings['review_recommend_a_friend'] . 822 '</div>'. 823 '<br/>'. 824 '<div class="feedback-title">'. 825 $settings['please_fill_in_the_fellowing_text'] . ': <b>' . $settings['securitytext'] . '</b>'. 826 '<br/>'. 827 '<input name="securityText" type="text" placeholder="">'. 828 '</div>'. 829 '<br/>'. 830 '<div class="rateit-cool-send-feedback">'. 831 '<a href="#" data-formname="productDetailFeedbackform$gpnvalue" class="button rateit-cool-send-produkt-feedback">' . $settings['review_send_link'] . '</a>'. 832 '</div>'. 833 '</form>'. 834 '<div class="rateit-cool-send-feedback-success" style="display:none">'. 835 $settings['thank_you_for_the_review'] . 836 '</div>'. 837 '<div class="rateit-cool-send-feedback-error" style="display:none">'. 838 $settings['error_send_the_review'] . 839 '</div><hr/>'. 840 '</div>'. 841 '</div>'. 535 842 '<div class="recommend">' . 536 843 $settings['customer_recommend_this'] . ': $recommend%' . … … 545 852 '</select>' . 546 853 '</span>' . 547 '</div> ' .854 '</div><hr/>' . 548 855 '<dl class="list">$list</dl>' . 549 856 '<div class="showmoreContainer">' . … … 558 865 '<span style="width:$review.stars%;"></span>' . 559 866 '</div>' . 560 '<span class="date">($review.time)</span>' . 561 '<h3>$review.title</h3>' . 867 '<span class="date">$review.time</span>' . 868 '<br />'. 869 '<span class="rate-it-cool-verified" style="$review.verified_source">' . $settings['verified'] . '</span>'. 870 '<h3>$review.title</h3>' . 871 '<span class="rate-it-cool-public" style="$review.public_source">' . $settings['public'] . '</span>'. 872 '<span class="rate-it-cool-mobile" style="$review.mobile_source">' . $settings['mobile'] . '</span>'. 562 873 '</dt>' . 563 874 '<dd>' .
Note: See TracChangeset
for help on using the changeset viewer.