Вход Регистрация
Файл: base-sys/base/components/avatar_user_list_select.php
Строк: 126
<?php

class BASE_CMP_AvatarUserListSelect extends PEEP_Component
{
    
/**
     * @var string
     */
    
private $buttonLabel;
    
/**
     * @var string
     */
    
private $countLabel;
    
/**
     * @var string
     */
    
private $headingLabel;
    
/**
     * @var array
     */
    
private $idList;

    
/**
     * Constructor.
     *
     * @param array $idList
     */
    
public function __construct( array $idList$langs = array() )
    {
        
parent::__construct();

        
$this->countLabel PEEP::getLanguage()->text('base''avatar_user_list_select_count_label');
        
$this->buttonLabel PEEP::getLanguage()->text('base''avatar_user_list_select_button_label');
        
$this->idList $idList;

        if ( !empty(
$langs['buttonLabel']) )
        {
            
$this->buttonLabel $langs['buttonLabel'];
        }

        if ( 
array_key_exists('countLabel'$langs) )
        {
            
$this->countLabel $langs['countLabel'];
        }

        if ( !empty(
$langs['headingLabel']) )
        {
            
$this->headingLabel $langs['headingLabel'];
        }
    }

    
/**
     * @param string $buttonLabel
     */
    
public function setButtonLabel$buttonLabel )
    {
        
$this->buttonLabel $buttonLabel;
    }

    
/**
     * @param string $countLabel
     */
    
public function setCountLabel$countLabel )
    {
        
$this->countLabel $countLabel;
    }

    
/**
     * @param string $generalLabel
     */
    
public function setGeneralLabel$generalLabel )
    {
        
$this->headingLabel $generalLabel;
    }

    public function 
onBeforeRender()
    {
        
parent::onBeforeRender();

        
$contexId UTIL_HtmlTag::generateAutoId('cmp');
        
$this->assign('contexId'$contexId);
        
        if ( empty(
$this->idList) )
        {
            return;
        }

        
$avatars BOL_AvatarService::getInstance()->getDataForUserAvatars($this->idListtruefalsefalse);
        
$this->assign('avatars'$avatars);

        
$displayNames BOL_UserService::getInstance()->getDisplayNamesForList($this->idList);
        
$usernames BOL_UserService::getInstance()->getUserNamesForList($this->idList);
        
$orderdList BOL_UserService::getInstance()->getRecentlyActiveOrderedIdList($this->idList);

        
$this->idList = array();

        foreach( 
$orderdList as $list )
        {
           
$this->idList[] =  $list['id'];
        }

        
$arrayToAssign = array();
        
$jsArray = array();

        foreach ( 
$this->idList as $id )
        {
            
$linkId UTIL_HtmlTag::generateAutoId('user-select');

            if ( !empty(
$avatars[$id]) )
            {
                
$avatars[$id]['url'] = 'javascript://';
            }

            
$arrayToAssign[$id] = array(
                
'id' => $id,
                
'title' => empty($displayNames[$id]) ? '_DISPLAY_NAME_' $displayNames[$id],
                
'linkId' => $linkId,
                
'username' => $usernames[$id]
            );

            
$jsArray[$id] = array(
                
'linkId' => $linkId,
                
'userId' => $id
            
);
        }

        
PEEP::getDocument()->addScript(PEEP::getPluginManager()->getPlugin('base')->getStaticJsUrl() . 'avatar_user_select.js');
        
PEEP::getDocument()->addOnloadScript("
            var cmp = new AvatarUserSelect(" 
json_encode($jsArray) . ", '" $contexId "');
            cmp.init();  "
);

        
PEEP::getLanguage()->text('base''avatar_user_select_empty_list_message');

        
$this->assign('users'$arrayToAssign);

        
$langs = array(
            
'countLabel' => $this->countLabel,
            
'startCountLabel' => (!empty($this->countLabel) ? str_replace('#count#''0'$this->countLabel) : null ),
            
'buttonLabel' => $this->buttonLabel,
            
'startButtonLabel' => str_replace('#count#''0'$this->buttonLabel)
        );
        
$this->assign('langs'$langs);
    }
}
Онлайн: 2
Реклама