function Confirm() { $group = new groups($_GET["gpid"]); if ($_GET["delete-mailbox"] == 1) { if (is_array($gp->members_array)) { $members_array = $gp->members_array; while (list($num, $ligne) = each($members_array)) { if (trim($num) == null) { continue; } $sock = new sockets(); $sock->getFrameWork("cmd.php?DelMbx={$num}"); } } } if ($_GET["DeleteUsers"] == 1) { if (is_array($gp->members_array)) { $members_array = $gp->members_array; while (list($num, $ligne) = each($members_array)) { if (trim($num) == null) { continue; } $user = new user($num); $user->DeleteUser(); } } } else { $ldap = new clladp(); $default_dn_nogroup = "cn=nogroup,ou=groups,ou={$ou},dc=organizations,{$ldap->suffix}"; if (!$ldap->ExistsDN($default_dn_nogroup)) { $ldap->AddGroup("nogroup", $group->ou); } $nogroup_id = $ldap->GroupIDFromName($group->ou, "nogroup"); if (is_array($gp->members_array)) { $members_array = $gp->members_array; while (list($num, $val) = each($members_array)) { $ldap->AddUserToGroup($nogroup_id, $num); $group->DeleteUserFromThisGroup($num); } } } $group->Delete(); }
function DeleteGroup() { if (isset($_GET["DeleteGroup"])) { $gpid = $_GET["DeleteGroup"]; } if (isset($_GET["delgroup"])) { $gpid = $_GET["delgroup"]; } $ou = $_GET["ou"]; $ldap = new clladp(); $tpl = new templates(); $classGroup = new groups($gpid); $hashgroup = $ldap->GroupDatas($gpid); $default_dn_nogroup = "cn=nogroup,ou=groups,ou={$ou},dc=organizations,{$ldap->suffix}"; if (!$ldap->ExistsDN($default_dn_nogroup)) { $ldap->AddGroup("nogroup", $ou); } $nogroup_id = $ldap->GroupIDFromName($ou, "nogroup"); if (is_array($hashgroup["members"])) { while (list($num, $val) = each($hashgroup["members"])) { $ldap->AddUserToGroup($nogroup_id, $num); } } $users = new usersMenus(); if ($users->KAV_MILTER_INSTALLED) { $sock = new sockets(); $sock->getfile("KavMilterDeleteRule:{$classGroup->groupName}.{$classGroup->ou}"); } $kas_dn = "cn={$gpid},cn=kaspersky Antispam 3 rules,cn=artica,{$ldap->suffix}"; if ($ldap->ExistsDN($kas_dn)) { $ldap->ldap_delete($kas_dn, false); } $ldap->ldap_delete($hashgroup["dn"], false); if ($ldap->ldap_last_error != null) { echo $ldap->ldap_last_error; } else { echo $tpl->_ENGINE_parse_body('{success}'); } }
function USER_ADD() { $userid = $_GET["new_userid"]; $password = $_GET["password"]; $group_id = $_GET["group_id"]; $tpl = new templates(); $email = $_GET["email"] . "@" . $_GET["user_domain"]; $user = new usersMenus(); if ($user->EnableVirtualDomainsInMailBoxes == 1) { writelogs("Adding change {$userid} to \"{$email}\" in group {$group_id}", __FUNCTION__, __FILE__, __LINE__); $userid = $email; } $users = new user($userid); if ($users->UserExists) { echo $tpl->javascript_parse_text('ERROR: {account_already_exists}'); return false; } writelogs("Adding {$userid} in group {$group_id}", __FUNCTION__, __FILE__, __LINE__); $email = $_GET["email"] . "@" . $_GET["user_domain"]; $ou = $_GET["ou"]; if ($ou == null) { echo html_entity_decode($tpl->javascript_parse_text('ERROR:{error_no_ou}')); exit; } if ($userid == null) { echo html_entity_decode($tpl->javascript_parse_text('ERROR:{error_no_userid}')); exit; } if ($password == null) { echo html_entity_decode($tpl->javascript_parse_text('ERROR:{error_no_password}')); exit; } if ($email == null) { echo html_entity_decode($tpl->javascript_parse_text('ERROR:{error_no_email}')); exit; } $ldap = new clladp(); if ($group_id == null) { $default_dn_group = "cn=nogroup,ou={$ou},dc=organizations,{$ldap->suffix}"; if (!$ldap->ExistsDN($default_dn_group)) { $ldap->AddGroup("nogroup", $ou); } $group_id = $ldap->GroupIDFromName($ou, "nogroup"); if ($group_id == null) { $group_id = 0; } } $emT = explode('@', $email); //Verify domains --------------------------------------------------------------- 2008 10 05,P3 $hash_domains_table = $ldap->hash_get_domains_ou($ou); if ($hash_domains_table[$_GET["user_domain"]] == null) { writelogs("{$userid} have no domains", __FUNCTION__, __FILE__, __LINE__); writelogs("Create a new local domain by default", __FUNCTION__, __FILE__, __LINE__); $ldap->AddDomainEntity($ou, $_GET["user_domain"]); } //------------------------------------------------------------------------------ $domains = $ldap->domains_get_locals_domains($ou); $dn = "cn={$userid},ou={$ou},dc=organizations,{$ldap->suffix}"; if ($ldap->ExistsDN($dn)) { writelogs("{$userid} ({$dn}) already exists", __FUNCTION__, __FILE__, __LINE__); echo $userid; exit; } $users = new user($userid); $users->mail = $email; $users->accountGroup = $group_id; $users->domainname = $_GET["user_domain"]; if ($password != null) { $users->password = $password; } $users->ou = $ou; if ($domains[$_GET["user_domain"]] == true) { writelogs("is a local domain {$_GET["user_domain"]}={$domains[$_GET["user_domain"]]}", __FUNCTION__, __FILE__, __LINE__); $upd["ObjectClass"][] = 'ArticaSettings'; $users->MailboxActive = "TRUE"; } if (!$users->add_user()) { echo "ERROR:" . $users->ldap_error; exit; } if ($group_id > 0) { $ldap->AddUserToGroup($group_id, $users->uid); } echo $users->uid; }
function USER_ADD() { $userid = $_REQUEST["new_userid"]; $password = $_REQUEST["password"]; $group_id = $_REQUEST["group_id"]; if (isset($_GET["encpass"])) { $password = url_decode_special_tool($password); } $ou = $_REQUEST["ou"]; $tpl = new templates(); if (preg_match("#(.+?)@(.+)#", $_REQUEST["email"], $re)) { $_REQUEST["user_domain"] = $re[2]; $_REQUEST["email"] = $re[1]; } $email = $_REQUEST["email"] . "@" . $_REQUEST["user_domain"]; $email = strtolower($email); $user = new usersMenus(); if ($user->EnableVirtualDomainsInMailBoxes == 1) { writelogs("Adding change {$userid} to \"{$email}\" in group {$group_id}", __FUNCTION__, __FILE__, __LINE__); $userid = $email; } if (is_numeric($group_id)) { $gp = new groups($group_id); writelogs("privileges: {$group_id} -> AsComplexPassword = \"{$gp->Privileges_array["AsComplexPassword"]}\"", __FUNCTION__, __FILE__, __LINE__); if ($gp->Privileges_array["AsComplexPassword"] == "yes") { $ldap = new clladp(); $hash = $ldap->OUDatas($ou); $privs = $ldap->_ParsePrivieleges($hash["ArticaGroupPrivileges"], array(), true); $policiespwd = unserialize(base64_decode($privs["PasswdPolicy"])); if (is_array($policiespwd)) { $priv = new privileges(); if (!$priv->PolicyPassword($password, $policiespwd)) { return false; } } } else { writelogs("privileges: {$group_id} -> AsComplexPassword = \"No\" -> continue", __FUNCTION__, __FILE__, __LINE__); } } $users = new user($userid); if ($users->UserExists) { echo $tpl->javascript_parse_text('ERROR: {account_already_exists}'); return false; } writelogs("Adding {$userid} in group {$group_id}", __FUNCTION__, __FILE__, __LINE__); $email = $_REQUEST["email"] . "@" . $_REQUEST["user_domain"]; if ($ou == null) { echo html_entity_decode($tpl->javascript_parse_text('ERROR:{error_no_ou}')); exit; } if ($userid == null) { echo html_entity_decode($tpl->javascript_parse_text('ERROR:{error_no_userid}')); exit; } if ($password == null) { echo html_entity_decode($tpl->javascript_parse_text('ERROR:{error_no_password}')); exit; } if ($email == null) { echo html_entity_decode($tpl->javascript_parse_text('ERROR:{error_no_email}')); exit; } $ldap = new clladp(); if (!is_numeric($group_id)) { writelogs("Groupid is not numeric", __FUNCTION__, __FILE__, __LINE__); $default_dn_group = "cn=nogroup,ou={$ou},dc=organizations,{$ldap->suffix}"; if (!$ldap->ExistsDN($default_dn_group)) { $ldap->AddGroup("nogroup", $ou); } $group_id = $ldap->GroupIDFromName($ou, "nogroup"); if (!is_numeric($group_id)) { $group_id = 0; } } $emT = explode('@', $email); //Verify domains --------------------------------------------------------------- 2008 10 05,P3 $hash_domains_table = $ldap->hash_get_domains_ou($ou); if (!isset($hash_domains_table[$_REQUEST["user_domain"]])) { writelogs("{$userid} have no domains", __FUNCTION__, __FILE__, __LINE__); writelogs("Create a new local domain by default", __FUNCTION__, __FILE__, __LINE__); $ldap->AddDomainEntity($ou, $_REQUEST["user_domain"]); } //------------------------------------------------------------------------------ $domains = $ldap->domains_get_locals_domains($ou); $dn = "cn={$userid},ou={$ou},dc=organizations,{$ldap->suffix}"; if ($ldap->ExistsDN($dn)) { writelogs("{$userid} ({$dn}) already exists", __FUNCTION__, __FILE__, __LINE__); echo $userid; exit; } $users = new user($userid); $users->mail = $email; $users->accountGroup = $group_id; $users->domainname = $_REQUEST["user_domain"]; if ($password != null) { $users->password = $password; } $users->ou = $ou; if ($domains[$_REQUEST["user_domain"]] == true) { $upd = array(); writelogs("is a local domain {$_REQUEST["user_domain"]}={$domains[$_REQUEST["user_domain"]]}", __FUNCTION__, __FILE__, __LINE__); $upd["ObjectClass"][] = 'ArticaSettings'; $users->MailboxActive = "TRUE"; } if (!$users->add_user()) { echo "ERROR: add_user(): " . $users->ldap_error . "\n" . basename(__FILE__) . "\nLine:" . __LINE__; exit; } writelogs("Success adding user, now, add user {$users->uid} to group {$group_id} ", __FUNCTION__, __FILE__, __LINE__); if ($group_id > 0) { $ldap->AddUserToGroup($group_id, $users->uid); } echo $users->uid; }
function CreateUser() { $ldap = new clladp(); $tpl = new templates(); $groupid = $ldap->GroupIDFromName($_GET["ou"], $_GET["group"]); $user = new user(); $user->uid = $_GET["uid"]; $user->ou = $_GET["ou"]; $user->DisplayName = $_GET["uid"]; $user->group_id = $groupid; $user->mail = "{$_GET["uid"]}@{$_GET["domain"]}"; $user->password = $_GET["password"]; if (!$user->add_user()) { echo $tpl->_ENGINE_parse_body("{$_GET["uid"]}@{$_GET["domain"]} {failed}"); } else { echo $tpl->_ENGINE_parse_body("{$_GET["uid"]}@{$_GET["domain"]} {added}"); } }