mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-01 06:15:31 +02:00
Version19.6
This commit is contained in:
parent
0ce46926a9
commit
8f146f33d6
|
@ -632,8 +632,6 @@ Assessment:
|
|||
463. ActChgGam Modify data of an existing game
|
||||
464. ActReqRemGam Request the removal of a game
|
||||
465. ActRemGam Remove game
|
||||
466. ActReqRstGam Request the reset of answers of a game
|
||||
467. ActRstGam Reset answers of game
|
||||
468. ActHidGam Hide game
|
||||
469. ActShoGam Show game
|
||||
470. ActAddOneGamQst Add a new question to a game
|
||||
|
@ -2176,8 +2174,6 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
|||
/* ActChgGam */{1655,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_RecFormGame ,NULL},
|
||||
/* ActReqRemGam */{1656,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_AskRemGame ,NULL},
|
||||
/* ActRemGam */{1657,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_RemoveGame ,NULL},
|
||||
/* ActReqRstGam */{1658,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_AskResetGame ,NULL},
|
||||
/* ActRstGam */{1659,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_ResetGame ,NULL},
|
||||
/* ActHidGam */{1660,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_HideGame ,NULL},
|
||||
/* ActShoGam */{1661,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_UnhideGame ,NULL},
|
||||
/* ActAddOneGamQst */{1662,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_RequestNewQuestion ,NULL},
|
||||
|
@ -4878,8 +4874,8 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un
|
|||
ActChgGam, // #1655
|
||||
ActReqRemGam, // #1656
|
||||
ActRemGam, // #1657
|
||||
ActReqRstGam, // #1658
|
||||
ActRstGam, // #1659
|
||||
-1, // #1658 (obsolete action)
|
||||
-1, // #1659 (obsolete action)
|
||||
ActHidGam, // #1660
|
||||
ActShoGam, // #1661
|
||||
ActAddOneGamQst, // #1662
|
||||
|
@ -4892,7 +4888,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un
|
|||
ActDwnGamQst, // #1669
|
||||
ActReqNewMchTch, // #1670
|
||||
ActNewMchTch, // #1671
|
||||
ActFwdMchTch, // #1672
|
||||
ActFwdMchTch, // #1672
|
||||
-1, // #1673 (obsolete action)
|
||||
ActSeePrj, // #1674
|
||||
ActFrmNewPrj, // #1675
|
||||
|
|
|
@ -64,7 +64,7 @@ typedef enum
|
|||
|
||||
typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action
|
||||
|
||||
#define Act_NUM_ACTIONS (1 + 4 + 64 + 38 + 12 + 42 + 36 + 19 + 110 + 173 + 437 + 176 + 169 + 16 + 68)
|
||||
#define Act_NUM_ACTIONS (1 + 4 + 64 + 38 + 12 + 42 + 36 + 19 + 110 + 171 + 437 + 176 + 169 + 16 + 68)
|
||||
|
||||
#define Act_MAX_ACTION_COD 1794
|
||||
|
||||
|
@ -628,44 +628,42 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to
|
|||
#define ActChgGam (ActChgCrsTT1stDay + 135)
|
||||
#define ActReqRemGam (ActChgCrsTT1stDay + 136)
|
||||
#define ActRemGam (ActChgCrsTT1stDay + 137)
|
||||
#define ActReqRstGam (ActChgCrsTT1stDay + 138)
|
||||
#define ActRstGam (ActChgCrsTT1stDay + 139)
|
||||
#define ActHidGam (ActChgCrsTT1stDay + 140)
|
||||
#define ActShoGam (ActChgCrsTT1stDay + 141)
|
||||
#define ActAddOneGamQst (ActChgCrsTT1stDay + 142)
|
||||
#define ActGamLstTstQst (ActChgCrsTT1stDay + 143)
|
||||
#define ActAddTstQstToGam (ActChgCrsTT1stDay + 144)
|
||||
#define ActReqRemGamQst (ActChgCrsTT1stDay + 145)
|
||||
#define ActRemGamQst (ActChgCrsTT1stDay + 146)
|
||||
#define ActUp_GamQst (ActChgCrsTT1stDay + 147)
|
||||
#define ActDwnGamQst (ActChgCrsTT1stDay + 148)
|
||||
#define ActHidGam (ActChgCrsTT1stDay + 138)
|
||||
#define ActShoGam (ActChgCrsTT1stDay + 139)
|
||||
#define ActAddOneGamQst (ActChgCrsTT1stDay + 140)
|
||||
#define ActGamLstTstQst (ActChgCrsTT1stDay + 141)
|
||||
#define ActAddTstQstToGam (ActChgCrsTT1stDay + 142)
|
||||
#define ActReqRemGamQst (ActChgCrsTT1stDay + 143)
|
||||
#define ActRemGamQst (ActChgCrsTT1stDay + 144)
|
||||
#define ActUp_GamQst (ActChgCrsTT1stDay + 145)
|
||||
#define ActDwnGamQst (ActChgCrsTT1stDay + 146)
|
||||
|
||||
#define ActSeeSvy (ActChgCrsTT1stDay + 149)
|
||||
#define ActAnsSvy (ActChgCrsTT1stDay + 150)
|
||||
#define ActFrmNewSvy (ActChgCrsTT1stDay + 151)
|
||||
#define ActEdiOneSvy (ActChgCrsTT1stDay + 152)
|
||||
#define ActNewSvy (ActChgCrsTT1stDay + 153)
|
||||
#define ActChgSvy (ActChgCrsTT1stDay + 154)
|
||||
#define ActReqRemSvy (ActChgCrsTT1stDay + 155)
|
||||
#define ActRemSvy (ActChgCrsTT1stDay + 156)
|
||||
#define ActReqRstSvy (ActChgCrsTT1stDay + 157)
|
||||
#define ActRstSvy (ActChgCrsTT1stDay + 158)
|
||||
#define ActHidSvy (ActChgCrsTT1stDay + 159)
|
||||
#define ActShoSvy (ActChgCrsTT1stDay + 160)
|
||||
#define ActEdiOneSvyQst (ActChgCrsTT1stDay + 161)
|
||||
#define ActRcvSvyQst (ActChgCrsTT1stDay + 162)
|
||||
#define ActReqRemSvyQst (ActChgCrsTT1stDay + 163)
|
||||
#define ActRemSvyQst (ActChgCrsTT1stDay + 164)
|
||||
#define ActSeeSvy (ActChgCrsTT1stDay + 147)
|
||||
#define ActAnsSvy (ActChgCrsTT1stDay + 148)
|
||||
#define ActFrmNewSvy (ActChgCrsTT1stDay + 149)
|
||||
#define ActEdiOneSvy (ActChgCrsTT1stDay + 150)
|
||||
#define ActNewSvy (ActChgCrsTT1stDay + 151)
|
||||
#define ActChgSvy (ActChgCrsTT1stDay + 152)
|
||||
#define ActReqRemSvy (ActChgCrsTT1stDay + 153)
|
||||
#define ActRemSvy (ActChgCrsTT1stDay + 154)
|
||||
#define ActReqRstSvy (ActChgCrsTT1stDay + 155)
|
||||
#define ActRstSvy (ActChgCrsTT1stDay + 156)
|
||||
#define ActHidSvy (ActChgCrsTT1stDay + 157)
|
||||
#define ActShoSvy (ActChgCrsTT1stDay + 158)
|
||||
#define ActEdiOneSvyQst (ActChgCrsTT1stDay + 159)
|
||||
#define ActRcvSvyQst (ActChgCrsTT1stDay + 160)
|
||||
#define ActReqRemSvyQst (ActChgCrsTT1stDay + 161)
|
||||
#define ActRemSvyQst (ActChgCrsTT1stDay + 162)
|
||||
|
||||
#define ActSeeOneExaAnn (ActChgCrsTT1stDay + 165)
|
||||
#define ActSeeDatExaAnn (ActChgCrsTT1stDay + 166)
|
||||
#define ActEdiExaAnn (ActChgCrsTT1stDay + 167)
|
||||
#define ActRcvExaAnn (ActChgCrsTT1stDay + 168)
|
||||
#define ActPrnExaAnn (ActChgCrsTT1stDay + 169)
|
||||
#define ActReqRemExaAnn (ActChgCrsTT1stDay + 170)
|
||||
#define ActRemExaAnn (ActChgCrsTT1stDay + 171)
|
||||
#define ActHidExaAnn (ActChgCrsTT1stDay + 172)
|
||||
#define ActShoExaAnn (ActChgCrsTT1stDay + 173)
|
||||
#define ActSeeOneExaAnn (ActChgCrsTT1stDay + 163)
|
||||
#define ActSeeDatExaAnn (ActChgCrsTT1stDay + 164)
|
||||
#define ActEdiExaAnn (ActChgCrsTT1stDay + 165)
|
||||
#define ActRcvExaAnn (ActChgCrsTT1stDay + 166)
|
||||
#define ActPrnExaAnn (ActChgCrsTT1stDay + 167)
|
||||
#define ActReqRemExaAnn (ActChgCrsTT1stDay + 168)
|
||||
#define ActRemExaAnn (ActChgCrsTT1stDay + 169)
|
||||
#define ActHidExaAnn (ActChgCrsTT1stDay + 170)
|
||||
#define ActShoExaAnn (ActChgCrsTT1stDay + 171)
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************************** Files tab **********************************/
|
||||
|
|
|
@ -459,20 +459,14 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
|
|||
En OpenSWAD:
|
||||
ps2pdf source.ps destination.pdf
|
||||
*/
|
||||
/*
|
||||
can not remove the groups associated to matches of a game
|
||||
Type of answer not valid in a game.
|
||||
|
||||
|
||||
¿Eliminar botón de reset en un juego? Tal vez sí, para simplificar. No tiene sentido resetear todas las partidas de un juego.
|
||||
¿Poner botón de reset en una partida? No parece necesario, basta con eliminarla y crear otra
|
||||
|
||||
*/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 19.5.5 (2019-09-17)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 19.6 (2019-09-17)"
|
||||
#define CSS_FILE "swad19.3.css"
|
||||
#define JS_FILE "swad18.130.2.js"
|
||||
/*
|
||||
Version 19.6: Sep 17, 2019 Remove actions to reset a game. (244600 lines)
|
||||
1 change necessary in database:
|
||||
UPDATE actions SET Obsolete='Y' WHERE ActCod IN (1658,1659);
|
||||
|
||||
Version 19.5.5: Sep 17, 2019 Fixed bug while creating a match. (244733 lines)
|
||||
Version 19.5.4: Sep 17, 2019 Fixed bugs while removing games in a course. (244732 lines)
|
||||
Version 19.5.3: Sep 17, 2019 Removed unused column in table of matches.
|
||||
|
|
78
swad_game.c
78
swad_game.c
|
@ -532,16 +532,9 @@ void Gam_PutHiddenParamGameOrder (void)
|
|||
static void Gam_PutFormsToRemEditOneGame (const struct Game *Game,
|
||||
const char *Anchor)
|
||||
{
|
||||
extern const char *Txt_Reset;
|
||||
|
||||
/***** Put icon to remove game *****/
|
||||
Ico_PutContextualIconToRemove (ActReqRemGam,Gam_PutParams);
|
||||
|
||||
/***** Put icon to reset game *****/
|
||||
Lay_PutContextualLinkOnlyIcon (ActReqRstGam,NULL,Gam_PutParams,
|
||||
"recycle.svg",
|
||||
Txt_Reset);
|
||||
|
||||
/***** Put icon to hide/show game *****/
|
||||
if (Game->Status.Visible)
|
||||
Ico_PutContextualIconToHide (ActHidGam,Anchor,Gam_PutParams);
|
||||
|
@ -919,77 +912,6 @@ void Gam_RemoveGame (void)
|
|||
Gam_ListAllGames ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/***************** Ask for confirmation of reset of a game *****************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Gam_AskResetGame (void)
|
||||
{
|
||||
extern const char *Txt_Do_you_really_want_to_reset_the_game_X;
|
||||
extern const char *Txt_Reset_game;
|
||||
struct Game Game;
|
||||
|
||||
/***** Get parameters *****/
|
||||
Gam_GetParamOrder ();
|
||||
Grp_GetParamWhichGrps ();
|
||||
Gbl.Games.CurrentPage = Pag_GetParamPagNum (Pag_GAMES);
|
||||
|
||||
/***** Get game code *****/
|
||||
if ((Game.GamCod = Gam_GetParamGameCod ()) == -1L)
|
||||
Lay_ShowErrorAndExit ("Code of game is missing.");
|
||||
|
||||
/***** Get data of the game from database *****/
|
||||
Gam_GetDataOfGameByCod (&Game);
|
||||
if (!Game.Status.ICanEdit)
|
||||
Lay_ShowErrorAndExit ("You can not reset this game.");
|
||||
|
||||
/***** Ask for confirmation of reset *****/
|
||||
Gam_CurrentGamCod = Game.GamCod;
|
||||
Ale_ShowAlertAndButton (ActRstGam,NULL,NULL,
|
||||
Gam_PutParams,
|
||||
Btn_REMOVE_BUTTON,
|
||||
Txt_Reset_game,
|
||||
Ale_QUESTION,Txt_Do_you_really_want_to_reset_the_game_X,
|
||||
Game.Title);
|
||||
|
||||
/***** Show games again *****/
|
||||
Gam_ListAllGames ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************************* Reset a game ******************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Gam_ResetGame (void)
|
||||
{
|
||||
extern const char *Txt_Game_X_reset;
|
||||
struct Game Game;
|
||||
|
||||
/***** Get game code *****/
|
||||
if ((Game.GamCod = Gam_GetParamGameCod ()) == -1L)
|
||||
Lay_ShowErrorAndExit ("Code of game is missing.");
|
||||
|
||||
/***** Get data of the game from database *****/
|
||||
Gam_GetDataOfGameByCod (&Game);
|
||||
if (!Game.Status.ICanEdit)
|
||||
Lay_ShowErrorAndExit ("You can not reset this game.");
|
||||
|
||||
/***** Reset all the answers in this game *****/
|
||||
DB_QueryUPDATE ("can not reset answers of a game",
|
||||
"DELETE FROM mch_answers"
|
||||
" USING mch_matches,mch_answers"
|
||||
" WHERE mch_matches.GamCod=%ld"
|
||||
" AND mch_matches.MchCod=mch_answers.MchCod",
|
||||
Game.GamCod);
|
||||
|
||||
/***** Write message to show the change made *****/
|
||||
Ale_ShowAlert (Ale_SUCCESS,Txt_Game_X_reset,
|
||||
Game.Title);
|
||||
|
||||
/***** Show games again *****/
|
||||
Gam_ListAllGames ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************************** Hide a game ******************************/
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -97,8 +97,6 @@ void Gam_PutParamGameCod (long GamCod);
|
|||
long Gam_GetParamGameCod (void);
|
||||
void Gam_AskRemGame (void);
|
||||
void Gam_RemoveGame (void);
|
||||
void Gam_AskResetGame (void);
|
||||
void Gam_ResetGame (void);
|
||||
void Gam_HideGame (void);
|
||||
void Gam_UnhideGame (void);
|
||||
void Gam_RecFormGame (void);
|
||||
|
|
63
swad_text.c
63
swad_text.c
|
@ -9075,27 +9075,6 @@ const char *Txt_Do_you_really_want_to_remove_your_photo =
|
|||
"Você realmente deseja remover a sua foto?";
|
||||
#endif
|
||||
|
||||
const char *Txt_Do_you_really_want_to_reset_the_game_X = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1 // ca
|
||||
"De veres voleu posar a zero le joc <strong>%s</strong>?";
|
||||
#elif L==2 // de
|
||||
"Wollen Sie die Spiel <strong>%s</strong> wirklich reset?";
|
||||
#elif L==3 // en
|
||||
"Do you really want to reset the game <strong>%s</strong>?";
|
||||
#elif L==4 // es
|
||||
"¿Realmente desea poner a cero el juego <strong>%s</strong>?";
|
||||
#elif L==5 // fr
|
||||
"Voulez-vous vraiment reset le jeu <strong>%s</strong>?";
|
||||
#elif L==6 // gn
|
||||
"¿Realmente desea poner a cero el juego <strong>%s</strong>?"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Vuoi realmente resettare il gioco <strong>%s</strong>?";
|
||||
#elif L==8 // pl
|
||||
"Czy na pewno chcesz zresetowac gra <strong>%s</strong>?";
|
||||
#elif L==9 // pt
|
||||
"Você realmente deseja reiniciar o jogo <strong>%s</strong>?";
|
||||
#endif
|
||||
|
||||
const char *Txt_Do_you_really_want_to_reset_the_survey_X = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1 // ca
|
||||
"De veres voleu posar a zero l'enquesta <strong>%s</strong>?";
|
||||
|
@ -13574,27 +13553,6 @@ const char *Txt_Game_X_removed = // Warning: it is very important to include %s
|
|||
"Jogo <strong>%s</strong> removido.";
|
||||
#endif
|
||||
|
||||
const char *Txt_Game_X_reset = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1 // ca
|
||||
"Joc <strong>%s</strong> posat a zero..";
|
||||
#elif L==2 // de
|
||||
"Spiel <strong>%s</strong> zurückgesetzt.";
|
||||
#elif L==3 // en
|
||||
"Game <strong>%s</strong> reset.";
|
||||
#elif L==4 // es
|
||||
"Juego <strong>%s</strong> puesto a cero.";
|
||||
#elif L==5 // fr
|
||||
"Jeu <strong>%s</strong> remis à zéro.";
|
||||
#elif L==6 // gn
|
||||
"Juego <strong>%s</strong> puesto a cero."; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Gioco <strong>%s</strong> resettato.";
|
||||
#elif L==8 // pl
|
||||
"Gra <strong>%s</strong> zresetowane.";
|
||||
#elif L==9 // pt
|
||||
"Jogo <strong>%s</strong> fixado em zero.";
|
||||
#endif
|
||||
|
||||
const char *Txt_Games =
|
||||
#if L==1 // ca
|
||||
"Jocs";
|
||||
|
@ -33257,27 +33215,6 @@ const char *Txt_Reset =
|
|||
"Reiniciar";
|
||||
#endif
|
||||
|
||||
const char *Txt_Reset_game =
|
||||
#if L==1 // ca
|
||||
"Posar joc a zero";
|
||||
#elif L==2 // de
|
||||
"Reset Spiel";
|
||||
#elif L==3 // en
|
||||
"Reset game";
|
||||
#elif L==4 // es
|
||||
"Poner juego a cero";
|
||||
#elif L==5 // fr
|
||||
"Reset jeu";
|
||||
#elif L==6 // gn
|
||||
"Poner juego a cero"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Resettare gioco";
|
||||
#elif L==8 // pl
|
||||
"Reset grę";
|
||||
#elif L==9 // pt
|
||||
"Reiniciar jogo";
|
||||
#endif
|
||||
|
||||
const char *Txt_Reset_survey =
|
||||
#if L==1 // ca
|
||||
"Posar enquesta a zero";
|
||||
|
|
Loading…
Reference in New Issue
Block a user