public function run() { $userName = Settings::get('userName', self::SETTINGS_SECTION); if ($userName) { try { $user = \Yii::$container->get('github')->api('user')->show($userName); \Yii::trace($user, __METHOD__); return $this->render('git-hub', ['data' => $user]); } catch (RuntimeException $e) { \Yii::$app->session->addFlash('error', 'GitHub API error: ' . $e->getMessage()); } } else { $settingsLink = Html::a('settings module', ['/settings']); \Yii::$app->session->addFlash('warning', "GitHub <code>userName</code> not set, go to {$settingsLink}."); } }
private function getUser() { // TODO: use guzzle cache $userId = Settings::get('userId', self::SETTINGS_SECTION); if ($userId) { $data = \Yii::$app->cache->get(__METHOD__ . $userId); if ($data) { return $data; } else { $api = new UserAPI($this->client); $data = $api->getByIds([$userId])[0]; \Yii::trace($data, __METHOD__); \Yii::$app->cache->set(__METHOD__, $data, 3600); return $data; } } else { $settingsLink = Html::a('settings module', ['/settings']); \Yii::$app->session->addFlash("warning", "StackOverflow <code>userId</code> not set, go to {$settingsLink}."); } }