This commit is contained in:
Malibu 2015-03-24 12:25:08 +01:00
commit 55b1ba1028
8 changed files with 223 additions and 223 deletions

View File

@ -14,6 +14,7 @@ use Session;
use Config; use Config;
use File; use File;
use Auth; use Auth;
use Hash;
class ReferentController extends Controller { class ReferentController extends Controller {
@ -52,10 +53,26 @@ class ReferentController extends Controller {
$user = Referent::find($idUser); $user = Referent::find($idUser);
$user->prenom = Input::get('prenom'); $user->prenom = Input::get('prenom');
$user->email = Input::get('email'); $user->email = Input::get('email');
$user->etablissement = Input::get('etablissement');
$user->nom = Input::get('nom'); $user->nom = Input::get('nom');
$passwd = Input::get('password');
$passwd_conf = Input::get('password_confirm');
if($passwd == $passwd_conf) //verifie les donnees pareils
{
if (strlen($passwd) >= 6) //verifie la longueur de chaine
{
$user->motdepasse = Hash::make('secret'); // encrypt le mot de passe
$user->save(); //sauvegarde le mot de passe
}
else
return redirect('/referent')->with('erreur', 'Mot de passe inferieur à 6 caractères.');
}
else
{
return redirect('/referent')->with('erreur', 'Mot de passe incorrect.');
}
if (Request::hasFile('file')) if (Request::hasFile('file'))
{ {
$extension = Input::file('file')->getClientOriginalExtension(); $extension = Input::file('file')->getClientOriginalExtension();
@ -122,8 +139,7 @@ class ReferentController extends Controller {
if(Input::get('puzzle') != 0) if(Input::get('puzzle') != 0)
ConfigJeu::where('referent_id', '=', Auth::user()->id)->find(Input::get('puzzle'))->update(array('actifPuzzle' => 1)); ConfigJeu::where('referent_id', '=', Auth::user()->id)->find(Input::get('puzzle'))->update(array('actifPuzzle' => 1));
Session::flash('message', 'Vous avez modifié les listes associées aux jeux avec succès.'); return ;
return redirect()->back();
} }
public function ajouterOeuvresDansListe($id) { public function ajouterOeuvresDansListe($id) {

View File

@ -172,17 +172,28 @@ button.level:active {
height:100px; height:100px;
width:100px; width:100px;
margin:40px; margin:40px;
padding-top : 30px;
cursor:pointer; cursor:pointer;
background-position: center center; background-position: center center;
background-size:cover; background-size:cover;
line-height:100px; line-height:20px;
font-weight:bold; font-weight:bold;
font-size:40px; font-size:18px;
} }
#imgRef:active { #imgRef:active {
cursor:wait; cursor:wait;
} }
.referent:hover
{
-moz-box-shadow: 0px 0px 10px 2px white;
-webkit-box-shadow: 0px 0px 10px 2px white;
-o-box-shadow: 0px 0px 10px 2px white;
box-shadow: 0px 0px 10px 2px white;
filter:progid:DXImageTransform.Microsoft.Shadow(color=#656565, Direction=NaN, Strength=10);
}
.trophy-text { .trophy-text {
font-weight: bold; font-weight: bold;
line-height: 40px; line-height: 40px;

View File

@ -1,6 +1,6 @@
var bits=60; // how many bits var bits=50; // how many bits
var speed=33; // how fast - smaller is faster var speed=20; // how fast - smaller is faster
var bangs=5; // how many can be launched simultaneously (note that using too many can slow the script down) var bangs=4; // how many can be launched simultaneously (note that using too many can slow the script down)
var colours=new Array("#03f", "#f03", "#0e0", "#93f", "#0cf", "#f93", "#f0c"); var colours=new Array("#03f", "#f03", "#0e0", "#93f", "#0cf", "#f93", "#f0c");
// blue red green purple cyan orange pink // blue red green purple cyan orange pink

View File

@ -1,13 +1,12 @@
;(function( window ) { ;(function( window ) {
//'use strict'; // code inspiré de https://github.com/callmenick/Memory
/** /**
* Extend object function * Extend object function
* *
*/ */
var partieRealise = 0; var partieRealise = 0;
function extend( a, b ) { function extend( a, b ) {
for( var key in b ) { for( var key in b ) {
if( b.hasOwnProperty( key ) ) { if( b.hasOwnProperty( key ) ) {
@ -18,9 +17,8 @@
} }
/** /**
* Shuffle array function * fonction qui va permettre de mélanger les cartes dans une array
* */
*/
function shuffle(o) { function shuffle(o) {
for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x); for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
@ -28,9 +26,8 @@
}; };
/** /**
* Memory constructor * Constructeur du Memory
* */
*/
function Memory( options, level, nbcase, nbPartie ) { function Memory( options, level, nbcase, nbPartie ) {
this.options = extend( {}, this.options ); this.options = extend( {}, this.options );
@ -39,11 +36,10 @@
} }
/** /**
* Memory _init - initialise Memory * Memory _init - initialise Memory
* *
* Creates all the game content areas, adds the id's and classes, and gets *Crée toutes les zones de contenu de jeu, ajoute les id et les classes, et se prépare pour la configuration de jeu.
* ready for game setup. */
*/
Memory.prototype._init = function(level,nbcase, nbPartie) { Memory.prototype._init = function(level,nbcase, nbPartie) {
@ -71,21 +67,14 @@
}; };
/** /**
* Memory _setupGame - Sets up the game * Memory _setupGame - on définit les paramètres du jeu
* *
* We're caching all game related variables, and by default, displaying the * Etats de la variable gameStates:
* meta info bar and start screen HTML. *
* * 1 : par défaut,ça permet à l'utilisateur de choisir un niveau
* A NOTE ABOUT GAME STATES: * 2 : changer le niveau pendant que le joueur joue
* * 3 : le jeu est fini
* There are 4 game states in total, governed by the variable this.gameState. */
* Each game state allows for a certain series of functions to be performed.
* The gameStates are as follows:
*
* 1 : default, allows user to choose level
* 2 : set when user chooses level, and game is in play
* 3 : game is finished
*/
Memory.prototype._setupGame = function(level, nbcase, nbPartie) { Memory.prototype._setupGame = function(level, nbcase, nbPartie) {
var self = this; var self = this;
@ -104,11 +93,10 @@
} }
/** /**
* Memory _setupGameWrapper * Memory _setupGameWrapper
* *
* This function sets up the game wrapper, which is where the actual memory *Cette fonction définit l'espace du jeu.
* tiles will reside and where all the game play happens. */
*/
Memory.prototype._setupGameWrapper = function(levelNode,nbcase,nbPartie) { Memory.prototype._setupGameWrapper = function(levelNode,nbcase,nbPartie) {
this.nbcase = nbcase; this.nbcase = nbcase;
@ -123,69 +111,54 @@
/** /**
* Memory _renderTiles * Memory _renderTiles
* *
* This renders the actual tiles with content. A few thing happen here: * Dans cette fonction nous définissons le niveau et le nombre de carte enregistré dans la base.
* * On y créer une array ou on y met les carte. Puis on utilise la fonction shuffle pour mélaner et donc ne pas avoir toutes les cartes à la suite.
* 1. Calculate grid X and Y based on user level selection * Ensuite on affiche les cartes
* 2. Calculate num tiles * Puis on déclenche le jeu.
* 3. Create new cards array based on level, and draw cards from original array */
* 4. Shuffle the new cards array
* 5. Cards get distributed into tiles
* 6. gamePlay function gets triggered, taking care of all the game play action.
*/
Memory.prototype._renderTiles = function(nbPartie,nbcase) { Memory.prototype._renderTiles = function(nbPartie,nbcase) {
if(this.level == 1) {this.gridX = 2; this.gridY= 2; } if(this.level == 1) {this.gridX = 2; this.gridY= 2; }
else if(this.level == 2) {this.gridX = 3; this.gridY= 2; } else if(this.level == 2) {this.gridX = 3; this.gridY= 2; }
else { this.gridX = 2; this.gridY=4 ; } else { this.gridX = 2; this.gridY=4 ; }
// this.gridY = this.gridX ;
this.numTiles = this.nbcase*2; this.numTiles = this.nbcase*2;
this.halfNumTiles = this.numTiles/2; this.halfNumTiles = this.numTiles/2;
if (this.cards.length < this.halfNumTiles) { console.log("pas assez de carte"); document.getElementById("mg__contents").innerHTML="<img height='80px' src='/imgs/sad.png'><h1>Pas assez de cartes enregistrées par le référent </h1>";} if (this.cards.length < this.halfNumTiles) { console.log("pas assez de carte"); document.getElementById("mg__contents").innerHTML="<img height='80px' src='/imgs/sad.png'><h1>Pas assez de cartes enregistrées par le référent </h1>";}
else { else {
//this.halfNumTiles = this.gridX; this.newCards = [];
for ( var i = 0; i < this.halfNumTiles; i++ ) {
this.newCards.push(this.cards[i], this.cards[i]);
}
this.newCards = shuffle(this.newCards);
this.newCards = []; this.tilesHTML = '';
for ( var i = 0; i < this.halfNumTiles; i++ ) { var n = 0;
this.newCards.push(this.cards[i], this.cards[i]); for ( var i = 0; i < this.numTiles; i++ ) {
} n = n + 1;
this.newCards = shuffle(this.newCards); if(this.level == 3 && n == 5 ){n = 9}
if(this.level == 2 && n == 4 ){n = 7}
this.tilesHTML = ''; this.tilesHTML += '<div class="mg__tile mg__tile-' + n + '">\
var n = 0;
for ( var i = 0; i < this.numTiles; i++ ) {
n = n + 1;
if(this.level == 3 && n == 5 ){n = 9}
if(this.level == 2 && n == 4 ){n = 7}
this.tilesHTML += '<div class="mg__tile mg__tile-' + n + '">\
<div class="mg__tile--inner" data-id="' + this.newCards[i]["id"] + '">\ <div class="mg__tile--inner" data-id="' + this.newCards[i]["id"] + '">\
<span class="mg__tile--outside"></span>\ <span class="mg__tile--outside"></span>\
<span class="mg__tile--inside" style="background-image:url(' + this.newCards[i]["img"] + ');"></span>'; <span class="mg__tile--inside" style="background-image:url(' + this.newCards[i]["img"] + ');"></span>';
this.tilesHTML +='</div>'; this.tilesHTML +='</div></div>';
}
this.gameContents.innerHTML = this.tilesHTML;
/* if(this.level == 1 && n == 2){ this.gameState = 2;
this.tilesHTML +="</tr><tr>"; this.options.onGameStart();
}*/ this._gamePlay(this.level, nbPartie, nbcase);
this.tilesHTML +="</div>";
} }
this.gameContents.innerHTML = this.tilesHTML;
this.gameState = 2;
this.options.onGameStart();
this._gamePlay(this.level, nbPartie, nbcase);
}
} }
/** /**
* Memory _gamePlay * Memory _gamePlay
* *Maintenant que tout le HTML est mis en place, le jeu est prêt à être joué.
* Now that all the HTML is set up, the game is ready to be played. In this *Dans cette fonction, avec une boucle on ajoute les "tiles" avec la fonction gamePlayEvents.
* function, we loop through all the tiles (goverend by the .mg__tile--inner) */
* class, and for each tile, we run the _gamePlayEvents function.
*/
Memory.prototype._gamePlay = function(levelNode,nbPartie,nbcase) { Memory.prototype._gamePlay = function(levelNode,nbPartie,nbcase) {
var tiles = document.querySelectorAll(".mg__tile--inner"); var tiles = document.querySelectorAll(".mg__tile--inner");
@ -196,15 +169,10 @@
}; };
/** /**
* Memory _gamePlayEvents * Memory _gamePlayEvents
* *Cette fonction prend en charge les «événements», qui est essentiellement le clic sur les "tiles".
* This function takes care of the "events", which is basically the clicking *Les "titles" sont verifié, savoir si ils sont retourné ou non et vérifier si les deux cartes retourné sont identiques.
* of tiles. Tiles need to be checked if flipped or not, flipped if possible, */
* and if zero, one, or two cards are flipped. When two cards are flipped, we
* have to check for matches and mismatches. The _gameCardsMatch and
* _gameCardsMismatch functions perform two separate sets of functions, and are
* thus separated below.
*/
Memory.prototype._gamePlayEvents = function(tile,levelNode,nbPartie,nbcase) { Memory.prototype._gamePlayEvents = function(tile,levelNode,nbPartie,nbcase) {
var self = this; var self = this;
@ -231,30 +199,30 @@
} }
/** /**
* Memory _gameCardsMatch * Memory _gameCardsMatch
* *
* This function runs if the cards match. The "correct" class is added briefly * This function runs if the cards match. The "correct" class is added briefly
* which fades in a background green colour. The times set on the two timeout * which fades in a background green colour. The times set on the two timeout
* functions are chosen based on transition values in the CSS. The "flip" has * functions are chosen based on transition values in the CSS. The "flip" has
* a 0.3s transition, so the "correct" class is added 0.3s later, shown for * a 0.3s transition, so the "correct" class is added 0.3s later, shown for
* 1.2s, then removed. The cards remain flipped due to the activated "flip" * 1.2s, then removed. The cards remain flipped due to the activated "flip"
* class from the gamePlayEvents function. * class from the gamePlayEvents function.
*/ */
"document"in self&&("classList"in document.createElement("_")?!function(){"use strict";var a=document.createElement("_");if(a.classList.add("c1","c2"),!a.classList.contains("c2")){var b=function(a){var b=DOMTokenList.prototype[a];DOMTokenList.prototype[a]=function(a){var c,d=arguments.length;for(c=0;d>c;c++)a=arguments[c],b.call(this,a)}};b("add"),b("remove")}if(a.classList.toggle("c3",!1),a.classList.contains("c3")){var c=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(a,b){return 1 in arguments&&!this.contains(a)==!b?b:c.call(this,a)}}a=null}():!function(a){"use strict";if("Element"in a){var b="classList",c="prototype",d=a.Element[c],e=Object,f=String[c].trim||function(){return this.replace(/^\s+|\s+$/g,"")},g=Array[c].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1},h=function(a,b){this.name=a,this.code=DOMException[a],this.message=b},i=function(a,b){if(""===b)throw new h("SYNTAX_ERR","An invalid or illegal string was specified");if(/\s/.test(b))throw new h("INVALID_CHARACTER_ERR","String contains an invalid character");return g.call(a,b)},j=function(a){for(var b=f.call(a.getAttribute("class")||""),c=b?b.split(/\s+/):[],d=0,e=c.length;e>d;d++)this.push(c[d]);this._updateClassName=function(){a.setAttribute("class",this.toString())}},k=j[c]=[],l=function(){return new j(this)};if(h[c]=Error[c],k.item=function(a){return this[a]||null},k.contains=function(a){return a+="",-1!==i(this,a)},k.add=function(){var a,b=arguments,c=0,d=b.length,e=!1;do a=b[c]+"",-1===i(this,a)&&(this.push(a),e=!0);while(++c<d);e&&this._updateClassName()},k.remove=function(){var a,b,c=arguments,d=0,e=c.length,f=!1;do for(a=c[d]+"",b=i(this,a);-1!==b;)this.splice(b,1),f=!0,b=i(this,a);while(++d<e);f&&this._updateClassName()},k.toggle=function(a,b){a+="";var c=this.contains(a),d=c?b!==!0&&"remove":b!==!1&&"add";return d&&this[d](a),b===!0||b===!1?b:!c},k.toString=function(){return this.join(" ")},e.defineProperty){var m={get:l,enumerable:!0,configurable:!0};try{e.defineProperty(d,b,m)}catch(n){-2146823252===n.number&&(m.enumerable=!1,e.defineProperty(d,b,m))}}else e[c].__defineGetter__&&d.__defineGetter__(b,l)}}(self)); "document"in self&&("classList"in document.createElement("_")?!function(){"use strict";var a=document.createElement("_");if(a.classList.add("c1","c2"),!a.classList.contains("c2")){var b=function(a){var b=DOMTokenList.prototype[a];DOMTokenList.prototype[a]=function(a){var c,d=arguments.length;for(c=0;d>c;c++)a=arguments[c],b.call(this,a)}};b("add"),b("remove")}if(a.classList.toggle("c3",!1),a.classList.contains("c3")){var c=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(a,b){return 1 in arguments&&!this.contains(a)==!b?b:c.call(this,a)}}a=null}():!function(a){"use strict";if("Element"in a){var b="classList",c="prototype",d=a.Element[c],e=Object,f=String[c].trim||function(){return this.replace(/^\s+|\s+$/g,"")},g=Array[c].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1},h=function(a,b){this.name=a,this.code=DOMException[a],this.message=b},i=function(a,b){if(""===b)throw new h("SYNTAX_ERR","An invalid or illegal string was specified");if(/\s/.test(b))throw new h("INVALID_CHARACTER_ERR","String contains an invalid character");return g.call(a,b)},j=function(a){for(var b=f.call(a.getAttribute("class")||""),c=b?b.split(/\s+/):[],d=0,e=c.length;e>d;d++)this.push(c[d]);this._updateClassName=function(){a.setAttribute("class",this.toString())}},k=j[c]=[],l=function(){return new j(this)};if(h[c]=Error[c],k.item=function(a){return this[a]||null},k.contains=function(a){return a+="",-1!==i(this,a)},k.add=function(){var a,b=arguments,c=0,d=b.length,e=!1;do a=b[c]+"",-1===i(this,a)&&(this.push(a),e=!0);while(++c<d);e&&this._updateClassName()},k.remove=function(){var a,b,c=arguments,d=0,e=c.length,f=!1;do for(a=c[d]+"",b=i(this,a);-1!==b;)this.splice(b,1),f=!0,b=i(this,a);while(++d<e);f&&this._updateClassName()},k.toggle=function(a,b){a+="";var c=this.contains(a),d=c?b!==!0&&"remove":b!==!1&&"add";return d&&this[d](a),b===!0||b===!1?b:!c},k.toString=function(){return this.join(" ")},e.defineProperty){var m={get:l,enumerable:!0,configurable:!0};try{e.defineProperty(d,b,m)}catch(n){-2146823252===n.number&&(m.enumerable=!1,e.defineProperty(d,b,m))}}else e[c].__defineGetter__&&d.__defineGetter__(b,l)}}(self));
Memory.prototype._gameCardsMatch = function(levelNode, nbPartie,nbcase) { Memory.prototype._gameCardsMatch = function(levelNode, nbPartie,nbcase) {
// cache this // cache this
var self = this; var self = this;
// add correct class // on ajoute la classe correct
window.setTimeout( function(){ window.setTimeout( function(){
self.card1.classList.add("correct"); self.card1.classList.add("correct");
self.card2.classList.add("correct"); self.card2.classList.add("correct");
}, 300 ); }, 300 );
// remove correct class and reset vars // On supprime la classe correct et on réinitialiser les vars
window.setTimeout( function(){ window.setTimeout( function(){
self.card1.classList.remove("correct"); self.card1.classList.remove("correct");
self.card2.classList.remove("correct"); self.card2.classList.remove("correct");
@ -265,18 +233,18 @@
} }
}, 500 ); }, 500 );
// plus one on the move counter // on incrémente les compteurs
this._gameCounterPlusOne(); this._gameCounterPlusOne();
}; };
/** /**
* Memory _gameCardsMismatch * Memory _gameCardsMismatch
* *
* This function runs if the cards mismatch. If the cards mismatch, we leave * This function runs if the cards mismatch. If the cards mismatch, we leave
* them flipped for a little while so the user can see and remember what cards * them flipped for a little while so the user can see and remember what cards
* they actually are. Then after that slight delay, we removed the flipped * they actually are. Then after that slight delay, we removed the flipped
* class so they flip back over, and reset the vars. * class so they flip back over, and reset the vars.
*/ */
Memory.prototype._gameCardsMismatch = function() { Memory.prototype._gameCardsMismatch = function() {
// cache this // cache this
@ -294,12 +262,12 @@
}; };
/** /**
* Memory _gameResetVars * Memory _gameResetVars
* *
* For each turn, some variables are updated for reference. After the turn is * For each turn, some variables are updated for reference. After the turn is
* over, we need to reset these variables and get ready for the next turn. * over, we need to reset these variables and get ready for the next turn.
* This function handles all of that. * This function handles all of that.
*/ */
Memory.prototype._gameResetVars = function() { Memory.prototype._gameResetVars = function() {
this.card1 = ""; this.card1 = "";
@ -311,13 +279,13 @@
} }
/** /**
* Memory _gameCounterPlusOne * Memory _gameCounterPlusOne
* *
* Each turn, the user completes 1 "move". The obective of memory is to * Each turn, the user completes 1 "move". The obective of memory is to
* complete the game in as few moves as possible. Users need to know how many * complete the game in as few moves as possible. Users need to know how many
* moves they've had so far, so this function updates that number and updates * moves they've had so far, so this function updates that number and updates
* the HTML also. * the HTML also.
*/ */
Memory.prototype._gameCounterPlusOne = function() { Memory.prototype._gameCounterPlusOne = function() {
this.numMoves = this.numMoves + 1; this.numMoves = this.numMoves + 1;
@ -325,12 +293,12 @@
}; };
/** /**
* Memory _clearGame * Memory _clearGame
* *
* This function clears the game wrapper, by removing it from the game div. It * This function clears the game wrapper, by removing it from the game div. It
* allows us to rerun setupGame, and clears the air for other info like * allows us to rerun setupGame, and clears the air for other info like
* victory messages etc. * victory messages etc.
*/ */
Memory.prototype._clearGame = function() { Memory.prototype._clearGame = function() {
if (this.gameWrapper.parentNode !== null) this.game.removeChild(this.gameWrapper); if (this.gameWrapper.parentNode !== null) this.game.removeChild(this.gameWrapper);
@ -338,85 +306,69 @@
} }
/** /**
* Memoray _winGame * Memoray _winGame
* * fonction lorsque l'utilisateur à gagné.
* You won the game! This function runs the "onGameEnd" callback, which by */
* default clears the game div entirely and shows a "play again" button.
*/ Memory.prototype._winGame = function(levelNode, nbPartie, nbcase) {
/*
Memory.prototype._winGame = function() {
var self = this; var self = this;
if (this.options.onGameEnd() === false) { this.level = levelNode;
partieRealise = partieRealise + 1 ;
if (partieRealise != nbPartie){
// Pour gagner une coupe il y a un certain nombre de partie à faire
this._clearGame(); this._clearGame();
this._init(this.level, nbcase, nbPartie);
alert("zoro 2");
document.location.href="/memo";
self.resetGame();
} else {
// run callback
this.options.onGameEnd();
//alert("coucou");
} }
}
*/
Memory.prototype._winGame = function(levelNode, nbPartie, nbcase) {
var self = this;
this.level = levelNode;
partieRealise = partieRealise + 1 ;
if (partieRealise != nbPartie){ else if (this.options.onGameEnd() === false) {
this._clearGame(); // si il a fini le jeu on le félicite et on lui rajoute aussi des feu d'artifice.
this._init(this.level, nbcase, nbPartie); this._clearGame();
} firework();
//firework2();
else if (this.options.onGameEnd() === false) { // on affiche la bonne coupe en fonction du niveau choisi
this._clearGame(); if(levelNode == 1){this.gameMessages.innerHTML = '<img style="height: 270px;" src="/imgs/trophees/bronze.png"><br>\
firework();
//firework2();
if(levelNode == 1){this.gameMessages.innerHTML = '<img style="height: 270px;" src="/imgs/trophees/bronze.png"><br>\
<button id="mg__onend--restart" class="mg__button"><span class="icon-spinner11"></span></button>';} <button id="mg__onend--restart" class="mg__button"><span class="icon-spinner11"></span></button>';}
else if(levelNode == 2){this.gameMessages.innerHTML = '<img style="height: 270px;" src="/imgs/trophees/argent.png"><br>\ else if(levelNode == 2){this.gameMessages.innerHTML = '<img style="height: 270px;" src="/imgs/trophees/argent.png"><br>\
<button id="mg__onend--restart" class="mg__button"><span class="icon-spinner11"></span></button>';}
else if(levelNode == 3){this.gameMessages.innerHTML = '<img style="height: 270px;" src="/imgs/trophees/or.png"><br>\
<button id="mg__onend--restart" class="mg__button"><span class="icon-spinner11"></span></button>';}
else
{ this.gameMessages.innerHTML = '<h2 class="mg__onend--heading"><span class="icon-trophy"></span></h2>\
<button id="mg__onend--restart" class="mg__button"><span class="icon-spinner11"></span></button>';} <button id="mg__onend--restart" class="mg__button"><span class="icon-spinner11"></span></button>';}
else if(levelNode == 3){this.gameMessages.innerHTML = '<img style="height: 270px;" src="/imgs/trophees/or.png"><br>\
<button id="mg__onend--restart" class="mg__button"><span class="icon-spinner11"></span></button>';}
else
{ this.gameMessages.innerHTML = '<h2 class="mg__onend--heading"><span class="icon-trophy"></span></h2>\
<button id="mg__onend--restart" class="mg__button"><span class="icon-spinner11"></span></button>';}
// en ajax on incrémente les coupes de l'utilisateur
var r = new XMLHttpRequest(); var r = new XMLHttpRequest();
r.open("GET", "/setRecords" + "/" + levelNode, true); r.open("GET", "/setRecords" + "/" + levelNode, true);
r.send(); r.send();
//http://translate.google.com/translate_tts?ie=UTF-8&q=bravo%2C%20tu%20as%20gagn%C3%A9&tl=fr //http://translate.google.com/translate_tts?ie=UTF-8&q=bravo%2C%20tu%20as%20gagn%C3%A9&tl=fr
//http://translate.google.com/translate_tts?ie=UTF-8&q=bravo%2C%20tu%20as%20gagn%C3%A9&tl=fr&total=1&idx=0&textlen=18&client=t&prev=input //http://translate.google.com/translate_tts?ie=UTF-8&q=bravo%2C%20tu%20as%20gagn%C3%A9&tl=fr&total=1&idx=0&textlen=18&client=t&prev=input
//une petite voix dit à l'utilisateur qu'il a gagné
var audio = new Audio(); var audio = new Audio();
var texte = 'http://translate.google.com/translate_tts?ie=UTF-8&q=bravo%2C%20tu%20as%20gagn%C3%A9&tl=fr'; var texte = 'http://translate.google.com/translate_tts?ie=UTF-8&q=bravo%2C%20tu%20as%20gagn%C3%A9&tl=fr';
audio.src =texte; audio.src =texte;
audio.play(); audio.play();
this.game.appendChild(this.gameMessages); this.game.appendChild(this.gameMessages);
document.getElementById("mg__onend--restart").addEventListener( "click", function(e) { document.getElementById("mg__onend--restart").addEventListener( "click", function(e) {
document.location.href="/memo"; document.location.href="/memo";
}); });
} else { } else {
// run callback // run callback
this.options.onGameEnd(); this.options.onGameEnd();
}
} }
}
/** /**
* Memory resetGame * Memory resetGame
* *
* This function resets the game. It can run at the end of the game when the * This function resets the game. It can run at the end of the game when the
* user is presented the option to play again, or at any time like a reset * user is presented the option to play again, or at any time like a reset
* button. It is a public function, and can be used in whatever custom calls * button. It is a public function, and can be used in whatever custom calls
* in your markup. * in your markup.
*/ */
Memory.prototype.resetGame = function() { Memory.prototype.resetGame = function() {
this._clearGame(); this._clearGame();
@ -424,8 +376,8 @@ else
}; };
/** /**
* Add Memory to global namespace * Add Memory to global namespace
*/ */
window.Memory = Memory; window.Memory = Memory;

View File

@ -31,8 +31,8 @@
</div> </div>
</div> </div>
</form> </form>
<div class="alert alert-grey">Ci-dessous, vous pouvez associer les listes d'oeuvres à un jeu. Cliquez sur le bouton "<span class="glyphicon glyphicon-ok"> </span> Associer" quand c'est terminé.</div> <div class="alert alert-grey">Ci-dessous, vous pouvez associer les listes d'oeuvres à un jeu. </div>
<form method="post" action="{{ URL::to('referent/changerparamliste') }}"> <form id ="assoListeJeu" method="post" action="{{ URL::to('referent/changerparamliste') }}">
<table class="table"> <table class="table">
<thead class="tablethead"> <thead class="tablethead">
<tr> <tr>
@ -45,15 +45,15 @@
<tbody> <tbody>
<tr> <tr>
<td>Liste aléatoire</td> <td>Liste aléatoire</td>
<td><input type="radio" name="memo" value="0" checked type="checkbox"></td> <td><input class="radioAsso" type="radio" name="memo" value="0" checked type="checkbox"></td>
<td><input type="radio" name="puzzle" value="0" checked type="checkbox"></td> <td><input class="radioAsso" type="radio" name="puzzle" value="0" checked type="checkbox"></td>
<td></td> <td></td>
</tr> </tr>
@foreach ($meslistes as $index => $listeoeuvre) @foreach ($meslistes as $index => $listeoeuvre)
<tr> <tr>
<td>{{$listeoeuvre->nom}}</td> <td>{{$listeoeuvre->nom}}</td>
<td><input type="radio" name="memo" value="{{$listeoeuvre->id}}" {{ ($listeoeuvre->actifMemo == 1) ? 'checked' : '' }} type="checkbox"></td> <td><input class="radioAsso" type="radio" name="memo" value="{{$listeoeuvre->id}}" {{ ($listeoeuvre->actifMemo == 1) ? 'checked' : '' }} type="checkbox"></td>
<td><input type="radio" name="puzzle" value="{{$listeoeuvre->id}}" {{ ($listeoeuvre->actifPuzzle == 1) ? 'checked' : '' }} type="checkbox"></td> <td><input class="radioAsso" type="radio" name="puzzle" value="{{$listeoeuvre->id}}" {{ ($listeoeuvre->actifPuzzle == 1) ? 'checked' : '' }} type="checkbox"></td>
<td> <td>
<div class="btn-group" role="group" aria-label="..."> <div class="btn-group" role="group" aria-label="...">
<a href="{{ URL::to('referent/modifierliste', $listeoeuvre->id) }}" class="btn btn-xs btn-primary"><span class="glyphicon glyphicon-pencil"></span></a> <a href="{{ URL::to('referent/modifierliste', $listeoeuvre->id) }}" class="btn btn-xs btn-primary"><span class="glyphicon glyphicon-pencil"></span></a>
@ -66,7 +66,6 @@
</form> </form>
</tbody> </tbody>
</table> </table>
<div class="text-center"><button type="submit" class="btn btn-xs btn-primary"><span class="glyphicon glyphicon-ok-circle"> </span> Associer</button></div>
</div> </div>
</div> </div>
@ -315,6 +314,10 @@ $("#recherche").on('submit', function(event){
}); });
$(".radioAsso").change(function() {
$.get('{{ URL::to('referent/changerparamliste') }}' + $('#assoListeJeu').serialize());
});
/* /*

View File

@ -13,6 +13,7 @@
<ul class="nav navbar-nav"> <ul class="nav navbar-nav">
<li class="active"><a href="#">Mes Listes</a></li> <li class="active"><a href="#">Mes Listes</a></li>
<li><a data-toggle="modal" data-target="#myModal1" href="#">Mon Compte</a></li> <li><a data-toggle="modal" data-target="#myModal1" href="#">Mon Compte</a></li>
<li><a href="{{ URL::to('changerref', $me->id) }}" >Voir mes jeux</a></li>
</ul> </ul>
<ul class="nav navbar-nav navbar-right"> <ul class="nav navbar-nav navbar-right">
<li><a href="{{ URL::to('logout') }}">Déconnexion</a></li> <li><a href="{{ URL::to('logout') }}">Déconnexion</a></li>
@ -38,32 +39,38 @@
<input type="hidden" name="idUser" value="{{ $me->id }}" /> <input type="hidden" name="idUser" value="{{ $me->id }}" />
<div class="modal-body"> <div class="modal-body">
<div class="form-group"> <div class="form-group">
<label for="firstname" class="col-sm-3 control-label">Prénom :</label> <label for="firstname" class="col-sm-4 control-label">Prénom :</label>
<div class="col-sm-9"> <div class="col-sm-8">
<input type="text" class="form-control" id="firstname" name="prenom" required placeholder="Prénom" value="{{$me->prenom}}"> <input type="text" class="form-control" id="firstname" name="prenom" required placeholder="Prénom" value="{{$me->prenom}}">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="lastname" class="col-sm-3 control-label">Nom :</label> <label for="lastname" class="col-sm-4 control-label">Nom :</label>
<div class="col-sm-9"> <div class="col-sm-8">
<input type="text" class="form-control" id="lastname" name="nom" required placeholder="Nom" value="{{$me->nom}}"> <input type="text" class="form-control" id="lastname" name="nom" required placeholder="Nom" value="{{$me->nom}}">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="email" class="col-sm-3 control-label">Email :</label> <label for="email" class="col-sm-4 control-label">Email :</label>
<div class="col-sm-9"> <div class="col-sm-8">
<input type="email" class="form-control" id="email" name="email" required placeholder="Email" value="{{$me->email}}"> <input type="email" class="form-control" id="email" name="email" required placeholder="Email" value="{{$me->email}}">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="city" class="col-sm-3 control-label">Etablissement :</label> <label for="password_confirm" class="col-sm-4 control-label">Nouveau mot de passe (min. 6 caractères):</label>
<div class="col-sm-9"> <div class="col-sm-8">
<input type="text" class="form-control" id="city" name="etablissement" required placeholder="Ecole" value="{{$me->etablissement}}"> <input type="password" class="form-control" id="password" name="password" required placeholder="Mot de passe">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label" for="exampleInputFile">Image :</label> <label for="password_confirm" class="col-sm-4 control-label">Confirmer le mot de passe :</label>
<div class="col-sm-9"> <div class="col-sm-8">
<input type="password" class="form-control" id="password_confirm" name="password_confirm" required placeholder="Mot de passe">
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label" for="exampleInputFile">Image :</label>
<div class="col-sm-8">
<input type="file" class="form-control" name="file" id="file"> <input type="file" class="form-control" name="file" id="file">
</div> </div>
</div> </div>

View File

@ -35,8 +35,8 @@
<script> <script>
var redirectTimer; var redirectTimer;
var chiffre;
imgRef.innerHTML = '&nbsp;'; imgRef.innerHTML = '&nbsp;';
@ -51,13 +51,19 @@
function startCounter(event) { function startCounter(event) {
absorbEvent_(event); absorbEvent_(event);
imgRef.innerHTML = 3; chiffre = 3;
imgRef.innerHTML = "Redirection <br>"+chiffre;
redirectTimer = setInterval(counter, 1000); redirectTimer = setInterval(counter, 1000);
} }
function counter() { function counter() {
imgRef.innerHTML--; chiffre--;
if(imgRef.innerHTML == 0) location.href="{{URL::to('choisirref')}}"; imgRef.innerHTML = "Redirection <br>"+chiffre;
if(chiffre == 0)
{
endCounter(null);
location.href="{{URL::to('choisirref')}}";
}
} }
function endCounter(event) { function endCounter(event) {

View File

@ -8,11 +8,16 @@
L'objectif de ce site est de permettre aux enfants de jouer à des jeux tout en leur apportant de l'intérêt pour les différentes oeuvres d'art exposées dans le fameux musée toulousain.<br> L'objectif de ce site est de permettre aux enfants de jouer à des jeux tout en leur apportant de l'intérêt pour les différentes oeuvres d'art exposées dans le fameux musée toulousain.<br>
<span style="color:red;">Lorsque vous aurez choisit un référent, il faudra appuyer pendant 3 secondes sur l'icone de votre référent afin de revenir sur cette page.</span><br> <span style="color:red;">Lorsque vous aurez choisit un référent, il faudra appuyer pendant 3 secondes sur l'icone de votre référent afin de revenir sur cette page.</span><br>
<<<<<<< HEAD
Si vous n'avez pas de référent, vous pouvez toujours <span style="color:#37378e;"><a href="/">cliquer ici pour jouer aux jeux</a></span>, sinon cliquez sur leur image. Si vous n'avez pas de référent, vous pouvez toujours <span style="color:#37378e;"><a href="/">cliquer ici pour jouer aux jeux</a></span>, sinon cliquez sur leur image.
</div> </div>
<div id="txt_show" style="@if($cookie == 'close')display: none; @endif text-align:center;background-color: #fcfc6b; padding:10px; margin:auto;font-size:18px;"> <div id="txt_show" style="@if($cookie == 'close')display: none; @endif text-align:center;background-color: #fcfc6b; padding:10px; margin:auto;font-size:18px;">
<a href="#" style="text-align:center;background-color: #fcfc6b; padding:10px; margin:auto;font-size:18px;" onClick="cache();">À Propos</a> <a href="#" style="text-align:center;background-color: #fcfc6b; padding:10px; margin:auto;font-size:18px;" onClick="cache();">À Propos</a>
=======
Si vous n'avez pas de référent, vous pouvez toujours <span style="color:#37378e;"><a href="/changerref/1">cliquer ici pour jouer aux jeux</a></span>, sinon cliquez sur leur image.
>>>>>>> e809566ed4eb28978676ffc730cad62dcf828fdc
</div> </div>
<nav> <nav>
<input name="searchterm" class="icon-search" id="searchterm" placeholder="&#xe986; Rechercher un référent" type="text"> <input name="searchterm" class="icon-search" id="searchterm" placeholder="&#xe986; Rechercher un référent" type="text">