Merge branch 'baelmyhu-chamilo19102remote' into 1.9.x

1.9.x
Yannick Warnier 11 years ago
commit 1e967d4c1f
  1. 16
      index.php
  2. 24
      main/auth/external_login/facebook.inc.php
  3. 4
      main/auth/external_login/facebook.init.php

@ -17,6 +17,7 @@ $cidReset = true;
require_once 'main/inc/global.inc.php'; require_once 'main/inc/global.inc.php';
require_once api_get_path(LIBRARY_PATH).'userportal.lib.php'; require_once api_get_path(LIBRARY_PATH).'userportal.lib.php';
require_once 'main/chat/chat_functions.lib.php'; require_once 'main/chat/chat_functions.lib.php';
require_once 'main/auth/external_login/facebook.inc.php';
// The section (for the tabs). // The section (for the tabs).
$this_section = SECTION_CAMPUS; $this_section = SECTION_CAMPUS;
@ -40,6 +41,11 @@ $htmlHeadXtra[] ='
}); });
</script>'; </script>';
// Facebook connexion, if activated
if (api_is_facebook_auth_activated() && !api_get_user_id()) {
facebookConnect();
}
$controller = new IndexManager($header_title); $controller = new IndexManager($header_title);
//Actions //Actions
@ -127,11 +133,6 @@ if (api_get_setting('display_categories_on_homepage') == 'true') {
$controller->tpl->assign('course_category_block', $controller->return_courses_in_categories()); $controller->tpl->assign('course_category_block', $controller->return_courses_in_categories());
} }
// Facebook connexion, if activated
if (api_is_facebook_auth_activated() && !api_get_user_id()) {
facebook_connect();
}
$controller->set_login_form(); $controller->set_login_form();
//@todo move this inside the IndexManager //@todo move this inside the IndexManager
@ -139,8 +140,11 @@ if (!api_is_anonymous()) {
$controller->tpl->assign('profile_block', $controller->return_profile_block()); $controller->tpl->assign('profile_block', $controller->return_profile_block());
$controller->tpl->assign('user_image_block', $controller->return_user_image_block()); $controller->tpl->assign('user_image_block', $controller->return_user_image_block());
if (api_is_platform_admin()) {
$controller->tpl->assign('course_block', $controller->return_course_block()); $controller->tpl->assign('course_block', $controller->return_course_block());
//$controller->tpl->assign('teacher_block', $controller->return_teacher_link()); } else {
$controller->tpl->assign('teacher_block', $controller->return_teacher_link());
}
} }
$hot_courses = null; $hot_courses = null;

@ -13,7 +13,6 @@
require_once dirname(__FILE__) . '/../../inc/global.inc.php'; require_once dirname(__FILE__) . '/../../inc/global.inc.php';
require_once dirname(__FILE__) . '/facebook.init.php'; require_once dirname(__FILE__) . '/facebook.init.php';
require_once dirname(__FILE__) . '/facebook-php-sdk/autoload.php'; require_once dirname(__FILE__) . '/facebook-php-sdk/autoload.php';
use Facebook\FacebookSession; use Facebook\FacebookSession;
@ -30,6 +29,7 @@ use Facebook\HttpClients\FacebookHttpable;
require_once dirname(__FILE__) . '/functions.inc.php'; 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']); FacebookSession::setDefaultApplication( $facebook_config['appId'],$facebook_config['secret']);
/** /**
@ -55,7 +55,7 @@ function facebookConnect()
$username = changeToValidChamiloLogin($graphObject->getProperty('email')); $username = changeToValidChamiloLogin($graphObject->getProperty('email'));
$email = $graphObject->getProperty('email'); $email = $graphObject->getProperty('email');
$locale = $graphObject->getProperty('locale'); $locale = $graphObject->getProperty('locale');
$language = getLanguageForFacebook($locale); $language = facebookPluginGetLanguage($locale);
if (!$language) { if (!$language) {
$language='en_US'; $language='en_US';
} }
@ -90,7 +90,8 @@ function facebookConnect()
} else { } else {
return false; return false;
} }
} else {//User already exists, update info and login } else {
// User already exists, update info and login
$chamilo_uid = $chamiloUinfo['user_id']; $chamilo_uid = $chamiloUinfo['user_id'];
$u['user_id'] = $chamilo_uid; $u['user_id'] = $chamilo_uid;
external_update_user($u); external_update_user($u);
@ -110,21 +111,23 @@ function facebookConnect()
/** /**
* Get facebook login url for the platform * Get facebook login url for the platform
* @return mixed * @return string
*/ */
function facebookGetLoginUrl() function facebookGetLoginUrl()
{ {
global $facebook_config; global $facebook_config;
$helper = new FacebookRedirectLoginHelper($facebook_config['return_url']); $helper = new FacebookRedirectLoginHelper($facebook_config['return_url']);
$loginUrl = $helper->getLoginUrl( $loginUrl = $helper->getLoginUrl(
array('scope' => 'email') array(
'scope' => 'email'
)
); );
return $loginUrl; return $loginUrl;
} }
/** /**
* Return a valid Chamilo login
* Chamilo login only use characters lettres, des chiffres et les signes _ . - * Chamilo login only use characters lettres, des chiffres et les signes _ . -
* return a string containing valid chamilo login characters
* @param $in_txt * @param $in_txt
* @return mixed * @return mixed
*/ */
@ -138,13 +141,18 @@ function changeToValidChamiloLogin($in_txt)
* @param string $language * @param string $language
* @return bool * @return bool
*/ */
function getLanguageForFacebook($language = 'en_US') function facebookPluginGetLanguage($language = 'en_US')
{ {
$language = substr($language, 0, 2); $language = substr($language, 0, 2);
$sqlResult = Database::query("SELECT english_name FROM ".Database::get_main_table(TABLE_MAIN_LANGUAGE)." WHERE available = 1 AND isocode = '$language'"); $sqlResult = Database::query(
"SELECT english_name FROM ".
Database::get_main_table(TABLE_MAIN_LANGUAGE).
" WHERE available = 1 AND isocode = '$language'"
);
if (Database::num_rows($sqlResult)) { if (Database::num_rows($sqlResult)) {
$result = Database::fetch_array($sqlResult); $result = Database::fetch_array($sqlResult);
return $result['english_name']; return $result['english_name'];
} }
return false; return false;
} }

@ -16,10 +16,10 @@
* */ * */
//Loads the portal facebook settings //Loads the portal facebook settings
/** /**
* Facebook application setting
* Loads the portal facebook settings
* See facebook section of the auth.conf.php file * See facebook section of the auth.conf.php file
*/ */

Loading…
Cancel
Save