</table> </li> <li> <table class="Label AltColumns"> <thead> <tr> <th colspan="2"><?php echo T('OA_SOCIAL_LOGIN_ENABLE_NETWORKS'); ?> </th> </tr> </thead> <tbody> <tr> <td><?php foreach (SocialLogin::all_providers() as $id => $name) { echo '<label for="' . $this->Form->EscapeID(OneallSocialLogin::PROVIDER_PREFIX . $id, FALSE) . '" class="CheckBoxLabel oa_social_login_provider" >'; echo '<span class="oa_social_login_provider_' . $id . '" title="' . $name . '">' . $name . '</span>'; echo $this->Form->CheckBox(OneallSocialLogin::PROVIDER_PREFIX . $id); echo $name; echo '</label>'; } ?> </td> </tr> </tbody> </table> </li> </ul> </div>
public function Controller_Index($Sender) { // Prevent non-admins from accessing this page $Sender->Permission('Vanilla.Settings.Manage'); $oa_settings = array(self::CONFIG_PREFIX . 'Enable' => C(self::CONFIG_PREFIX . 'Enable', 1), self::CONFIG_PREFIX . 'Curl' => C(self::CONFIG_PREFIX . 'Curl', 1), self::CONFIG_PREFIX . 'SSL' => C(self::CONFIG_PREFIX . 'SSL', 1), self::CONFIG_PREFIX . 'ApiSubdomain' => C(self::CONFIG_PREFIX . 'ApiSubdomain', ''), self::CONFIG_PREFIX . 'ApiKey' => C(self::CONFIG_PREFIX . 'ApiKey', ''), self::CONFIG_PREFIX . 'ApiSecret' => C(self::CONFIG_PREFIX . 'ApiSecret', ''), self::CONFIG_PREFIX . 'IndexPageEnable' => C(self::CONFIG_PREFIX . 'IndexPageEnable', 1), self::CONFIG_PREFIX . 'IndexPageCaption' => T(C(self::CONFIG_PREFIX . 'IndexPageCaption')), self::CONFIG_PREFIX . 'LoginPageEnable' => C(self::CONFIG_PREFIX . 'LoginPageEnable', 1), self::CONFIG_PREFIX . 'LoginPageCaption' => T(C(self::CONFIG_PREFIX . 'LoginPageCaption')), self::CONFIG_PREFIX . 'RegistrationPageEnable' => C(self::CONFIG_PREFIX . 'RegistrationPageEnable', 1), self::CONFIG_PREFIX . 'RegistrationPageCaption' => T(C(self::CONFIG_PREFIX . 'RegistrationPageCaption')), self::CONFIG_PREFIX . 'AvatarsEnable' => C(self::CONFIG_PREFIX . 'AvatarsEnable', 1), self::CONFIG_PREFIX . 'Validate' => C(self::CONFIG_PREFIX . 'Validate', 0), self::CONFIG_PREFIX . 'LinkingEnable' => C(self::CONFIG_PREFIX . 'LinkingEnable', 1), self::CONFIG_PREFIX . 'Redirect' => C(self::CONFIG_PREFIX . 'Redirect', '')); foreach (SocialLogin::all_providers() as $id => $name) { $oa_settings[self::PROVIDER_PREFIX . $id] = in_array($id, C(self::CONFIG_PREFIX . 'Providers', array())); } // Load the configuration settings (or default values): $Sender->Form->SetData($oa_settings); if ($Sender->Form->AuthenticatedPostBack() === TRUE) { $oa_settings_to_save = array(); $providers_to_save = array(); foreach ($Sender->Form->FormValues() as $k => $v) { // The form values contain vanilla data, so we filter them out: if (strpos($k, self::CONFIG_PREFIX) !== FALSE) { // we store the chosen providers in $providers_tosave: $is_provider = strpos($k, self::PROVIDER_PREFIX) !== FALSE; if ($is_provider && $v == 1) { $providers_to_save[] = substr($k, strlen(self::PROVIDER_PREFIX)); } elseif (!$is_provider) { $oa_settings_to_save[$k] = $v; } } } $oa_settings_to_save[self::CONFIG_PREFIX . 'Providers'] = $providers_to_save; SaveToConfig($oa_settings_to_save); $Sender->InformMessage(T('OA_SOCIAL_LOGIN_SETTINGS_UPDATED')); } $Sender->Render($this->GetView('social-login-settings.php')); }