<?php

/**
 * @var $this yii\web\View
 * @var $language string
 * @var $version string
 * @var $searchQuery string
 */
use app\components\DropdownList;
use app\models\Guide;
use yii\helpers\Html;
?>
<nav class="version-selector" role="navigation">
    <ul>
        <?php 
echo DropdownList::widget(['tag' => 'li', 'selection' => $language ? $this->context->getLanguages()[$language] : 'Select Language', 'items' => array_merge($language ? [['label' => 'All', 'url' => ['/search/global', 'q' => $searchQuery, 'version' => $version]]] : [], array_map(function ($language) use($version, $searchQuery) {
    $url = ['/search/global', 'q' => $searchQuery, 'language' => $language, 'version' => $version];
    return ['label' => $this->context->getLanguages()[$language], 'url' => $url];
}, array_keys($this->context->getLanguages())))]);
?>
        <?php 
echo DropdownList::widget(['tag' => 'li', 'selection' => $version ?: 'Select Version', 'items' => array_merge($version ? [['label' => 'All', 'url' => ['/search/global', 'q' => $searchQuery, 'language' => $language]]] : [], array_map(function ($version) use($language, $searchQuery) {
    $url = ['/search/global', 'q' => $searchQuery, 'language' => $language, 'version' => $version];
    return ['label' => $version, 'url' => $url];
}, $this->context->getVersions()))]);
?>
    </ul>
</nav>
Example #2
0
?>
        <?php 
echo DropdownList::widget(['tag' => 'li', 'selection' => $guide->getLanguageName(), 'items' => array_map(function ($language) use($section, $guide) {
    $options = $guide->getLanguageOptions();
    if (isset($section)) {
        $url = ['guide/view', 'section' => $section->name, 'version' => $guide->version, 'language' => $language, 'type' => $guide->typeUrlName];
    } else {
        $url = ['guide/index', 'version' => $guide->version, 'language' => $language, 'type' => $guide->typeUrlName];
    }
    return ['label' => $options[$language], 'url' => $url];
}, array_keys($guide->getLanguageOptions()))]);
?>
        <?php 
echo DropdownList::widget(['tag' => 'li', 'selection' => "Version {$guide->version}", 'items' => array_map(function ($version) use($section, $guide) {
    $language = $guide->language;
    $otherGuide = Guide::load($version, $language, $guide->type);
    if ($otherGuide === null) {
        $language = 'en';
        $otherGuide = Guide::load($version, $language, $guide->type);
    }
    if (isset($section) && $guide->version[0] === $version[0] && $otherGuide->loadSection($section->name) !== null) {
        $url = ['guide/view', 'section' => $section->name, 'version' => $version, 'language' => $language, 'type' => $guide->typeUrlName];
    } else {
        $url = ['guide/index', 'version' => $version, 'language' => $language, 'type' => $guide->typeUrlName];
    }
    return ['label' => $version, 'url' => $url];
}, $guide->getVersionOptions())]);
?>
    </ul>
</nav>
Example #3
0
 * @var $versions array all available API versions
 * @var $version string the currently chosen API version
 * @var $section string the currently active API file
 */
use app\components\DropdownList;
use app\models\Guide;
use yii\helpers\Html;
?>
<nav class="version-selector" role="navigation">
    <div class="btn-group btn-group-justified">
	    <?php 
$guide = Guide::load($version, 'en');
$items = [];
if ($guide->getDownloadFile('tar.gz') !== false) {
    $items[] = ['label' => 'Offline HTML (tar.gz)', 'url' => ['guide/download', 'version' => $guide->version, 'language' => $guide->language, 'format' => 'tar.gz']];
}
if ($guide->getDownloadFile('tar.bz2') !== false) {
    $items[] = ['label' => 'Offline HTML (tar.bz2)', 'url' => ['guide/download', 'version' => $guide->version, 'language' => $guide->language, 'format' => 'tar.bz2']];
}
if (!empty($items)) {
    echo DropdownList::widget(['tag' => 'div', 'selection' => 'Download', 'items' => $items, 'options' => ['class' => 'btn-group btn-group-sm']]);
}
?>
        <?php 
echo DropdownList::widget(['tag' => 'div', 'selection' => "Version {$version}", 'items' => array_map(function ($ver) use($version, $section) {
    return ['label' => $ver, 'url' => ['api/view', 'version' => $ver, 'section' => $version[0] === $ver[0] ? $section : 'index']];
}, $versions), 'options' => ['class' => 'btn-group btn-group-sm']]);
?>
    </div>
</nav>