private function create(PFUser $user) { if ($user->getPassword() != '') { $this->ldap->add($this->getUserDN($user), $this->getLDAPInfo($user)); $this->updateUserLdapId($user); $this->ldap_user_dao->createLdapUser($user->getId(), $_SERVER['REQUEST_TIME'], $this->getUserLdapId($user)); } else { $this->logger->debug('No password for user ' . $user->getUnixName() . ' ' . $user->getId() . ' skip LDAP account creation'); } }
/** Hook * When redirection after login happens, check if user as already filled * his personal info or not. If it's not the case, it means that the * account was automatically created and user must complete his * registeration. */ function account_redirect_after_login($params) { if ($GLOBALS['sys_auth_type'] == 'ldap') { $ldapUserDao = new LDAP_UserDao(CodendiDataAccess::instance()); if (!$ldapUserDao->alreadyLoggedInOnce(user_getid())) { $return_to_arg = ""; if ($params['request']->existAndNonEmpty('return_to')) { $return_to_arg = '?return_to=' . urlencode($params['request']->get('return_to')); if (isset($pv) && $pv == 2) { $return_to_arg .= '&pv=' . $pv; } } else { if (isset($pv) && $pv == 2) { $return_to_arg .= '?pv=' . $pv; } } $params['request']->set('return_to', '/plugins/ldap/welcome.php' . $return_to_arg); } } }
if ($request->valid($vMailSite)) { $mailSite = 1; } $mailVa = 0; $vMailVa = new Valid_WhiteList('form_mail_va', array('1')); $vMailVa->required(); if ($request->valid($vMailVa)) { $mailVa = 1; } if ($currentUser) { $currentUser->setTimezone($timezone); $currentUser->setMailVA($mailVa); $currentUser->setMailSiteUpdates($mailSite); $currentUser->setUnixStatus('A'); if ($um->updateDb($currentUser)) { $ldapUserDao = new LDAP_UserDao(CodendiDataAccess::instance()); $ldapUserDao->setLoginDate($user_id, $_SERVER['REQUEST_TIME']); } else { welcome_exit_error($Language->getText('plugin_ldap', 'welcome_error_up'), $Language->getText('plugin_ldap', 'welcome_error_up_expl', array(''))); } } account_redirect_after_login(); } else { $pv = 0; $vPv = new Valid_Pv(); if ($request->valid($vPv)) { $pv = $request->get('pv'); } $timezone = $request->existAndNonEmpty('timezone') ? $request->get('timezone') : 'None'; $ldapUm = new LDAP_UserManager($ldapPlugin->getLdap()); $lr = $ldapUm->getLdapFromUserId($user_id);