array("label" => "Account UID"))); } if ( isset($_POST['setup_admin_account']) ) { $admin_setup = TRUE; validate_setup_cookie(); set_page_access("setup"); $completed_action="${SERVER_PATH}log_in"; $page_title="New administrator account"; render_header("$ORGANISATION_NAME account manager - setup administrator account", FALSE); } else { set_page_access("admin"); $completed_action="${THIS_MODULE_PATH}/"; $page_title="New account"; $admin_setup = FALSE; render_header("$ORGANISATION_NAME account manager"); render_submenu(); } $invalid_password = FALSE; $mismatched_passwords = FALSE; $invalid_username = FALSE; $weak_password = FALSE; $invalid_email = FALSE; $disabled_email_tickbox = TRUE; $invalid_cn = FALSE; $invalid_account_identifier = FALSE; $account_attribute = $LDAP['account_attribute']; $new_account_r = array(); foreach ($attribute_map as $attribute => $attr_r) { if (isset($_FILES[$attribute]['size']) and $_FILES[$attribute]['size'] > 0) { $this_attribute = array(); $this_attribute['count'] = 1; $this_attribute[0] = file_get_contents($_FILES[$attribute]['tmp_name']); $$attribute = $this_attribute; $new_account_r[$attribute] = $this_attribute; unset($new_account_r[$attribute]['count']); } if (isset($_POST[$attribute])) { $this_attribute = array(); if (is_array($_POST[$attribute]) and count($_POST[$attribute]) > 0) { foreach($_POST[$attribute] as $key => $value) { if ($value != "") { $this_attribute[$key] = filter_var($value, FILTER_SANITIZE_FULL_SPECIAL_CHARS); } } if (count($this_attribute) > 0) { $this_attribute['count'] = count($this_attribute); $$attribute = $this_attribute; } } elseif ($_POST[$attribute] != "") { $this_attribute['count'] = 1; $this_attribute[0] = filter_var($_POST[$attribute], FILTER_SANITIZE_FULL_SPECIAL_CHARS); $$attribute = $this_attribute; } } if (!isset($$attribute) and isset($attr_r['default'])) { $$attribute['count'] = 1; $$attribute[0] = $attr_r['default']; } if (isset($$attribute)) { $new_account_r[$attribute] = $$attribute; unset($new_account_r[$attribute]['count']); } } ## if (isset($_GET['account_request'])) { $givenname[0]=filter_var($_GET['first_name'], FILTER_SANITIZE_FULL_SPECIAL_CHARS); $new_account_r['givenname'] = $givenname[0]; unset($new_account_r['givenname']['count']); $sn[0]=filter_var($_GET['last_name'], FILTER_SANITIZE_FULL_SPECIAL_CHARS); $new_account_r['sn'] = $sn[0]; unset($new_account_r['sn']['count']); $mail[0]=filter_var($_GET['email'], FILTER_SANITIZE_EMAIL); if ($mail[0] == "") { if (isset($EMAIL_DOMAIN)) { $mail[0] = $uid . "@" . $EMAIL_DOMAIN; $disabled_email_tickbox = FALSE; } } else { $disabled_email_tickbox = FALSE; } $new_account_r['mail'] = $mail; unset($new_account_r['mail']['count']); } if (isset($_GET['account_request']) or isset($_POST['create_account'])) { if (!isset($uid[0])) { $uid[0] = generate_username($givenname[0],$sn[0]); $new_account_r['uid'] = $uid; unset($new_account_r['uid']['count']); } if (!isset($cn[0])) { if ($ENFORCE_SAFE_SYSTEM_NAMES == TRUE) { $cn[0] = $givenname[0] . $sn[0]; } else { $cn[0] = $givenname[0] . " " . $sn[0]; } $new_account_r['cn'] = $cn; unset($new_account_r['cn']['count']); } } if (isset($_POST['create_account'])) { $password = $_POST['password']; $new_account_r['password'][0] = $password; $account_identifier = $new_account_r[$account_attribute][0]; $this_cn=$cn[0]; // $this_mail=$mail[0]; $this_mail=$registeredaddress[0]; $this_givenname=$givenname[0]; $this_sn=$sn[0]; $this_password=$password[0]; if (!isset($this_cn) or $this_cn == "") { $invalid_cn = TRUE; } if ((!isset($account_identifier) or $account_identifier == "") and $invalid_cn != TRUE) { $invalid_account_identifier = TRUE; } if ((!is_numeric($_POST['pass_score']) or $_POST['pass_score'] < 3) and $ACCEPT_WEAK_PASSWORDS != TRUE) { $weak_password = TRUE; } if (isset($this_mail) and !is_valid_email($this_mail)) { $invalid_email = TRUE; } if (preg_match("/\"|'/",$password)) { $invalid_password = TRUE; } if ($password != $_POST['password_match']) { $mismatched_passwords = TRUE; } if ($ENFORCE_SAFE_SYSTEM_NAMES == TRUE and !preg_match("/$USERNAME_REGEX/",$account_identifier)) { $invalid_account_identifier = TRUE; } if (isset($_POST['send_email']) and isset($mail) and $EMAIL_SENDING_ENABLED == TRUE) { $send_user_email = TRUE; } if ( isset($this_givenname) and isset($this_sn) and isset($this_password) and !$mismatched_passwords and !$weak_password and !$invalid_password and !$invalid_account_identifier and !$invalid_cn and !$invalid_email) { $ldap_connection = open_ldap_connection(); $new_account = ldap_new_account($ldap_connection, $new_account_r); if ($new_account) { $creation_message = "The account was created."; if (isset($send_user_email) and $send_user_email == TRUE) { include_once "mail_functions.inc.php"; $mail_body = parse_mail_text($new_account_mail_body, $password, $account_identifier, $this_givenname, $this_sn); $mail_subject = parse_mail_text($new_account_mail_subject, $password, $account_identifier, $this_givenname, $this_sn); $sent_email = send_email($this_mail,"$this_givenname $this_sn",$mail_subject,$mail_body); $creation_message = "The account was created"; if ($sent_email) { $creation_message .= " and an email sent to $this_mail."; } else { $creation_message .= " but unfortunately the email wasn't sent.
More information will be available in the logs."; } } if ($admin_setup == TRUE) { $member_add = ldap_add_member_to_group($ldap_connection, $LDAP['admins_group'], $account_identifier); if (!$member_add) { ?>

Unfortunately adding it to the admin group failed.

Failed to create the account:

     
     
The Common Name is required\n"; } if ($invalid_account_identifier) { $errors.="
  • The account identifier (" . $attribute_map[$account_attribute]['label'] . ") is invalid.
  • \n"; } if ($weak_password) { $errors.="
  • The password is too weak
  • \n"; } if ($invalid_password) { $errors.="
  • The password contained invalid characters
  • \n"; } if ($invalid_email) { $errors.="
  • The email address is invalid
  • \n"; } if ($mismatched_passwords) { $errors.="
  • The passwords are mismatched
  • \n"; } if ($invalid_username) { $errors.="
  • The username is invalid
  • \n"; } if ($errors != "") { ?>

    There were issues creating the account:

    $attr_r) { $label = $attr_r['label']; if (isset($attr_r['onkeyup'])) { $onkeyup = $attr_r['onkeyup']; } else { $onkeyup = ""; } if ($attribute == $LDAP['account_attribute']) { $label = "$label*"; } if (isset($$attribute)) { $these_values=$$attribute; } else { $these_values = array(); } if (isset($attr_r['inputtype'])) { $inputtype = $attr_r['inputtype']; } else { $inputtype = ""; } render_attribute_fields($attribute,$label,$these_values,"",$onkeyup,$inputtype,$tabindex); $tabindex++; } ?>
    > Email these credentials to the user?
    *The account identifier