Beispiel #1
0
function DelPointerDC()
{
    $dn = $_GET["DelAssociatedDomain"];
    $ldap = new clladp();
    $upd["associateddomain"] = $_GET["entry"];
    if (!$ldap->Ldap_del_mod($dn, $upd)) {
        echo $ldap->ldap_last_error;
    }
}
function zarafaEnabled()
{
    $ldap = new clladp();
    $dn = "ou={$_GET["ou"]},dc=organizations,{$ldap->suffix}";
    $upd["objectClass"] = "zarafa-company";
    if ($_GET["zarafaEnabled"] == 1) {
        if (!$ldap->Ldap_add_mod("{$dn}", $upd)) {
            echo $ldap->ldap_last_error;
            return;
        }
    } else {
        if (!$ldap->Ldap_del_mod("{$dn}", $upd)) {
            echo $ldap->ldap_last_error;
            return;
        }
    }
    $sock = new sockets();
    $sock->getFrameWork("cmd.php?zarafa-admin=yes");
}
function zarafaEnabled()
{
    $ldap = new clladp();
    $sock = new sockets();
    $dn = "ou={$_GET["ou"]},dc=organizations,{$ldap->suffix}";
    $upd["objectClass"] = "zarafa-company";
    $upd["cn"] = $_GET["ou"];
    if ($_GET["zarafaEnabled"] == 1) {
        if (!$ldap->Ldap_add_mod("{$dn}", $upd)) {
            echo $ldap->ldap_last_error;
            return;
        }
        $oumd5 = md5(strtolower(trim($_GET["ou"])));
        $sock->SET_INFO("zarafaMBXLang{$oumd5}", $_GET["zarafaMbxLang"]);
        $sock->SET_INFO("OuZarafaDeleteADM{$oumd5}", $_GET["OuZarafaDeleteADM"]);
    } else {
        if (!$ldap->Ldap_del_mod("{$dn}", $upd)) {
            echo $ldap->ldap_last_error;
        }
        return;
    }
    $sock = new sockets();
    $EnableZarafaMulti = $sock->GET_INFO("EnableZarafaMulti");
    if (!is_numeric($EnableZarafaMulti)) {
        $EnableZarafaMulti = 0;
    }
    if ($EnableZarafaMulti == 0) {
        $sock->getFrameWork("cmd.php?zarafa-admin=yes");
        return;
    }
    $q = new mysql();
    $sql = "SELECT servername,ID FROM zarafamulti WHERE ou='{$_GET["ou"]}' AND enabled=1";
    $results = $q->QUERY_SQL($sql, "artica_backup");
    if (mysql_num_rows($results) > 0) {
        while ($ligne = mysql_fetch_array($results, MYSQL_ASSOC)) {
            $sock->getFrameWork("cmd.php?zarafa-admin=yes&instance-id={$ligne["ID"]}");
        }
    }
}
Beispiel #4
0
function blocker_delrule()
{
    $ou = $_GET["ou"];
    $bl = new htmlblocker($ou);
    $datas["BigMailHtmlRules"] = $bl->ruleslist[$_GET["blockerdelterule"]];
    $ldap = new clladp();
    $ldap->Ldap_del_mod($bl->dn, $datas);
}
function TreePostfixDeleteHeaderCheckRule()
{
    include_once "ressources/class.main_cf_filtering.inc";
    $id = $_GET["TreePostfixDeleteHeaderCheckRule"];
    $filters = new main_header_check();
    $datas = $filters->array_ldap_source[$id];
    unset($filters->array_ldap_source[$id]);
    if (count($filters->array_ldap_source) == 0) {
        $update_array["PostfixHeadersRegex"] = $datas;
        $ldap = new clladp();
        $ldap->Ldap_del_mod("cn=artica,{$ldap->suffix}", $update_array);
    } else {
        while (list($num, $ligne) = each($filters->array_ldap_source)) {
            $update_array["PostfixHeadersRegex"][] = $filters->array_ldap_source[$num];
        }
        $ldap = new clladp();
        $ldap->Ldap_modify("cn=artica,{$ldap->suffix}", $update_array);
        if ($ldap->ldap_last_error != null) {
            echo nl2br("ID=[{$_GET["TreePostfixDeleteHeaderCheckRule"]}]\n{$ldap->ldap_last_error}");
        }
    }
    $pages = new HtmlPages();
    if ($pages->AutomaticConfig == true) {
        $filters->SaveToDaemon();
    }
    echo $pages->PagePostfixRules();
}
function RblDelete()
{
    $ldap = new clladp();
    $ou = $_GET["ou"];
    $hash = $ldap->OUDatas($ou);
    $upd["SURBLServers"] = $hash["SURBLServers"][$_GET["SURBLServers"]];
    $dn = "ou={$ou},dc=organizations,{$ldap->suffix}";
    if (!$ldap->Ldap_del_mod($dn, $upd)) {
        echo $ldap->ldap_last_error;
    }
}
function ZARAFA_DISABLE_FEATURES_SAVE()
{
    $zarafaEnabledFeatures = null;
    $zarafaDisabledFeatures = null;
    $array = array();
    if ($_POST["user_zarafa_enable_imap"] == 1) {
        $zarafaEnabledFeatures = "imap";
    }
    if ($_POST["user_zarafa_enable_pop3"] == 1) {
        $zarafaEnabledFeatures = $zarafaEnabledFeatures . " pop3";
    }
    if ($_POST["user_zarafa_enable_imap"] == 0) {
        $zarafaDisabledFeatures = "imap";
    }
    if ($_POST["user_zarafa_enable_pop3"] == 0) {
        $zarafaDisabledFeatures = $zarafaDisabledFeatures . " pop3";
    }
    $u = new user($_POST["uid"]);
    $ldap = new clladp();
    if ($zarafaEnabledFeatures == null) {
        if (!$ldap->Ldap_del_mod($u->dn, $array["zarafaEnabledFeatures"])) {
            echo "zarafaEnabledFeatures = '{$zarafaEnabledFeatures}'\nzarafaDisabledFeatures = '{$zarafaDisabledFeatures}'\nLDAP ERROR :\nFunction: " . __FUNCTION__ . "\nPage: " . basename(__FILE__) . "\nLine:" . __LINE__ . "\nError:\n" . $ldap->ldap_last_error;
        }
    }
    if ($zarafaDisabledFeatures == null) {
        if (!$ldap->Ldap_del_mod($u->dn, $array["zarafaDisabledFeatures"])) {
            echo "zarafaEnabledFeatures = '{$zarafaEnabledFeatures}'\nzarafaDisabledFeatures = '{$zarafaDisabledFeatures}'\nLDAP ERROR :\nFunction: " . __FUNCTION__ . "\nPage: " . basename(__FILE__) . "\nLine:" . __LINE__ . "\nError:\n" . $ldap->ldap_last_error;
        }
    }
    if ($zarafaEnabledFeatures != null) {
        $upd["zarafaEnabledFeatures"][0] = $zarafaEnabledFeatures;
    }
    if ($zarafaDisabledFeatures != null) {
        $upd["zarafaDisabledFeatures"][0] = $zarafaDisabledFeatures;
    }
    if (!$ldap->Ldap_modify($u->dn, $upd)) {
        echo "zarafaEnabledFeatures = '{$zarafaEnabledFeatures}'\nzarafaDisabledFeatures = '{$zarafaDisabledFeatures}'\nLDAP ERROR :\nFunction: " . __FUNCTION__ . "\nPage: " . basename(__FILE__) . "\nLine:" . __LINE__ . "\nError:\n" . $ldap->ldap_last_error;
        return;
    }
}
function DNS_DEL_ENTRY($value)
{
    $hostname = base64_decode($value);
    $EXEC_NICE = EXEC_NICE();
    if (is_file("/usr/bin/nohup")) {
        $nohup = "/usr/bin/nohup ";
    }
    $reload_datas = $nohup . $EXEC_NICE . LOCATE_PHP5_BIN() . " " . dirname(__FILE__) . "/exec.artica.meta.users.php --export-all-dns >/dev/null 2>&1 &";
    include_once dirname(__FILE__) . "/ressources/class.pdns.inc";
    $ldap = new clladp();
    $upd = array();
    $tbl = explode(".", $hostname);
    $dc = "dc=" . @implode(",dc=", $tbl);
    if ($ldap->ExistsDN("{$dc},ou=dns,{$ldap->suffix}")) {
        if ($ldap->ldap_delete("{$dc},ou=dns,{$ldap->suffix}", true)) {
            send_email_events("Success deleting DNS entry {$hostname}", "DN removed was : {$dc},ou=dns,{$ldap->suffix}", "CLOUD");
            return true;
        }
    } else {
        events("unable to stat {$dc},ou=dns,{$ldap->suffix}", __FUNCTION__, __FILE__, __LINE__);
    }
    $suffix = "ou=dns,{$ldap->suffix}";
    $pattern = "(&(objectclass=*)(associatedDomain={$hostname}))";
    $sr = @ldap_search($ldap->ldap_connection, $suffix, "{$pattern}", array());
    if ($sr) {
        $hash = ldap_get_entries($ldap->ldap_connection, $sr);
        for ($i = 0; $i < $hash["count"]; $i++) {
            $dn = $hash[$i]["dn"];
            if (strlen($dn) > 0) {
                $dns[] = $dn;
                events("removing  associateddomain={$hostname} in {$dn}", __FUNCTION__, __FILE__, __LINE__);
                $upd["associateddomain"] = $hostname;
                if (!$ldap->Ldap_del_mod($dn, $upd)) {
                    $dns[] = $ldap->ldap_last_error;
                }
            }
        }
        send_email_events("Success executing remove DNS entry {$hostname}", @implode("\n", $dns), "CLOUD");
        return true;
    }
    events("Failed -> notify", __FUNCTION__, __FILE__, __LINE__);
    send_email_events("Failed remove DNS entry {$hostname} does not exists", null, "CLOUD");
    shell_exec($reload_datas);
    return true;
}
function main_rules_group_del()
{
    $kav = new kav4proxy();
    $number = $_POST["Kav4ProxyDeleteGroup"];
    $ldap = new clladp();
    $res = @ldap_read($ldap->ldap_connection, $kav->dn, "(objectClass=*)", array());
    if ($res) {
        $hash = ldap_get_entries($ldap->ldap_connection, $res);
        for ($i = 0; $i < $hash[0][strtolower('kav4proxygroupsconf')]["count"]; $i++) {
            $array[$i] = $hash[0][strtolower('kav4proxygroupsconf')][$i];
        }
    }
    writelogs("Delete group number {$number}", __FUNCTION__, __FILE__);
    $upd["Kav4ProxyGroupsConf"] = $array[$number];
    $ldap->Ldap_del_mod($kav->dn, $upd);
    $kav = new kav4proxy();
    $kav->SaveToLdap();
}
function DeleteGroupFromExtensionsRule()
{
    $ou = $_GET["ou"];
    $gid = $_GET["DeleteGroupFromExtensionsRule"];
    $ExtensionsRule = $_GET["ExtensionsRule"];
    $ldap = new clladp();
    $dn = "cn={$gid},ou={$ou},dc=organizations,{$ldap->suffix}";
    $upd["FiltersExtensionsGroupName"] = $ExtensionsRule;
    writelogs("Delete {$dn},FiltersExtensionsGroupName={$ExtensionsRule} in {$gid}");
    $ldap->Ldap_del_mod($dn, $upd);
}
Beispiel #11
0
function DisableProfiles(){
	$ldap=new clladp();
	$pattern="(&(objectclass=sambaSamAccount)(sambaProfilePath=*))";
	$attr=array("sambaProfilePath","uid","dn");
	$sr =@ldap_search($ldap->ldap_connection,$ldap->suffix,$pattern,$attr);
	$hash=ldap_get_entries($ldap->ldap_connection,$sr);
	for($i=0;$i<$hash["count"];$i++){
		$uid=$hash[$i][strtolower("uid")][0];
		$dn=$hash[$i][strtolower("dn")];
		$sambaProfilePath=$hash[$i][strtolower("sambaProfilePath")][0];
		$upd["sambaProfilePath"]=$sambaProfilePath;
		$ldap->Ldap_del_mod($dn,$upd);
		}
}
function SaveLdapUser()
{
    $ldap = new clladp();
    $dn = $_GET["dn"];
    unset($_GET["dn"]);
    unset($_GET["SaveLdapUser"]);
    $hash = $ldap->getobjectDNClass($dn, 1);
    if (!isset($hash["ArticaSettings"])) {
        $add_array["objectClass"][] = "ArticaSettings";
        $ldap->Ldap_add_mod($dn, $add_array);
    }
    if (trim($_GET["SenderCanonical"]) == null) {
        $hash = $ldap->UserDatas($_GET["uid"]);
        if ($hash['SenderCanonical'] != null) {
            writelogs("delete SenderCanonical:{$_GET["uid"]}=>{$hash['SenderCanonical']}", __FUNCTION__, __FILE__);
            $upd["SenderCanonical"][0] = $hash['SenderCanonical'];
            $ldap->Ldap_del_mod($dn, $upd);
        }
        unset($_GET["SenderCanonical"]);
    }
    while (list($num, $ligne) = each($_GET)) {
        if ($ligne == 'true') {
            $ligne = 'TRUE';
        }
        if ($ligne == 'false') {
            $ligne = 'FALSE';
        }
        if ($ligne != null) {
            $update_array[$num][] = $ligne;
        }
    }
    $ldap->Ldap_modify($dn, $update_array);
    if ($ldap->ldap_last_error != null) {
        echo $ldap->ldap_last_error;
    } else {
        $tpl = new templates();
        echo $tpl->_ENGINE_parse_body('{success}');
    }
}
Beispiel #13
0
function aliase_delete()
{
    $ldap = new clladp();
    $hash = $ldap->UserDatas($_SESSION["uid"]);
    $updatearray["mailAlias"] = $_GET["delete-alias-delete"];
    if (!$ldap->Ldap_del_mod($hash["dn"], $updatearray)) {
        echo $ldap->ldap_last_error;
    }
}
function DeleteAliases()
{
    $ldap = new clladp();
    $hash = $ldap->UserDatas($_GET["DeleteAliases"]);
    $updatearray["mailAlias"] = $_GET["aliase"];
    if (!$ldap->Ldap_del_mod($hash["dn"], $updatearray)) {
        echo $ldap->ldap_last_error;
    }
    $sock = new sockets();
    $sock->getFrameWork("cmd.php?postfix-hash-tables=yes");
}
function DeleteRuleID()
{
    $ldap = new clladp();
    $ruleid = $_GET["DeleteRuleID"];
    $dn = "cn=inadyn,cn=artica,{$ldap->suffix}";
    $pattern = "(objectClass=*)";
    $attr = array("ArticaInadynRule");
    $sr = ldap_read($ldap->ldap_connection, $dn, $pattern, $attr);
    if ($sr) {
        $hash = ldap_get_entries($ldap->ldap_connection, $sr);
    }
    if (!is_array($hash)) {
        echo null;
        exit;
    }
    $upd["ArticaInadynRule"] = $hash[0][strtolower("ArticaInadynRule")][$ruleid];
    if (!$ldap->Ldap_del_mod($dn, $upd)) {
        echo $ldap->ldap_last_error;
    }
    $tpl = new templates();
    echo $tpl->_ENGINE_parse_body('{success}');
}
Beispiel #16
0
function FetchDelete(){
	$mny=new usersMenus();
	if($mny->AllowFetchMails==false){return null;}	
	$ldap=new clladp();
	$hash=$ldap->UserDatas($_SESSION["uid"]);
	$update_array["FetchMailsRules"]=$hash["FetchMailsRulesSources"][$_GET["FetchDelete"]];	
	$ldap->Ldap_del_mod($hash["dn"],$update_array);
	FetchPage();
}
function DeleteInternetDomain()
{
    $usr = new usersMenus();
    if ($usr->AllowChangeDomains == false) {
        echo $tpl->_ENGINE_parse_body('{no_privileges}');
        exit;
    }
    $domain = $_GET["DeleteInternetDomain"];
    $ou = $_GET["ou"];
    $tpl = new templates();
    $artica = new artica_general();
    $ldap = new clladp();
    if ($artica->RelayType == "single") {
        $ldap->delete_VirtualDomainsMapsMTA($ou, $domain);
    }
    $HashDomains = $ldap->Hash_domains_table($ou);
    $ldap = new clladp();
    $h = $ldap->Ldap_search($ldap->suffix, "(associatedDomain={$domain})", array("dn"));
    if ($h["count"] > 0) {
        $res["associatedDomain"] = $domain;
        if ($h["count"] == 1) {
            $res["objectClass"] = "domainRelatedObject";
        }
        for ($i = 0; $i < $h["count"]; $i++) {
            $ldap->Ldap_del_mod($h[$i]["dn"], $res);
        }
    }
    writelogs("{$domain} type=" . $HashDomains[$domain], __FUNCTION__, __FILE__);
    switch ($HashDomains[$domain]) {
        case "associateddomain":
            $ldap->delete_associated_domain($ou, $domain);
            break;
        case "dn":
            if ($ldap->ExistsDN("cn={$domain},ou={$ou},{$ldap->suffix}")) {
                writelogs("cn={$domain},ou={$ou},{$ldap->suffix} exists, delete it...", __FUNCTION__, __FILE__);
                if (!$ldap->ldap_delete("cn={$domain},ou={$ou},{$ldap->suffix}")) {
                    writelogs("Error line :" . __LINE__ . " " . $ldap->ldap_last_error, __FUNCTION__, __FILE__);
                }
            }
            break;
        default:
            return null;
            break;
    }
    if ($ldap->ldap_last_error != null) {
        echo $ldap->ldap_last_error;
    } else {
        echo html_entity_decode($tpl->_ENGINE_parse_body('{success}'));
        exit;
    }
}
Beispiel #18
0
function popup_mx_delete()
{
    $array = unserialize(base64_decode($_GET["delete-mx-record"]));
    $ldap = new clladp();
    $upd["mxrecord"] = $array["entry"];
    if (!$ldap->Ldap_del_mod($array["dn"], $upd)) {
        echo $ldap->ldap_last_error;
        return;
    }
    restart_dnsmasq();
}