}
    $newadmin_path = $_REQUEST["newadmin_path"] . "/" . $_REQUEST["newadmin_login"];
    if ($conf_demo_version == "no") {
        $oldumask = umask(0);
        if (!file_exists($newadmin_path)) {
            mkdir("{$newadmin_path}", 0750, 1);
            $console .= "mkdir -p {$newadmin_path};<br>";
        }
        umask($oldumask);
    }
    // Add user in database
    if ($commit_flag != "no") {
        $adm_query = "INSERT INTO {$pro_mysql_admin_table}\n(adm_login        ,adm_pass         ,path            )VALUES\n('" . $_REQUEST["newadmin_login"] . "', '" . $_REQUEST["newadmin_pass"] . "','{$newadmin_path}') ";
        mysql_query($adm_query) or die("Cannot execute query \"{$adm_query}\" ! line: " . __LINE__ . " file: " . __FILE__ . " sql said: " . mysql_error());
    } else {
        echo $submit_err;
    }
}
// action=delete_waiting_user&reqadm_login=tom
if (isset($_REQUEST["action"]) && $_REQUEST["action"] == "delete_waiting_user") {
    $q = "DELETE FROM {$pro_mysql_new_admin_table} WHERE id='" . $_REQUEST["reqadm_id"] . "';";
    mysql_query($q) or die("Cannot execute query \"{$q}\" ! line: " . __LINE__ . " file: " . __FILE__ . " sql said: " . mysql_error());
}
// action=valid_waiting_user&reqadm_login=tom
if (isset($_REQUEST["action"]) && $_REQUEST["action"] == "valid_waiting_user") {
    validateWaitingUser($_REQUEST["reqadm_id"]);
    triggerDomainListUpdate();
}
if (isset($_REQUEST["delete_admin_user"]) && $_REQUEST["delete_admin_user"] != "") {
    DTCdeleteAdmin($_REQUEST["delete_admin_user"]);
}
Beispiel #2
0
function recursiveDeleteAdmin($adm_login)
{
    global $pro_mysql_admin_table;
    echo "<!-- recursiveDeleteAdmin({$adm_login}) -->";
    $q = "SELECT * FROM {$pro_mysql_admin_table} WHERE adm_login='******';";
    $r = mysql_query($q) or die("Cannot query {$q} line " . __LINE__ . " file " . __FILE__ . " sql said " . mysql_error());
    $a = mysql_fetch_array($r);
    // Admin has children
    if ($a["ob_head"] != "" || $a["ob_tail"] != "") {
        if ($a["ob_head"] == "" || $a["ob_tail"] == "") {
            die("ob_head and ob_tail don't patch: sub-admin tree is broken line " . __LINE__ . " file " . __FILE__ . ", please contact system administrator!");
        }
        $next = $a["ob_head"];
        // Get a list of all children of the admin
        while ($next != $adm_login) {
            $child_list[] = $next;
            $q = "SELECT ob_next FROM {$pro_mysql_admin_table} WHERE adm_login='******';";
            $r = mysql_query($q) or die("Cannot query {$q} line " . __LINE__ . " file " . __FILE__ . " sql said " . mysql_error());
            $a = mysql_fetch_array($r);
            $next = $a["ob_next"];
        }
        // Then delete them all calling recurtion
        $nbr_child = sizeof($child_list);
        for ($i = 0; $i < $nbr_child; $i++) {
            recursiveDeleteAdmin($child_list[$i]);
        }
    }
    // Now do the real delete
    DTCdeleteAdmin($adm_login);
}