|
@@ -1,178 +1,167 @@
|
|
|
<?php include "../top.inc.php"; ?>
|
|
|
|
|
|
- Enregistrer la possession d'un domaine sur son compte
|
|
|
-
|
|
|
- <form method="post">
|
|
|
- <label for="subdomain">Domaine</label>
|
|
|
- <br>
|
|
|
- <input id="subdomain" pattern="[a-z]{4,63}" required="" placeholder="nic" name="subdomain" type="text">.atope.art.
|
|
|
- <!--
|
|
|
- <select required="" name="suffix">
|
|
|
- <option selected="" value=".atope.art.">.atope.art.</option>
|
|
|
-
|
|
|
- <optgroup label="Organisations">
|
|
|
- <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.atope.art.">.perso.atope.art.</option>
|
|
|
- <option value=".blog.atope.art.">.blog.atope.art.</option>
|
|
|
- <option value=".gemlog.atope.art.">.gemlog.atope.art.</option>
|
|
|
- <option value=".me.atope.art.">.me.atope.art.</option>
|
|
|
- </optgroup>
|
|
|
- <optgroup label="Connaissance">
|
|
|
- <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>
|
|
|
- <option value=".sci.atope.art.">.sci.atope.art.</option>
|
|
|
- </optgroup>
|
|
|
- <optgroup label="Politique">
|
|
|
- <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=".bio.atope.art.">.bio.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.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.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.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="Arts">
|
|
|
- <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>
|
|
|
- <option value=".ink.atope.art.">.ink.atope.art.</option>
|
|
|
- </optgroup>
|
|
|
- <optgroup label="Neurodiversité">
|
|
|
- <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.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.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.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>
|
|
|
- <option value=".fun.atope.art.">.fun.atope.art.</option>
|
|
|
- <option value=".play.atope.art.">.play.atope.art.</option>
|
|
|
- <option value=".game.atope.art.">.game.atope.art.</option>
|
|
|
- </optgroup>
|
|
|
-
|
|
|
- </select>
|
|
|
-
|
|
|
- -->
|
|
|
- <br>
|
|
|
- <input value="Valider" type="submit">
|
|
|
- </form>
|
|
|
-
|
|
|
- <?php
|
|
|
-
|
|
|
- if (isset($_POST['subdomain']) AND isset($_SESSION['username'])) {
|
|
|
- if (preg_match("#[a-z]{4,63}#", $_POST['subdomain'])) {
|
|
|
- $domain = $_POST['subdomain'] . ".atope.art.";
|
|
|
- if (filter_var($domain, FILTER_VALIDATE_DOMAIN)) {
|
|
|
-
|
|
|
- $domainArray[0] = $domain;
|
|
|
-
|
|
|
- $db = new PDO('sqlite:' . $dbPath);
|
|
|
-
|
|
|
- $req = $db->prepare('SELECT domain FROM registry WHERE domain = ?');
|
|
|
- $req->execute($domainArray);
|
|
|
-
|
|
|
- $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'];
|
|
|
-
|
|
|
- $time = time();
|
|
|
-
|
|
|
- $stmt->bindParam(':domain', $domain);
|
|
|
- $stmt->bindParam(':username', $username);
|
|
|
- $stmt->bindParam(':last_renewal', $time);
|
|
|
-
|
|
|
- $stmt->execute();
|
|
|
-
|
|
|
- echo "Nouveau domaine enregistré";
|
|
|
- }
|
|
|
-
|
|
|
- } else {
|
|
|
- echo "Erreur : Nom de domaine invalide";
|
|
|
- }
|
|
|
- } else {
|
|
|
- echo "Erreur : Le nom de domaine doit être composé d'entre 4 et 63 lettres minuscules (a-z)";
|
|
|
- }
|
|
|
+Enregistrer la possession d'un domaine sur son compte<br>
|
|
|
+Doit être composé uniquement de lettres latines non accentuées, au moins 4
|
|
|
+<br>
|
|
|
+<br>
|
|
|
+<form method="post">
|
|
|
+ <input id="subdomain" pattern="<?= SUBDOMAIN_REGEX ?>" required="" placeholder="niver" name="subdomain" type="text">
|
|
|
+ .
|
|
|
+ <select required="" id="label" name="suffix">
|
|
|
+ <option selected="" value="atope.art.">atope.art.</option>
|
|
|
+ <optgroup label="Organisations">
|
|
|
+ <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.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.atope.art.">edu.atope.art.</option>
|
|
|
+ <option value="info.atope.art.">info.atope.art.</option>
|
|
|
+ <option value="wiki.atope.art.">wiki.atope.art.</option>
|
|
|
+ <option value="sci.atope.art.">sci.atope.art.</option>
|
|
|
+ </optgroup>
|
|
|
+ <optgroup label="Politique">
|
|
|
+ <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="bio.atope.art.">bio.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.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.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="gemlog.atope.art.">gemlog.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>
|
|
|
+ <option value="sys.atope.art.">sys.atope.art.</option>
|
|
|
+ </optgroup>
|
|
|
+ <optgroup label="Fédiverse">
|
|
|
+ <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="Arts">
|
|
|
+ <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>
|
|
|
+ <option value="ink.atope.art.">ink.atope.art.</option>
|
|
|
+ </optgroup>
|
|
|
+ <optgroup label="Neurodiversité">
|
|
|
+ <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="auti.atope.art.">auti.atope.art.</option>
|
|
|
+ <option value="plur.atope.art.">plur.atope.art.</option>
|
|
|
+ </optgroup>
|
|
|
+ <optgroup label="Couleurs">
|
|
|
+ <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.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.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>
|
|
|
+ <option value="fun.atope.art.">fun.atope.art.</option>
|
|
|
+ <option value="play.atope.art.">play.atope.art.</option>
|
|
|
+ <option value="game.atope.art.">game.atope.art.</option>
|
|
|
+ </optgroup>
|
|
|
+
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <br>
|
|
|
+ <input value="Valider" type="submit">
|
|
|
+</form>
|
|
|
+
|
|
|
+<?php
|
|
|
+
|
|
|
+if (isset($_POST['subdomain']) AND isset($_SESSION['username'])) {
|
|
|
+ if (preg_match("/" . SUBDOMAIN_REGEX . "/", $_POST['subdomain'])) {
|
|
|
+
|
|
|
+ if (!in_array($_POST['suffix'], $suffixes))
|
|
|
+ exit("Wrong value for suffix");
|
|
|
+
|
|
|
+ $domain = $_POST['subdomain'] . "." . $_POST['suffix'];
|
|
|
+
|
|
|
+ checkAbsoluteDomainFormat($domain);
|
|
|
+
|
|
|
+ if (isFree($domain)) {
|
|
|
+ $db = new PDO('sqlite:' . DB_PATH);
|
|
|
+ $stmt = $db->prepare("INSERT INTO registry(domain, username, last_renewal) VALUES(:domain, :username, :last_renewal)");
|
|
|
+ $username = $_SESSION['username'];
|
|
|
+
|
|
|
+ $time = date("Y-m-d H:i:s");
|
|
|
+
|
|
|
+ $stmt->bindParam(':domain', $domain);
|
|
|
+ $stmt->bindParam(':username', $username);
|
|
|
+ $stmt->bindParam(':last_renewal', $time);
|
|
|
+
|
|
|
+ $stmt->execute();
|
|
|
+
|
|
|
+ echo "Nouveau domaine enregistré";
|
|
|
|
|
|
} else {
|
|
|
- echo "Rien n'a été appliqué lors du dernier chargement.";
|
|
|
+ echo "Le domaine " . $domain . " est déjà utilisé.";
|
|
|
}
|
|
|
+ } else {
|
|
|
+ echo "Erreur : Le nom de domaine doit être composé d'entre 4 et 63 lettres minuscules (a-z)";
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
- ?>
|
|
|
+?>
|
|
|
|
|
|
<?php include "../bottom.inc.php"; ?>
|