sauver les grilles invalides
This commit is contained in:
+13
-11
@@ -93,8 +93,9 @@ class Grille implements ArrayAccess
|
||||
|
||||
$grilles = $this->gen_grilles();
|
||||
$grilles->current();
|
||||
$this->valide = $grilles->valid();
|
||||
|
||||
if ($grilles->valid()) {
|
||||
if ($this->valide) {
|
||||
$this->definitions = [
|
||||
"horizontales" => [],
|
||||
"verticales" => []
|
||||
@@ -119,11 +120,10 @@ class Grille implements ArrayAccess
|
||||
$this->definitions["verticales"][$x][] = $definition;
|
||||
}
|
||||
}
|
||||
$this->save($id);
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->save($id);
|
||||
return $this->valide;
|
||||
}
|
||||
|
||||
public function gen_grilles($i = 0, $lettres_ligne = NULL)
|
||||
@@ -239,6 +239,7 @@ class Grille implements ArrayAccess
|
||||
|
||||
$_SESSION["grille"] = $this->grille;
|
||||
$_SESSION["definitions"] = $this->definitions;
|
||||
$_SESSION["valide"] = $this->valide;
|
||||
}
|
||||
|
||||
public function load($id)
|
||||
@@ -246,14 +247,15 @@ class Grille implements ArrayAccess
|
||||
session_id("$this->largeur,$this->hauteur,$id");
|
||||
session_start(["use_cookies" => false]);
|
||||
|
||||
if (!isset($_SESSION)) {
|
||||
if (isset($_SESSION) && isset($_SESSION["grille"])) {
|
||||
$this->grille = $_SESSION["grille"];
|
||||
$this->definitions = $_SESSION["definitions"];
|
||||
$this->valide = $_SESSION["valide"];
|
||||
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->grille = $_SESSION["grille"];
|
||||
$this->definitions = $_SESSION["definitions"];
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -475,6 +475,8 @@ APPRENTI:
|
||||
- Michel Laclos: Bleu de travail
|
||||
APPRET:
|
||||
- Jean Teularge: Malgré son nom se met avant
|
||||
APPRISE:
|
||||
- Sue après avoir travaillé
|
||||
APT:
|
||||
- Jacques Drillon: Capabl
|
||||
ARA:
|
||||
@@ -958,8 +960,9 @@ BIOS:
|
||||
BIS:
|
||||
- Sport Cérébral: Cris dans le poulailler
|
||||
- Bernard Philippet: Demande d'assistance
|
||||
- Mot de rappel flatteur
|
||||
- Rappel
|
||||
- Couleur de pain gris tirant sur le beige
|
||||
- Petite précision d'adresse
|
||||
BLANC:
|
||||
- Corinne Beltz: Toujours liquide quand il est sec
|
||||
BLANCHE:
|
||||
@@ -1188,7 +1191,6 @@ CAVIAR:
|
||||
CCCCC:
|
||||
- Michel Laclos: D
|
||||
CD:
|
||||
- Compact Disc
|
||||
- Disque laser
|
||||
- Lettres diplomatiques
|
||||
CE:
|
||||
@@ -1304,6 +1306,8 @@ CINTRE:
|
||||
- Lucien Lacau: A moitié rond quand il est plein
|
||||
CIRAGE:
|
||||
- Marc Aussitot: Etat second
|
||||
CIRE:
|
||||
- Hervé Hardouin: Tabarly le portait à l'endroit comme à l'envers
|
||||
CIRCONCIS:
|
||||
- Wikipourri: Manque de peau
|
||||
CIRCONFLEXE:
|
||||
@@ -2654,7 +2658,7 @@ FENAISON:
|
||||
FER:
|
||||
- Sport Cérébral: Pour chauffer ou refroidir
|
||||
FERRY:
|
||||
- Georges Perec: Peut vous transporter sauf s’il s’appelle jules
|
||||
- Georges Perec: Peut vous transporter sauf s’il s’appelle Jules
|
||||
FESSES:
|
||||
- Bernard Philippet: On donne cher de leur peau
|
||||
FESSIER:
|
||||
@@ -2732,6 +2736,8 @@ FRAC:
|
||||
- Julien Soulié: Exige le fric pour le fric
|
||||
FREINAGE:
|
||||
- Yannick Le Nagard: Use la gomme en ne la mettant plus
|
||||
FRERE:
|
||||
- Fils à papa
|
||||
FRIGIDE:
|
||||
- Terme utilisé par l'homme pour décrire la femme qui a moins d'appétit sexuel que lui
|
||||
FRITES:
|
||||
@@ -3518,6 +3524,8 @@ KABIG:
|
||||
- Veste bretonne à capuchon
|
||||
KAPO:
|
||||
- Dans les camps nazis, détenu en charge des autres
|
||||
KEBAB:
|
||||
- Parfois chiche
|
||||
KEFIR:
|
||||
- Boisson gazeuse du Caucase
|
||||
KEN:
|
||||
@@ -3875,7 +3883,7 @@ MAIN:
|
||||
MAJOR:
|
||||
- Thierry Larsan: Premier d'un concours ou premier ministre
|
||||
MAJUSCULE:
|
||||
- Dédale: Capitale d'etat
|
||||
- Dédale: Capitale d'état
|
||||
MALAISE:
|
||||
- Jean Teularge: Indonésienne ou ça ne va pas
|
||||
MALFAITEUR:
|
||||
@@ -3889,7 +3897,7 @@ MANCHE:
|
||||
MANCHETTE:
|
||||
- Georges Perec: Concerne triplement un auteur de la série noire faisant du karaté en première page d’un journal
|
||||
MANET:
|
||||
- Arcane: Artiste à l’olympia
|
||||
- Arcane: Artiste à l’Olympia
|
||||
MANGER:
|
||||
- Ambrose Bierce: Accomplir successivement (et avec succès) les fonctions de mastication, humectation et déglutition
|
||||
MANIFESTANTS:
|
||||
@@ -3974,6 +3982,7 @@ MENU:
|
||||
- Lionel Leteur: Ce n’est pas à la cuisine qu’on l’épluche
|
||||
- Sport Cérébral: Peut comporter du gros poisson mais ne convient qu'au fretin
|
||||
- Bernard Philippet: Fin ou donne faim
|
||||
- Mets sur une liste
|
||||
MER:
|
||||
- Max Favalelli: Ses paquets ne sont pas toujours recommandés
|
||||
- Lucien Lacau: On peut la prendre par une anse
|
||||
@@ -4268,6 +4277,8 @@ NEZ:
|
||||
- Jean-Paul Vanden Branden: Coule quand tout est gelé
|
||||
- Michel Laclos: N'a pas une vue précise des choses
|
||||
- Hervé Hardouin: Coupe la poire en deux
|
||||
NIA:
|
||||
- Dédale: Parla pour ne rien dire
|
||||
NIAGARA:
|
||||
- Marc Aussitot: Un film dont la chute est connue dès le début
|
||||
NICE:
|
||||
@@ -4285,11 +4296,11 @@ NIELLE:
|
||||
- Maladie des céréales
|
||||
NIET:
|
||||
- Marc Aussitot: Tintin au pays des soviets
|
||||
- Didier Léonard: Sort si ça rase poutine
|
||||
- Didier Léonard: Sort si ça rase Poutine
|
||||
NIHILISTE:
|
||||
- Ambrose Bierce: Russe qui nie l'existence de tout sauf de Tolstoï. Le fondateur du mouvement est Tolstoï
|
||||
NIL:
|
||||
- Sport Cérébral: Tout pour les egyptiens, rien pour les romains
|
||||
- Sport Cérébral: Tout pour les Egyptiens, rien pour les Romains
|
||||
- Grand fleuve d'Afrique
|
||||
NINAS:
|
||||
- Petit cigare fait de débris de tabac
|
||||
@@ -4300,7 +4311,7 @@ NL:
|
||||
NN:
|
||||
- Nouvelle norme en abrégé
|
||||
- Suite d'étoiles
|
||||
'NO':
|
||||
NO:
|
||||
- Didier Léonard: Docteur ou veto
|
||||
- Drame lyrique du Japon
|
||||
NOBLES:
|
||||
@@ -5422,7 +5433,7 @@ REVERS:
|
||||
REVIENS:
|
||||
- Marc Aussitot: Nom courant d’une chose prêtée
|
||||
REVISER:
|
||||
- SC: Repasser pour ne pas avoir à repasser
|
||||
- Sport Cérébral: Repasser pour ne pas avoir à repasser
|
||||
REVISION:
|
||||
- Marc Aussitot: On ne suit plus ses conseils
|
||||
REVUES:
|
||||
@@ -5751,10 +5762,9 @@ SENS:
|
||||
- Bernard Philippet: Aucun des cinq n'est le bon
|
||||
SENT:
|
||||
- Michel Laclos: Flaire ou fleure
|
||||
SENTIMENTS:
|
||||
- PARTAGES Quand votre belle-mère est en train de reculer dans un ravin avec votre voiture neuve
|
||||
SEP:
|
||||
- Pièce de charrue qui porte le soc Avance avec l’âge
|
||||
- Pièce de charrue qui porte le soc
|
||||
- Avance avec l’age
|
||||
SEPS:
|
||||
- Lézard à pattes très courtes
|
||||
SEPTENNAT:
|
||||
@@ -5785,7 +5795,6 @@ SESAME:
|
||||
- Jacques Drillon: Il entre dans une galette ou il permet d'y accéder
|
||||
SET:
|
||||
- Dédale: Manche avec revers
|
||||
- Manche au tennis
|
||||
SETON:
|
||||
- Drain sortant de l'orifice d'une plaie
|
||||
SEUL:
|
||||
@@ -5800,7 +5809,7 @@ SEVICES:
|
||||
- Jacques Flament: Marquent à tous les coups
|
||||
SEXE:
|
||||
- Lionel Leteur: Un simple numéro pour la sécu
|
||||
- Frédéric Dard: 'MASCULIN Ce qu''il y a de plus léger au monde : une simple pensée le soulève !'
|
||||
- Frédéric Dard: 'Ce qu''il y a de plus léger au monde : une simple pensée le soulève !'
|
||||
SEXES:
|
||||
- André Counson: Leur différence ne doit pas empêcher leur égalité
|
||||
SFTP:
|
||||
@@ -5815,7 +5824,6 @@ SHERPA:
|
||||
- Michel Vanobost: Monte des blancs en neige
|
||||
SI:
|
||||
- Yves Cunow: La seule note de musique
|
||||
- Note de musique élevée
|
||||
- Avec lui, on met Paris en bouteille
|
||||
- Début de rêve
|
||||
- Permet les châteaux en Espagne
|
||||
@@ -5963,7 +5971,7 @@ SQL:
|
||||
SS:
|
||||
- Sa Sainteté devant le pape
|
||||
- Forces Nazies
|
||||
- Sécurité sociale
|
||||
- Sécu
|
||||
SSD:
|
||||
- Support de stockage plus rapide que le HDD, sans pièces mécaniques
|
||||
SSH:
|
||||
@@ -6220,7 +6228,7 @@ TEMPS:
|
||||
- Michel Laclos: Pas toujours recherché par celui qui l'a perdu
|
||||
- Ce qui empêche tout d'arriver en même temps
|
||||
TENEBRES:
|
||||
- Jacques Drillon: Elles ont fourni une affaire à balzac
|
||||
- Jacques Drillon: Elles ont fourni une affaire à Balzac
|
||||
TENIA:
|
||||
- Animal d'interieur
|
||||
TENTACULE:
|
||||
@@ -6476,7 +6484,7 @@ TUE:
|
||||
- Julien Soulié: Impose le silence ou déjà silencieuse
|
||||
TUER:
|
||||
- Ambrose Bierce: Créer une vacance sans nommer un successeur
|
||||
TUETETE:
|
||||
TUE-TETE:
|
||||
- Marc Aussitot: Casse au moins les oreilles
|
||||
TUMULUS:
|
||||
- Michel Laclos: Bosse dans les pompes funèbres
|
||||
@@ -6550,7 +6558,7 @@ URE:
|
||||
UREE:
|
||||
- Déchet organique du corps humain
|
||||
URI:
|
||||
- Philippe Harang: Dans zurich ou pas très loin
|
||||
- Philippe Harang: Dans Zurich ou pas très loin
|
||||
- Canton suisse
|
||||
URINE:
|
||||
- Charge un pistolet au besoin
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
<?php
|
||||
ini_set('display_errors', '1');
|
||||
ini_set('display_startup_errors', '1');
|
||||
error_reporting(E_ALL);
|
||||
include_once "Grille.php";
|
||||
|
||||
|
||||
@@ -35,17 +32,17 @@ $basedir = $_SERVER["REQUEST_SCHEME"] . "://" . $_SERVER["HTTP_HOST"] . dirname(
|
||||
if (!isset($_GET["grille"]) || $_GET["grille"] == "") {
|
||||
do {
|
||||
$id = uniqid();
|
||||
$grille_valide = $grille->genere($id);
|
||||
} while (!$grille_valide);
|
||||
$grille->genere($id);
|
||||
} while (!$grille->valide);
|
||||
|
||||
$_GET["grille"] = $id;
|
||||
header("Location: $basedir/?" . http_build_query($_GET));
|
||||
} else {
|
||||
$id = htmlspecialchars($_GET["grille"]);
|
||||
$grille_valide = $grille->load($id) || $grille->genere($id);
|
||||
$grille->load($id) || $grille->genere($id);
|
||||
}
|
||||
|
||||
function formatter_definition($definition) {
|
||||
function formatter_definition(Array $definition) {
|
||||
if (isset($definition["nb_mots"]) && $definition["nb_mots"] > 1) {
|
||||
$nb_mots = $definition["nb_mots"];
|
||||
$nb_mots = " <small>($nb_mots mots)</small>";
|
||||
@@ -61,7 +58,7 @@ function formatter_definition($definition) {
|
||||
return ucfirst($definition["definition"]) . $nb_mots . $auteur;
|
||||
}
|
||||
|
||||
function definition_courante($definitions, $position) {
|
||||
function definition_courante(Array $definitions, int $position) {
|
||||
foreach ($definitions as $id => $definition) {
|
||||
if ($position <= $definition["fin"])
|
||||
return [$id, $definition];
|
||||
@@ -129,7 +126,7 @@ function definition_courante($definitions, $position) {
|
||||
</h1>
|
||||
<h1 class="small width"><a href=".">Mots■croisés</a></h1>
|
||||
<div class="grille-et-definitions">
|
||||
<?php if ($grille_valide): ?>
|
||||
<?php if ($grille->valide): ?>
|
||||
<div class="grille">
|
||||
<table>
|
||||
<tr>
|
||||
@@ -154,10 +151,10 @@ function definition_courante($definitions, $position) {
|
||||
$title = [];
|
||||
[$iddh, $definition_horizontale] = definition_courante($grille->definitions["horizontales"][$y], $x);
|
||||
[$iddv, $definition_verticale] = definition_courante($grille->definitions["verticales"][$x], $y);
|
||||
if (isset($definition_horizontale["definition"])) $title[0] = "→ " . $definition_horizontale["definition"];
|
||||
if (isset($definition_horizontale["definition"])) $title[0] = "→ " . strip_tags($definition_horizontale["definition"]);
|
||||
if (isset($definition_horizontale["nb_mots"])) $title[0] .= " [" . $definition_horizontale["nb_mots"] . " mots]";
|
||||
if (isset($definition_horizontale["auteur"])) $title[0] .= " (" . $definition_horizontale["auteur"] . ")";
|
||||
if (isset($definition_verticale["definition"])) $title[1] = "↓ " . $definition_verticale["definition"];
|
||||
if (isset($definition_verticale["definition"])) $title[1] = "↓ " . strip_tags($definition_verticale["definition"]);
|
||||
if (isset($definition_verticale["nb_mots"])) $title[1] .= " [" . $definition_verticale["nb_mots"] . " mots]";
|
||||
if (isset($definition_verticale["auteur"])) $title[1] .= " (" . $definition_verticale["auteur"] . ")";
|
||||
$title = htmlspecialchars(implode("\n", $title));
|
||||
|
||||
@@ -194,9 +194,11 @@ h2 {
|
||||
margin: 1em auto 0 auto;
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.nouvelle-grille::before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
@@ -220,6 +222,14 @@ h2 {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#lignes {
|
||||
cursor: row-resize;
|
||||
}
|
||||
|
||||
#colonnes {
|
||||
cursor: col-resize;
|
||||
}
|
||||
|
||||
.nouvelle-grille button {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user