Add a CAS authentification login button in the login page if CAS activated. Done as a plugin.

skala
Hubert Borderiou 14 years ago
parent 2a962feaea
commit 4b76fbe401
  1. 12
      plugin/add_cas_login_button/css.css
  2. 21
      plugin/add_cas_login_button/index.php
  3. 41
      plugin/add_cas_login_button/plugin.php
  4. 7
      plugin/add_cas_login_button/readme.txt
  5. 44
      plugin/add_cas_login_button/template.tpl

@ -0,0 +1,12 @@
.cas_plugin_image {
float:left;
height:50px;
margin: 0px 5px 5px 0px;
}
.cas_plugin_comm {
font-style:italic;
}
.cas_plugin_clear {
clear:both;
height:1px;
}

@ -0,0 +1,21 @@
<?php
// Show the CAS button to login using CAS
$_template['show_message'] = false;
if (api_is_anonymous() && api_get_setting('cas_activate') == 'true') {
$_template['show_message'] = true;
// the default title
$button_label = "Connexion via CAS";
if (!empty($plugin_info['settings']['add_cas_login_button_cas_button_label'])) {
$button_label = api_htmlentities($plugin_info['settings']['add_cas_login_button_cas_button_label']);
}
// the comm
$comm_label = api_htmlentities($plugin_info['settings']['add_cas_login_button_cas_button_comment']);;
// URL of the image
$url_label = $plugin_info['settings']['add_cas_login_button_cas_image_url'];
$_template['button_label'] = $button_label;
$_template['comm_label'] = $comm_label;
$_template['url_label'] = $url_label;
}

@ -0,0 +1,41 @@
<?php
/**
* This script is a configuration file for the date plugin. You can use it as a master for other platform plugins (course plugins are slightly different).
* These settings will be used in the administration interface for plugins (Chamilo configuration settings->Plugins)
* @package chamilo.plugin
* @author Julio Montoya <gugli100@gmail.com>
*/
/**
* Plugin details (must be present)
*/
//the plugin title
$plugin_info['title'] = 'Add a button to login using CAS';
//the comments that go with the plugin
$plugin_info['comment'] = "If CAS is activated, this plugin add a text and a button on the login page to login with CAS. Configure plugin to add title, comment and logo.";
//the plugin version
$plugin_info['version'] = '1.0';
//the plugin author
$plugin_info['author'] = 'Hubert Borderiou';
//the plugin configuration
$form = new FormValidator('add_cas_button_form');
$form->addElement('text', 'cas_button_label', 'CAS connexion title', '');
$form->addElement('text', 'cas_button_comment', 'CAS connexion description', '');
$form->addElement('text', 'cas_image_url', 'Logo URL if any (image, 50px height)');
$form->addElement('style_submit_button', 'submit_button', get_lang('Save'));
//get default value for form
$tab_default_add_cas_login_button_cas_button_label = api_get_setting('add_cas_login_button_cas_button_label');
$tab_default_add_cas_login_button_cas_button_comment = api_get_setting('add_cas_login_button_cas_button_comment');
$tab_default_add_cas_login_button_cas_image_url = api_get_setting('add_cas_login_button_cas_image_url');
$defaults['cas_button_label'] = $tab_default_add_cas_login_button_cas_button_label['add_cas_login_button'];
$defaults['cas_button_comment'] = $tab_default_add_cas_login_button_cas_button_comment['add_cas_login_button'];
$defaults['cas_image_url'] = $tab_default_add_cas_login_button_cas_image_url['add_cas_login_button'];
$form->setDefaults($defaults);
//display form
$plugin_info['settings_form'] = $form;
//set the smarty templates that are going to be used
$plugin_info['templates'] = array('template.tpl');

@ -0,0 +1,7 @@
README
This plugin add a button to allow user to login to Chamilo with CAS authentification.
You have to activate your CAS connection to display this button.
You have to configure your CAS connection to have the button works.
To activate and configure CAS, for your Chamilo platform, go to Administration > Configuration settings > CAS
This plugin has been done to be added in the login_top region, but you can put it where you want.

@ -0,0 +1,44 @@
{*
This is a Chamilo plugin using Smarty you can use handy shorcuts like:
1. Shortcuts
$_p = url chamilo paths
$_u = user information of the current user
2. i18n
You can use i18n variables just use this syntax:
{"HelloWorld"|get_lang}
Now you can add your variables in the main/lang/english/ or main/lang/spanish/ for example in spanish:
$HelloWorld = "Hola Mundo";
3. Portal settings
You can access the portal settings using:
{"siteName"|api_get_setting}
For more settings check the settings_current database
4. Read more
You can also see more examples in the the main/template/default/layout files
5. {$_p|var_dump} pour les path {$_u|var_dump} pour info de l'utilisateur loggé
*}
{if $add_cas_login_button.show_message}
<link href="{$_p.web_plugin}/add_cas_login_button/css.css" rel="stylesheet" type="text/css">
<div class="well">
{if $add_cas_login_button.url_label}
<img src="{$add_cas_login_button.url_label}" class='cas_plugin_image'/>
{/if}
<h4>{$add_cas_login_button.button_label}</h4>
{if $add_cas_login_button.url_label}
<div class='cas_plugin_clear'>&nbsp;</div>
{/if}
<div class='cas_plugin_comm'>{$add_cas_login_button.comm_label}</div>
<button type="submit" name="submitAuth" class="btn" onclick="javascript:self.location.href='main/auth/cas/logincas.php'">{"LoginEnter"|get_lang}</button>
</div>
{/if}
Loading…
Cancel
Save