baelmyhu 9 years ago
parent
commit
3746a50ad2
2 changed files with 12 additions and 6 deletions
  1. 3 2
      main/auth/external_login/facebook.inc.php
  2. 9 4
      main/inc/local.inc.php

+ 3 - 2
main/auth/external_login/facebook.inc.php

@@ -9,7 +9,7 @@
  *
  * This files provides the facebookConnect()  and facebook_get_url functions
  * Please edit the facebook.conf.php file to adapt it to your fb application parameter
- * */
+ */
 
 require_once dirname(__FILE__) . '/../../inc/global.inc.php';
 require_once dirname(__FILE__) . '/facebook.init.php';
@@ -29,6 +29,7 @@ use Facebook\HttpClients\FacebookHttpable;
 
 require_once dirname(__FILE__) . '/functions.inc.php';
 
+// dont rename $facebook_config to $facebookConfig otherwise get a "Facebook\\FacebookSDKException"
 FacebookSession::setDefaultApplication($facebook_config['appId'], $facebook_config['secret']);
 
 /**
@@ -67,7 +68,7 @@ function facebookConnect()
                 'email' => $graphObject->getProperty('email'),
                 'username' => $username,
                 'language' => $language,
-                'password' => DEFAULT_PASSWORD,
+                'password' => 'facebook',
                 'auth_source' => 'facebook',
                 // 'courses' => $user_info['courses'],
                 // 'profile_link' => $user_info['profile_link'],

+ 9 - 4
main/inc/local.inc.php

@@ -113,10 +113,15 @@
 
 use ChamiloSession as Session;
 
-//Conditional login
-if (isset($_SESSION['conditional_login']['uid']) &&
-    $_SESSION['conditional_login']['can_login'] === true
-) {
+require_once api_get_path(SYS_PATH).'main/auth/external_login/facebook.inc.php';
+
+// Facebook connexion, if activated
+if (api_is_facebook_auth_activated() && !api_get_user_id()) {
+    facebookConnect();
+}
+
+// Conditional login
+if (isset($_SESSION['conditional_login']['uid']) && $_SESSION['conditional_login']['can_login'] === true) {
     $uData = api_get_user_info($_SESSION['conditional_login']['uid']);
     ConditionalLogin::check_conditions($uData);