diff --git a/index.php b/index.php index cc0845bd19..d378051ac9 100644 --- a/index.php +++ b/index.php @@ -134,6 +134,11 @@ if (api_get_setting('display_categories_on_homepage') == 'true') { $controller->tpl->assign('content', $controller->return_anonymous_course_list()); } +// Facebook connexion, if activated +if (api_is_facebook_auth_activated() && !api_get_user_id()) { + facebook_connect(); +} + $controller->set_login_form(); //@todo move this inside the IndexManager diff --git a/main/auth/external_login/ldap.inc.php b/main/auth/external_login/ldap.inc.php index 22f4222e29..7321a524ba 100644 --- a/main/auth/external_login/ldap.inc.php +++ b/main/auth/external_login/ldap.inc.php @@ -78,8 +78,11 @@ function extldap_connect() * * @return mixed false if user cannot authenticate on ldap, user ldap entry if tha succeeds * @author ndiechburg + * Modified by hubert.borderiou@grenet.fr + * Add possibility to get user info from LDAP without check password (if CAS auth and LDAP profil update) + * **/ -function extldap_authenticate($username, $password) +function extldap_authenticate($username, $password, $in_auth_with_no_password=false) { global $extldap_config; @@ -118,6 +121,10 @@ function extldap_authenticate($username, $password) $users = ldap_get_entries($ds,$sr); $user = $users[0]; + // If we just want to have user info from LDAP and not to check password + if ($in_auth_with_no_password) { + return $user; + } //now we try to autenthicate the user in the ldap $ubind = @ldap_bind($ds, $user['dn'], $password); if($ubind !== false){ diff --git a/main/inc/lib/main_api.lib.php b/main/inc/lib/main_api.lib.php index b885e6ecd4..9763fc9fed 100644 --- a/main/inc/lib/main_api.lib.php +++ b/main/inc/lib/main_api.lib.php @@ -628,6 +628,15 @@ function api_is_ldap_activated() { return is_array($extAuthSource[LDAP_AUTH_SOURCE]); } +/** + * @return bool Return true if Facebook authentification is activated + * + */ +function api_is_facebook_auth_activated() { + global $_configuration; + return (isset($_configuration['facebook_auth']) && $_configuration['facebook_auth'] == 1); +} + /** * This function checks whether a given path points inside the system. diff --git a/main/install/configuration.dist.php b/main/install/configuration.dist.php index 5a9b1183b2..75fd4d4ebe 100644 --- a/main/install/configuration.dist.php +++ b/main/install/configuration.dist.php @@ -82,25 +82,26 @@ $_configuration['db_admin_path'] = ''; * * Login modules settings */ -// For new login module -// Uncomment these lines to activate ldap -// $extAuthSource["ldap"]["login"] = $_configuration['root_sys'].$_configuration['code_append']."auth/ldap/login.php"; -// $extAuthSource["ldap"]["newUser"] = $_configuration['root_sys'].$_configuration['code_append']."auth/ldap/newUser.php"; +// CAS IMPLEMENTATION +// -> Go to your portal Chamilo > Administration > CAS to activate CAS +// You can leave these lines uncommented even if you don't use CAS authentification +$extAuthSource["cas"]["login"] = $_configuration['root_sys'].$_configuration['code_append']."auth/cas/login.php"; +$extAuthSource["cas"]["newUser"] = $_configuration['root_sys'].$_configuration['code_append']."auth/cas/newUser.php"; // -// Go to Chamilo > Administration > CAS to activate CAS -// You can leave these lines uncommented even if you don't use CAS -$extAuthSource["cas"]["login"] = $_configuration['root_sys'].$_configuration['code_append']."auth/cas/login.php"; -$extAuthSource["cas"]["newUser"] = $_configuration['root_sys'].$_configuration['code_append']."auth/cas/newUser.php"; +// NEW LDAP IMPLEMENTATION BASED ON external_login info +// -> Uncomment the two lines bellow to activate LDAP AND edit main/auth/external_login/ldap.conf.php for configuration +// $extAuthSource["extldap"]["login"] = $_configuration['root_sys'].$_configuration['code_append']."auth/external_login/login.ldap.php"; +// $extAuthSource["extldap"]["newUser"] = $_configuration['root_sys'].$_configuration['code_append']."auth/external_login/newUser.ldap.php"; // +// FACEBOOK IMPLEMENTATION BASED ON external_login info +// -> Uncomment the line bellow to activate Facebook Auth AND edit main/auth/external_login/ldap.conf.php for configuration +// $_configuration['facebook_auth'] = 1; +// +// OTHER EXTERNAL LOGIN INFORMATION // To fetch external login information, uncomment those 2 lines and modify files auth/external_login/newUser.php and auth/external_login/updateUser.php files // $extAuthSource["external_login"]["newUser"] = $_configuration['root_sys'].$_configuration['code_append']."auth/external_login/newUser.php"; // $extAuthSource["external_login"]["updateUser"] = $_configuration['root_sys'].$_configuration['code_append']."auth/external_login/updateUser.php"; -// -//NEW LDAP IMPLEMENTATION BASED ON external_logininfo -// Please edit main/auth/external_login/ldap.conf.php -//$extAuthSource["extldap"]["login"] = $_configuration['root_sys'].$_configuration['code_append']."auth/external_login/login.ldap.php"; -//$extAuthSource["extldap"]["newUser"] = $_configuration['root_sys'].$_configuration['code_append']."auth/external_ldap/newUser.ldap.php"; -// + /** * * Hosting settings - Allows you to set limits to the Chamilo portal when diff --git a/main/install/db_main.sql b/main/install/db_main.sql index fcffbe2dc8..9b815db1b1 100644 --- a/main/install/db_main.sql +++ b/main/install/db_main.sql @@ -702,16 +702,6 @@ VALUES ('display_upcoming_events',NULL,'radio','Tools','true','DisplayUpcomingEventsTitle','DisplayUpcomingEventsComment',NULL,NULL, 0), ('number_of_upcoming_events',NULL,'textfield','Tools','1','NumberOfUpcomingEventsTitle','NumberOfUpcomingEventsComment',NULL,NULL, 0), ('show_closed_courses',NULL,'radio','Platform','false','ShowClosedCoursesTitle','ShowClosedCoursesComment',NULL,NULL, 0), -('ldap_main_server_address', NULL, 'textfield', 'LDAP', 'localhost', 'LDAPMainServerAddressTitle', 'LDAPMainServerAddressComment', NULL, NULL, 0), -('ldap_main_server_port', NULL, 'textfield', 'LDAP', '389', 'LDAPMainServerPortTitle', 'LDAPMainServerPortComment', NULL, NULL, 0), -('ldap_domain', NULL, 'textfield', 'LDAP', 'dc=nodomain', 'LDAPDomainTitle', 'LDAPDomainComment', NULL, NULL, 0), -('ldap_replicate_server_address', NULL, 'textfield', 'LDAP', 'localhost', 'LDAPReplicateServerAddressTitle', 'LDAPReplicateServerAddressComment', NULL, NULL, 0), -('ldap_replicate_server_port', NULL, 'textfield', 'LDAP', '389', 'LDAPReplicateServerPortTitle', 'LDAPReplicateServerPortComment', NULL, NULL, 0), -('ldap_search_term', NULL, 'textfield', 'LDAP', '', 'LDAPSearchTermTitle', 'LDAPSearchTermComment', NULL, NULL, 0), -('ldap_version', NULL, 'radio', 'LDAP', '3', 'LDAPVersionTitle', 'LDAPVersionComment', NULL, '', 0), -('ldap_filled_tutor_field', NULL, 'textfield', 'LDAP', 'employeenumber', 'LDAPFilledTutorFieldTitle', 'LDAPFilledTutorFieldComment', NULL, '', 0), -('ldap_authentication_login', NULL, 'textfield', 'LDAP', '', 'LDAPAuthenticationLoginTitle', 'LDAPAuthenticationLoginComment', NULL, '', 0), -('ldap_authentication_password', NULL, 'textfield', 'LDAP', '', 'LDAPAuthenticationPasswordTitle', 'LDAPAuthenticationPasswordComment', NULL, '', 0), ('service_visio', 'visio_use_rtmpt', 'radio',null,'false', 'VisioUseRtmptTitle','VisioUseRtmptComment', NULL, NULL, 0), ('extendedprofile_registration', 'mycomptetences', 'checkbox','User','false', 'ExtendedProfileRegistrationTitle','ExtendedProfileRegistrationComment', NULL, 'MyCompetences', 0), ('extendedprofile_registration', 'mydiplomas', 'checkbox','User','false', 'ExtendedProfileRegistrationTitle','ExtendedProfileRegistrationComment', NULL, 'MyDiplomas', 0), @@ -721,7 +711,7 @@ VALUES ('extendedprofile_registrationrequired', 'mydiplomas', 'checkbox','User','false', 'ExtendedProfileRegistrationRequiredTitle','ExtendedProfileRegistrationRequiredComment', NULL, 'MyDiplomas', 0), ('extendedprofile_registrationrequired', 'myteach', 'checkbox','User','false', 'ExtendedProfileRegistrationRequiredTitle','ExtendedProfileRegistrationRequiredComment', NULL, 'MyTeach', 0), ('extendedprofile_registrationrequired', 'mypersonalopenarea', 'checkbox','User','false', 'ExtendedProfileRegistrationRequiredTitle','ExtendedProfileRegistrationRequiredComment', NULL, 'MyPersonalOpenArea', 0), -('ldap_filled_tutor_field_value', NULL, 'textfield', 'LDAP', '', 'LDAPFilledTutorFieldValueTitle', 'LDAPFilledTutorFieldValueComment', NULL, '', 0), +('ldap_description', NULL, 'radio', 'LDAP', NULL, 'LdapDescriptionTitle', 'LdapDescriptionComment', NULL, NULL, 0), ('registration','phone','textfield','User','false','RegistrationRequiredFormsTitle','RegistrationRequiredFormsComment',NULL,'Phone', 0), ('add_users_by_coach',NULL,'radio','Security','false','AddUsersByCoachTitle','AddUsersByCoachComment',NULL,NULL, 0), ('extend_rights_for_coach',NULL,'radio','Security','false','ExtendRightsForCoachTitle','ExtendRightsForCoachComment',NULL,NULL, 0), @@ -837,10 +827,7 @@ VALUES ('cas_port', NULL, 'textfield', 'CAS', '', 'CasMainPortTitle', 'CasMainPortComment', NULL, NULL, 0), ('cas_protocol', NULL, 'radio', 'CAS', '', 'CasMainProtocolTitle', 'CasMainProtocolComment', NULL, NULL, 0), ('cas_add_user_activate', NULL, 'radio', 'CAS', '', 'CasUserAddActivateTitle', 'CasUserAddActivateComment', NULL, NULL, 0), -('cas_add_user_login_attr', NULL, 'textfield', 'CAS', '', 'CasUserAddLoginAttributeTitle', 'CasUserAddLoginAttributeComment', NULL, NULL, 0), -('cas_add_user_email_attr', NULL, 'textfield', 'CAS', '', 'CasUserAddEmailAttributeTitle', 'CasUserAddEmailAttributeComment', NULL, NULL, 0), -('cas_add_user_firstname_attr', NULL, 'textfield', 'CAS', '', 'CasUserAddFirstnameAttributeTitle', 'CasUserAddFirstnameAttributeComment', NULL, NULL, 0), -('cas_add_user_lastname_attr', NULL, 'textfield', 'CAS', '', 'CasUserAddLastnameAttributeTitle', 'CasUserAddLastnameAttributeComment', NULL, NULL, 0), +('update_user_info_cas_with_ldap', NULL, 'radio', 'CAS', 'true', 'UpdateUserInfoCasWithLdapTitle', 'UpdateUserInfoCasWithLdapComment', NULL, NULL, 0), ('student_page_after_login', NULL, 'textfield', 'Platform', '', 'StudentPageAfterLoginTitle', 'StudentPageAfterLoginComment', NULL, NULL, 0), ('teacher_page_after_login', NULL, 'textfield', 'Platform', '', 'TeacherPageAfterLoginTitle', 'TeacherPageAfterLoginComment', NULL, NULL, 0), ('drh_page_after_login', NULL, 'textfield', 'Platform', '', 'DRHPageAfterLoginTitle', 'DRHPageAfterLoginComment', NULL, NULL, 0), @@ -1153,8 +1140,11 @@ VALUES ('cas_protocol', 'CAS1', 'CAS1Text'), ('cas_protocol', 'CAS2', 'CAS2Text'), ('cas_protocol', 'SAML', 'SAMLText'), -('cas_add_user_activate', 'true', 'Yes'), ('cas_add_user_activate', 'false', 'No'), +('cas_add_user_activate', 'platform', 'casAddUserActivatePlatform'), +('cas_add_user_activate', 'extldap', 'casAddUserActivateLDAP'), +('update_user_info_cas_with_ldap', 'true', 'Yes'), +('update_user_info_cas_with_ldap', 'false', 'No'), ('scorm_cumulative_session_time','true','Yes'), ('scorm_cumulative_session_time','false','No'), ('allow_hr_skills_management', 'true', 'Yes'), @@ -1198,7 +1188,11 @@ VALUES ('allow_browser_sniffer', 'true', 'Yes'), ('allow_browser_sniffer', 'false', 'No'), ('enable_wami_record', 'true', 'Yes'), -('enable_wami_record', 'false', 'No'); +('enable_wami_record', 'false', 'No'), +('cas_add_user_activate', 'extldap', 'casAddUserActivateLDAP'), +('update_user_info_cas_with_ldap', 'true', 'Yes'), +('update_user_info_cas_with_ldap', 'false', 'No'); + UNLOCK TABLES; /*