diff --git a/swad_changelog.h b/swad_changelog.h
index f739ad1ad..7876273e7 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -448,10 +448,11 @@ En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
-#define Log_PLATFORM_VERSION "SWAD 18.116.8 (2019-04-20)"
+#define Log_PLATFORM_VERSION "SWAD 18.116.9 (2019-04-20)"
#define CSS_FILE "swad18.112.1.css"
#define JS_FILE "swad18.116.5.js"
/*
+ Version 18.116.9: Apr 20, 2019 Changed the behaviour of hiding/showing a game. (242841 lines)
Version 18.116.8: Apr 20, 2019 Changed the behaviour of hiding/showing an exam announcement. (242881 lines)
Version 18.116.7: Apr 20, 2019 Changed the behaviour of hiding/showing a banner. (242934 lines)
Version 18.116.6: Apr 20, 2019 Changed the behaviour of hiding/showing an assignment. (242974 lines)
diff --git a/swad_game.c b/swad_game.c
index 3acd4d8e6..ffed46c7a 100644
--- a/swad_game.c
+++ b/swad_game.c
@@ -99,7 +99,8 @@ static void Gam_WriteAuthor (struct Game *Game);
static void Gam_WriteStatus (struct Game *Game);
static void Gam_GetParamGameOrder (void);
-static void Gam_PutFormsToRemEditOneGame (long GamCod,bool Visible,
+static void Gam_PutFormsToRemEditOneGame (const struct Game *Game,
+ const char *Anchor,
bool ShowOnlyThisGame);
static void Gam_PutParamsToPlayGame1stQst (void);
static void Gam_PutParams (void);
@@ -430,6 +431,7 @@ static void Gam_ShowOneGame (long GamCod,
extern const char *Txt_Users;
extern const char *Txt_Play;
extern const char *Txt_View_game_results;
+ char *Anchor = NULL;
static unsigned UniqueId = 0;
struct Game Game;
char Txt[Cns_MAX_BYTES_TEXT + 1];
@@ -443,6 +445,9 @@ static void Gam_ShowOneGame (long GamCod,
Game.GamCod = GamCod;
Gam_GetDataOfGameByCod (&Game);
+ /***** Set anchor string *****/
+ Frm_SetAnchorStr (Game.GamCod,&Anchor);
+
/***** Start table *****/
if (ShowOnlyThisGame)
Tbl_StartTableWide (2);
@@ -455,8 +460,7 @@ static void Gam_ShowOneGame (long GamCod,
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"\">");
if (Game.Status.ICanEdit)
- Gam_PutFormsToRemEditOneGame (Game.GamCod,Game.Status.Visible,
- ShowOnlyThisGame);
+ Gam_PutFormsToRemEditOneGame (&Game,Anchor,ShowOnlyThisGame);
fprintf (Gbl.F.Out,"");
/* Start date/time */
@@ -501,8 +505,7 @@ static void Gam_ShowOneGame (long GamCod,
if (!ShowOnlyThisGame)
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"\">");
-
- /* Put form to view game */
+ Lay_StartArticle (Anchor);
Frm_StartForm (ActSeeOneGam);
Gam_PutParamGameCod (GamCod);
Gam_PutHiddenParamGameOrder ();
@@ -514,6 +517,7 @@ static void Gam_ShowOneGame (long GamCod,
fprintf (Gbl.F.Out,"%s",
Game.Title);
Frm_EndForm ();
+ Lay_EndArticle ();
/* Number of questions and number of distinct users who have already answered this game */
fprintf (Gbl.F.Out,"
%s: %u; %s: %u
"
@@ -681,6 +685,9 @@ static void Gam_ShowOneGame (long GamCod,
else
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
+ /***** Free anchor string *****/
+ Frm_FreeAnchorStr (Anchor);
+
/***** Put big button to start playing *****/
if (PutButtonToStart)
Gam_PutBigButtonToStartGame (Game.GamCod);
@@ -805,13 +812,14 @@ void Gam_PutHiddenParamGameOrder (void)
/******************** Put a link (form) to edit one game *********************/
/*****************************************************************************/
-static void Gam_PutFormsToRemEditOneGame (long GamCod,bool Visible,
+static void Gam_PutFormsToRemEditOneGame (const struct Game *Game,
+ const char *Anchor,
bool ShowOnlyThisGame)
{
extern const char *Txt_Reset;
extern const char *Txt_Play;
- Gbl.Games.CurrentGamCod = GamCod; // Used as parameter in contextual links
+ Gbl.Games.CurrentGamCod = Game->GamCod; // Used as parameter in contextual links
/***** Put icon to remove game *****/
Ico_PutContextualIconToRemove (ActReqRemGam,Gam_PutParams);
@@ -822,10 +830,10 @@ static void Gam_PutFormsToRemEditOneGame (long GamCod,bool Visible,
Txt_Reset);
/***** Put icon to hide/show game *****/
- if (Visible)
- Ico_PutContextualIconToHide (ActHidGam,NULL,Gam_PutParams);
+ if (Game->Status.Visible)
+ Ico_PutContextualIconToHide (ActHidGam,Anchor,Gam_PutParams);
else
- Ico_PutContextualIconToUnhide (ActShoGam,NULL,Gam_PutParams);
+ Ico_PutContextualIconToUnhide (ActShoGam,Anchor,Gam_PutParams);
/***** Put icon to edit game *****/
Ico_PutContextualIconToEdit (ActEdiOneGam,Gam_PutParams);
@@ -1640,7 +1648,6 @@ void Gam_ResetGame (void)
void Gam_HideGame (void)
{
- extern const char *Txt_Game_X_is_now_hidden;
struct Game Game;
/***** Get game code *****/
@@ -1657,10 +1664,6 @@ void Gam_HideGame (void)
"UPDATE games SET Hidden='Y' WHERE GamCod=%ld",
Game.GamCod);
- /***** Write message to show the change made *****/
- Ale_ShowAlert (Ale_SUCCESS,Txt_Game_X_is_now_hidden,
- Game.Title);
-
/***** Show games again *****/
Gam_ListAllGames ();
}
@@ -1671,7 +1674,6 @@ void Gam_HideGame (void)
void Gam_UnhideGame (void)
{
- extern const char *Txt_Game_X_is_now_visible;
struct Game Game;
/***** Get game code *****/
@@ -1688,10 +1690,6 @@ void Gam_UnhideGame (void)
"UPDATE games SET Hidden='N' WHERE GamCod=%ld",
Game.GamCod);
- /***** Write message to show the change made *****/
- Ale_ShowAlert (Ale_SUCCESS,Txt_Game_X_is_now_visible,
- Game.Title);
-
/***** Show games again *****/
Gam_ListAllGames ();
}
diff --git a/swad_text.c b/swad_text.c
index e7370667d..ed368db12 100644
--- a/swad_text.c
+++ b/swad_text.c
@@ -13552,48 +13552,6 @@ const char *Txt_Game =
"Jogo";
#endif
-const char *Txt_Game_X_is_now_hidden = // Warning: it is very important to include %s in the following sentences
-#if L==1 // ca
- "El joc %s ara està oculto.";
-#elif L==2 // de
- "Das Spiel %s ist jetzt ausgeblendet.";
-#elif L==3 // en
- "Game %s is now hidden.";
-#elif L==4 // es
- "El juego %s ahora está oculto.";
-#elif L==5 // fr
- "Le jeu %s est maintenant caché.";
-#elif L==6 // gn
- "El juego %s ahora está oculto."; // Okoteve traducción
-#elif L==7 // it
- "Il gioco %s è ora nascosto.";
-#elif L==8 // pl
- "Gra %s jest teraz ukryta.";
-#elif L==9 // pt
- "O jogo %s é agora oculto.";
-#endif
-
-const char *Txt_Game_X_is_now_visible = // Warning: it is very important to include %s in the following sentences
-#if L==1 // ca
- "El joc %s ara està visible.";
-#elif L==2 // de
- "Das Spiel %s ist jetzt sichtbar.";
-#elif L==3 // en
- "Game %s is now visible.";
-#elif L==4 // es
- "El juego %s ahora está visible.";
-#elif L==5 // fr
- "Le jeu %s est maintenant visible.";
-#elif L==6 // gn
- "El juego %s ahora está visible."; // Okoteve traducción
-#elif L==7 // it
- "Il gioco %s è ora visibile.";
-#elif L==8 // pl
- "Badanie %s jest teraz widoczne.";
-#elif L==9 // pt
- "O jogo %s é agora visível.";
-#endif
-
const char *Txt_Game_X_removed = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
"Joc %s eliminat.";