Aimeos\ShopBundle\Service\Context::addUserGroups PHP Method

addUserGroups() protected method

Adds the user ID and name if available
protected addUserGroups ( Aimeos\MShop\Context\Item\Iface $context )
$context Aimeos\MShop\Context\Item\Iface Context object
    protected function addUserGroups(\Aimeos\MShop\Context\Item\Iface $context)
    {
        $token = null;
        $username = '';
        if ($this->container->has('security.token_storage')) {
            $token = $this->container->get('security.token_storage')->getToken();
        } else {
            if ($this->container->has('security.context')) {
                $token = $this->container->get('security.context')->getToken();
            }
        }
        if (is_object($token)) {
            if (method_exists($token->getUser(), 'getId')) {
                $userid = $token->getUser()->getId();
                $context->setUserId($userid);
                $context->setGroupIds(function () use($context, $userid) {
                    $manager = \Aimeos\MShop\Factory::createManager($context, 'customer');
                    return $manager->getItem($userid, array('customer/group'))->getGroups();
                });
            }
            if (is_object($token->getUser())) {
                $username = $token->getUser()->getUsername();
            } else {
                $username = $token->getUser();
            }
        }
        $context->setEditor($username);
    }