| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | <?php/** * * PHP Pro Bid $Id$ jPnUxif+Zc8mhcDmJbY3ccffmXfzsD6JCiGMA+7vfRI= * * @link        http://www.phpprobid.com * @copyright   Copyright (c) 2017 Online Ventures Software & CodeCube SRL * @license     http://www.phpprobid.com/license Commercial License * * @version     7.9 [rev.7.9.01] *//** * language selector widget view helper class * - the url will never change, just that we will add a param (lang = code) which will *   then trigger the language change plugin */namespace Ppb\View\Helper;use Cube\View\Helper\AbstractHelper,    Cube\Controller\Front;class Language extends AbstractHelper{    /**     *     * create and output language selector widget     *     * @return string|null     */    public function language()    {        $output = null;        $frontController = Front::getInstance();        $settings = $frontController->getBootstrap()->getResource('settings');        if ($settings['user_languages']) {            $activeLangImg = null;            $activeLocale = $this->getTranslate()->getLocale();            $translateOption = $frontController->getOption('translate');            if (array_key_exists('translations', $translateOption)) {                $languages = $translateOption['translations'];                $nbLanguages = count($languages);                $view = $this->getView();                $flagPath = $view->baseUrl . \Ppb\Utility::URI_DELIMITER . \Ppb\Utility::getFolder('img') . \Ppb\Utility::URI_DELIMITER;                foreach ($languages as $language) {                    $img = '<img src="' . $flagPath . $language['img'] . '"  alt="' . $language['desc'] . '">';                    if ($language['locale'] == $activeLocale) {                        $activeLangImg = $img;                    }                    $output[] = '<li>'                        . '<a href="' . $view->url(array('lang' => $language['locale']), null, true, null, true, false) . '">'                        . $img . ' <span>' . $language['desc'] . '</span>'                        . '</a>'                        . '</li>';                }                if ($nbLanguages > 0) {                    $output = '<div class="dropdown language-dropdown">'                        . '<button class="btn btn-link dropdown-toggle" type="button" id="languageDropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">'                        . $activeLangImg                        . (($nbLanguages > 1) ? '<span class="caret"></span>' : '')                        . '</button>'                        . (($nbLanguages > 1) ? '<ul class="dropdown-menu" aria-labelledby="dropdownMenu1">' . implode(' ', $output) . '</ul>' : '')                        . '</div>';                }            }        }        return $output;    }}
 |