$_SESSION['id']], 'domain'); return []; } function regCheckDomainPossession($domain) { if (in_array($domain, regListUserDomains(), true) !== true) output(403, 'You don\'t own this domain on the registry.'); } function regDeleteDomain($domain) { // Delete domain from registry file $path = CONF['reg']['suffixes_path'] . '/' . regParseDomain($domain)['suffix'] . 'zone'; $content = file_get_contents($path); if ($content === false) output(500, 'Failed to read current registry file.'); $content = preg_replace('/^(?:[a-z0-9._-]+\.)?' . preg_quote($domain, '/') . '[\t ]+.+$/Dm', '', $content); if (file_put_contents($path, $content) === false) output(500, 'Failed to write new registry file.'); // Delete from database query('delete', 'registry', [ 'domain' => $domain, 'username' => $_SESSION['id'], ]); } function regParseDomain($domain) { $parts = explode('.', $domain, 2); $subdomain = $parts[0]; $suffix = $parts[1]; if (array_key_exists($suffix, CONF['reg']['suffixes']) !== true) output(403, 'This suffix doesn\'t exist.'); return [ 'subdomain' => $subdomain, 'suffix' => $suffix, ]; }