public function init()
    {
        parent::init();
        try {
            if (!empty($this->module->accessChecker)) {
                $this->accessType = call_user_func($this->module->accessChecker, $this->module->user);
            }
            if ($this->accessType === -1) {
                if (!empty($this->module->denyCallback)) {
                    call_user_func($this->module->denyCallback, $this->module->user);
                    return false;
                }
                return $this->goHome();
            }

            if (!$this->module->user->isGuest) {
                $user = User::findMe();
                if ($this->module->userComponent !== true && $this->accessType === 1) {
                    if (empty($user)) {
                        if (!User::createInheritedAccount()) {
                            throw new InvalidConfigException('There was an error while creating inherited user account. Podium can not run with the current configuration. Please contact administrator about this problem.');
                        }
                        $this->success(Yii::t('podium/flash', 'Hey! Your new forum account has just been automatically created! Go to {link} to complement it.', [
                            'link' => Html::a(Yii::t('podium/view', 'Profile'), ['profile/details'])
                        ]));
                    } elseif (!User::updateInheritedAccount()) {
                        throw new InvalidConfigException('There was an error while updating inherited user account. Podium can not run with the current configuration. Please contact administrator about this problem.');
                    }
                }
                if ($user && $user->status == User::STATUS_BANNED) {
                    return $this->redirect(['forum/ban']);
                }
                if ($user && !empty($user->meta->timezone)) {
                    $this->module->formatter->timeZone = $user->meta->timezone;
                }
            }
        } catch (Exception $exc) {
            Yii::$app->response->redirect([$this->module->prepareRoute('install/run')]);
        }
    }
public function init()
    {
        parent::init();
        try {
            if (!empty($this->module->accessChecker)) {
                $this->accessType = call_user_func($this->module->accessChecker, $this->module->user);
            }
            if ($this->accessType === -1) {
                if (!empty($this->module->denyCallback)) {
                    call_user_func($this->module->denyCallback, $this->module->user);
                    return false;
                }
                return $this->goHome();
            }

            if (!$this->module->user->isGuest) {
                $user = User::findMe();
                if ($this->module->userComponent !== true && $this->accessType === 1) {
                    if (empty($user)) {
                        if (!User::createInheritedAccount()) {
                            throw new InvalidConfigException('There was an error while creating inherited user account. Podium can not run with the current configuration. Please contact administrator about this problem.');
                        }
                        $this->success(Yii::t('podium/flash', 'Hey! Your new forum account has just been automatically created! Go to {link} to complement it.', [
                            'link' => Html::a(Yii::t('podium/view', 'Profile'), ['profile/details'])
                        ]));
                    } elseif (!User::updateInheritedAccount()) {
                        throw new InvalidConfigException('There was an error while updating inherited user account. Podium can not run with the current configuration. Please contact administrator about this problem.');
                    }
                }
                if ($user && $user->status == User::STATUS_BANNED) {
                    return $this->redirect(['forum/ban']);
                }
                if ($user && !empty($user->meta->timezone)) {
                    $this->module->formatter->timeZone = $user->meta->timezone;
                }
            }
        } catch (Exception $exc) {
            Yii::$app->response->redirect([$this->module->prepareRoute('install/run')]);
        }
    }
public function init ( ) { parent :: init ( ) ; try { if ( ! empty ( $ this -> module -> accessChecker ) ) { $ this -> accessType = call_user_func ( $ this -> module -> accessChecker , $ this -> module -> user ) ; } if ( $ this -> accessType === - 1 ) { if ( ! empty ( $ this -> module -> denyCallback ) ) { call_user_func ( $ this -> module -> denyCallback , $ this -> module -> user ) ; return false ; } return $ this -> goHome ( ) ; } if ( ! $ this -> module -> user -> isGuest ) { $ user = User :: findMe ( ) ; if ( $ this -> module -> userComponent !== true && $ this -> accessType === 1 ) { if ( empty ( $ user ) ) { if ( ! User :: createInheritedAccount ( ) ) { throw new InvalidConfigException ( 'There was an error while creating inherited user account. Podium can not run with the current configuration. Please contact administrator about this problem.' ) ; } $ this -> success ( Yii :: t ( 'podium/flash' , 'Hey! Your new forum account has just been automatically created! Go to {link} to complement it.' , [ 'link' => Html :: a ( Yii :: t ( 'podium/view' , 'Profile' ) , [ 'profile/details' ] ) ] ) ) ; } elseif ( ! User :: updateInheritedAccount ( ) ) { throw new InvalidConfigException ( 'There was an error while updating inherited user account. Podium can not run with the current configuration. Please contact administrator about this problem.' ) ; } } if ( $ user && $ user -> status == User :: STATUS_BANNED ) { return $ this -> redirect ( [ 'forum/ban' ] ) ; } if ( $ user && ! empty ( $ user -> meta -> timezone ) ) { $ this -> module -> formatter -> timeZone = $ user -> meta -> timezone ; } } } catch ( Exception $ exc ) { Yii :: $ app -> response -> redirect ( [ $ this -> module -> prepareRoute ( 'install/run' ) ] ) ; } }
Creates inherited user account.
Redirects banned user to proper view.
Sets user's time zone.
Creates inherited user account . Redirects banned user to proper view . Sets user s time zone .