Version18.130.1

This commit is contained in:
Antonio Cañas Vargas 2019-07-04 17:17:15 +02:00
parent 834c7cd0fb
commit db684f0ddf
4 changed files with 172 additions and 102 deletions

View File

@ -458,10 +458,11 @@ En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
#define Log_PLATFORM_VERSION "SWAD 18.130 (2019-07-04)"
#define Log_PLATFORM_VERSION "SWAD 18.130.1 (2019-07-04)"
#define CSS_FILE "swad18.123.css"
#define JS_FILE "swad18.123.js"
/*
Version 18.130.1: Jul 04, 2019 Changes in listing of games. (243505 lines)
Version 18.130: Jul 04, 2019 Changes in listing of games. (243436 lines)
1 change necessary in database:
ALTER TABLE games DROP COLUMN StartTime,DROP COLUMN EndTime;

View File

@ -113,19 +113,19 @@ static void Gam_PutIconsListGames (void);
static void Gam_PutIconToCreateNewGame (void);
static void Gam_PutButtonToCreateNewGame (void);
static void Gam_PutParamsToCreateNewGame (void);
static void Gam_ParamsWhichGroupsToShow (void);
static void Gam_ShowOneGame (long GamCod,
bool ShowOnlyThisGame,
bool ListGameQuestions,
bool PutFormNewMatch,
bool PutButtonToPlay);
static void Gam_WriteAuthor (struct Game *Game);
static void Gam_GetParamGameOrder (void);
static void Gam_PutFormsToRemEditOneGame (const struct Game *Game,
const char *Anchor);
static void Gam_PutParams (void);
static void Gam_PutParamCurrentMchCod (void);
static void Gam_PutHiddenParamOrder (void);
static void Gam_GetParamOrder (void);
static void Gam_GetGameTxtFromDB (long GamCod,char Txt[Cns_MAX_BYTES_TEXT + 1]);
@ -205,7 +205,7 @@ static unsigned Gam_GetNumUsrsWhoHaveAnsweredGame (long GamCod);
void Gam_SeeAllGames (void)
{
/***** Get parameters *****/
Gam_GetParamGameOrder ();
Gam_GetParamOrder ();
Grp_GetParamWhichGrps ();
Gbl.Games.CurrentPage = Pag_GetParamPagNum (Pag_GAMES);
@ -221,9 +221,8 @@ static void Gam_ListAllGames (void)
{
extern const char *Hlp_ASSESSMENT_Games;
extern const char *Txt_Games;
extern const char *Txt_START_END_TIME_HELP[Dat_NUM_START_END_TIME];
extern const char *Txt_START_END_TIME[Dat_NUM_START_END_TIME];
extern const char *Txt_Game;
extern const char *Txt_GAMES_ORDER_HELP[Gam_NUM_ORDERS];
extern const char *Txt_GAMES_ORDER[Gam_NUM_ORDERS];
extern const char *Txt_No_games;
Gam_Order_t Order;
struct Pagination Pagination;
@ -252,35 +251,26 @@ static void Gam_ListAllGames (void)
Box_StartBox ("100%",Txt_Games,Gam_PutIconsListGames,
Hlp_ASSESSMENT_Games,Box_NOT_CLOSABLE);
/***** Select whether show only my groups or all groups *****/
if (Gbl.Crs.Grps.NumGrps)
{
Set_StartSettingsHead ();
Grp_ShowFormToSelWhichGrps (ActSeeAllGam,Gam_ParamsWhichGroupsToShow);
Set_EndSettingsHead ();
}
if (Gbl.Games.Num)
{
/***** Table head *****/
Tbl_StartTableWideMargin (2);
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"CONTEXT_COL\"></th>"); // Column for contextual icons
for (Order = Gam_ORDER_BY_START_DATE;
Order <= Gam_ORDER_BY_END_DATE;
for (Order = (Gam_Order_t) 0;
Order <= (Gam_Order_t) (Gam_NUM_ORDERS - 1);
Order++)
{
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">");
/* Form to change order */
Frm_StartForm (ActSeeAllGam);
Grp_PutParamWhichGrps ();
Pag_PutHiddenParamPagNum (Pag_GAMES,Gbl.Games.CurrentPage);
Par_PutHiddenParamUnsigned ("Order",(unsigned) Order);
Frm_LinkFormSubmit (Txt_START_END_TIME_HELP[Order],"TIT_TBL",NULL);
Frm_LinkFormSubmit (Txt_GAMES_ORDER_HELP[Order],"TIT_TBL",NULL);
if (Order == Gbl.Games.SelectedOrder)
fprintf (Gbl.F.Out,"<u>");
fprintf (Gbl.F.Out,"%s",Txt_START_END_TIME[Order]);
fprintf (Gbl.F.Out,"%s",Txt_GAMES_ORDER[Order]);
if (Order == Gbl.Games.SelectedOrder)
fprintf (Gbl.F.Out,"</u>");
fprintf (Gbl.F.Out,"</a>");
@ -288,11 +278,7 @@ static void Gam_ListAllGames (void)
fprintf (Gbl.F.Out,"</th>");
}
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"</tr>",
Txt_Game);
fprintf (Gbl.F.Out,"</tr>");
/***** Write all the games *****/
for (NumGame = Pagination.FirstItemVisible;
@ -393,17 +379,6 @@ static void Gam_PutButtonToCreateNewGame (void)
/*****************************************************************************/
static void Gam_PutParamsToCreateNewGame (void)
{
Gam_PutHiddenParamGameOrder ();
Grp_PutParamWhichGrps ();
Pag_PutHiddenParamPagNum (Pag_GAMES,Gbl.Games.CurrentPage);
}
/*****************************************************************************/
/**************** Put params to select which groups to show ******************/
/*****************************************************************************/
static void Gam_ParamsWhichGroupsToShow (void)
{
Gam_PutHiddenParamGameOrder ();
Pag_PutHiddenParamPagNum (Pag_GAMES,Gbl.Games.CurrentPage);
@ -418,7 +393,7 @@ void Gam_SeeOneGame (void)
struct Game Game;
/***** Get parameters *****/
Gam_GetParamGameOrder ();
Gam_GetParamOrder ();
Grp_GetParamWhichGrps ();
Gbl.Games.CurrentPage = Pag_GetParamPagNum (Pag_GAMES);
@ -657,19 +632,6 @@ static void Gam_WriteAuthor (struct Game *Game)
Usr_WriteAuthor1Line (Game->UsrCod,!Game->Status.Visible);
}
/*****************************************************************************/
/********** Get parameter with the type or order in list of games ************/
/*****************************************************************************/
static void Gam_GetParamGameOrder (void)
{
Gbl.Games.SelectedOrder = (Gam_Order_t)
Par_GetParToUnsignedLong ("Order",
0,
Gam_NUM_ORDERS - 1,
(unsigned long) Gam_ORDER_DEFAULT);
}
/*****************************************************************************/
/****** Put a hidden parameter with the type of order in list of games *******/
/*****************************************************************************/
@ -716,8 +678,7 @@ static void Gam_PutParams (void)
if (Gam_CurrentGamCod > 0)
Gam_PutParamGameCod (Gam_CurrentGamCod);
Att_PutHiddenParamAttOrder ();
Grp_PutParamWhichGrps ();
Gam_PutHiddenParamOrder ();
Pag_PutHiddenParamPagNum (Pag_GAMES,Gbl.Games.CurrentPage);
}
@ -727,6 +688,28 @@ static void Gam_PutParamCurrentMchCod (void)
Gam_PutParamMatchCod (Gam_CurrentMchCod);
}
/*****************************************************************************/
/****** Put a hidden parameter with the type of order in list of games *******/
/*****************************************************************************/
static void Gam_PutHiddenParamOrder (void)
{
Par_PutHiddenParamUnsigned ("Order",(unsigned) Gbl.Games.SelectedOrder);
}
/*****************************************************************************/
/********** Get parameter with the type or order in list of games ************/
/*****************************************************************************/
static void Gam_GetParamOrder (void)
{
Gbl.Games.SelectedOrder = (Gam_Order_t)
Par_GetParToUnsignedLong ("Order",
0,
Gam_NUM_ORDERS - 1,
(unsigned long) Gam_ORDER_DEFAULT);
}
/*****************************************************************************/
/*********************** Get list of all the games *************************/
/*****************************************************************************/
@ -737,6 +720,7 @@ void Gam_GetListGames (void)
{
"StartTime DESC,EndTime DESC,games.Title DESC", // Gam_ORDER_BY_START_DATE
"EndTime DESC,StartTime DESC,games.Title DESC", // Gam_ORDER_BY_END_DATE
"games.Title DESC", // Gam_ORDER_BY_TITLE
};
MYSQL_RES *mysql_res;
MYSQL_ROW row;
@ -1020,7 +1004,7 @@ void Gam_AskRemGame (void)
struct Game Game;
/***** Get parameters *****/
Gam_GetParamGameOrder ();
Gam_GetParamOrder ();
Grp_GetParamWhichGrps ();
Gbl.Games.CurrentPage = Pag_GetParamPagNum (Pag_GAMES);
@ -1108,7 +1092,7 @@ void Gam_AskResetGame (void)
struct Game Game;
/***** Get parameters *****/
Gam_GetParamGameOrder ();
Gam_GetParamOrder ();
Grp_GetParamWhichGrps ();
Gbl.Games.CurrentPage = Pag_GetParamPagNum (Pag_GAMES);
@ -1260,7 +1244,7 @@ void Gam_RequestCreatOrEditGame (void)
char Txt[Cns_MAX_BYTES_TEXT + 1];
/***** Get parameters *****/
Gam_GetParamGameOrder ();
Gam_GetParamOrder ();
Grp_GetParamWhichGrps ();
Gbl.Games.CurrentPage = Pag_GetParamPagNum (Pag_GAMES);
@ -1764,7 +1748,7 @@ void Gam_RequestNewQuestion (void)
Lay_ShowErrorAndExit ("Code of game is missing.");
/***** Get other parameters *****/
Gam_GetParamGameOrder ();
Gam_GetParamOrder ();
Grp_GetParamWhichGrps ();
Gbl.Games.CurrentPage = Pag_GetParamPagNum (Pag_GAMES);
@ -3179,7 +3163,7 @@ void Gam_RequestNewMatch (void)
long GamCod;
/***** Get parameters *****/
Gam_GetParamGameOrder ();
Gam_GetParamOrder ();
Grp_GetParamWhichGrps ();
Gbl.Games.CurrentPage = Pag_GetParamPagNum (Pag_GAMES);
@ -3205,7 +3189,7 @@ void Gam_PlayMatchStd (void)
bool IBelongToGroups;
/***** Get parameters *****/
Gam_GetParamGameOrder ();
Gam_GetParamOrder ();
Grp_GetParamWhichGrps ();
Gbl.Games.CurrentPage = Pag_GetParamPagNum (Pag_GAMES);

View File

@ -61,11 +61,12 @@ struct Game
} Status;
};
#define Gam_NUM_ORDERS 2
#define Gam_NUM_ORDERS 3
typedef enum
{
Gam_ORDER_BY_START_DATE = 0,
Gam_ORDER_BY_END_DATE = 1,
Gam_ORDER_BY_TITLE = 2,
} Gam_Order_t;
#define Gam_ORDER_DEFAULT Gam_ORDER_BY_START_DATE

View File

@ -13593,49 +13593,7 @@ const char *Txt_Game_X_reset = // Warning: it is very important to include %s in
#elif L==9 // pt
"Jogo <strong>%s</strong> fixado em zero.";
#endif
/*
const char *Txt_GAME_You_belong_to_the_scope_of_the_game =
#if L==1 // ca
"Pertany a l'&agrave;mbit del joc";
#elif L==2 // de
"Sie geh&ouml;ren zum Umfang des Spiels";
#elif L==3 // en
"You belong to the scope of the game";
#elif L==4 // es
"Pertenece al &aacute;mbito del juego";
#elif L==5 // fr
"Vous appartenez &agrave; la port&eacute;e du jeu";
#elif L==6 // gn
"Pertenece al &aacute;mbito del juego"; // Okoteve traducción
#elif L==7 // it
"Voi appartenete al campo del gioco";
#elif L==8 // pl
"Nale&zdot;ysz do zakresu gry";
#elif L==9 // pt
"Voc&ecirc; pertence ao &acirc;mbito do jogo";
#endif
const char *Txt_GAME_You_dont_belong_to_the_scope_of_the_game =
#if L==1 // ca
"No pertany a l'&agrave;mbit del joc";
#elif L==2 // de
"Sie geh&ouml;ren nicht zum Umfang des Spiels";
#elif L==3 // en
"You don't belong to the scope the game";
#elif L==4 // es
"No pertenece al &aacute;mbito del juego";
#elif L==5 // fr
"Vous n'appartenez pas &agrave; la port&eacute;e du jeu";
#elif L==6 // gn
"No pertenece al &aacute;mbito del juego"; // Okoteve traducción
#elif L==7 // it
"Voi non appartieni al campo del gioco";
#elif L==8 // pl
"Nie nale&zdot;&aogon; do zakresu gry";
#elif L==9 // pt
"Voc&ecirc; n&atilde;o pertence ao &acirc;mbito do jogo";
#endif
*/
const char *Txt_Games =
#if L==1 // ca
"Jocs";
@ -13657,6 +13615,132 @@ const char *Txt_Games =
"Jogos";
#endif
const char *Txt_GAMES_ORDER[Gam_NUM_ORDERS] =
{ // Gam_ORDER_BY_START_DATE
#if L==1 // ca
"Inici"
#elif L==2 // de
"Start"
#elif L==3 // en
"Start"
#elif L==4 // es
"Inicio"
#elif L==5 // fr
"D&eacute;but"
#elif L==6 // gn
"&Ntilde;epyr&utilde;"
#elif L==7 // it
"Inizio"
#elif L==8 // pl
"Pocz&aogon;tek"
#elif L==9 // pt
"In&iacute;cio"
#endif
, // Gam_ORDER_BY_END_DATE
#if L==1 // ca
"Final"
#elif L==2 // de
"Ende"
#elif L==3 // en
"End"
#elif L==4 // es
"Final"
#elif L==5 // fr
"Fin"
#elif L==6 // gn
"Paha"
#elif L==7 // it
"Fine"
#elif L==8 // pl
"Koniec"
#elif L==9 // pt
"Fim"
#endif
, // Gam_ORDER_BY_TITLE
#if L==1 // ca
"Joc"
#elif L==2 // de
"Spiel"
#elif L==3 // en
"Game"
#elif L==4 // es
"Juego"
#elif L==5 // fr
"Jeu"
#elif L==6 // gn
"Juego" // Okoteve traducción
#elif L==7 // it
"Gioco"
#elif L==8 // pl
"Gra"
#elif L==9 // pt
"Jogo"
#endif
};
const char *Txt_GAMES_ORDER_HELP[Gam_NUM_ORDERS] =
{ // Gam_ORDER_BY_START_DATE
#if L==1 // ca
"Ordenar per data de comen&ccedil;ament"
#elif L==2 // de
"Sortieren nach Startdatum"
#elif L==3 // en
"Sort by start date"
#elif L==4 // es
"Ordenar por fecha de comienzo"
#elif L==5 // fr
"Trier par date de d&eacute;but"
#elif L==6 // gn
"Ordenar por fecha de comienzo" // Okoteve traducción
#elif L==7 // it
"Ordina per data di inizio"
#elif L==8 // pl
"Sortuj wedlug daty rozpoczecia"
#elif L==9 // pt
"Classificar por data de in&iacute;cio"
#endif
,
#if L==1 // ca
"Ordenar per data de finalitzaci&oacute;"
#elif L==2 // de
"Sortieren nach Enddatum"
#elif L==3 // en
"Sort by end date"
#elif L==4 // es
"Ordenar por fecha de finalizaci&oacute;n"
#elif L==5 // fr
"Trier par date de fin"
#elif L==6 // gn
"Ordenar por fecha de finalizaci&oacute;n" // Okoteve traducción
#elif L==7 // it
"Ordina per data di fine"
#elif L==8 // pl
"Sortuj wedlug daty zakonczenia"
#elif L==9 // pt
"Classificar por data de t&eacute;rmino"
#endif
, // Gam_ORDER_BY_TITLE
#if L==1 // ca
"Ordenar per t&iacute;tol del joc"
#elif L==2 // de
"Sortieren nach Spieltitel"
#elif L==3 // en
"Sort by game title"
#elif L==4 // es
"Ordenar por t&iacute;tulo del juego"
#elif L==5 // fr
"Trier par titre de jeu"
#elif L==6 // gn
"Ordenar por t&iacute;tulo del juego" // Okoteve traducción
#elif L==7 // it
"Ordina per titolo del gioco"
#elif L==8 // pl
"Sortuj wed&lstrok;ug tytu&lstrok;u gry"
#elif L==9 // pt
"Classificar por t&iacute;tulo do jogo"
#endif
};
const char *Txt_General =
#if L==1 // ca
"General";
@ -29933,7 +30017,7 @@ const char *Txt_PROJECT_ORDER_HELP[Prj_NUM_ORDERS] =
#elif L==4 // es
"Ordenar por t&iacute;tulo"
#elif L==5 // fr
"Trier par date de d&eacute;but"
"Trier par titre"
#elif L==6 // gn
"Ordenar por t&iacute;tulo" // Okoteve traducción
#elif L==7 // it