/** * Bootstrap method to be called during application bootstrap stage. * @param Application $app the application currently running */ public function bootstrap($app) { if (!$app instanceof \yii\web\Application) { return; } if (!$app->has('backend')) { $app->set('backend', static::className()); } if ($app->get('backend') instanceof Component) { $app->on(\yii\web\Application::EVENT_BEFORE_ACTION, [self::className(), 'detectBackend']); } }
/** * * @param Application $app */ public function registerComponents($app) { $count = 0; foreach ($this->coreComponents() as $id => $component) { try { $app->set($id, $component); } catch (\Exception $ex) { Yii::error("`{$id}` failed to register: " . $ex->getMessage(), __METHOD__); continue; } Yii::info("`{$id}` registered.", __METHOD__); $count++; } return $count; }
/** * - route translations * @param \yii\base\Application $app */ public function bootstrap($app) { // \Yii::info(__CLASS__); // $app->attachBehavior('AppConfigBehavior', 'cza\base\behaviors\AppConfigBehavior'); // // $app->i18n->translations['cza*'] = [ // 'class' => 'yii\i18n\PhpMessageSource', // 'sourceLanguage' => 'en-US', // 'basePath' => '@cza/base/messages', // 'fileMap' => [ // 'cza' => 'default.php', // 'cza/languages' => 'languages.php', // ], // ]; // // declare CZA Helper $app->set('czaHelper', ['class' => '\\cza\\base\\helpers\\Helper']); }
/** * Bootstrap method to be called during application bootstrap stage. * @param Application $app the application currently running */ public function bootstrap($app) { $app->on(Application::EVENT_BEFORE_REQUEST, function () use($app) { try { /******************************* /* Mailer /*******************************/ // Set default transport class $transport = ['class' => 'Swift_MailTransport']; // Change transport class to SMTP if was selected if (isset($app->params['App.Mailer.transport']) && $app->params['App.Mailer.transport'] === 'smtp') { $transport = ['class' => 'Swift_SmtpTransport', 'host' => $app->settings->get("smtp.host"), 'username' => $app->settings->get("smtp.username"), 'password' => base64_decode($app->settings->get("smtp.password")), 'port' => $app->settings->get("smtp.port"), 'encryption' => $app->settings->get("smtp.encryption") == 'none' ? null : $app->settings->get("smtp.encryption")]; } // Set mail queue component as mailer $app->set('mailer', ['class' => 'app\\components\\queue\\MailQueue', 'mailsPerRound' => 10, 'maxAttempts' => 3, 'transport' => $transport, 'messageConfig' => ['charset' => 'UTF-8']]); /******************************* /* User session /*******************************/ if (isset($app->user) && !$app->user->isGuest) { /** @var \app\models\Profile $profile */ $profile = $app->user->identity->profile; // Setting the timezone to the current users timezone if (isset($profile->timezone)) { $app->setTimeZone($profile->timezone); } // Setting the language to the current users language if (isset($profile->language)) { $app->language = $profile->language; } } } catch (\Exception $e) { // Do nothing } }); /******************************* /* Event Handlers /*******************************/ $app->on('app.form.submission.received', ['app\\events\\handlers\\SubmissionEventHandler', 'onSubmissionReceived']); $app->on('app.form.submission.accepted', ['app\\events\\handlers\\SubmissionEventHandler', 'onSubmissionAccepted']); $app->on('app.form.submission.rejected', ['app\\events\\handlers\\SubmissionEventHandler', 'onSubmissionRejected']); }
/** * Bootstrap method to be called during application bootstrap stage. * * @param Application $app the application currently running */ public function bootstrap($app) { $app->set('metaData', ['class' => 'steeple\\meta\\MetaData']); }