function onUserLogin($user, $options = array()) { $mainframe = JFactory::getApplication('site'); if (array_key_exists ('skip_joomdlehooks', $options)) return; if ($mainframe->isAdmin()) return; $username = $user['username']; $moodle_user = JoomdleHelperContent::call_method ("user_id", $username); // Do nothing if user does not exist in Moodle if (!$moodle_user) return; $comp_params = JComponentHelper::getParams( 'com_joomdle' ); $moodle_url = $comp_params->get( 'MOODLE_URL' ); $redirectless_sso = $comp_params->get( 'redirectless_sso' ); $session = JFactory::getSession(); $token = md5 ($session->getId()); /* Don't log in Moodle if user is blocked */ $user_id = JUserHelper::getUserId($username); $user_obj = JFactory::getUser($user_id); if ($user_obj->block) return; $app = JFactory::getApplication(); if (JRequest::getVar ('return')) { $return = JRequest::getVar ('return'); if (!strncmp ($return, 'B:', 2)) { /* CB login module */ $login_url = urlencode (base64_decode (substr ($return, 2))); } else { /* Normal login */ $login_url = urlencode (base64_decode (JRequest::getVar ('return'))); } } else if (array_key_exists ('url', $options)) $login_url = urlencode ($options['url']); else $login_url = urlencode (JRequest::getUri ()); // Set the remember me cookie if enabled // as we are redirecting and this would not be executed by Joomla if (isset($options['remember']) && $options['remember']) { jimport('joomla.utilities.simplecrypt'); jimport('joomla.utilities.utility'); //Create the encryption key, apply extra hardening using the user agent string $key = JApplication::getHash(@$_SERVER['HTTP_USER_AGENT']); $credentials = array ('username'=>$username, 'password'=>$user['password']); $crypt = new JSimpleCrypt($key); $rcookie = $crypt->encrypt(serialize($credentials)); $lifetime = time() + 365*24*60*60; setcookie( JApplication::getHash('JLOGIN_REMEMBER'), $rcookie, $lifetime, '/' ); } // Metodo nuevo con cURL if ($redirectless_sso) plgUserJoomdlehooks::log_into_moodle ($username, $token); else // Metodo normal usando redirect $app->redirect($moodle_url."/auth/joomdle/land.php?username=$username&token=$token&use_wrapper=0&create_user=0&wantsurl=$login_url" ); }
function onUserAfterDelete($user, $options = array()) { $comp_params = JComponentHelper::getParams('com_joomdle'); /* Don't delete user if not configured to do so */ if (!$comp_params->get('auto_delete_users')) { return; } $otherlanguage = JFactory::getLanguage(); $otherlanguage->load('com_joomdle', JPATH_SITE); plgUserJoomdlehooks::delete_user($user); }