} break; case 'show_deleted': if (!$_SESSION["is_admin"]) { break; } $xtpl->table_add_category('ID'); $xtpl->table_add_category(_("NICKNAME")); $xtpl->table_add_category(_("VPS")); $xtpl->table_add_category(_("FULL NAME")); $xtpl->table_add_category(_("DELETED")); $xtpl->table_add_category(''); $xtpl->table_add_category(''); $rs = $db->query("SELECT m_id FROM members WHERE m_state = 'deleted'"); while ($row = $db->fetch_array($rs)) { $m = new member_load($row["m_id"]); $xtpl->table_td($m->mid); $xtpl->table_td($m->m["m_nick"]); $xtpl->table_td("<a href='?page=adminvps&m_nick=" . $m->m["m_nick"] . "'>[ " . $m->get_vps_count() . " ]</a>"); $xtpl->table_td($m->m["m_name"]); $xtpl->table_td(strftime("%Y-%m-%d %H:%M", $m->m["m_deleted"])); $xtpl->table_td('<a href="?page=adminm§ion=members&action=edit&id=' . $m->mid . '"><img src="template/icons/m_edit.png" title="' . _("Edit") . '" /></a>'); $xtpl->table_td('<a href="?page=adminm§ion=members&action=delete&id=' . $m->mid . '"><img src="template/icons/m_delete.png" title="' . _("Delete") . '" /></a>'); $xtpl->table_tr(); } $xtpl->table_out(); break; default: if ($_SESSION["is_admin"]) { $xtpl->title(_("Manage members [Admin mode]")); } else {
include WWW_ROOT . 'lib/db.lib.php'; include WWW_ROOT . 'lib/functions.lib.php'; include WWW_ROOT . 'lib/transact.lib.php'; include WWW_ROOT . 'lib/vps.lib.php'; include WWW_ROOT . 'lib/members.lib.php'; include WWW_ROOT . 'lib/networking.lib.php'; include WWW_ROOT . 'lib/version.lib.php'; include WWW_ROOT . 'lib/cluster.lib.php'; include WWW_ROOT . 'lib/nas.lib.php'; include WWW_ROOT . 'lib/mail.lib.php'; $db = new sql_db(DB_HOST, DB_USER, DB_PASS, DB_NAME); // First delete members $member_timeout = $cluster_cfg->get("general_member_delete_timeout") * 24 * 60 * 60; $rs = $db->query("SELECT m_id FROM members WHERE m_state = 'deleted' AND m_deleted < " . $db->check(time() - $member_timeout)); while ($row = $db->fetch_array($rs)) { $m = new member_load($row["m_id"]); $m->delete_all_vpses(false); $m->destroy(false); } // Mark expired VPSes for lazy deletion $rs = $db->query("SELECT vps_id FROM vps WHERE vps_expiration IS NOT NULL AND vps_deleted IS NULL AND FROM_UNIXTIME(vps_expiration) < NOW()"); while ($row = $db->fetch_array($rs)) { $vps = new vps_load($row["vps_id"]); $vps->stop(); $vps->destroy(true); } // Delete lazy deleted VPSes $vps_timeout = $cluster_cfg->get("general_vps_delete_timeout") * 24 * 60 * 60; $rs = $db->query("SELECT vps_id FROM vps WHERE vps_deleted IS NOT NULL AND vps_deleted > 0 AND vps_deleted < " . $db->check(time() - $vps_timeout)); while ($row = $db->fetch_array($rs)) { $vps = new vps_load($row["vps_id"]);