当前位置: 首页>>代码示例>>PHP>>正文


PHP clladp::ExistsDN方法代码示例

本文整理汇总了PHP中clladp::ExistsDN方法的典型用法代码示例。如果您正苦于以下问题:PHP clladp::ExistsDN方法的具体用法?PHP clladp::ExistsDN怎么用?PHP clladp::ExistsDN使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在clladp的用法示例。


在下文中一共展示了clladp::ExistsDN方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: SaveCyrusPassword

function SaveCyrusPassword()
{
    $ldap = new clladp();
    $_POST["SaveCyrusPassword"] = url_decode_special_tool(trim($_POST["SaveCyrusPassword"]));
    if ($_POST["SaveCyrusPassword"] == null) {
        echo "Error: No password defined\n";
        return;
    }
    if (strpos($_POST["SaveCyrusPassword"], '@') > 0) {
        echo "@,: denied character\n";
        return;
    }
    if (strpos($_POST["SaveCyrusPassword"], ':') > 0) {
        echo "@,: denied character\n";
        return;
    }
    $attrs["userPassword"][0] = $_POST["SaveCyrusPassword"];
    $dn = "cn=cyrus,dc=organizations,{$ldap->suffix}";
    if ($ldap->ExistsDN($dn)) {
        if (!$ldap->Ldap_modify($dn, $attrs)) {
            echo $ldap->ldap_last_error;
            return;
        }
    }
    $dn = "cn=cyrus,{$ldap->suffix}";
    if ($ldap->ExistsDN($dn)) {
        if (!$ldap->Ldap_modify($dn, $attrs)) {
            echo $ldap->ldap_last_error;
            return;
        }
    }
    $sock = new sockets();
    $sock->getFrameWork("cmd.php?cyrus-change-password=" . base64_encode($_POST["SaveCyrusPassword"]));
}
开发者ID:brucewu16899,项目名称:1.6.x,代码行数:34,代码来源:cyrus.password.php

示例2: add_isp_server_name

function add_isp_server_name()
{
    $ldap = new clladp();
    if (!$ldap->ExistsDN("cn=smtp_sasl_password_maps,cn=artica,{$ldap->suffix}")) {
        $upd["cn"][] = "smtp_sasl_password_maps";
        $upd["objectClass"][] = "top";
        $upd["objectClass"][] = "PostFixStructuralClass";
        $ldap->ldap_add("cn=smtp_sasl_password_maps,cn=artica,{$ldap->suffix}", $upd);
        unset($upd);
    }
    $cn = "cn={$_GET["isp_server_name"]},cn=smtp_sasl_password_maps,cn=artica,{$ldap->suffix}";
    if ($ldap->ExistsDN($cn)) {
        return null;
    }
    $upd["cn"] = $_GET["isp_server_name"];
    $upd["objectClass"][] = "top";
    $upd["objectClass"][] = "PostfixSmtpSaslPaswordMaps";
    $upd["SmtpSaslPasswordString"] = "{$_GET["username"]}:{$_GET["password"]}";
    $ldap->ldap_add($cn, $upd);
}
开发者ID:BillTheBest,项目名称:1.6.x,代码行数:20,代码来源:artica.wizard.ispout.php

示例3: DeleteSmtpSaslPasswordMaps

function DeleteSmtpSaslPasswordMaps()
{
    $ldap = new clladp();
    $server = base64_decode($_GET["DeleteSmtpSaslPasswordMaps"]);
    $dn = "cn={$server},cn=smtp_sasl_password_maps,cn=artica,{$ldap->suffix}";
    if ($ldap->ExistsDN($dn)) {
        if (!$ldap->ldap_delete($dn, true)) {
            echo "{$dn}\n{$ldap->ldap_last_error}";
            return;
        }
    }
    $sock = new sockets();
    $sock->getFrameWork("cmd.php?postfix-relayhost=yes");
}
开发者ID:brucewu16899,项目名称:1.6.x,代码行数:14,代码来源:postfix.smptp.sasl.passwords.maps.php

示例4: changecomputername

function changecomputername()
{
    if (substr($_POST["userid"], strlen($_POST["userid"]) - 1, 1) != "\$") {
        $_POST["userid"] = $_POST["userid"] . "\$";
    }
    $comp = new computers($_POST["userid"]);
    $MAC = $comp->ComputerMacAddress;
    $_POST["NewHostname"] = trim(strtolower($_POST["NewHostname"]));
    $_POST["NewHostname"] = str_replace('$', '', $_POST["NewHostname"]);
    $actualdn = $comp->dn;
    $newrdn = "cn={$_POST["NewHostname"]}\$";
    $ldap = new clladp();
    if (!preg_match("#^cn=(.+?),[a-zA-Z\\s]+#", $actualdn, $re)) {
        echo "Unable to preg_match {$actualdn}\n";
        return;
    }
    $newDN = str_replace($re[1], $_POST["NewHostname"] . '$', $actualdn);
    if ($newDN == null) {
        echo "Unable to preg_match {$actualdn} -> {$re[1]}\n";
        return;
    }
    if ($ldap->ExistsDN("{$newrdn},ou=Computer,dc=samba,dc=organizations,{$ldap->suffix}")) {
        $ldap->ldap_delete("{$newrdn},ou=Computer,dc=samba,dc=organizations,{$ldap->suffix}");
    }
    $newParent = "ou=Computer,dc=samba,dc=organizations,{$ldap->suffix}";
    if (!$ldap->Ldap_rename_dn($newrdn, $actualdn, $newParent)) {
        echo "Rename failed {$ldap->ldap_last_error}\nFunction:" . __FUNCTION__ . "\nFile:" . __FILE__ . "\nLine" . __LINE__ . "\n\nActual DN:{$actualdn}\nExpected DN:{$newrdn}";
        return;
    }
    $upd["uid"][0] = $_POST["NewHostname"] . '$';
    if (!$ldap->Ldap_modify($newDN, $upd)) {
        echo "Update UID {$upd["uid"][0]} failed:\n{$ldap->ldap_last_error}\nFunction:" . __FUNCTION__ . "\nFile:" . __FILE__ . "\nLine" . __LINE__ . "\nExpected DN:{$newDN}\nExpected value:{$_POST["NewHostname"]}";
        return;
    }
    $ocs = new ocs($MAC);
    $ocs->ComputerName = $_POST["NewHostname"];
    $ocs->ComputerIP = $comp->ComputerIP;
    $ocs->EditComputer();
    if (IsPhysicalAddress($comp->ComputerMacAddress)) {
        include_once dirname(__FILE__) . "/ressources/class.mysql.inc";
        $uid = $comp->ComputerIDFromMAC($comp->ComputerMacAddress);
        $comp = new computers($uid);
        $sql = "UPDATE dhcpd_fixed SET `hostname`='{$comp->ComputerRealName}' WHERE `mac`='{$comp->ComputerMacAddress}'";
        $q = new mysql();
        $q->QUERY_SQL($sql, "artica_backup");
    }
}
开发者ID:BillTheBest,项目名称:1.6.x,代码行数:47,代码来源:domains.computer.modifyname.php

示例5: Loadtemplate

function Loadtemplate()
{
    $ou = $_GET["ou"];
    $template_name = $_GET["template"];
    writequeries();
    $ldap = new clladp();
    $dn = "cn=artica_quarantine_settings,ou={$ou},dc=organizations,{$ldap->suffix}";
    if (isset($_GET["ArticaMaxDayTemplate"])) {
        $template_data = "<SUBJECT>{$_GET["subject"]}</SUBJECT>\n\t\t<FROM>{$_GET["from"]}</FROM>\n\t\t<TEMPLATE>{$_GET["ArticaMaxDayTemplate"]}</TEMPLATE>";
        $upd[$template_name][0] = $template_data;
        if (!$ldap->Ldap_modify($dn, $upd)) {
            echo "<H2>{$ldap->ldap_last_error}</H2>";
            exit;
        }
    }
    if (!$ldap->ExistsDN($dn)) {
        $upd["cn"][] = "artica_quarantine_settings";
        $upd["objectClass"][] = 'top';
        $upd["objectClass"][] = 'ArticaQuarantineTemplates';
        $upd["{$template_name}"][] = "DEFAULT";
        $ldap->ldap_add($dn, $upd);
        $template_data = "DEFAULT";
    } else {
        $hash = $ldap->Ldap_read($dn, '(ObjectClass=ArticaQuarantineTemplates)', array(strtolower($template_name)));
        if (!is_array($hash[0][strtolower($template_name)])) {
            unset($upd);
            $upd[$template_name] = "DEFAULT";
            $ldap->Ldap_add_mod($dn, $upd);
            $hash = $ldap->Ldap_read($dn, '(ObjectClass=ArticaQuarantineTemplates)', array(strtolower($template_name)));
        }
        $template_data = $hash[0][strtolower($template_name)][0];
    }
    if ($template_data == "DEFAULT") {
        $template_data = file_get_contents("ressources/databases/{$template_name}.cf");
    }
    if (preg_match('#<SUBJECT>(.+?)</SUBJECT>\\s+<FROM>(.+?)</FROM>\\s+<TEMPLATE>(.+?)</TEMPLATE>#is', $template_data, $reg)) {
        $subject = $reg[1];
        $from = $reg[2];
        $template_d = $reg[3];
    }
    $tiny = TinyMce('ArticaMaxDayTemplate', $template_d);
    $html = "\n\t<html>\n\t<head>\n\t<link href='css/styles_main.css' rel=\"styleSheet\" type='text/css' />\n\t<link href='css/styles_header.css' rel=\"styleSheet\" type='text/css' />\n\t<link href='css/styles_middle.css' rel=\"styleSheet\" type='text/css' />\n\t<link href='css/styles_forms.css' rel=\"styleSheet\" type='text/css' />\n\t<link href='css/styles_tables.css' rel=\"styleSheet\" type='text/css' />\n\t<script type='text/javascript' language='JavaScript' src='mouse.js'></script>\n\t<script type='text/javascript' language='javascript' src='XHRConnection.js'></script>\n\t<script type='text/javascript' language='javascript' src='default.js'></script>\n\t<script type='text/javascript' language='javascript' src='js/quarantine.ou.js'></script>\t\n\t</head>\n\t<body width=100% style='background-color:white'> \n\t\t<H5>{" . "{$template_name}}</H5>\n\t<form name='FFM1'>\n\t<table style='width:100%;margin:10px'>\n\t<tr>\n\t<td align='right'><strong>{from}:</strong></td>\n\t<td><input type='text' name='from' value='{$from}'></td>\n\t</tr>\n\t<tr>\n\t<td align='right'><strong>{subject}:</strong></td>\n\t<td><input type='text' name='subject' value='{$subject}'></td>\n\t</tr>\t\n\t</table>\n\t<div style='width:450px'>{$tiny}</div>\n\t<p class=caption>{template_token}</p>\n\t<input type='hidden' name='ou' value='{$ou}'>\n\t<input type='hidden' name='template' value='{$template_name}'>\n\t</form>\n\t</body>\n\t</html>";
    $tpl = new templates();
    echo $tpl->_ENGINE_parse_body($html);
}
开发者ID:brucewu16899,项目名称:artica,代码行数:45,代码来源:quarantine.ou.php

示例6: bogo_add_spam_user

function bogo_add_spam_user()
{
    $ou = $_GET["ou"];
    $bogospam_user = $_GET["bogospam_user"];
    $bogospam_domain = $_GET["bogospam_domain"];
    $bogospam_type = $_GET["bogospam_type"];
    $userid = $bogospam_user;
    $password = "NOPASS";
    $group_id = 0;
    $email = "{$bogospam_user}@{$bogospam_domain}";
    $tpl = new templates();
    $userid = str_replace(" ", ".", $userid);
    $ldap = new clladp();
    $dn = "cn={$userid},ou={$ou},dc=organizations,{$ldap->suffix}";
    if (!$ldap->ExistsDN($dn)) {
        $upd["cn"][0] = $userid;
        $upd["ObjectClass"][0] = 'top';
        $upd["ObjectClass"][1] = 'userAccount';
        $upd["ObjectClass"][2] = 'organizationalPerson';
        $upd["ObjectClass"][3] = 'ArticaBogoFilterAdmin';
        $upd["uid"][0] = $userid;
        $upd["accountActive"][0] = "TRUE";
        $upd["mail"][0] = "{$email}";
        $upd["accountGroup"][0] = $group_id;
        $upd["domainName"][0] = $bogospam_domain;
        $upd["homeDirectory"][0] = "/home/{$userid}";
        $upd["mailDir"][0] = "/home/{$userid}/mail";
        $upd["sn"][0] = $userid;
        $upd["displayName"][0] = $userid . " bogofilter robot";
        $upd["userPassword"][0] = $password;
        $upd["BogoFilterMailType"][0] = "{$bogospam_type}";
        if (!$ldap->ldap_add($dn, $upd)) {
            echo "ERROR: {$ldap->ldap_last_error}";
            exit;
        }
    }
}
开发者ID:brucewu16899,项目名称:artica,代码行数:37,代码来源:bogofilter.ou.php

示例7: rename_group

function rename_group()
{
    $tpl = new templates();
    if ($_SESSION["uid"] != -100) {
        if ($_GET["ou"] != $_SESSION["ou"]) {
        }
        echo $tpl->_ENGINE_parse_body("{ERROR_NO_PRIVS}");
        die;
    }
    $gp = new groups($_GET["group-id"]);
    if ($_SESSION["uid"] != -100) {
        if ($gp->ou != $_SESSION["ou"]) {
            echo $tpl->_ENGINE_parse_body("{ERROR_NO_PRIVS}");
            die;
        }
    }
    $ldap = new clladp();
    $newname = $_GET["new-name"];
    if (trim($newname) == null) {
        return null;
    }
    $actualdn = $gp->dn;
    if (preg_match('#cn=(.+?),(.+)#', $actualdn, $re)) {
        $branch = $re[2];
    }
    $newdn = "cn={$newname}";
    $newdn2 = "{$newdn},{$branch}";
    $ldap = new clladp();
    if ($ldap->ExistsDN($newdn2)) {
        return null;
    }
    writelogs("Rename {$actualdn} to {$newdn}", __CLASS__ . '/' . __FUNCTION__, __FILE__);
    if (!$ldap->Ldap_rename_dn($newdn, $actualdn, $branch)) {
        echo $tpl->_ENGINE_parse_body("{GROUP_RENAME} {failed}\n {$ldap->ldap_last_error}");
    }
}
开发者ID:BillTheBest,项目名称:1.6.x,代码行数:36,代码来源:domains.edit.group.rename.php

示例8: USER_ADD

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();
//.........这里部分代码省略.........
开发者ID:brucewu16899,项目名称:1.6.x,代码行数:101,代码来源:domains.edit.user.php

示例9: DNS_DEL_ENTRY

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;
}
开发者ID:brucewu16899,项目名称:1.6.x,代码行数:45,代码来源:exec.artica.meta.tasks.php

示例10: build_virtual_alias_maps

function build_virtual_alias_maps()
{
    $main = new maincf_multi("master", "master");
    $ldap = new clladp();
    if ($GLOBALS["DEBUG"]) {
        echo __FUNCTION__ . " -> virtual_alias_maps=" . count($GLOBALS["virtual_alias_maps"]) . " entries\n";
    }
    if (is_array($GLOBALS["virtual_alias_maps_emailing"])) {
        echo "Starting......: " . date("H:i:s") . " Postfix [" . __LINE__ . "] " . count($GLOBALS["virtual_alias_maps_emailing"]) . " distribution listes\n";
        while (list($num, $ligne) = each($GLOBALS["virtual_alias_maps_emailing"])) {
            $num = trim($num);
            $num = str_replace("\r", "", $num);
            $num = str_replace("\n", "", $num);
            if ($GLOBALS["VERBOSE"]) {
                echo "FINAL -> {$num}/\"{$ligne}\"\n";
            }
            if ($ligne == null) {
                continue;
            }
            $final[] = $ligne;
        }
    }
    //-----------------------------------------------------------------------------------
    if (is_array($GLOBALS["virtual_alias_maps"])) {
        echo "Starting......: " . date("H:i:s") . " Cleaning virtual aliase(s)\n";
        while (list($num, $ligne) = each($GLOBALS["virtual_alias_maps"])) {
            $ligne = trim($ligne);
            $ligne = str_replace("\r", "", $ligne);
            $ligne = str_replace("\n", "", $ligne);
            if ($ligne == null) {
                continue;
            }
            if (preg_match("#x500:#", $ligne)) {
                continue;
            }
            if (preg_match("#x400:#", $ligne)) {
                continue;
            }
            $final[] = $ligne;
        }
    }
    //-----------------------------------------------------------------------------------
    $dn = "cn=artica_smtp_sync,cn=artica,{$ldap->suffix}";
    $filter = "(&(objectClass=InternalRecipients)(cn=*))";
    if ($ldap->ExistsDN($dn)) {
        $attrs = array("cn");
        $hash = $ldap->Ldap_search($dn, $filter, $attrs);
        if ($hash["count"] > 0) {
            for ($i = 0; $i < $hash["count"]; $i++) {
                $email = $hash[$i]["cn"][0];
                $email = trim($email);
                $email = str_replace("\r", "", $email);
                $email = str_replace("\n", "", $email);
                if (trim($email) == null) {
                    continue;
                }
                $final[] = "{$email}\t{$email}";
            }
        }
    }
    //-----------------------------------------------------------------------------------
    if (isset($GLOBALS["LDAPDBS"]["virtual_alias_maps"])) {
        if (!is_array($GLOBALS["LDAPDBS"]["virtual_alias_maps"])) {
            $virtual_alias_maps_cf = $GLOBALS["LDAPDBS"]["virtual_alias_maps"];
        }
    }
    $sock = new sockets();
    $MailingListUseLdap = $sock->GET_INFO("MailingListUseLdap");
    if (!is_numeric($MailingListUseLdap)) {
        $MailingListUseLdap = 0;
    }
    if ($MailingListUseLdap == 1) {
        $virtual_alias_maps_cf[] = "ldap:/etc/postfix/mailinglist.ldap.cf";
        mailling_ldap();
    }
    $sql = "SELECT * FROM postfix_aliases_domains";
    $q = new mysql();
    $pre = '${1}';
    $li = array();
    $results = $q->QUERY_SQL($sql, "artica_backup");
    while ($ligne = @mysql_fetch_array($results, MYSQL_ASSOC)) {
        $ligne["alias"] = trim($ligne["alias"]);
        $ligne["alias"] = strtolower($ligne["alias"]);
        $aliases = str_replace(".", "\\.", $ligne["alias"]);
        $domain = $ligne["domain"];
        $li[] = "/^(.*)@{$aliases}\$/\t{$pre}@{$domain}";
        $final[] = "{$ligne["alias"]}\tDOMAIN";
    }
    $main = new maincf_multi("master", "master");
    $virtual_mailing_addr = $main->mailling_list_mysql("master");
    if (is_array($virtual_mailing_addr)) {
        while (list($num, $ligne) = each($virtual_mailing_addr)) {
            $final[] = $ligne;
        }
    }
    echo "Starting......: " . date("H:i:s") . " Postfix " . count($final) . " virtual aliase(s)\n";
    echo "Starting......: " . date("H:i:s") . " Postfix " . count($li) . " virtual domain(s) aliases\n";
    $virtual_alias_maps_cf[] = "hash:/etc/postfix/virtual";
    $virtual_alias_maps_cf[] = "pcre:/etc/postfix/virtual.domains";
    if ($GLOBALS["DEBUG"]) {
//.........这里部分代码省略.........
开发者ID:articatech,项目名称:artica,代码行数:101,代码来源:exec.postfix.hashtables.php

示例11: add_auto_mount

function add_auto_mount()
{
    $type = $_GET["type"];
    $mount_point = $_GET["mount-point"];
    $computer = $_GET["computer"];
    $src = $_GET["src"];
    if ($type == 'smbfs') {
        $cmp = new computers($computer);
        $ini = new Bs_IniHandler();
        $ini->loadString($cmp->ComputerCryptedInfos);
        $username = $ini->_params["ACCOUNT"]["USERNAME"];
        $password = $ini->_params["ACCOUNT"]["PASSWORD"];
        if ($username != null) {
            $options = ",username={$username},password={$password}";
        }
        $pattern = "-fstype=smbfs{$options} ://{$cmp->ComputerIP}/{$src}";
    }
    if (preg_match("#nfs[0-9]+#", $type)) {
        if ($type == 'nfs3') {
            $pattern = "-fstype={$type} {$cmp->ComputerIP}:{$src}";
        }
        if ($type == 'nfs4') {
            $pattern = "-fstype={$type} {$cmp->ComputerIP}:/";
        }
    }
    $ldap = new clladp();
    $autofs = new autofs();
    $dn = "cn={$mount_point},ou=auto.automounts,ou=mounts,{$ldap->suffix}";
    if (!$ldap->ExistsDN($dn)) {
        $upd["ObjectClass"][] = 'top';
        $upd["ObjectClass"][] = 'automount';
        $upd["cn"][] = $mount_point;
        $upd["automountInformation"][] = $pattern;
        if (!$ldap->ldap_add($dn, $upd)) {
            echo "function: " . __FUNCTION__ . "\n" . "file: " . __FILE__ . "\nline: " . __LINE__ . "\n" . $ldap->ldap_last_error;
            return false;
        }
    } else {
        $upd["automountInformation"][] = $pattern;
        if (!$ldap->Ldap_modify($dn, $upd)) {
            echo "function: " . __FUNCTION__ . "\n" . "file: " . __FILE__ . "\nline: " . __LINE__ . "\n" . $ldap->ldap_last_error;
            return false;
        }
    }
    $tpl = new templates();
    echo $tpl->_ENGINE_parse_body('{success}');
}
开发者ID:brucewu16899,项目名称:artica,代码行数:47,代码来源:automount.php

示例12: CheckBranch

function CheckBranch()
{
    $ldap = new clladp();
    if (!$ldap->ExistsDN("dc=organizations,{$ldap->suffix}")) {
        writelogs("CheckBranch():: creating the new branch dc=organizations,{$ldap->suffix}", __FUNCTION__, __FILE__, __LINE__);
        $upd["objectClass"][] = "top";
        $upd["objectClass"][] = "organization";
        $upd["objectClass"][] = "dcObject";
        $upd["o"][] = "organizations";
        $upd["dc"][] = "organizations";
        if (!$ldap->ldap_add("dc=organizations,{$ldap->suffix}", $upd)) {
            writelogs("Unable to create new entry dc=organizations,{$ldap->suffix}", __FUNCTION__, __FILE__, __LINE__);
            writelogs($ldap->ldap_last_error, __FUNCTION__, __FILE__, __LINE__);
            return false;
        }
        return true;
    } else {
        writelogs("CheckBranch():: The new branch dc=organizations,{$ldap->suffix} exists", __FUNCTION__, __FILE__, __LINE__);
        return true;
    }
}
开发者ID:articatech,项目名称:artica,代码行数:21,代码来源:exec.check-cyrus-account.php

示例13: CronAddArticaTasksSave

function CronAddArticaTasksSave()
{
    $task_name = $_GET["CronAddArticaTasksSave"];
    $ldap = new clladp();
    $tpl = new templates();
    $dn = "cn={$task_name},cn=system_cron_task,cn=artica,{$ldap->suffix}";
    if ($ldap->ExistsDN($dn)) {
        echo $tpl->_ENGINE_parse_body('{error_task_already_exists}');
        exit;
    }
    $cron = new cron();
    $upd['cn'][0] = "{$task_name}";
    $upd['objectClass'][0] = 'ArticaCronDatas';
    $upd['objectClass'][1] = 'top';
    $upd['CronFileCommand'][0] = $cron->array_artica_task[$task_name]["CronFileCommand"];
    $upd['CronFileDescriptions'][0] = $cron->array_artica_task[$task_name]["CronFileDescriptions"];
    $upd['CronFileMailto'][0] = $cron->array_artica_task[$task_name]["CronFileMailto"];
    $upd["CronFileToDelete"][0] = "no";
    $ldap->ldap_add($dn, $upd);
    echo $tpl->_ENGINE_parse_body('{success}');
}
开发者ID:brucewu16899,项目名称:artica,代码行数:21,代码来源:system.tasks.settings.php

示例14: users_database

function users_database()
{
    $tpl = new templates();
    $page = CurrentPageName();
    $ou = $_GET["ou"];
    $domain = $_GET["domain"];
    $ldap = new clladp();
    $trusted_smtp_domain = 0;
    $search = $_GET["search"];
    $search = "*" . $_GET["search"] . "*";
    $search = str_replace("**", "*", $search);
    $search = str_replace("*", "%", $search);
    $dn = "cn=@{$_GET["domain"]},cn=relay_recipient_maps,ou={$ou},dc=organizations,{$ldap->suffix}";
    if ($ldap->ExistsDN($dn)) {
        $trusted_smtp_domain = 1;
    }
    if ($trusted_smtp_domain == 1) {
        $html = "<div class=explain>{DOMAIN_TRUSTED_NO_USERDB_TEXT}</div>";
        echo $tpl->_ENGINE_parse_body($html);
        return;
    }
    $sql = "SELECT `email` FROM postfix_relais_domains_users WHERE\n\t`ou`='{$ou}' AND `domain`='{$domain}'\n\tAND `email` LIKE '{$search}' ORDER BY email LIMIT 0,90";
    $q = new mysql();
    $results = $q->QUERY_SQL($sql, "artica_backup");
    if (!$q->ok) {
        echo "<H2>{$q->mysql_error}</H2>";
    }
    $html = "\n<p>&nbsp;</p>\n<table cellspacing='0' cellpadding='0' border='0' class='tableView' style='width:100%'>\n<thead class='thead'>\n\t<tr>\n\t\t<th width=1%>" . imgtootltip("plus-24.png", "{import}", "ImportUsersRelayDomain()") . "</th>\n\t\t<th>{email}</th>\n\t\t<th>" . imgtootltip("delete-32.png", "{empty_database}", "EmptyUsersRelayDomain()") . "</th>\n\t</tr>\n</thead>\n<tbody class='tbody'>";
    while ($ligne = @mysql_fetch_array($results, MYSQL_ASSOC)) {
        if ($classtr == "oddRow") {
            $classtr = null;
        } else {
            $classtr = "oddRow";
        }
        $html = $html . "\n\t<tr  class={$classtr}>\n\t<td style='font-size:14px;font-weight:bold'><img src=img/fw_bold.gif></td>\n\t<td style='font-size:14px;font-weight:bold'>{$ligne["email"]}</a></td>\n\t<td width=1%>" . imgtootltip("delete-24.png", "{delete}", "POSTFIX_MULTI_INSTANCE_INFOS_DEL('{$ligne["ou"]}','{$ligne["ip_address"]}')") . "</td>\n\t</tR>";
    }
    $html = $html . "</table>\n";
    echo $tpl->_ENGINE_parse_body($html);
    return;
}
开发者ID:BillTheBest,项目名称:1.6.x,代码行数:40,代码来源:domains.relay.domains.php

示例15: post_form

function post_form()
{
    $_POST["email"] = strtolower(trim($_POST["email"]));
    $_POST["password"] = trim($_POST["password"]);
    $tpl = new templates();
    $sock = new sockets();
    $ldap = new clladp();
    $EnableVirtualDomainsInMailBoxes = $sock->GET_INFO("EnableVirtualDomainsInMailBoxes");
    if (!ValidateMail($_POST["email"])) {
        echo "<H2>" . $tpl->_ENGINE_parse_body("{ERROR_INVALID_EMAIL_ADDR}: ({original_mail}:{$_POST["email"]})") . "</H2>";
        exit;
    }
    $domain = trim(strtolower($_POST["domain"]));
    $company = $_POST["company"];
    $password = $_POST["password"];
    $uid = trim(strtolower($_POST["username"]));
    $ou = $_POST["organization"];
    if ($ou == null) {
        $ou = $_POST["company"];
    }
    if ($company == null) {
        echo $tpl->_ENGINE_parse_body("<H2>{company}:{ERROR_VALUE_MISSING_PLEASE_FILL_THE_FORM}</H2>");
        exit;
    }
    if ($password == null) {
        echo $tpl->_ENGINE_parse_body("<H2>{password}:{ERROR_VALUE_MISSING_PLEASE_FILL_THE_FORM}</H2>");
        exit;
    }
    if ($_POST["domain"] == null) {
        echo $tpl->_ENGINE_parse_body("<H2>{domain}:{ERROR_VALUE_MISSING_PLEASE_FILL_THE_FORM}</H2>");
        exit;
    }
    if ($uid == null) {
        echo $tpl->_ENGINE_parse_body("<H2>{username}:{ERROR_VALUE_MISSING_PLEASE_FILL_THE_FORM}</H2>");
        exit;
    }
    if (isset($_POST["subdomain"])) {
        $_POST["subdomain"] = trim(strtolower($_POST["subdomain"]));
        if ($_POST["subdomain"] == null) {
            echo $tpl->_ENGINE_parse_body("<H2>{subdomain}:{ERROR_VALUE_MISSING_PLEASE_FILL_THE_FORM}</H2>");
            exit;
        }
        $domain = $_POST["subdomain"] . ".{$domain}";
    }
    $hashdoms = $ldap->hash_get_all_domains();
    if ($hashdoms[$domain] != null) {
        echo $tpl->_ENGINE_parse_body("<H2>{error_domain_exists} &raquo;<strong>{$domain}</strong></H2");
        exit;
    }
    $ou = $ldap->StripSpecialsChars($ou);
    $uid = $ldap->StripSpecialsChars($uid);
    if ($ou == "users") {
        echo "<H2>Error: Adding\n{$ou} words not permitted\n</H2>";
        exit;
    }
    if ($ou == "groups") {
        echo "<H2>Error: Adding\n{$ou} words not permitted\n</H2>";
        exit;
    }
    if ($ou == "computers") {
        echo "<H2>Error: Adding\n{$ou} words not permitted\n</H2>";
        exit;
    }
    if ($ou == "pureftpd") {
        echo "<H2>Error: Adding\n{$ou} words not permitted\n</H2>";
        exit;
    }
    $ldap = new clladp();
    $dn = "ou={$ou},dc=organizations,{$ldap->suffix}";
    if ($ldap->ExistsDN($dn)) {
        echo $tpl->_ENGINE_parse_body("<H2>{organization}:{ERROR_OBJECT_ALREADY_EXISTS}</H2>");
        exit;
    }
    if ($EnableVirtualDomainsInMailBoxes == 1) {
        $uidtests = "{$uid}@{$domain}";
        $u = new user($uidtests);
        if (!$u->DoesNotExists) {
            echo $tpl->_ENGINE_parse_body("<H2>{member}: &laquo;{$uid}&raquo; {ERROR_OBJECT_ALREADY_EXISTS}</H2>");
            exit;
        }
    }
    $u = new user($uid);
    if (!$u->DoesNotExists) {
        echo $tpl->_ENGINE_parse_body("<H2>{member}: &laquo;{$uid}&raquo; {ERROR_OBJECT_ALREADY_EXISTS}</H2>");
        exit;
    }
    $zmd5 = md5("{$_POST["email"]}{$ou}{$company}{$domain}{$uid}");
    $password = addslashes($password);
    $company = addslashes($company);
    $uid = addslashes($uid);
    $sql = "INSERT IGNORE INTO register_orgs(`email`,`ou`,`company`,`domain`,`username`,`password`,`zmd5`)\n\tVALUES('{$_POST["email"]}','{$ou}','{$company}','{$domain}','{$uid}','{$password}','{$zmd5}')\n\t";
    $q = new mysql();
    $q->QUERY_SQL($sql, "artica_backup");
    if (!$q->ok) {
        echo "<H2>{$q->mysql_error}</H2>";
        return;
    }
    $prefix = "http://";
    if ($_SERVER["HTTPS"] == "on") {
        $prefix = "https://";
//.........这里部分代码省略.........
开发者ID:brucewu16899,项目名称:1.6.x,代码行数:101,代码来源:miniadm.register.php


注:本文中的clladp::ExistsDN方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。