public function checkUserGroup( \Illuminate\Foundation\Auth\User $user, $groupcodes )
	{
		$groups = ( is_array( $groupcodes ) ? implode( ',', $groupcodes ) : $groupcodes );

		if( isset( $this->cache[$user->id][$groups] ) ) {
			return $this->cache[$user->id][$groups];
		}

		$this->cache[$user->id][$groups] = false;
		$context = $this->context->get( false );

		try {
			$site = \Aimeos\MShop::create( $context, 'locale/site' )->getItem( $user->siteid )->getCode();
		} catch( \Exception $e ) {
			$site = ( Route::current() ? Route::input( 'site', Input::get( 'site', 'default' ) ) : 'default' );
		}

		$context->setLocale( $this->locale->getBackend( $context, $site ) );

		foreach( array_reverse( $context->getLocale()->getSitePath() ) as $siteid )
		{
			if( (string) $user->siteid === (string) $siteid ) {
				$this->cache[$user->id][$groups] = $this->checkGroups( $context, $user->id, $groupcodes );
			}
		}

		return $this->cache[$user->id][$groups];
	}