示例#1
0
    public function loadList(BASE_CLASS_ConsoleListEvent $event)
    {
        $params = $event->getParams();
        $userId = OW::getUser()->getId();
        if ($params['target'] != self::CONSOLE_ITEM_KEY) {
            return;
        }
        $requests = $this->service->findRequestList($userId, $params['console']['time'], $params['offset'], 10);
        $requestIds = array();
        foreach ($requests as $request) {
            $avatar = BOL_AvatarService::getInstance()->getDataForUserAvatars(array($request->userId), true, true, true, false);
            $avatar = $avatar[$request->userId];
            $userUrl = OW::getRouter()->urlForRoute('base_user_profile', array('username' => BOL_UserService::getInstance()->getUserName($request->userId)));
            $displayName = BOL_UserService::getInstance()->getDisplayName($request->userId);
            $string = OW::getLanguage()->text('friends', 'console_request_item', array('userUrl' => $userUrl, 'displayName' => $displayName));
            $item = new FRIENDS_CMP_RequestItem();
            $item->setAvatar($avatar);
            $item->setContent($string);
            $item->setToolbar(array(array('label' => OW::getLanguage()->text('friends', 'accept_request'), 'id' => 'friend_request_accept_' . $request->userId), array('label' => OW::getLanguage()->text('friends', 'ignore_request'), 'id' => 'friend_request_ignore_' . $request->userId)));
            if (!$request->viewed) {
                $item->addClass('ow_console_new_message');
            }
            $js = UTIL_JsGenerator::newInstance();
            $js->jQueryEvent('#friend_request_accept_' . $request->userId, 'click', <<<EOT
OW.FriendRequest.accept('{$item->getKey()}', {$request->userId});
EOT
);
            $js->jQueryEvent('#friend_request_ignore_' . $request->userId, 'click', <<<EOT
OW.FriendRequest.ignore('{$item->getKey()}', {$request->userId});
EOT
);
            OW::getDocument()->addOnloadScript($js->generateJs());
            $requestIds[] = $request->id;
            $event->addItem($item->render());
        }
        $this->service->markViewedByIds($requestIds);
    }