Files
grzanieplus.pl/apps/frontend/modules/stReview/templates/listReviewsSuccess.php
2025-03-12 17:06:23 +01:00

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>