Вход Регистрация
Файл: system/controllers/rating/frontend.php
Строк: 73
<?php

class rating extends cmsFrontend {

    protected 
$useOptions true;

    private 
$target_controller;
    private 
$target_subject;

    private 
$user_voted = [];
    private 
$total_voted 0;
    private 
$label '';

    public function 
__construct($request){

        
parent::__construct($request);

        
$this->target_controller $this->request->get('target_controller''');
        
$this->target_subject    $this->request->get('target_subject''');

    }

    public function 
setLabel($label) {
        
$this->label $label; return $this;
    }

    public function 
loadCurrentUserVoted($target_ids) {

        
$this->user_voted $this->model->getUserVotesTargets([
            
$this->target_controller$this->target_subject$target_ids
        
], $this->cms_user, !empty($this->options['allow_guest_vote']));

        return 
$this;

    }

    public function 
setTotalVoted($total_voted) {

        
$this->total_voted $total_voted;

        return 
$this;

    }

    public function 
loadCurrentTotalVoted($target_id) {

        
$this->model->filterVotes($this->target_controller$this->target_subject$target_id);

        return 
$this->setTotalVoted($this->model->getVotesCount(true));

    }

    public function 
isUserVoted($target_id) {
        return 
in_array($target_id$this->user_voted);
    }

    public function 
setContext($target_controller$target_subject) {

        
$this->target_controller $target_controller;
        
$this->target_subject    $target_subject;

    }

    public function 
getWidget($target_id$current_rating$is_enabled true) {

        
// разрешено ли голосование гостям
        
if(!$this->cms_user->is_logged && !empty($this->options['allow_guest_vote'])){
            
$is_enabled true;
        }

        
$is_voted $this->isUserVoted($target_id);

        
$template_name = !empty($this->options['template']) ? $this->options['template'] : 'widget';

        return 
$this->cms_template->renderInternal($this$template_name, array(
            
'show_rating'       => !($this->options['is_hidden'] && !$is_voted && ($is_enabled || !$this->cms_user->is_logged)),
            
'options'           => $this->options,
            
'label'             => $this->label,
            
'total_voted'       => $this->total_voted,
            
'target_controller' => $this->target_controller,
            
'target_subject'    => $this->target_subject,
            
'target_id'         => $target_id,
            
'is_guest'          => !$this->cms_user->is_logged// сейчас не используется, совместимость
            
'is_voted'          => $is_voted,
            
'is_enabled'        => $is_enabled,
            
'current_rating'    => $current_rating $current_rating 0,
            
'user'              => $this->cms_user
        
));

    }

}
Онлайн: 1
Реклама