|
@@ -1,167 +1,174 @@
|
|
|
<?php include "../top.inc.php"; ?>
|
|
|
|
|
|
- Enregistrer un nouveau domaine
|
|
|
+ Enregistrer la possession d'un domaine sur son compte
|
|
|
|
|
|
<form method="post">
|
|
|
<label for="subdomain">Domaine</label>
|
|
|
<br>
|
|
|
- <input id="subdomain" required="" placeholder="nic" name="subdomain" type="text">
|
|
|
+ <input id="subdomain" pattern="[a-z]{4,63}" required="" placeholder="nic" name="subdomain" type="text">.atope.art.
|
|
|
+ <!--
|
|
|
<select required="" name="suffix">
|
|
|
- <option selected="" value=".niv.re">.niv.re</option>
|
|
|
+ <option selected="" value=".atope.art.">.atope.art.</option>
|
|
|
|
|
|
<optgroup label="Organisations">
|
|
|
- <option value=".asso.niv.re">.asso.niv.re</option>
|
|
|
- <option value=".org.niv.re">.org.niv.re</option>
|
|
|
+ <option value=".asso.atope.art.">.asso.atope.art.</option>
|
|
|
+ <option value=".org.atope.art.">.org.atope.art.</option>
|
|
|
</optgroup>
|
|
|
<optgroup label="Personnels">
|
|
|
- <option value=".perso.niv.re">.perso.niv.re</option>
|
|
|
- <option value=".blog.niv.re">.blog.niv.re</option>
|
|
|
- <option value=".me.niv.re">.me.niv.re</option>
|
|
|
+ <option value=".perso.atope.art.">.perso.atope.art.</option>
|
|
|
+ <option value=".blog.atope.art.">.blog.atope.art.</option>
|
|
|
+ <option value=".me.atope.art.">.me.atope.art.</option>
|
|
|
</optgroup>
|
|
|
<optgroup label="Connaissance">
|
|
|
- <option value=".edu.niv.re">.edu.niv.re</option>
|
|
|
- <option value=".info.niv.re">.info.niv.re</option>
|
|
|
- <option value=".wiki.niv.re">.wiki.niv.re</option>
|
|
|
+ <option value=".edu.atope.art.">.edu.atope.art.</option>
|
|
|
+ <option value=".info.atope.art.">.info.atope.art.</option>
|
|
|
+ <option value=".wiki.atope.art.">.wiki.atope.art.</option>
|
|
|
</optgroup>
|
|
|
<optgroup label="Politique">
|
|
|
- <option value=".pol.niv.re">.pol.niv.re</option>
|
|
|
- <option value=".libre.niv.re">.libre.niv.re</option>
|
|
|
- <option value=".fem.niv.re">.fem.niv.re</option>
|
|
|
- <option value=".eco.niv.re">.eco.niv.re</option>
|
|
|
- <option value=".veg.niv.re">.veg.niv.re</option>
|
|
|
- <option value=".anar.niv.re">.anar.niv.re</option>
|
|
|
- <option value=".ancom.niv.re">.ancom.niv.re</option>
|
|
|
- <option value=".acab.niv.re">.acab.niv.re</option>
|
|
|
- <option value=".handi.niv.re">.handi.niv.re</option>
|
|
|
+ <option value=".pol.atope.art.">.pol.atope.art.</option>
|
|
|
+ <option value=".libre.atope.art.">.libre.atope.art.</option>
|
|
|
+ <option value=".fem.atope.art.">.fem.atope.art.</option>
|
|
|
+ <option value=".eco.atope.art.">.eco.atope.art.</option>
|
|
|
+ <option value=".veg.atope.art.">.veg.atope.art.</option>
|
|
|
+ <option value=".anar.atope.art.">.anar.atope.art.</option>
|
|
|
+ <option value=".ancom.atope.art.">.ancom.atope.art.</option>
|
|
|
+ <option value=".acab.atope.art.">.acab.atope.art.</option>
|
|
|
+ <option value=".handi.atope.art.">.handi.atope.art.</option>
|
|
|
</optgroup>
|
|
|
<optgroup label="LGBT+">
|
|
|
- <option value=".queer.niv.re">.queer.niv.re</option>
|
|
|
- <option value=".gay.niv.re">.gay.niv.re</option>
|
|
|
- <option value=".enby.niv.re">.enby.niv.re</option>
|
|
|
- <option value=".trans.niv.re">.trans.niv.re</option>
|
|
|
+ <option value=".queer.atope.art.">.queer.atope.art.</option>
|
|
|
+ <option value=".gay.atope.art.">.gay.atope.art.</option>
|
|
|
+ <option value=".enby.atope.art.">.enby.atope.art.</option>
|
|
|
+ <option value=".trans.atope.art.">.trans.atope.art.</option>
|
|
|
</optgroup>
|
|
|
<optgroup label="Technologie">
|
|
|
- <option value=".net.niv.re">.net.niv.re</option>
|
|
|
- <option value=".tech.niv.re">.tech.niv.re</option>
|
|
|
- <option value=".io.niv.re">.io.niv.re</option>
|
|
|
- <option value=".sec.niv.re">.sec.niv.re</option>
|
|
|
- <option value=".cyber.niv.re">.cyber.niv.re</option>
|
|
|
- <option value=".dev.niv.re">.dev.niv.re</option>
|
|
|
- <option value=".geek.niv.re">.geek.niv.re</option>
|
|
|
- <option value=".fs.niv.re">.fs.niv.re</option>
|
|
|
- <option value=".ht.niv.re">.ht.niv.re</option>
|
|
|
- <option value=".hyper.niv.re">.hyper.niv.re</option>
|
|
|
- <option value=".git.niv.re">.git.niv.re</option>
|
|
|
- <option value=".forge.niv.re">.forge.niv.re</option>
|
|
|
- <option value=".code.niv.re">.code.niv.re</option>
|
|
|
- <option value=".lab.niv.re">.lab.niv.re</option>
|
|
|
- <option value=".labs.niv.re">.labs.niv.re</option>
|
|
|
- <option value=".gemini.niv.re">.gemini.niv.re</option>
|
|
|
- <option value=".gmi.niv.re">.gmi.niv.re</option>
|
|
|
- <option value=".mail.niv.re">.mail.niv.re</option>
|
|
|
- <option value=".ynh.niv.re">.ynh.niv.re</option>
|
|
|
- <option value=".yuno.niv.re">.yuno.niv.re</option>
|
|
|
+ <option value=".net.atope.art.">.net.atope.art.</option>
|
|
|
+ <option value=".tech.atope.art.">.tech.atope.art.</option>
|
|
|
+ <option value=".io.atope.art.">.io.atope.art.</option>
|
|
|
+ <option value=".sec.atope.art.">.sec.atope.art.</option>
|
|
|
+ <option value=".cyber.atope.art.">.cyber.atope.art.</option>
|
|
|
+ <option value=".dev.atope.art.">.dev.atope.art.</option>
|
|
|
+ <option value=".geek.atope.art.">.geek.atope.art.</option>
|
|
|
+ <option value=".fs.atope.art.">.fs.atope.art.</option>
|
|
|
+ <option value=".ht.atope.art.">.ht.atope.art.</option>
|
|
|
+ <option value=".hyper.atope.art.">.hyper.atope.art.</option>
|
|
|
+ <option value=".git.atope.art.">.git.atope.art.</option>
|
|
|
+ <option value=".forge.atope.art.">.forge.atope.art.</option>
|
|
|
+ <option value=".code.atope.art.">.code.atope.art.</option>
|
|
|
+ <option value=".lab.atope.art.">.lab.atope.art.</option>
|
|
|
+ <option value=".labs.atope.art.">.labs.atope.art.</option>
|
|
|
+ <option value=".gemini.atope.art.">.gemini.atope.art.</option>
|
|
|
+ <option value=".gmi.atope.art.">.gmi.atope.art.</option>
|
|
|
+ <option value=".mail.atope.art.">.mail.atope.art.</option>
|
|
|
+ <option value=".ynh.atope.art.">.ynh.atope.art.</option>
|
|
|
+ <option value=".yuno.atope.art.">.yuno.atope.art.</option>
|
|
|
</optgroup>
|
|
|
<optgroup label="Fédiverse">
|
|
|
- <option value=".fed.niv.re">.fed.niv.re</option>
|
|
|
- <option value=".fedi.niv.re">.fedi.niv.re</option>
|
|
|
- <option value=".soc.niv.re">.soc.niv.re</option>
|
|
|
- <option value=".masto.niv.re">.masto.niv.re</option>
|
|
|
- <option value=".plero.niv.re">.plero.niv.re</option>
|
|
|
- <option value=".pix.niv.re">.pix.niv.re</option>
|
|
|
- <option value=".mobi.niv.re">.mobi.niv.re</option>
|
|
|
+ <option value=".fed.atope.art.">.fed.atope.art.</option>
|
|
|
+ <option value=".fedi.atope.art.">.fedi.atope.art.</option>
|
|
|
+ <option value=".soc.atope.art.">.soc.atope.art.</option>
|
|
|
+ <option value=".masto.atope.art.">.masto.atope.art.</option>
|
|
|
+ <option value=".plero.atope.art.">.plero.atope.art.</option>
|
|
|
+ <option value=".pix.atope.art.">.pix.atope.art.</option>
|
|
|
+ <option value=".mobi.atope.art.">.mobi.atope.art.</option>
|
|
|
</optgroup>
|
|
|
<optgroup label="Sciences">
|
|
|
- <option value=".sci.niv.re">.sci.niv.re</option>
|
|
|
- <option value=".bio.niv.re">.bio.niv.re</option>
|
|
|
- <option value=".draw.niv.re">.draw.niv.re</option>
|
|
|
- <option value=".ink.niv.re">.ink.niv.re</option>
|
|
|
- <option value=".audio.niv.re">.audio.niv.re</option>
|
|
|
+ <option value=".sci.atope.art.">.sci.atope.art.</option>
|
|
|
+ <option value=".bio.atope.art.">.bio.atope.art.</option>
|
|
|
+ <option value=".draw.atope.art.">.draw.atope.art.</option>
|
|
|
+ <option value=".ink.atope.art.">.ink.atope.art.</option>
|
|
|
+ <option value=".audio.atope.art.">.audio.atope.art.</option>
|
|
|
</optgroup>
|
|
|
<optgroup label="Arts">
|
|
|
- <option value=".art.niv.re">.art.niv.re</option>
|
|
|
- <option value=".music.niv.re">.music.niv.re</option>
|
|
|
- <option value=".video.niv.re">.video.niv.re</option>
|
|
|
- <option value=".draw.niv.re">.draw.niv.re</option>
|
|
|
- <option value=".audio.niv.re">.audio.niv.re</option>
|
|
|
+ <option value=".art.atope.art.">.art.atope.art.</option>
|
|
|
+ <option value=".music.atope.art.">.music.atope.art.</option>
|
|
|
+ <option value=".video.atope.art.">.video.atope.art.</option>
|
|
|
+ <option value=".draw.atope.art.">.draw.atope.art.</option>
|
|
|
+ <option value=".audio.atope.art.">.audio.atope.art.</option>
|
|
|
</optgroup>
|
|
|
<optgroup label="Neurodiversité">
|
|
|
- <option value=".na.niv.re">.na.niv.re</option>
|
|
|
- <option value=".psy.niv.re">.psy.niv.re</option>
|
|
|
- <option value=".neuro.niv.re">.neuro.niv.re</option>
|
|
|
- <option value=".autism.niv.re">.autism.niv.re</option>
|
|
|
- <option value=".plural.niv.re">.plural.niv.re</option>
|
|
|
+ <option value=".na.atope.art.">.na.atope.art.</option>
|
|
|
+ <option value=".psy.atope.art.">.psy.atope.art.</option>
|
|
|
+ <option value=".neuro.atope.art.">.neuro.atope.art.</option>
|
|
|
+ <option value=".autism.atope.art.">.autism.atope.art.</option>
|
|
|
+ <option value=".plural.atope.art.">.plural.atope.art.</option>
|
|
|
</optgroup>
|
|
|
<optgroup label="Couleurs">
|
|
|
- <option value=".blue.niv.re">.blue.niv.re</option>
|
|
|
- <option value=".red.niv.re">.red.niv.re</option>
|
|
|
- <option value=".pink.niv.re">.pink.niv.re</option>
|
|
|
- <option value=".green.niv.re">.green.niv.re</option>
|
|
|
- <option value=".black.niv.re">.black.niv.re</option>
|
|
|
+ <option value=".blue.atope.art.">.blue.atope.art.</option>
|
|
|
+ <option value=".red.atope.art.">.red.atope.art.</option>
|
|
|
+ <option value=".pink.atope.art.">.pink.atope.art.</option>
|
|
|
+ <option value=".green.atope.art.">.green.atope.art.</option>
|
|
|
+ <option value=".black.atope.art.">.black.atope.art.</option>
|
|
|
</optgroup>
|
|
|
<optgroup label="Communauté">
|
|
|
- <option value=".city.niv.re">.city.niv.re</option>
|
|
|
- <option value=".town.niv.re">.town.niv.re</option>
|
|
|
- <option value=".cafe.niv.re">.cafe.niv.re</option>
|
|
|
- <option value=".home.niv.re">.home.niv.re</option>
|
|
|
- <option value=".forum.niv.re">.forum.niv.re</option>
|
|
|
+ <option value=".city.atope.art.">.city.atope.art.</option>
|
|
|
+ <option value=".town.atope.art.">.town.atope.art.</option>
|
|
|
+ <option value=".cafe.atope.art.">.cafe.atope.art.</option>
|
|
|
+ <option value=".home.atope.art.">.home.atope.art.</option>
|
|
|
+ <option value=".forum.atope.art.">.forum.atope.art.</option>
|
|
|
</optgroup>
|
|
|
<optgroup label="Divers">
|
|
|
- <option value=".dream.niv.re">.dream.niv.re</option>
|
|
|
- <option value=".space.niv.re">.space.niv.re</option>
|
|
|
- <option value=".forest.niv.re">.forest.niv.re</option>
|
|
|
- <option value=".rain.niv.re">.rain.niv.re</option>
|
|
|
- <option value=".snow.niv.re">.snow.niv.re</option>
|
|
|
- <option value=".sun.niv.re">.sun.niv.re</option>
|
|
|
- <option value=".earth.niv.re">.earth.niv.re</option>
|
|
|
- <option value=".world.niv.re">.world.niv.re</option>
|
|
|
- <option value=".soft.niv.re">.soft.niv.re</option>
|
|
|
- <option value=".cute.niv.re">.cute.niv.re</option>
|
|
|
+ <option value=".dream.atope.art.">.dream.atope.art.</option>
|
|
|
+ <option value=".space.atope.art.">.space.atope.art.</option>
|
|
|
+ <option value=".forest.atope.art.">.forest.atope.art.</option>
|
|
|
+ <option value=".rain.atope.art.">.rain.atope.art.</option>
|
|
|
+ <option value=".snow.atope.art.">.snow.atope.art.</option>
|
|
|
+ <option value=".sun.atope.art.">.sun.atope.art.</option>
|
|
|
+ <option value=".earth.atope.art.">.earth.atope.art.</option>
|
|
|
+ <option value=".world.atope.art.">.world.atope.art.</option>
|
|
|
+ <option value=".soft.atope.art.">.soft.atope.art.</option>
|
|
|
+ <option value=".cute.atope.art.">.cute.atope.art.</option>
|
|
|
+ <option value=".cutie.atope.art.">.cutie.atope.art.</option>
|
|
|
</optgroup>
|
|
|
|
|
|
-
|
|
|
-
|
|
|
</select>
|
|
|
|
|
|
+ -->
|
|
|
+ <br>
|
|
|
<input type="submit">
|
|
|
</form>
|
|
|
|
|
|
<?php
|
|
|
|
|
|
if (isset($_POST['subdomain']) AND isset($_SESSION['username'])) {
|
|
|
- $domain = $_POST['subdomain'] . ".niv.re.";
|
|
|
- if (filter_var($domain, FILTER_VALIDATE_DOMAIN)) {
|
|
|
+ if (preg_match("#[a-z]{4,63}#", $_POST['subdomain'])) {
|
|
|
+ $domain = $_POST['subdomain'] . ".atope.art.";
|
|
|
+ if (filter_var($domain, FILTER_VALIDATE_DOMAIN)) {
|
|
|
|
|
|
- $domainArray[0] = $domain;
|
|
|
+ $domainArray[0] = $domain;
|
|
|
|
|
|
- $db = new PDO('sqlite:' . $dbPath);
|
|
|
+ $db = new PDO('sqlite:' . $dbPath);
|
|
|
|
|
|
- $req = $db->prepare('SELECT domain FROM registry WHERE domain = ?');
|
|
|
- $req->execute($domainArray);
|
|
|
+ $req = $db->prepare('SELECT domain FROM registry WHERE domain = ?');
|
|
|
+ $req->execute($domainArray);
|
|
|
|
|
|
- $domainFound = $req->fetch()['domain'];
|
|
|
+ $domainFound = $req->fetch()['domain'];
|
|
|
|
|
|
- if (isset($domainFound)) {
|
|
|
- echo "Le domaine " . $domainFound . " est déjà utilisé.";
|
|
|
- } else {
|
|
|
- $db = new PDO('sqlite:' . $dbPath);
|
|
|
- $stmt = $db->prepare("INSERT INTO registry(domain, username, last_renewal) VALUES(:domain, :username, :last_renewal)");
|
|
|
- $username = $_SESSION['username'];
|
|
|
+ if (isset($domainFound)) {
|
|
|
+ echo "Le domaine " . $domainFound . " est déjà utilisé.";
|
|
|
+ } else {
|
|
|
+ $db = new PDO('sqlite:' . $dbPath);
|
|
|
+ $stmt = $db->prepare("INSERT INTO registry(domain, username, last_renewal) VALUES(:domain, :username, :last_renewal)");
|
|
|
+ $username = $_SESSION['username'];
|
|
|
|
|
|
- $time = time();
|
|
|
+ $time = time();
|
|
|
|
|
|
- $stmt->bindParam(':domain', $domain);
|
|
|
- $stmt->bindParam(':username', $username);
|
|
|
- $stmt->bindParam(':last_renewal', $time);
|
|
|
+ $stmt->bindParam(':domain', $domain);
|
|
|
+ $stmt->bindParam(':username', $username);
|
|
|
+ $stmt->bindParam(':last_renewal', $time);
|
|
|
|
|
|
- $stmt->execute();
|
|
|
+ $stmt->execute();
|
|
|
|
|
|
- echo "Nouveau domaine enregistré";
|
|
|
- }
|
|
|
+ echo "Nouveau domaine enregistré";
|
|
|
+ }
|
|
|
|
|
|
+ } else {
|
|
|
+ echo "Erreur : Nom de domaine invalide";
|
|
|
+ }
|
|
|
} else {
|
|
|
- echo "Erreur : Nom de domaine invalide";
|
|
|
+ echo "Erreur : Le nom de domaine doit être composé d'entre 4 et 63 lettres minuscules (a-z)";
|
|
|
}
|
|
|
+
|
|
|
} else {
|
|
|
echo "Rien n'a été appliqué lors du dernier chargement.";
|
|
|
}
|