Exemplo n.º 1
0
function emailAccountsDeleteCallback($id)
{
    global $cyrus_used;
    global $pro_mysql_pop_table;
    global $pro_mysql_fetchmail_table;
    triggerMXListUpdate();
    updateUsingCron("gen_qmail='yes', qmail_newu='yes'");
    $q = "SELECT id, mbox_host, home FROM {$pro_mysql_pop_table} WHERE autoinc='{$id}';";
    $r = mysql_query($q) or die("Cannot query {$q} line: " . __LINE__ . " file " . __FILE__ . " sql said:" . mysql_error());
    $n = mysql_num_rows($r);
    if ($n != 1) {
        die("Cannot find created email line " . __LINE__ . " file " . __FILE__);
    }
    $v = mysql_fetch_array($r);
    if ($cyrus_used) {
        # login to cyradm
        $cyr_conn = new cyradm();
        $error = $cyr_conn->imap_login();
        if ($error != 0) {
            die("imap_login Error {$error}");
        }
        $result = $cyr_conn->deletemb("user/" . $v["id"] . "@" . $v["mbox_host"]);
    }
    $cmd = "rm -rf " . $v["home"];
    exec($cmd, $exec_out, $return_val);
    $q = "DELETE FROM {$pro_mysql_fetchmail_table} WHERE domain_user='******' AND domain_name='" . $v["mbox_host"] . "';";
    $r = mysql_query($q) or die("Cannot query {$q} line: " . __LINE__ . " file " . __FILE__ . " sql said:" . mysql_error());
    updateUsingCron("qmail_newu='yes',restart_qmail='yes',gen_qmail='yes'");
    return "";
}