GetDb(); $groupops = $gCms->GetGroupOperations(); $group_list = $groupops->LoadGroups(); $error = ""; $user= ""; if (isset($_POST["user"])) $user = cleanValue($_POST["user"]); $firstname = ""; if (isset($_POST["firstname"])) $firstname = cleanValue($_POST["firstname"]); $lastname = ""; if (isset($_POST["lastname"])) $lastname = cleanValue($_POST["lastname"]); $password= ""; if (isset($_POST["password"])) $password = $_POST["password"]; $passwordagain= ""; if (isset($_POST["passwordagain"])) $passwordagain = $_POST["passwordagain"]; $email = ""; if (isset($_POST["email"])) $email = trim(strip_tags($_POST["email"])); $wysiwyg = ''; if (isset($_POST["wysiwyg"])) $wysiwyg = $_POST["wysiwyg"]; $active = 1; if (!isset($_POST["active"]) && isset($_POST["adduser"])) $active = 0; $adminaccess = 1; if (!isset($_POST["adminaccess"]) && isset($_POST["adduser"])) $adminaccess = 0; if (isset($_POST["cancel"]) || !check_permission($userid, 'Add Users')) { redirect("listusers.php".$urlext); return; } if (isset($_POST["adduser"])) { $validinfo = true; if ($user == "") { $validinfo = false; $error .= "
  • ".lang('nofieldgiven', array(lang('username')))."
  • "; } else if ( !preg_match("/^[a-zA-Z0-9\._ ]+$/", $user) ) { $validinfo = false; $error .= "
  • ".lang('illegalcharacters', array(lang('username')))."
  • "; } if ($password == "") { $validinfo = false; $error .= "
  • ".lang('nofieldgiven', array(lang('password')))."
  • "; } else if ($password != $passwordagain) { #We don't want to see this if no password was given $validinfo = false; $error .= "
  • ".lang('nopasswordmatch')."
  • "; } if (!empty($email) && !is_email($email)) { $validinfo = false; $error .= '
  • '.lang('invalidemail').'
  • '; } if ($validinfo) { #$new_user_id = $db->GenID(cms_db_prefix()."users_seq"); #$query = "INSERT INTO ".cms_db_prefix()."users (user_id, username, password, active, create_date, modified_date) VALUES ($new_user_id, ".$db->qstr($user).", ".$db->qstr(md5($password)).", $active, '".$db->DBTimeStamp(time())."', '".$db->DBTimeStamp(time())."')"; #$result = $db->Execute($query); $newuser = new User(); $newuser->username = $user; $newuser->SetPassword($password); $newuser->active = $active; $newuser->firstname = $firstname; $newuser->lastname = $lastname; $newuser->email = $email; $newuser->adminaccess = $adminaccess; $newuser->SetPassword($password); Events::SendEvent('Core', 'AddUserPre', array('user' => &$newuser)); $result = $newuser->save(); if ($result) { Events::SendEvent('Core', 'AddUserPost', array('user' => &$newuser)); # set some default preferences, based on the user creating this user $adminid = get_userid(); $userid = $newuser->id; set_preference($userid, 'wysiwyg', $wysiwyg); set_preference($userid, 'default_cms_language', get_preference($adminid, 'default_cms_language')); set_preference($userid, 'admintheme', get_site_preference('logintheme',CmsAdminThemeBase::GetDefaultTheme())); set_preference($userid, 'bookmarks', get_preference($adminid, 'bookmarks')); set_preference($userid, 'recent', get_preference($adminid, 'recent')); if ($assign_group_perm && isset($_POST['groups'])) { $iquery = "insert into ".cms_db_prefix(). "user_groups (user_id,group_id) VALUES (?,?)"; foreach($group_list as $thisGroup) { if (isset($_POST['g'.$thisGroup->id]) && $_POST['g'.$thisGroup->id] == 1) { $result = $db->Execute($iquery,array($userid,$thisGroup->id)); } } } // put mention into the admin log audit($newuser->id, 'Admin Username: '.$newuser->username, 'Added'); redirect("listusers.php".$urlext); } else { $error .= "
  • ".lang('errorinsertinguser')."
  • "; } } } include_once("header.php"); if ($error != "") { echo $themeObject->ShowErrors(''); } if (!$access) { echo $themeObject->ShowErrors(lang('noaccessto',lang('adduser'))); } else { ?>
    ShowHeader('adduser'); ?>

    *:

    *:

    *:

    :

    :

    :

    :

    :

    />

    DisplayImage('icons/system/permissions.gif', lang('permissions'),'','','icon-extra');?>:
    '; $userops = $gCms->GetUserOperations(); $adminuser = ($userops->UserInGroup($userid,1) || $userid == 1); foreach($group_list as $thisGroup) { if( $thisGroup->id == 1 && $adminuser == false ) { continue; } echo '
    '; } echo '
    '; ?>

     

    « '.lang('back').'

    '; include_once("footer.php"); # vim:ts=4 sw=4 noet ?>