Вход Регистрация
Файл: plugins/spotlight/components/index.php
Строк: 152
<?php

class SPOTLIGHT_CMP_Index extends PEEP_Component
{
    private 
$settingList;

    public function 
__construct( array $params = array() )
    {
if( !
PEEP::getUser()->isAuthenticated())
        {
            
$this->setVisible(false);
            return array();
        }
        
parent::__construct();
        
$service SPOTLIGHT_BOL_Service::getInstance();

        
$authMsg '';
        
$authorized PEEP::getUser()->isAuthorized('spotlight''add_to_list');
        
$status BOL_AuthorizationService::getInstance()->getActionStatus('spotlight''add_to_list');

        if (!
$authorized)
        {
            
$status BOL_AuthorizationService::getInstance()->getActionStatus('spotlight''add_to_list');
            
$authMsg json_encode($status['msg']);
 
        }
 
$avatarService BOL_AvatarService::getInstance();
        
$userId PEEP::getUser()->getId();

        
$avatars BOL_AvatarService::getInstance()->getDataForUserAvatars(array($userId));
        
$this->assign('avatar'$avatars[$userId]);
        
$this->assign('authorized'$authorized);
        
$this->assign('authMsg'$authMsg);

        if (empty(
$params))
        {
            
$this->settingList = array(
                
'number_of_users'=>7
            
);
        }
        else
        {
            
$this->settingList $params;
        }

        
PEEP::getDocument()->addScript(PEEP::getPluginManager()->getPlugin('spotlight')->getStaticJsUrl() . 'jquery.cycle.js');

        
$userList SPOTLIGHT_BOL_Service::getInstance()->getSpotlight();

        
$info = array();
        foreach (
$userList as $id=>$user)
        {
            
$userDto BOL_UserService::getInstance()->findUserById($user->userId);

            if (empty(
$userDto)) continue;

            
$info[$id]['userId'] = $user->userId;
            
$avatars BOL_AvatarService::getInstance()->getDataForUserAvatars(array($user->userId));
            
            
$event = new PEEP_Event('bookmarks.is_mark', array(), $avatars);
            
PEEP::getEventManager()->trigger($event);
            
            if ( 
$event->getData() )
            {
                
$avatars $event->getData();
            }
            
            
$info[$id]['avatarUrl'] = $avatars[$user->userId]['src'];
            
$info[$id]['url'] = $avatars[$user->userId]['url'];
            
$info[$id]['username'] = BOL_UserService::getInstance()->getUserName($user->userId);
            
$info[$id]['displayName'] = empty($avatars[$user->userId]['title']) ? BOL_UserService::getInstance()->getUserName($user->userId) : $avatars[$user->userId]['title'];

            
$fields =  $this->getFields($user->userId);
                
$info[$id]['sex'] = empty($fields['sex']) ? '' $fields['sex'];
                
$info[$id]['age'] = empty($fields['age']) ? '' $fields['age'];
                
$info[$id]['googlemap_location'] = empty($fields['googlemap_location']) ? '' $fields['googlemap_location'];

            
$info[$id]['avatar'] = $avatars[$user->userId];
            
$info[$id]['isMarked'] = !empty($avatars[$user->userId]['isMarked']);

        }

        if (!empty(
$info))
        {
            
$this->assign('userList'$info);
        }
        else
        {
            
$this->assign('userList'null);
        }

        
$user $service->findUserById(PEEP::getUser()->getId());
        
$this->assign('userInList', !empty($user));

        
$this->assign('number_of_users'$this->settingList['number_of_users']);
        
$this->assign('number_of_rows'1);
        
$this->assign('count'count($info));

        
$js "
$(document).ready(function() {
    $('.users_slideshow').cycle({
        fx: 'fade',
                next:'next',
        speed: 600,
        timeout: 4500
    });
});"
;
        
        {
            
PEEP::getDocument()->addOnloadScript($js);
        }

    }

    public function 
getFields$userId )
    {
        
$fields = array();

        
$qs = array();

        
$qBdate BOL_QuestionService::getInstance()->findQuestionByName('birthdate');

        if ( 
$qBdate->onView )
        {
            
$qs[] = 'birthdate';
        }

        
$qSex BOL_QuestionService::getInstance()->findQuestionByName('sex');

        if ( 
$qSex->onView )
        {
            
$qs[] = 'sex';
        }

        
$qLocation BOL_QuestionService::getInstance()->findQuestionByName('googlemap_location');
        if (
$qLocation)
        {
            if ( 
$qLocation->onView )
            {
                
$qs[] = 'googlemap_location';
            }
        }

        
$questionList BOL_QuestionService::getInstance()->getQuestionData(array($userId), $qs);

        
$question $questionList[$userId];

        if ( !empty(
$question['birthdate']) )
        {
            
$date UTIL_DateTime::parseDate($question['birthdate'], UTIL_DateTime::MYSQL_DATETIME_DATE_FORMAT);

            
$fields['age'] = UTIL_DateTime::getAge($date['year'], $date['month'], $date['day']);
        }

        
$sexValue '';
        if ( !empty(
$question['sex']) )
        {
            
$sex $question['sex'];

            for ( 
$i 0$i 31$i++ )
            {
                
$val pow(2$i);
                if ( (int) 
$sex $val )
                {
                    
$sexValue .= BOL_QuestionService::getInstance()->getQuestionValueLang('sex'$val) . ', ';
                }
            }

            if ( !empty(
$sexValue) )
            {
                
$fields['sex'] = substr($sexValue0, -2);
            }
        }

        if (!empty(
$question['googlemap_location']))
        {
            
$fields['googlemap_location'] = $question['googlemap_location']['address'];
        }

        return 
$fields;
    }
public static function 
getAccess()
    {
        return 
self::ACCESS_MEMBER;
    }

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