Example #1
0
 public function actionSecurity()
 {
     $response = parent::actionSecurity();
     if (bdApiConsumer_Option::get('takeOver', 'login')) {
         if ($response instanceof XenForo_ControllerResponse_View and !empty($response->subView) and empty($response->subView->params['hasPassword'])) {
             $userExternalModel = $this->getModelFromCache('XenForo_Model_UserExternal');
             $auths = $userExternalModel->bdApiConsumer_getExternalAuthAssociations(XenForo_Visitor::getUserId());
             if (!empty($auths)) {
                 foreach ($auths as $auth) {
                     $provider = bdApiConsumer_Option::getProviderByCode($auth['provider']);
                     $link = bdApiConsumer_Helper_Provider::getAccountSecurityLink($provider);
                     if (!empty($link)) {
                         return $this->responseRedirect(XenForo_ControllerResponse_Redirect::SUCCESS, $link);
                     }
                 }
             }
         }
     }
     return $response;
 }
Example #2
0
 public static function renderOptionLoginSocial(XenForo_View $view, $fieldPrefix, array $preparedOption, $canEdit)
 {
     $providers = self::getProviders();
     switch ($preparedOption['option_id']) {
         case 'bdapi_consumer_loginFacebook':
             $social = 'facebook';
             break;
         case 'bdapi_consumer_loginTwitter':
             if (self::get('_is130+')) {
                 $social = 'twitter';
             }
             break;
         case 'bdapi_consumer_loginGoogle':
             if (self::get('_is130+')) {
                 $social = 'google';
             }
             break;
     }
     if (empty($social)) {
         // unrecognized option
         return '';
     }
     $choices = array('' => '');
     foreach ($providers as $provider) {
         $providerLoginSocial = bdApiConsumer_Helper_Provider::getLoginSocial($provider);
         if (!empty($providerLoginSocial['social']) and in_array($social, $providerLoginSocial['social'], true)) {
             $choices[$provider['code']] = $provider['name'];
         }
     }
     $preparedOption['formatParams'] = $choices;
     return XenForo_ViewAdmin_Helper_Option::renderOptionTemplateInternal('option_list_option_select', $view, $fieldPrefix, $preparedOption, $canEdit);
 }