367 lines
9.8 KiB
PHP
367 lines
9.8 KiB
PHP
<?php
|
|
st_theme_use_stylesheet('w3.css');
|
|
|
|
$results=array();
|
|
|
|
$scores = 0;
|
|
$scores_point = 0;
|
|
$ii = 0;
|
|
$star[5] = 0;
|
|
$star[4] = 0;
|
|
$star[3] = 0;
|
|
$star[2] = 0;
|
|
$star[1] = 0;
|
|
|
|
if(isset($pin_reviews)){
|
|
|
|
foreach ($pin_reviews as $review)
|
|
{
|
|
if ($review->getActive()==1 && $review->getAgreement()==1 || $review->getActive()==1 && $review->getUserIp()== $user_ip)
|
|
{
|
|
$scores += $review->getScore();
|
|
|
|
if($review->getScore()>0){
|
|
$ii++;
|
|
$star[$review->getScore()] = $star[$review->getScore()]+1;
|
|
}
|
|
|
|
|
|
|
|
$row['show_review']=$review->getActive()==1 && $review->getAgreement()==1;
|
|
|
|
if ($review->getSfGuardUserId()<>0)
|
|
{
|
|
$row['is_user']=$review->getSfGuardUserId()<>0;
|
|
$row['author']=$review->getUsername();
|
|
}
|
|
else
|
|
{
|
|
if ($review->getAdminName())
|
|
{
|
|
$row['is_admin']=$review->getAdminName();
|
|
$row['author']=$review->getAdminName();
|
|
}
|
|
else
|
|
{
|
|
$row['author']=$review->getUsername();
|
|
}
|
|
}
|
|
$row['score']=$review->getScore();
|
|
$row['order_id']=$review->getOrderId();
|
|
|
|
$input_date = $review->getCreatedAt('d-m-Y');
|
|
|
|
// Tworzenie obiektów DateTime
|
|
$dateTimeInput = new DateTime($input_date);
|
|
|
|
$dateTimeSixMonthsAgo = new DateTime();
|
|
$dateTimeSixMonthsAgo->modify("-6 months");
|
|
|
|
// Porównanie dat
|
|
if ($dateTimeInput < $dateTimeSixMonthsAgo) {
|
|
$i18n = $this->getContext()->getI18n();
|
|
$row['created_at'] = $i18n->__('ponad pół roku temu');
|
|
}else{
|
|
$row['created_at']=$review->getCreatedAt('d-m-Y');
|
|
}
|
|
|
|
$row['description']=$review->getDescription();
|
|
$row['is_pin_review']=$review->getIsPinReview();
|
|
$row['user_picture']=$review->getUserPicture();
|
|
$row['user_facebook']=$review->getUserFacebook();
|
|
$row['user_instagram']=$review->getUserInstagram();
|
|
$row['user_youtube']=$review->getUserYoutube();
|
|
$row['user_twitter']=$review->getUserTwitter();
|
|
$row['user_review_verified']=$review->getUserReviewVerified();
|
|
|
|
$short = explode(" ", $row['author']);
|
|
|
|
$first = $short[0];
|
|
$secund = $short[1];
|
|
|
|
$name = mb_substr($first, 0, 1).mb_substr($secund, 0, 1);
|
|
|
|
$row['user_shortname']=$name;
|
|
|
|
if($review->getUserIp()== $user_ip)
|
|
{
|
|
$row['user_ip']=true;
|
|
}
|
|
else
|
|
{
|
|
$row['user_ip']=false;
|
|
}
|
|
|
|
$row['language']=$review->getLanguage();
|
|
$row['agreement']=$review->getAgreement();
|
|
|
|
if($filter_score){
|
|
|
|
if ($review->getScore()==$filter_score)
|
|
{
|
|
$results[]=$row;
|
|
}
|
|
|
|
}else{
|
|
$results[]=$row;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
if(isset($reviews)){
|
|
|
|
foreach ($reviews as $review)
|
|
{
|
|
if ($review->getActive()==1 && $review->getAgreement()==1 || $review->getActive()==1 && $review->getUserIp()== $user_ip)
|
|
{
|
|
$scores += $review->getScore();
|
|
|
|
if($review->getScore()>0){
|
|
$ii++;
|
|
$star[$review->getScore()] = $star[$review->getScore()]+1;
|
|
}
|
|
|
|
$row['show_review']=$review->getActive()==1 && $review->getAgreement()==1;
|
|
|
|
if ($review->getSfGuardUserId()<>0)
|
|
{
|
|
$row['is_user']=$review->getSfGuardUserId()<>0;
|
|
$row['author']=$review->getUsername();
|
|
}
|
|
else
|
|
{
|
|
if ($review->getAdminName())
|
|
{
|
|
$row['is_admin']=$review->getAdminName();
|
|
$row['author']=$review->getAdminName();
|
|
}
|
|
else
|
|
{
|
|
$row['author']=$review->getUsername();
|
|
}
|
|
}
|
|
$row['score']=$review->getScore();
|
|
$row['order_id']=$review->getOrderId();
|
|
|
|
$input_date = $review->getCreatedAt('d-m-Y');
|
|
|
|
// Tworzenie obiektów DateTime
|
|
$dateTimeInput = new DateTime($input_date);
|
|
|
|
$dateTimeSixMonthsAgo = new DateTime();
|
|
$dateTimeSixMonthsAgo->modify("-6 months");
|
|
|
|
// Porównanie dat
|
|
if ($dateTimeInput < $dateTimeSixMonthsAgo) {
|
|
$i18n = $this->getContext()->getI18n();
|
|
$row['created_at'] = $i18n->__('ponad pół roku temu');
|
|
}else{
|
|
$row['created_at']=$review->getCreatedAt('d-m-Y');
|
|
}
|
|
|
|
|
|
|
|
$row['description']=$review->getDescription();
|
|
$row['is_pin_review']=$review->getIsPinReview();
|
|
|
|
$row['user_picture']=$review->getUserPicture();
|
|
$row['user_facebook']=$review->getUserFacebook();
|
|
$row['user_instagram']=$review->getUserInstagram();
|
|
$row['user_youtube']=$review->getUserYoutube();
|
|
$row['user_twitter']=$review->getUserTwitter();
|
|
$row['user_review_verified']=$review->getUserReviewVerified();
|
|
|
|
$short = explode(" ", $row['author']);
|
|
|
|
$first = $short[0];
|
|
$secund = $short[1];
|
|
|
|
$name = mb_substr($first, 0, 1).mb_substr($secund, 0, 1);
|
|
|
|
$row['user_shortname']=$name;
|
|
|
|
if($review->getUserIp()== $user_ip)
|
|
{
|
|
$row['user_ip']=true;
|
|
}
|
|
else
|
|
{
|
|
$row['user_ip']=false;
|
|
}
|
|
|
|
$row['language']=$review->getLanguage();
|
|
$row['agreement']=$review->getAgreement();
|
|
|
|
if($filter_score){
|
|
|
|
if ($review->getScore()==$filter_score)
|
|
{
|
|
$results[]=$row;
|
|
}
|
|
|
|
}else{
|
|
$results[]=$row;
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
if ($scores != 0)
|
|
{
|
|
$scores_point = round($scores / $ii, 1);
|
|
|
|
$scores = round(round($scores / $ii, 1));
|
|
}
|
|
|
|
if(isset($pin_reviews) || isset($reviews)){
|
|
|
|
|
|
|
|
$smarty->assign('results',$results);
|
|
$smarty->assign('scores',$scores);
|
|
$smarty->assign('scores_point',$scores_point);
|
|
$smarty->assign('star',$star);
|
|
$smarty->assign('count_review',$ii);
|
|
$smarty->assign('lockd_add', $lockd_add);
|
|
|
|
|
|
$total = array_sum($star);
|
|
$percentages = array();
|
|
|
|
foreach ($star as $key => $value) {
|
|
if ($total == 0) {
|
|
$percentages[$key] = 0;
|
|
} else {
|
|
$percentages[$key] = round(($value / $total) * 100);
|
|
}
|
|
}
|
|
|
|
$smarty->assign('percentages',$percentages);
|
|
|
|
$smarty->assign('filter_confirm',$filter_confirm);
|
|
|
|
$smarty->assign('filter_score',$filter_score);
|
|
|
|
|
|
}
|
|
|
|
|
|
$smarty->assign('culture',$culture);
|
|
|
|
$smarty->display('review_list_reviews.html');
|
|
?>
|
|
|
|
<script type="text/javascript" language="javascript">
|
|
jQuery(function ($)
|
|
{
|
|
|
|
$(document).ready(function ()
|
|
{
|
|
|
|
|
|
$('#add-review-btn').click(function(){
|
|
showReviewPopUp();
|
|
} );
|
|
|
|
|
|
function showReviewPopUp(){
|
|
|
|
$('#star_raiting_modal').modal('show');
|
|
|
|
$.get('<?php echo url_for('stReview/showAddOverlay') ?>', { 'value': '5','product_id':'<?php echo $product_id; ?>','hash_code':''}, function(data)
|
|
{
|
|
$('#star_raiting').html(data);
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Hide them all
|
|
$(".more-box").hide();
|
|
|
|
// Show first three, if they exist
|
|
$(".more-box").slice(0, 3).show();
|
|
|
|
// If there are less than 3 ".more-box", hide the #loadMore button
|
|
if($(".more-box").length <= 3){
|
|
$("#loadMore").hide();
|
|
}
|
|
|
|
$("#loadMore").on('click', function(e) {
|
|
e.preventDefault();
|
|
|
|
// If there is no hidden elements
|
|
if($(".more-box:hidden").length === 0){
|
|
$(".more-box").hide();
|
|
$(".more-box").slice(0, 3).show();
|
|
}
|
|
// If there is at least one hidden element
|
|
else {
|
|
$(".more-box:hidden").slice(0, 3).fadeIn();
|
|
}
|
|
|
|
// Check if all ".more-box" elements are now visible
|
|
if($(".more-box:hidden").length === 0){
|
|
// If all elements are visible, hide the #loadMore button
|
|
$("#loadMore").hide();
|
|
}
|
|
});
|
|
|
|
|
|
|
|
function filterReview(isChecked,score)
|
|
{
|
|
|
|
$.get('<?php echo url_for('stReview/listReviews') ?>', { 'id': <?php echo $product_id; ?>,'filter_confirm':isChecked, 'filter_score':score }, function(data)
|
|
{
|
|
$('#product-tab-review').html(data);
|
|
});
|
|
|
|
}
|
|
|
|
|
|
$('#confirm-reviews').change(function() {
|
|
|
|
var score = <?php echo $filter_score; ?>;
|
|
|
|
var isChecked = $('#confirm-reviews').is(':checked');
|
|
|
|
filterReview(isChecked,score);
|
|
});
|
|
|
|
$('.score-row').click(function() {
|
|
|
|
var isChecked = $('#confirm-reviews').is(':checked');
|
|
|
|
var id = $(this).attr('id');
|
|
var score = id.split('score-')[1];
|
|
|
|
|
|
filterReview(isChecked,score);
|
|
|
|
});
|
|
|
|
$('#clear-filter').click(function() {
|
|
|
|
var isChecked = $('#confirm-reviews').is(':checked');
|
|
var score = 0;
|
|
|
|
filterReview(isChecked,score);
|
|
|
|
});
|
|
|
|
|
|
});
|
|
|
|
});
|
|
</script>
|