From 63bf4de1f451adcd5747d0bacd832bea4603b76e Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Tue, 25 Apr 2017 17:03:06 -0500 Subject: [PATCH] Add unified policy to sign in/up to Azure Active Directory plugin - refs BT#12674 --- plugin/azure_active_directory/index.php | 21 +++++++++++++++-- .../azure_active_directory/lang/english.php | 3 +++ .../src/AzureActiveDirectory.php | 7 +++++- plugin/azure_active_directory/view/block.tpl | 23 ++++++++++++------- 4 files changed, 43 insertions(+), 11 deletions(-) diff --git a/plugin/azure_active_directory/index.php b/plugin/azure_active_directory/index.php index 6055876ef3..c334ef4d3f 100644 --- a/plugin/azure_active_directory/index.php +++ b/plugin/azure_active_directory/index.php @@ -4,11 +4,28 @@ * @author Angel Fernando Quiroz Campos * @package chamilo.plugin.azure_active_directory */ + +/** @var AzureActiveDirectory $activeDirectoryPlugin */ $activeDirectoryPlugin = AzureActiveDirectory::create(); if ($activeDirectoryPlugin->get(AzureActiveDirectory::SETTING_ENABLE) === 'true') { + $signUp = $activeDirectoryPlugin->get(AzureActiveDirectory::SETTING_SIGNIN_POLICY); + $signIn = $activeDirectoryPlugin->get(AzureActiveDirectory::SETTING_SIGNUP_POLICY); + $signUnified = $activeDirectoryPlugin->get(AzureActiveDirectory::SETTING_SIGNUNIFIED_POLICY); + $_template['block_title'] = $activeDirectoryPlugin->get(AzureActiveDirectory::SETTING_BLOCK_NAME); - $_template['signup_url'] = $activeDirectoryPlugin->getUrl(AzureActiveDirectory::URL_TYPE_SIGNUP); - $_template['signin_url'] = $activeDirectoryPlugin->getUrl(AzureActiveDirectory::URL_TYPE_SIGNIN); + + if ($signUp) { + $_template['signup_url'] = $activeDirectoryPlugin->getUrl(AzureActiveDirectory::URL_TYPE_SIGNUP); + } + + if ($signIn) { + $_template['signin_url'] = $activeDirectoryPlugin->getUrl(AzureActiveDirectory::URL_TYPE_SIGNIN); + } + + if ($signUnified) { + $_template['signunified_url'] = $activeDirectoryPlugin->getUrl(AzureActiveDirectory::URL_TYPE_SIGNUNIFIED); + } + $_template['signout_url'] = $activeDirectoryPlugin->getUrl(AzureActiveDirectory::URL_TYPE_SIGNOUT); } diff --git a/plugin/azure_active_directory/lang/english.php b/plugin/azure_active_directory/lang/english.php index 545ec61f7a..f17942c212 100644 --- a/plugin/azure_active_directory/lang/english.php +++ b/plugin/azure_active_directory/lang/english.php @@ -17,4 +17,7 @@ $strings['signup_policy'] = 'Sign up policy'; $strings['signup_policy_help'] = 'Enter your sign up policy name, e.g.g b2c_1_sign_up'; $strings['signin_policy'] = 'Sign in policy'; $strings['signin_policy_help'] = 'Enter your sign in policy name, e.g. b2c_1_sign_in'; +$strings['signunified_policy'] = 'Unified sign in and sign up policy'; +$strings['signunified_policy_help'] = 'Enter your name of unified sign in and sign up policy, e.g. b2c_1_sign_unified'; $strings['block_name'] = 'Block name'; +$strings['SignUpAndSignIn'] = 'Sign up and sign in'; diff --git a/plugin/azure_active_directory/src/AzureActiveDirectory.php b/plugin/azure_active_directory/src/AzureActiveDirectory.php index 17621b21c1..2a32b2b9ed 100644 --- a/plugin/azure_active_directory/src/AzureActiveDirectory.php +++ b/plugin/azure_active_directory/src/AzureActiveDirectory.php @@ -11,9 +11,11 @@ class AzureActiveDirectory extends Plugin const SETTING_TENANT = 'tenant'; const SETTING_SIGNUP_POLICY = 'signup_policy'; const SETTING_SIGNIN_POLICY = 'signin_policy'; + const SETTING_SIGNUNIFIED_POLICY = 'signunified_policy'; const SETTING_BLOCK_NAME = 'block_name'; const URL_TYPE_SIGNUP = 'sign-up'; const URL_TYPE_SIGNIN = 'sign-in'; + const URL_TYPE_SIGNUNIFIED = 'sign-unified'; const URL_TYPE_SIGNOUT = 'sign-out'; /** @@ -27,10 +29,11 @@ class AzureActiveDirectory extends Plugin self::SETTING_TENANT => 'text', self::SETTING_SIGNUP_POLICY => 'text', self::SETTING_SIGNIN_POLICY => 'text', + self::SETTING_SIGNUNIFIED_POLICY => 'text', self::SETTING_BLOCK_NAME => 'text' ]; - parent::__construct('1.0', 'Angel Fernando Quiroz Campos', $settings); + parent::__construct('1.1', 'Angel Fernando Quiroz Campos', $settings); } /** @@ -83,6 +86,8 @@ class AzureActiveDirectory extends Plugin if ($urlType === self::URL_TYPE_SIGNIN) { $policy = $settings[self::SETTING_SIGNIN_POLICY]; + } elseif ($urlType === self::URL_TYPE_SIGNUNIFIED) { + $policy = $settings[self::SETTING_SIGNUNIFIED_POLICY]; } $urlParams = [ diff --git a/plugin/azure_active_directory/view/block.tpl b/plugin/azure_active_directory/view/block.tpl index 85605bb08e..ad02f1d359 100644 --- a/plugin/azure_active_directory/view/block.tpl +++ b/plugin/azure_active_directory/view/block.tpl @@ -1,12 +1,19 @@ -
- {% if _u.logged %} - {# {{ 'Logout'|get_lang }} #} - {% else %} +{% if not _u.logged %} +
{% if not azure_active_directory.block_title is empty %}

{{ azure_active_directory.block_title }}

{% endif %} - {{ 'SignIn'|get_lang }} - {{ 'SignUp'|get_lang }} - {% endif %} -
+ {% if not azure_active_directory.signin_url is empty %} + {{ 'SignIn'|get_lang }} + {% endif %} + + {% if not azure_active_directory.signup_url is empty %} + {{ 'SignUp'|get_lang }} + {% endif %} + + {% if not azure_active_directory.signunified_url is empty %} + {{ 'SignUpAndSignIn'|get_plugin_lang('AzureActiveDirectory') }} + {% endif %} +
+{% endif %}