function saml_sp_drupal_login__request_access_submit in SAML Service Provider 7.3
Same name and namespace in other branches
- 7.8 modules/saml_sp_drupal_login/saml_sp_drupal_login.pages.inc \saml_sp_drupal_login__request_access_submit()
- 7.2 modules/saml_sp_drupal_login/saml_sp_drupal_login.pages.inc \saml_sp_drupal_login__request_access_submit()
File
- modules/
saml_sp_drupal_login/ saml_sp_drupal_login.pages.inc, line 55
Code
function saml_sp_drupal_login__request_access_submit($form, &$form_state) {
$params = array(
'mail' => $form_state['values']['email'],
'explanation' => $form_state['values']['explanation'],
'name' => $form_state['values']['name'],
);
$emails = array();
if (variable_get('saml_sp_drupal_login__account_request_site_mail', FALSE)) {
// send the email to the site_mail
$site_mail = variable_get('site_mail', '');
if (!empty($site_mail) && valid_email_address($site_mail)) {
$emails[] = variable_get('site_mail', '');
}
}
$admin_uids = array();
foreach (variable_get('saml_sp_drupal_login__account_request_site_administrators') as $uid) {
if ($uid) {
$admin_uids[] = $uid;
}
}
$admin_role = variable_get('user_admin_role', 3);
$query = db_select('users', 'u');
$query
->fields('u', array(
'uid',
'mail',
));
$query
->join('users_roles', 'ur', 'ur.uid=u.uid');
$query
->condition('u.uid', $admin_uids, 'IN');
$query
->condition('ur.rid', $admin_role);
$query
->condition('u.status', 1);
$result = $query
->execute();
foreach ($result
->fetchAllAssoc('uid') as $u) {
if ($u->mail && valid_email_address($u->mail)) {
$emails[] = $u->mail;
}
}
// we now have a list of the email addresses to send the message to
foreach ($emails as $mail) {
drupal_mail('saml_sp_drupal_login', 'account_request', $mail, language_default(), $params);
}
drupal_set_message(t('Your account creation request has been submitted to site administrators. They will inform you of the results.'));
drupal_goto('user');
}