public function clientLink($client, $text = null, array $htmlOptions = [])
    {
        $viewOptions = $client->getViewOptions();

        if (empty($viewOptions['widget'])) {
            if ($text === null) {
                $text = Html::tag('span', '', ['class' => 'auth-icon ' . $client->getName()]);
            }
            if (!isset($htmlOptions['class'])) {
                $htmlOptions['class'] = $client->getName();
            }
            if (!isset($htmlOptions['title'])) {
                $htmlOptions['title'] = $client->getTitle();
            }
            Html::addCssClass($htmlOptions, ['widget' => 'auth-link']);

            if ($this->popupMode) {
                if (isset($viewOptions['popupWidth'])) {
                    $htmlOptions['data-popup-width'] = $viewOptions['popupWidth'];
                }
                if (isset($viewOptions['popupHeight'])) {
                    $htmlOptions['data-popup-height'] = $viewOptions['popupHeight'];
                }
            }
            return Html::a($text, $this->createClientUrl($client), $htmlOptions);
        }

        $widgetConfig = $viewOptions['widget'];
        if (!isset($widgetConfig['class'])) {
            throw new InvalidConfigException('Widget config "class" parameter is missing');
        }
        /* @var $widgetClass Widget */
        $widgetClass = $widgetConfig['class'];
        if (!(is_subclass_of($widgetClass, AuthChoiceItem::className()))) {
            throw new InvalidConfigException('Item widget class must be subclass of "' . AuthChoiceItem::className() . '"');
        }
        unset($widgetConfig['class']);
        $widgetConfig['client'] = $client;
        $widgetConfig['authChoice'] = $this;
        return $widgetClass::widget($widgetConfig);
    }
public function clientLink($client, $text = null, array $htmlOptions = [])
    {
        $viewOptions = $client->getViewOptions();

        if (empty($viewOptions['widget'])) {
            if ($text === null) {
                $text = Html::tag('span', '', ['class' => 'auth-icon ' . $client->getName()]);
            }
            if (!isset($htmlOptions['class'])) {
                $htmlOptions['class'] = $client->getName();
            }
            if (!isset($htmlOptions['title'])) {
                $htmlOptions['title'] = $client->getTitle();
            }
            Html::addCssClass($htmlOptions, ['widget' => 'auth-link']);

            if ($this->popupMode) {
                if (isset($viewOptions['popupWidth'])) {
                    $htmlOptions['data-popup-width'] = $viewOptions['popupWidth'];
                }
                if (isset($viewOptions['popupHeight'])) {
                    $htmlOptions['data-popup-height'] = $viewOptions['popupHeight'];
                }
            }
            return Html::a($text, $this->createClientUrl($client), $htmlOptions);
        }

        $widgetConfig = $viewOptions['widget'];
        if (!isset($widgetConfig['class'])) {
            throw new InvalidConfigException('Widget config "class" parameter is missing');
        }
        /* @var $widgetClass Widget */
        $widgetClass = $widgetConfig['class'];
        if (!(is_subclass_of($widgetClass, AuthChoiceItem::className()))) {
            throw new InvalidConfigException('Item widget class must be subclass of "' . AuthChoiceItem::className() . '"');
        }
        unset($widgetConfig['class']);
        $widgetConfig['client'] = $client;
        $widgetConfig['authChoice'] = $this;
        return $widgetClass::widget($widgetConfig);
    }
public function clientLink ( $ client , $ text = null , array $ htmlOptions = [ ] ) { $ viewOptions = $ client -> getViewOptions ( ) ; if ( empty ( $ viewOptions [ 'widget' ] ) ) { if ( $ text === null ) { $ text = Html :: tag ( 'span' , '' , [ 'class' => 'auth-icon ' . $ client -> getName ( ) ] ) ; } if ( ! isset ( $ htmlOptions [ 'class' ] ) ) { $ htmlOptions [ 'class' ] = $ client -> getName ( ) ; } if ( ! isset ( $ htmlOptions [ 'title' ] ) ) { $ htmlOptions [ 'title' ] = $ client -> getTitle ( ) ; } Html :: addCssClass ( $ htmlOptions , [ 'widget' => 'auth-link' ] ) ; if ( $ this -> popupMode ) { if ( isset ( $ viewOptions [ 'popupWidth' ] ) ) { $ htmlOptions [ 'data-popup-width' ] = $ viewOptions [ 'popupWidth' ] ; } if ( isset ( $ viewOptions [ 'popupHeight' ] ) ) { $ htmlOptions [ 'data-popup-height' ] = $ viewOptions [ 'popupHeight' ] ; } } return Html :: a ( $ text , $ this -> createClientUrl ( $ client ) , $ htmlOptions ) ; } $ widgetConfig = $ viewOptions [ 'widget' ] ; if ( ! isset ( $ widgetConfig [ 'class' ] ) ) { throw new InvalidConfigException ( 'Widget config "class" parameter is missing' ) ; } /* @var $widgetClass Widget */ $ widgetClass = $ widgetConfig [ 'class' ] ; if ( ! ( is_subclass_of ( $ widgetClass , AuthChoiceItem :: className ( ) ) ) ) { throw new InvalidConfigException ( 'Item widget class must be subclass of "' . AuthChoiceItem :: className ( ) . '"' ) ; } unset ( $ widgetConfig [ 'class' ] ) ; $ widgetConfig [ 'client' ] = $ client ; $ widgetConfig [ 'authChoice' ] = $ this ; return $ widgetClass :: widget ( $ widgetConfig ) ; }
Outputs client auth link.
@param ClientInterface $client external auth client instance.
@param string $text link text, if not set - default value will be generated.
@param array $htmlOptions link HTML options.
@return string generated HTML.
@throws InvalidConfigException on wrong configuration.
Outputs client auth link .