Version19.19

This commit is contained in:
Antonio Cañas Vargas 2019-09-29 17:33:39 +02:00
parent f6c46d188d
commit 15086bfbc9
17 changed files with 170 additions and 157 deletions

View File

@ -637,7 +637,7 @@ void Asg_GetListAssignments (void)
Asg_FreeListAssignments ();
/***** Get list of assignments from database *****/
if (Gbl.Crs.Grps.WhichGrps == Grp_ONLY_MY_GROUPS)
if (Gbl.Crs.Grps.WhichGrps == Grp_MY_GROUPS)
NumRows = DB_QuerySELECT (&mysql_res,"can not get assignments",
"SELECT AsgCod"
" FROM assignments"

View File

@ -628,7 +628,7 @@ static void Att_GetListAttEvents (Att_OrderNewestOldest_t OrderNewestOldest)
Att_FreeListAttEvents ();
/***** Get list of attendance events from database *****/
if (Gbl.Crs.Grps.WhichGrps == Grp_ONLY_MY_GROUPS)
if (Gbl.Crs.Grps.WhichGrps == Grp_MY_GROUPS)
NumRows = DB_QuerySELECT (&mysql_res,"can not get attendance events",
"SELECT AttCod"
" FROM att_events"
@ -1943,7 +1943,7 @@ static void Att_ListAttStudents (struct AttendanceEvent *Att)
/***** Form to select groups *****/
Grp_ShowFormToSelectSeveralGroups (Att_PutParamSelectedAttCod,
Grp_ONLY_MY_GROUPS);
Grp_MY_GROUPS);
/***** Start section with user list *****/
Lay_StartSection (Usr_USER_LIST_SECTION_ID);

View File

@ -471,11 +471,14 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
#define Log_PLATFORM_VERSION "SWAD 19.18.2 (2019-09-28)"
#define Log_PLATFORM_VERSION "SWAD 19.19 (2019-09-29)"
#define CSS_FILE "swad19.15.css"
#define JS_FILE "swad19.15.js"
/*
Version 19.18.2: Sep 28, 2019 Code refactoring. (246585 lines)
Version 19.19.1: Sep 29, 2019 Students will not see matches for groups to which they don't belong.
Version 19.19: Sep 29, 2019 Selections of my groups/all groups in listing of matches.
Removed column with number of match. (246596 lines)
Version 19.18.2: Sep 28, 2019 Code refactoring related to errors. (246585 lines)
Version 19.18.1: Sep 28, 2019 Students will not see hidden games. (246571 lines)
Version 19.18: Sep 28, 2019 New module swad_match_result for match results. (246540 lines)
Version 19.17.3: Sep 28, 2019 Code refactoring removing matches and games. (246446 lines)

View File

@ -99,6 +99,8 @@ static void Gam_WriteAuthor (struct Game *Game);
static void Gam_PutFormsToRemEditOneGame (const struct Game *Game,
const char *Anchor);
static long Gam_GetParams (void);
static void Gam_PutHiddenParamOrder (void);
static void Gam_GetParamOrder (void);
@ -140,9 +142,7 @@ static bool Gam_GetNumMchsGameAndCheckIfEditable (struct Game *Game);
void Gam_SeeAllGames (void)
{
/***** Get parameters *****/
Gam_GetParamOrder ();
Grp_GetParamWhichGrps ();
Gbl.Games.CurrentPage = Pag_GetParamPagNum (Pag_GAMES);
Gam_GetParams (); // Return value ignored
/***** Show all games *****/
Gam_ListAllGames ();
@ -353,12 +353,7 @@ void Gam_SeeOneGame (void)
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)
if ((Game.GamCod = Gam_GetParams ()) == -1L)
Lay_ShowErrorAndExit ("Code of game is missing.");
/***** Show game *****/
@ -454,9 +449,10 @@ void Gam_ShowOneGame (long GamCod,
fprintf (Gbl.F.Out,"\">");
/* Game title */
Gam_CurrentGamCod = GamCod;
Lay_StartArticle (Anchor);
Frm_StartForm (ActSeeGam);
Gam_PutParamGameCod (GamCod);
Gam_PutParams ();
Frm_LinkFormSubmit (Txt_View_game,
Game.Status.Visible ? "ASG_TITLE" :
"ASG_TITLE_LIGHT",NULL);
@ -587,18 +583,33 @@ static void Gam_PutFormsToRemEditOneGame (const struct Game *Game,
}
/*****************************************************************************/
/******************** Params used to edit/play a game ************************/
/*********************** Params used to edit a game **************************/
/*****************************************************************************/
void Gam_PutParams (void)
{
if (Gam_CurrentGamCod > 0)
Gam_PutParamGameCod (Gam_CurrentGamCod);
Gam_PutHiddenParamOrder ();
Grp_PutParamWhichGrps ();
Pag_PutHiddenParamPagNum (Pag_GAMES,Gbl.Games.CurrentPage);
}
/*****************************************************************************/
/******************* Get parameters used to edit a game **********************/
/*****************************************************************************/
static long Gam_GetParams (void)
{
/***** Get other parameters *****/
Gam_GetParamOrder ();
Grp_GetParamWhichGrps ();
Gbl.Games.CurrentPage = Pag_GetParamPagNum (Pag_GAMES);
/***** Get game code *****/
return Gam_GetParamGameCod ();
}
/*****************************************************************************/
/****** Put a hidden parameter with the type of order in list of games *******/
/*****************************************************************************/
@ -927,12 +938,7 @@ void Gam_AskRemGame (void)
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)
if ((Game.GamCod = Gam_GetParams ()) == -1L)
Lay_ShowErrorAndExit ("Code of game is missing.");
/***** Get data of the game from database *****/
@ -1032,8 +1038,8 @@ void Gam_HideGame (void)
{
struct Game Game;
/***** Get game code *****/
if ((Game.GamCod = Gam_GetParamGameCod ()) == -1L)
/***** Get parameters *****/
if ((Game.GamCod = Gam_GetParams ()) == -1L)
Lay_ShowErrorAndExit ("Code of game is missing.");
/***** Get data of the game from database *****/
@ -1058,8 +1064,8 @@ void Gam_UnhideGame (void)
{
struct Game Game;
/***** Get game code *****/
if ((Game.GamCod = Gam_GetParamGameCod ()) == -1L)
/***** Get parameters *****/
if ((Game.GamCod = Gam_GetParams ()) == -1L)
Lay_ShowErrorAndExit ("Code of game is missing.");
/***** Get data of the game from database *****/
@ -1111,12 +1117,7 @@ void Gam_RequestCreatOrEditGame (void)
char Txt[Cns_MAX_BYTES_TEXT + 1];
/***** Get parameters *****/
Gam_GetParamOrder ();
Grp_GetParamWhichGrps ();
Gbl.Games.CurrentPage = Pag_GetParamPagNum (Pag_GAMES);
/***** Get the code of the game *****/
Game.GamCod = Gam_GetParamGameCod ();
Game.GamCod = Gam_GetParams ();
/***** Check if game has matches *****/
if (Gam_GetNumMchsGameAndCheckIfEditable (&Game))
@ -1362,20 +1363,16 @@ void Gam_RequestNewQuestion (void)
{
struct Game Game;
/***** Get game code *****/
if ((Game.GamCod = Gam_GetParamGameCod ()) == -1L)
/***** Get parameters *****/
if ((Game.GamCod = Gam_GetParams ()) == -1L)
Lay_ShowErrorAndExit ("Code of game is missing.");
/***** Check if game has matches *****/
if (Gam_GetNumMchsGameAndCheckIfEditable (&Game))
{
/***** Get other parameters *****/
Gam_GetParamOrder ();
Grp_GetParamWhichGrps ();
Gbl.Games.CurrentPage = Pag_GetParamPagNum (Pag_GAMES);
/***** Show form to create a new question in this game *****/
Tst_ShowFormAskSelectTstsForGame (Game.GamCod);
Gam_CurrentGamCod = Game.GamCod;
Tst_ShowFormAskSelectTstsForGame ();
}
/***** Show current game *****/
@ -1393,14 +1390,17 @@ void Gam_ListTstQuestionsToSelect (void)
{
struct Game Game;
/***** Get game code *****/
if ((Game.GamCod = Gam_GetParamGameCod ()) == -1L)
/***** Get parameters *****/
if ((Game.GamCod = Gam_GetParams ()) == -1L)
Lay_ShowErrorAndExit ("Code of game is missing.");
/***** Check if game has matches *****/
if (Gam_GetNumMchsGameAndCheckIfEditable (&Game))
{
/***** List several test questions for selection *****/
Tst_ListQuestionsToSelect (Game.GamCod);
Gam_CurrentGamCod = Game.GamCod;
Tst_ListQuestionsToSelect ();
}
}
/*****************************************************************************/
@ -1713,8 +1713,9 @@ static void Gam_ListOneOrMoreQuestionsForEdition (long GamCod,unsigned NumQsts,
"<td class=\"BT%u\">",Gbl.RowEvenOdd);
/* Put icon to remove the question */
Gam_CurrentGamCod = GamCod;
Frm_StartForm (ActReqRemGamQst);
Gam_PutParamGameCod (GamCod);
Gam_PutParams ();
Gam_PutParamQstInd (QstInd);
Ico_PutIconRemove ();
Frm_EndForm ();
@ -1846,8 +1847,8 @@ void Gam_AddTstQuestionsToGame (void)
long QstCod;
unsigned MaxQstInd;
/***** Get game code *****/
if ((Game.GamCod = Gam_GetParamGameCod ()) == -1L)
/***** Get parameters *****/
if ((Game.GamCod = Gam_GetParams ()) == -1L)
Lay_ShowErrorAndExit ("Code of game is missing.");
/***** Check if game has matches *****/
@ -1957,7 +1958,7 @@ static unsigned Gam_CountNumQuestionsInList (void)
static void Gam_PutParamsOneQst (void)
{
Gam_PutParamGameCod (Gam_CurrentGamCod);
Gam_PutParams ();
Gam_PutParamQstInd (Gam_CurrentQstInd);
}
@ -1972,8 +1973,8 @@ void Gam_RequestRemoveQst (void)
struct Game Game;
unsigned QstInd;
/***** Get game code *****/
if ((Game.GamCod = Gam_GetParamGameCod ()) == -1L)
/***** Get parameters *****/
if ((Game.GamCod = Gam_GetParams ()) == -1L)
Lay_ShowErrorAndExit ("Code of game is missing.");
/***** Check if game has matches *****/
@ -2008,8 +2009,8 @@ void Gam_RemoveQst (void)
struct Game Game;
unsigned QstInd;
/***** Get game code *****/
if ((Game.GamCod = Gam_GetParamGameCod ()) == -1L)
/***** Get parameters *****/
if ((Game.GamCod = Gam_GetParams ()) == -1L)
Lay_ShowErrorAndExit ("Code of game is missing.");
/***** Check if game has matches *****/
@ -2066,8 +2067,8 @@ void Gam_MoveUpQst (void)
unsigned QstIndTop;
unsigned QstIndBottom;
/***** Get game code *****/
if ((Game.GamCod = Gam_GetParamGameCod ()) == -1L)
/***** Get parameters *****/
if ((Game.GamCod = Gam_GetParams ()) == -1L)
Lay_ShowErrorAndExit ("Code of game is missing.");
/***** Check if game has matches *****/
@ -2115,8 +2116,8 @@ void Gam_MoveDownQst (void)
unsigned QstIndBottom;
unsigned MaxQstInd; // 0 if no questions
/***** Get game code *****/
if ((Game.GamCod = Gam_GetParamGameCod ()) == -1L)
/***** Get parameters *****/
if ((Game.GamCod = Gam_GetParams ()) == -1L)
Lay_ShowErrorAndExit ("Code of game is missing.");
/***** Check if game has matches *****/
@ -2230,6 +2231,21 @@ static bool Gam_GetNumMchsGameAndCheckIfEditable (struct Game *Game)
return true; // It has no matches ==> it's editable
}
/*****************************************************************************/
/********************* Put button to create a new match **********************/
/*****************************************************************************/
void Gam_PutButtonNewMatch (long GamCod)
{
extern const char *Txt_New_match;
Gam_CurrentGamCod = GamCod;
Frm_StartFormAnchor (ActReqNewMchTch,Mch_NEW_MATCH_SECTION_ID);
Gam_PutParams ();
Btn_PutConfirmButton (Txt_New_match);
Frm_EndForm ();
}
/*****************************************************************************/
/************* Request the creation of a new match as a teacher **************/
/*****************************************************************************/
@ -2239,12 +2255,7 @@ void Gam_RequestNewMatchTch (void)
long GamCod;
/***** Get parameters *****/
Gam_GetParamOrder ();
Grp_GetParamWhichGrps ();
Gbl.Games.CurrentPage = Pag_GetParamPagNum (Pag_GAMES);
/***** Get game code *****/
if ((GamCod = Gam_GetParamGameCod ()) == -1L)
if ((GamCod = Gam_GetParams ()) == -1L)
Lay_ShowErrorAndExit ("Code of game is missing.");
/***** Show game *****/

View File

@ -83,7 +83,9 @@ void Gam_ShowOneGame (long GamCod,
bool PutFormNewMatch);
void Gam_PutHiddenParamGameOrder (void);
void Gam_RequestCreatOrEditGame (void);
void Gam_PutParams (void);
void Gam_GetListGames (void);
void Gam_GetDataOfGameByCod (struct Game *Gam);
void Gam_GetDataOfGameByFolder (struct Game *Gam);
@ -121,6 +123,7 @@ void Gam_RemoveQst (void);
void Gam_MoveUpQst (void);
void Gam_MoveDownQst (void);
void Gam_PutButtonNewMatch (long GamCod);
void Gam_RequestNewMatchTch (void);
unsigned Gam_GetNumCoursesWithGames (Hie_Level_t Scope);

View File

@ -4997,7 +4997,7 @@ void Grp_PutParamWhichGrps (void)
void Grp_PutParamWhichGrpsOnlyMyGrps (void)
{
Par_PutHiddenParamUnsigned ("WhichGrps",(unsigned) Grp_ONLY_MY_GROUPS);
Par_PutHiddenParamUnsigned ("WhichGrps",(unsigned) Grp_MY_GROUPS);
}
void Grp_PutParamWhichGrpsAllGrps (void)
@ -5014,24 +5014,29 @@ void Grp_ShowFormToSelWhichGrps (Act_Action_t Action,void (*FuncParams) (void))
extern const char *Txt_GROUP_WHICH_GROUPS[2];
Grp_WhichGroups_t WhichGrps;
/***** Start setting selector *****/
Set_StartOneSettingSelector ();
for (WhichGrps = Grp_ONLY_MY_GROUPS;
/***** Put icons to select which groups *****/
for (WhichGrps = Grp_MY_GROUPS;
WhichGrps <= Grp_ALL_GROUPS;
WhichGrps++)
{
fprintf (Gbl.F.Out,"<div class=\"%s\">",
WhichGrps == Gbl.Crs.Grps.WhichGrps ? "PREF_ON" :
"PREF_OFF");
"PREF_OFF");
Frm_StartForm (Action);
Par_PutHiddenParamUnsigned ("WhichGrps",(unsigned) WhichGrps);
if (FuncParams) // Extra parameters depending on the action
FuncParams ();
Ico_PutSettingIconLink (WhichGrps == Grp_ONLY_MY_GROUPS ? "mysitemap.png" :
Ico_PutSettingIconLink (WhichGrps == Grp_MY_GROUPS ? "mysitemap.png" :
"sitemap.svg",
Txt_GROUP_WHICH_GROUPS[WhichGrps]);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</div>");
}
/***** End setting selector *****/
Set_EndOneSettingSelector ();
}
@ -5050,31 +5055,37 @@ void Grp_GetParamWhichGrps (void)
/* Set default */
switch (Gbl.Action.Act)
{
case ActSeeCrsTT:
case ActPrnCrsTT:
case ActChgCrsTT1stDay:
case ActSeeAsg:
case ActSeeAllSvy:
case ActSeeAtt:
WhichGroupsDefault = Gbl.Usrs.Me.IBelongToCurrentCrs ? Grp_ONLY_MY_GROUPS : // If I belong to this course ==> see only my groups
Grp_ALL_GROUPS; // If I don't belong to this course ==> see all groups
case ActSeeCrsTT: // Show course timetable
case ActPrnCrsTT: // Print course timetable
case ActChgCrsTT1stDay:// Change first day of week in course timetable
case ActSeeAsg: // List assignments
case ActSeeGam: // List games
case ActSeeAllSvy: // List surveys
case ActSeeAtt: // List attendance
/*
If I belong to this course ==> see only my groups
If I don't belong to this course ==> see all groups
*/
WhichGroupsDefault = Gbl.Usrs.Me.IBelongToCurrentCrs ? Grp_MY_GROUPS :
Grp_ALL_GROUPS;
break;
case ActSeeMyTT:
case ActPrnMyTT:
case ActChgMyTT1stDay:
WhichGroupsDefault = Grp_ONLY_MY_GROUPS; // By default, see only my groups
case ActSeeMyTT: // Show my timetable
case ActPrnMyTT: // Print my timetable
case ActChgMyTT1stDay: // Change first day of week in my timetable
/* By default, show only my groups */
WhichGroupsDefault = Grp_MY_GROUPS;
break;
default: // Control never should enter here
default: // Control never should enter here
WhichGroupsDefault = Grp_WHICH_GROUPS_DEFAULT;
break;
}
/* Get parameter */
Gbl.Crs.Grps.WhichGrps = (Grp_WhichGroups_t)
Par_GetParToUnsignedLong ("WhichGrps",
0,
Grp_NUM_WHICH_GROUPS - 1,
(unsigned long) WhichGroupsDefault);
Par_GetParToUnsignedLong ("WhichGrps",
0,
Grp_NUM_WHICH_GROUPS - 1,
(unsigned long) WhichGroupsDefault);
AlreadyGot = true;
}

View File

@ -127,7 +127,7 @@ struct ListGrpsAlreadySelec
#define Grp_NUM_WHICH_GROUPS 2
typedef enum
{
Grp_ONLY_MY_GROUPS,
Grp_MY_GROUPS,
Grp_ALL_GROUPS,
} Grp_WhichGroups_t;
#define Grp_WHICH_GROUPS_DEFAULT Grp_ALL_GROUPS

View File

@ -97,7 +97,8 @@ const char *MatchSecondaryTables[] =
"mch_indexes", // indexes associated to matches
// "mch_matches" // the matches themselves, this table is treated separately
};
#define Mch_NUM_SECONDARY_TABLES (sizeof (MatchSecondaryTables) / sizeof (MatchSecondaryTables[0]))
#define Mch_NUM_SECONDARY_TABLES (sizeof (MatchSecondaryTables) / \
sizeof (MatchSecondaryTables[0]))
/*****************************************************************************/
/***************************** Private variables *****************************/
@ -116,7 +117,6 @@ static void Mch_ListOneOrMoreMatches (struct Game *Game,
MYSQL_RES *mysql_res);
static void Mch_ListOneOrMoreMatchesHeading (void);
static void Mch_ListOneOrMoreMatchesIcons (const struct Match *Match);
static void Mch_ListOneOrMoreMatchesNumMatch (unsigned NumMatch);
static void Mch_ListOneOrMoreMatchesAuthor (const struct Match *Match);
static void Mch_ListOneOrMoreMatchesTimes (const struct Match *Match,unsigned UniqueId);
static void Mch_ListOneOrMoreMatchesTitleGrps (const struct Match *Match);
@ -134,9 +134,7 @@ static void Mch_RemoveMatchFromTable (long MchCod,const char *TableName);
static void Mch_RemoveMatchesInGameFromTable (long GamCod,const char *TableName);
static void Mch_RemoveMatchInCourseFromTable (long CrsCod,const char *TableName);
static void Mch_PutParamCurrentMchCod (void);
static void Mch_PutButtonNewMatch (long GamCod);
static void Mch_PutParams (void);
static void Mch_PutFormNewMatch (struct Game *Game);
static void Mch_ShowLstGrpsToCreateMatch (void);
@ -220,7 +218,7 @@ void Mch_ListMatches (struct Game *Game,bool PutFormNewMatch)
/***** Get data of matches from database *****/
/* Fill subquery for game */
if (Gbl.Crs.Grps.WhichGrps == Grp_ONLY_MY_GROUPS)
if (Gbl.Crs.Grps.WhichGrps == Grp_MY_GROUPS)
{
if (asprintf (&SubQuery," AND"
"(MchCod NOT IN"
@ -265,6 +263,14 @@ void Mch_ListMatches (struct Game *Game,bool PutFormNewMatch)
Box_StartBox (NULL,Txt_Matches,Mch_PutIconToPlayNewMatch,
Hlp_ASSESSMENT_Games_matches,Box_NOT_CLOSABLE);
/***** Select whether show only my groups or all groups *****/
if (Gbl.Crs.Grps.NumGrps)
{
Set_StartSettingsHead ();
Grp_ShowFormToSelWhichGrps (ActSeeGam,Gam_PutParams);
Set_EndSettingsHead ();
}
if (NumMatches)
/***** Show the table with the matches *****/
Mch_ListOneOrMoreMatches (Game,NumMatches,mysql_res);
@ -281,7 +287,7 @@ void Mch_ListMatches (struct Game *Game,bool PutFormNewMatch)
if (PutFormNewMatch)
Mch_PutFormNewMatch (Game); // Form to fill in data and start playing a new match
else
Mch_PutButtonNewMatch (Game->GamCod); // Button to create a new match
Gam_PutButtonNewMatch (Game->GamCod); // Button to create a new match
break;
default:
break;
@ -350,14 +356,14 @@ void Mch_GetDataOfMatchByCod (struct Match *Match)
}
/*****************************************************************************/
/***************** Put icon to add a new questions to game *******************/
/********************* Put icon to create a new match ************************/
/*****************************************************************************/
static void Mch_PutIconToPlayNewMatch (void)
{
extern const char *Txt_New_match;
/***** Put form to create a new question *****/
/***** Put form to create a new match *****/
Ico_PutContextualIconToAdd (ActReqNewMchTch,Mch_NEW_MATCH_SECTION_ID,Gam_PutParams,
Txt_New_match);
}
@ -394,9 +400,6 @@ static void Mch_ListOneOrMoreMatches (struct Game *Game,
/* Icons */
Mch_ListOneOrMoreMatchesIcons (&Match);
/* Number of match **/
Mch_ListOneOrMoreMatchesNumMatch (NumMatch);
/* Match player */
Mch_ListOneOrMoreMatchesAuthor (&Match);
@ -428,7 +431,6 @@ static void Mch_ListOneOrMoreMatches (struct Game *Game,
static void Mch_ListOneOrMoreMatchesHeading (void)
{
extern const char *Txt_No_INDEX;
extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
extern const char *Txt_START_END_TIME[Dat_NUM_START_END_TIME];
extern const char *Txt_Match;
@ -438,9 +440,6 @@ static void Mch_ListOneOrMoreMatchesHeading (void)
fprintf (Gbl.F.Out,"<tr>"
"<th></th>"
"<th class=\"RIGHT_TOP\">"
"%s"
"</th>"
"<th class=\"LEFT_TOP\">"
"%s"
"</th>"
@ -463,7 +462,6 @@ static void Mch_ListOneOrMoreMatchesHeading (void)
"%s"
"</th>"
"</tr>",
Txt_No_INDEX,
Txt_ROLES_SINGUL_Abc[Rol_TCH][Usr_SEX_UNKNOWN],
Txt_START_END_TIME[Gam_ORDER_BY_START_DATE],
Txt_START_END_TIME[Gam_ORDER_BY_END_DATE],
@ -481,25 +479,16 @@ static void Mch_ListOneOrMoreMatchesIcons (const struct Match *Match)
{
fprintf (Gbl.F.Out,"<td class=\"BT%u\">",Gbl.RowEvenOdd);
/* Put icon to remove the match */
/***** Put icon to remove the match *****/
Mch_CurrentMchCod = Match->MchCod;
Frm_StartForm (ActReqRemMchTch);
Mch_PutParamMchCod (Match->MchCod);
Mch_PutParams ();
Ico_PutIconRemove ();
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
}
/*****************************************************************************/
/********************* Put a column for number of match **********************/
/*****************************************************************************/
static void Mch_ListOneOrMoreMatchesNumMatch (unsigned NumMatch)
{
fprintf (Gbl.F.Out,"<td class=\"BIG_INDEX RIGHT_TOP COLOR%u\">%u</td>",
Gbl.RowEvenOdd,NumMatch + 1);
}
/*****************************************************************************/
/************* Put a column for teacher who created the match ****************/
/*****************************************************************************/
@ -660,7 +649,7 @@ static void Mch_ListOneOrMoreMatchesStatus (const struct Match *Match,unsigned N
/* Icon to play as student */
Mch_CurrentMchCod = Match->MchCod;
Lay_PutContextualLinkOnlyIcon (ActPlyMchStd,NULL,
Mch_PutParamCurrentMchCod,
Mch_PutParams,
Match->Status.QstInd < Mch_AFTER_LAST_QUESTION ? "play.svg" :
"flag-checkered.svg",
Txt_Play);
@ -674,7 +663,7 @@ static void Mch_ListOneOrMoreMatchesStatus (const struct Match *Match,unsigned N
/* Icon to resume */
Mch_CurrentMchCod = Match->MchCod;
Lay_PutContextualLinkOnlyIcon (ActResMchTch,NULL,
Mch_PutParamCurrentMchCod,
Mch_PutParams,
Match->Status.QstInd < Mch_AFTER_LAST_QUESTION ? "play.svg" :
"flag-checkered.svg",
Txt_Resume);
@ -721,7 +710,7 @@ static void Mch_ListOneOrMoreMatchesResult (const struct Match *Match)
/* Match result visible or hidden? */
Mch_CurrentMchCod = Match->MchCod;
Lay_PutContextualLinkOnlyIcon (ActChgVisResMchUsr,NULL,
Mch_PutParamCurrentMchCod,
Mch_PutParams,
Match->Status.ShowUsrResults ? "eye.svg" :
"eye-slash.svg",
Match->Status.ShowUsrResults ? Txt_Visible_result :
@ -878,7 +867,7 @@ void Mch_RequestRemoveMatchTch (void)
/***** Show question and button to remove question *****/
Mch_CurrentMchCod = Match.MchCod;
Ale_ShowAlertAndButton (ActRemMchTch,NULL,NULL,Mch_PutParamCurrentMchCod,
Ale_ShowAlertAndButton (ActRemMchTch,NULL,NULL,Mch_PutParams,
Btn_REMOVE_BUTTON,Txt_Remove_match,
Ale_QUESTION,Txt_Do_you_really_want_to_remove_the_match_X,
Match.Title);
@ -1044,13 +1033,14 @@ static void Mch_RemoveMatchInCourseFromTable (long CrsCod,const char *TableName)
}
/*****************************************************************************/
/***************** Put parameter with current match code *********************/
/*********************** Params used to edit a match *************************/
/*****************************************************************************/
static void Mch_PutParamCurrentMchCod (void)
static void Mch_PutParams (void)
{
if (Mch_CurrentMchCod > 0)
Mch_PutParamMchCod (Mch_CurrentMchCod);
Grp_PutParamWhichGrps ();
}
/*****************************************************************************/
@ -1072,20 +1062,6 @@ long Mch_GetParamMchCod (void)
return Par_GetParToLong ("MchCod");
}
/*****************************************************************************/
/********************* Put button to create a new match **********************/
/*****************************************************************************/
static void Mch_PutButtonNewMatch (long GamCod)
{
extern const char *Txt_New_match;
Frm_StartFormAnchor (ActReqNewMchTch,Mch_NEW_MATCH_SECTION_ID);
Gam_PutParamGameCod (GamCod);
Btn_PutConfirmButton (Txt_New_match);
Frm_EndForm ();
}
/*****************************************************************************/
/****** Put a big button to play match (start a new match) as a teacher ******/
/*****************************************************************************/

View File

@ -194,7 +194,7 @@ void Mch_SelUsrsToViewUsrsMchResults (void)
/***** Show form to select the groups *****/
Grp_ShowFormToSelectSeveralGroups (NULL,
Grp_ONLY_MY_GROUPS);
Grp_MY_GROUPS);
/***** Start section with user list *****/
Lay_StartSection (Usr_USER_LIST_SECTION_ID);

View File

@ -242,7 +242,7 @@ static void Msg_PutFormMsgUsrs (char Content[Cns_MAX_BYTES_LONG_TEXT + 1])
{
/***** Form to select groups *****/
Grp_ShowFormToSelectSeveralGroups (Msg_PutParamsWriteMsg,
Grp_ONLY_MY_GROUPS);
Grp_MY_GROUPS);
/***** Start section with user list *****/
Lay_StartSection (Usr_USER_LIST_SECTION_ID);

View File

@ -351,7 +351,7 @@ void Sta_AskShowCrsHits (void)
/***** Show form to select the groups *****/
Grp_ShowFormToSelectSeveralGroups (NULL,
Grp_ONLY_MY_GROUPS);
Grp_MY_GROUPS);
/***** Start section with user list *****/
Lay_StartSection (Usr_USER_LIST_SECTION_ID);

View File

@ -113,6 +113,8 @@ static void Svy_PutFormsToRemEditOneSvy (const struct Survey *Svy,
const char *Anchor);
static void Svy_PutParams (void);
static void Svy_GetListSurveys (void);
static void Svy_SetAllowedAndHiddenScopes (unsigned *ScopesAllowed,
unsigned *HiddenAllowed);
@ -847,7 +849,7 @@ static void Svy_PutParams (void)
/*********************** Get list of all the surveys *************************/
/*****************************************************************************/
void Svy_GetListSurveys (void)
static void Svy_GetListSurveys (void)
{
char *SubQuery[Hie_NUM_LEVELS];
static const char *OrderBySubQuery[Svy_NUM_ORDERS] =
@ -904,7 +906,7 @@ void Svy_GetListSurveys (void)
/* Fill subquery for course */
if (ScopesAllowed & 1 << Hie_CRS)
{
if (Gbl.Crs.Grps.WhichGrps == Grp_ONLY_MY_GROUPS)
if (Gbl.Crs.Grps.WhichGrps == Grp_MY_GROUPS)
{
if (asprintf (&SubQuery[Hie_CRS],"%s("
"Scope='%s' AND Cod=%ld%s"
@ -1695,6 +1697,11 @@ void Svy_HideSurvey (void)
/***** Initialize question to zero *****/
Svy_InitQst (&SvyQst);
/***** Get parameters *****/
Svy_GetParamSvyOrder ();
Grp_GetParamWhichGrps ();
Gbl.Svys.CurrentPage = Pag_GetParamPagNum (Pag_SURVEYS);
/***** Get survey code *****/
if ((Svy.SvyCod = Svy_GetParamSvyCod ()) == -1L)
Lay_ShowErrorAndExit ("Code of survey is missing.");
@ -1725,6 +1732,11 @@ void Svy_UnhideSurvey (void)
/***** Initialize question to zero *****/
Svy_InitQst (&SvyQst);
/***** Get parameters *****/
Svy_GetParamSvyOrder ();
Grp_GetParamWhichGrps ();
Gbl.Svys.CurrentPage = Pag_GetParamPagNum (Pag_SURVEYS);
/***** Get survey code *****/
if ((Svy.SvyCod = Svy_GetParamSvyCod ()) == -1L)
Lay_ShowErrorAndExit ("Code of survey is missing.");

View File

@ -91,7 +91,6 @@ void Svy_SeeAllSurveys (void);
void Svy_SeeOneSurvey (void);
void Svy_PutHiddenParamSvyOrder (void);
void Svy_RequestCreatOrEditSvy (void);
void Svy_GetListSurveys (void);
void Svy_GetDataOfSurveyByCod (struct Survey *Svy);
void Svy_GetDataOfSurveyByFolder (struct Survey *Svy);
void Svy_FreeListSurveys (void);

View File

@ -189,8 +189,7 @@ static unsigned long Tst_GetQuestionsForTest (MYSQL_RES **mysql_res);
static void Tst_ListOneQstToEdit (void);
static void Tst_ListOneOrMoreQuestionsForEdition (unsigned long NumRows,
MYSQL_RES *mysql_res);
static void Tst_ListOneOrMoreQuestionsForSelection (long GamCod,
unsigned long NumRows,
static void Tst_ListOneOrMoreQuestionsForSelection (unsigned long NumRows,
MYSQL_RES *mysql_res);
static void Tst_WriteAnswersTestToAnswer (unsigned NumQst,long QstCod,bool Shuffle);
@ -1336,7 +1335,7 @@ void Tst_ShowFormAskEditTsts (void)
/************** Show form select test questions for a game *******************/
/*****************************************************************************/
void Tst_ShowFormAskSelectTstsForGame (long GamCod)
void Tst_ShowFormAskSelectTstsForGame (void)
{
extern const char *Hlp_ASSESSMENT_Tests;
extern const char *Txt_No_test_questions;
@ -1353,7 +1352,7 @@ void Tst_ShowFormAskSelectTstsForGame (long GamCod)
if ((NumRows = Tst_GetAllTagsFromCurrentCrs (&mysql_res)))
{
Frm_StartForm (ActGamLstTstQst);
Gam_PutParamGameCod (GamCod);
Gam_PutParams ();
Tbl_StartTable (2);
@ -2413,7 +2412,7 @@ void Tst_ListQuestionsToEdit (void)
/**************** List several test questions for selection ******************/
/*****************************************************************************/
void Tst_ListQuestionsToSelect (long GamCod)
void Tst_ListQuestionsToSelect (void)
{
MYSQL_RES *mysql_res;
unsigned long NumRows;
@ -2423,14 +2422,14 @@ void Tst_ListQuestionsToSelect (long GamCod)
{
if ((NumRows = Tst_GetQuestions (&mysql_res)) != 0) // Query database
/* Show the table with the questions */
Tst_ListOneOrMoreQuestionsForSelection (GamCod,NumRows,mysql_res);
Tst_ListOneOrMoreQuestionsForSelection (NumRows,mysql_res);
/***** Free structure that stores the query result *****/
DB_FreeMySQLResult (&mysql_res);
}
else
/* Show the form again */
Tst_ShowFormAskSelectTstsForGame (GamCod);
Tst_ShowFormAskSelectTstsForGame ();
/***** Free memory used by the list of tags *****/
Tst_FreeTagsList ();
@ -3050,8 +3049,7 @@ static void Tst_ListOneOrMoreQuestionsForEdition (unsigned long NumRows,
/****************** List for edition one or more test questions **************/
/*****************************************************************************/
static void Tst_ListOneOrMoreQuestionsForSelection (long GamCod,
unsigned long NumRows,
static void Tst_ListOneOrMoreQuestionsForSelection (unsigned long NumRows,
MYSQL_RES *mysql_res)
{
extern const char *Hlp_ASSESSMENT_Tests;
@ -3077,7 +3075,7 @@ static void Tst_ListOneOrMoreQuestionsForSelection (long GamCod,
/***** Start form *****/
Frm_StartForm (ActAddTstQstToGam);
Gam_PutParamGameCod (GamCod);
Gam_PutParams ();
/***** Write the heading *****/
Tbl_StartTableWideMargin (2);
@ -7436,7 +7434,7 @@ void Tst_SelUsrsToViewUsrsTstResults (void)
/***** Show form to select the groups *****/
Grp_ShowFormToSelectSeveralGroups (NULL,
Grp_ONLY_MY_GROUPS);
Grp_MY_GROUPS);
/***** Start section with user list *****/
Lay_StartSection (Usr_USER_LIST_SECTION_ID);

View File

@ -148,9 +148,9 @@ void Tst_WriteQstStem (const char *Stem,const char *ClassStem);
void Tst_WriteQstFeedback (const char *Feedback,const char *ClassFeedback);
void Tst_ShowFormAskEditTsts (void);
void Tst_ShowFormAskSelectTstsForGame (long GamCod);
void Tst_ShowFormAskSelectTstsForGame (void);
void Tst_ListQuestionsToEdit (void);
void Tst_ListQuestionsToSelect (long GamCod);
void Tst_ListQuestionsToSelect (void);
bool Tst_GetOneQuestionByCod (long QstCod,MYSQL_RES **mysql_res);
void Tst_WriteParamEditQst (void);
unsigned Tst_GetNumAnswersQst (long QstCod);

View File

@ -234,7 +234,7 @@ static void TT_ShowTimeTableGrpsSelected (void)
fprintf (Gbl.F.Out,"<div class=\"CLASSPHOTO_TITLE CENTER_MIDDLE\">");
switch (Gbl.Crs.Grps.WhichGrps)
{
case Grp_ONLY_MY_GROUPS:
case Grp_MY_GROUPS:
fprintf (Gbl.F.Out,Txt_Groups_OF_A_USER,
Gbl.Usrs.Me.UsrDat.FullName);
break;
@ -683,7 +683,7 @@ static void TT_FillTimeTableFromDB (long UsrCod)
case TT_MY_TIMETABLE:
switch (Gbl.Crs.Grps.WhichGrps)
{
case Grp_ONLY_MY_GROUPS:
case Grp_MY_GROUPS:
NumRows = DB_QuerySELECT (&mysql_res,"can not get timetable",
"SELECT timetable_crs.Weekday,"
"TIME_TO_SEC(timetable_crs.StartTime) AS S,"

View File

@ -6194,7 +6194,7 @@ void Usr_PutFormToSelectUsrsToGoToAct (Act_Action_t NextAction,void (*FuncParams
/***** Show form to select the groups *****/
Grp_ShowFormToSelectSeveralGroups (FuncParams,
Grp_ONLY_MY_GROUPS);
Grp_MY_GROUPS);
/***** Start section with user list *****/
Lay_StartSection (Usr_USER_LIST_SECTION_ID);
@ -8002,7 +8002,7 @@ void Usr_SeeStudents (void)
/***** Form to select groups *****/
if (Gbl.Scope.Current == Hie_CRS)
Grp_ShowFormToSelectSeveralGroups (Sco_PutParamCurrentScope,
Grp_ONLY_MY_GROUPS);
Grp_MY_GROUPS);
/***** Start section with user list *****/
Lay_StartSection (Usr_USER_LIST_SECTION_ID);
@ -8176,7 +8176,7 @@ void Usr_SeeTeachers (void)
/***** Form to select groups *****/
if (Gbl.Scope.Current == Hie_CRS)
Grp_ShowFormToSelectSeveralGroups (Sco_PutParamCurrentScope,
Grp_ONLY_MY_GROUPS);
Grp_MY_GROUPS);
/***** Start section with user list *****/
Lay_StartSection (Usr_USER_LIST_SECTION_ID);