예제 #1
0
 public function createUrl($params)
 {
     if (isset($params['lang_id'])) {
         //Если указан идентификатор языка, то делаем попытку найти язык в БД,
         //иначе работаем с языком по умолчанию
         $lang = Lang::findOne($params['lang_id']);
         if ($lang === null) {
             $lang = Lang::getDefaultLang();
         }
         unset($params['lang_id']);
     } else {
         //Если не указан параметр языка, то работаем с текущим языком
         $lang = Lang::getCurrent();
     }
     //Получаем сформированный URL(без префикса идентификатора языка)
     $url = parent::createUrl($params);
     //Добавляем к URL префикс - буквенный идентификатор языка
     if ($url == '/') {
         return '/' . $lang->url;
     } else {
         if (YII_DEBUG && !empty(Yii::$app->params['mainPathCount'])) {
             $url_list = explode('/', $url);
             $mainPath = [];
             for ($i = 0; $i <= Yii::$app->params['mainPathCount']; $i++) {
                 $mainPath[] = array_shift($url_list);
             }
             $url_list = array_merge($mainPath, [$lang->url], $url_list);
             return join('/', $url_list);
         }
         return '/' . $lang->url . $url;
     }
 }
예제 #2
0
 public function getLangUrl()
 {
     if ($this->_lang_url === null) {
         $this->_lang_url = $this->getUrl();
         $url_list = explode('/', $this->_lang_url);
         $lang_url = isset($url_list[1]) ? $url_list[1] : null;
         Lang::setCurrent($lang_url);
         if ($lang_url !== null && $lang_url === Lang::getCurrent()->url && strpos($this->_lang_url, Lang::getCurrent()->url) === 1) {
             $this->_lang_url = substr($this->_lang_url, strlen(Lang::getCurrent()->url) + 1);
         }
     }
     return $this->_lang_url;
 }
예제 #3
0
 public function createUrl($params)
 {
     if (isset($params['lang_id'])) {
         //Если указан идентификатор языка, то делаем попытку найти язык в БД,
         //иначе работаем с языком по умолчанию
         $lang = Lang::findOne($params['lang_id']);
         if ($lang === null) {
             $lang = Lang::getDefaultLang();
         }
         unset($params['lang_id']);
     } else {
         //Если не указан параметр языка, то работаем с текущим языком
         $lang = Lang::getCurrent();
     }
     //Получаем сформированный URL(без префикса идентификатора языка)
     $url = parent::createUrl($params);
     //Добавляем к URL префикс - буквенный идентификатор языка
     if ($url == '/') {
         return '/' . $lang->url;
     } else {
         return '/' . $lang->url . $url;
     }
 }
예제 #4
0
 public function getLangUrl()
 {
     if ($this->_lang_url === null) {
         $this->_lang_url = $this->getUrl();
         $url_list = explode('/', $this->_lang_url);
         $urlListIndex = YII_DEBUG && !empty(\Yii::$app->params['mainPathCount']) ? \Yii::$app->params['mainPathCount'] + 1 : 1;
         $lang_url = isset($url_list[$urlListIndex]) ? $url_list[$urlListIndex] : null;
         Lang::setCurrent($lang_url);
         if ($lang_url !== null && $lang_url === Lang::getCurrent()->url) {
             if (YII_DEBUG && !empty(\Yii::$app->params['mainPathCount'])) {
                 if ($url_list[$urlListIndex] == $lang_url) {
                     unset($url_list[$urlListIndex]);
                     $this->_lang_url = join('/', $url_list);
                 }
             } else {
                 if (strpos($this->_lang_url, Lang::getCurrent()->url) === 1) {
                     $this->_lang_url = substr($this->_lang_url, strlen(Lang::getCurrent()->url) + 1);
                 }
             }
         }
     }
     return $this->_lang_url;
 }
예제 #5
0
파일: edit.php 프로젝트: IVsevolod/zouk
$this->registerJsFile(Yii::$app->request->baseUrl . '/js/list/imgEdit.js', ['depends' => [\yii\web\JqueryAsset::className()]]);
$this->registerJsFile(Yii::$app->request->baseUrl . '/js/school/edit.js', ['depends' => [\yii\web\JqueryAsset::className()]]);
$this->title = Lang::t('page/schoolEdit', 'titleEdit');
$this->params['breadcrumbs'][] = $this->title;
$imgsSchool = $school->getImgsSort();
$tags = $school->tagEntity;
$tagValues = [];
foreach ($tags as $tag) {
    /** @var Tags $tagSchool */
    $tagSchool = $tag->tags;
    $tagValues[] = $tagSchool->getName();
}
$tagValue = join(',', $tagValues);
$thisUser = User::thisUser();
$userImgs = $thisUser->getUserImgs();
$countries = array_merge([0 => '-'], Countries::getCountries(Lang::getCurrent()));
$locations = $school->locations;
Yii::$app->params['jsZoukVar']['blockLocationCount'] = count($locations);
?>
<div id="school-header">
    <h1><?php 
echo Html::encode($this->title);
?>
</h1>
</div>
<div>

    <div class="row">
        <div class="col-lg-9">
            <?php 
$form = ActiveForm::begin(['id' => 'school-edit-form']);
예제 #6
0
파일: Lang.php 프로젝트: IVsevolod/zouk
 public function run()
 {
     return $this->render('lang/view', ['current' => Lang::getCurrent(), 'langs' => Lang::find()->where('id != :current_id', [':current_id' => Lang::getCurrent()->id])->all()]);
 }
예제 #7
0
파일: main.php 프로젝트: IVsevolod/zouk
        }
    }
}
?>
    <ul id="w1" class="navbar-nav navbar-left nav">
        <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
               aria-expanded="false">
                <?php 
echo Html::img($thisLang->getImg(), ['height' => '16px']);
?>
 <span class="caret"></span>
            </a>
            <ul class="dropdown-menu">
                <?php 
$langs = Lang::find()->where('id != :current_id', [':current_id' => Lang::getCurrent()->id])->all();
foreach ($langs as $lang) {
    echo Html::tag('li', Html::a(Html::img($lang->getImg(), ['height' => '16px']) . ' ' . $lang->name, Yii::$app->UrlManager->toLang($lang)));
}
?>
            </ul>
        </li>
    </ul>
    <?php 
$menuItems = [];
if (Yii::$app->user->isGuest) {
    $menuItems[] = ['label' => Lang::t('main', 'loginSignup'), 'url' => ['site/login']];
} else {
    $displayName = User::thisUser()->getDisplayName();
    $displayProfile = Html::tag('div', '', ['style' => "background-image: url('" . User::thisUser()->getAvatarPic() . "');", 'class' => 'background-img nav-profile-img']) . " " . (empty($displayName) ? Lang::t('main', 'profile') : $displayName) . ' ' . '<span class="badge">' . User::thisUser()->reputation . '</span>';
    $menuItems[] = ['encode' => false, 'label' => $displayProfile, 'url' => ['account/profile']];