mirror of https://github.com/acanas/swad-core.git
Version 23.54: Dec 20, 2023 Responsive design in games and matches.
This commit is contained in:
parent
76c0452ea9
commit
1ae3517481
|
@ -2164,6 +2164,14 @@ a:hover img.CENTER_PHOTO_SHOW
|
||||||
.ICO_BLACK_PINK {filter: invert(26%) sepia(0%) saturate(1%) hue-rotate(288deg) brightness(97%) contrast(102%);} /* #404040 */
|
.ICO_BLACK_PINK {filter: invert(26%) sepia(0%) saturate(1%) hue-rotate(288deg) brightness(97%) contrast(102%);} /* #404040 */
|
||||||
.ICO_BLACK_DARK {filter: invert(92%) sepia(44%) saturate(2%) hue-rotate(176deg) brightness(110%) contrast(88%);} /* #f0f0f0 */
|
.ICO_BLACK_DARK {filter: invert(92%) sepia(44%) saturate(2%) hue-rotate(176deg) brightness(110%) contrast(88%);} /* #f0f0f0 */
|
||||||
|
|
||||||
|
.ICO_BLUE_WHITE,
|
||||||
|
.ICO_BLUE_GREY,
|
||||||
|
.ICO_BLUE_PURPLE,
|
||||||
|
.ICO_BLUE_BLUE,
|
||||||
|
.ICO_BLUE_YELLOW,
|
||||||
|
.ICO_BLUE_PINK {filter: invert(50%) sepia(27%) saturate(624%) hue-rotate(153deg) brightness(93%) contrast(97%);} /* #4d88a1 */
|
||||||
|
.ICO_BLUE_DARK {filter: invert(81%) sepia(15%) saturate(249%) hue-rotate(151deg) brightness(91%) contrast(95%);} /* #afc4cc */
|
||||||
|
|
||||||
.ICO_GREEN_WHITE,
|
.ICO_GREEN_WHITE,
|
||||||
.ICO_GREEN_GREY,
|
.ICO_GREEN_GREY,
|
||||||
.ICO_GREEN_PURPLE,
|
.ICO_GREEN_PURPLE,
|
|
@ -633,10 +633,11 @@ Me sale este error, no s
|
||||||
"can npt create received message (duplicated entry '243218-2160773' for key 'UsrCod_MsgCod')
|
"can npt create received message (duplicated entry '243218-2160773' for key 'UsrCod_MsgCod')
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 23.53.7 (2023-12-20)"
|
#define Log_PLATFORM_VERSION "SWAD 23.54 (2023-12-20)"
|
||||||
#define CSS_FILE "swad23.53.6.css"
|
#define CSS_FILE "swad23.54.css"
|
||||||
#define JS_FILE "swad23.53.6.js"
|
#define JS_FILE "swad23.53.6.js"
|
||||||
/*
|
/*
|
||||||
|
Version 23.54: Dec 20, 2023 Responsive design in games and matches. (335906 lines)
|
||||||
Version 23.53.7: Dec 20, 2023 Layout changes in hierarchy edition. (335883 lines)
|
Version 23.53.7: Dec 20, 2023 Layout changes in hierarchy edition. (335883 lines)
|
||||||
Version 23.53.6: Dec 19, 2023 Responsive design in questions. (335874 lines)
|
Version 23.53.6: Dec 19, 2023 Responsive design in questions. (335874 lines)
|
||||||
Version 23.53.5: Dec 19, 2023 Responsive design in calls for exams. (335874 lines)
|
Version 23.53.5: Dec 19, 2023 Responsive design in calls for exams. (335874 lines)
|
||||||
|
|
113
swad_game.c
113
swad_game.c
|
@ -111,6 +111,8 @@ extern struct Globals Gbl;
|
||||||
/***************************** Private prototypes ****************************/
|
/***************************** Private prototypes ****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
static void Gam_ListAllGamesHeading (const struct Gam_Games *Games);
|
||||||
|
|
||||||
static bool Gam_CheckIfICanEditGames (void);
|
static bool Gam_CheckIfICanEditGames (void);
|
||||||
static bool Gam_CheckIfICanListGameQuestions (void);
|
static bool Gam_CheckIfICanListGameQuestions (void);
|
||||||
static void Gam_PutIconsListingGames (void *Games);
|
static void Gam_PutIconsListingGames (void *Games);
|
||||||
|
@ -230,11 +232,7 @@ void Gam_ListAllGames (struct Gam_Games *Games)
|
||||||
{
|
{
|
||||||
extern const char *Hlp_ASSESSMENT_Games;
|
extern const char *Hlp_ASSESSMENT_Games;
|
||||||
extern const char *Txt_Games;
|
extern const char *Txt_Games;
|
||||||
extern const char *Txt_GAMES_ORDER_HELP[Gam_NUM_ORDERS];
|
|
||||||
extern const char *Txt_GAMES_ORDER[Gam_NUM_ORDERS];
|
|
||||||
extern const char *Txt_Matches;
|
|
||||||
extern const char *Txt_No_games;
|
extern const char *Txt_No_games;
|
||||||
Gam_Order_t Order;
|
|
||||||
struct Pag_Pagination Pagination;
|
struct Pag_Pagination Pagination;
|
||||||
unsigned NumGame;
|
unsigned NumGame;
|
||||||
|
|
||||||
|
@ -255,52 +253,20 @@ void Gam_ListAllGames (struct Gam_Games *Games)
|
||||||
Games->CurrentPage = (unsigned) Pagination.CurrentPage;
|
Games->CurrentPage = (unsigned) Pagination.CurrentPage;
|
||||||
|
|
||||||
/***** Begin box *****/
|
/***** Begin box *****/
|
||||||
Box_BoxBegin ("100%",Txt_Games,
|
Box_BoxBegin (NULL,Txt_Games,
|
||||||
Gam_PutIconsListingGames,Games,
|
Gam_PutIconsListingGames,Games,
|
||||||
Hlp_ASSESSMENT_Games,Box_NOT_CLOSABLE);
|
Hlp_ASSESSMENT_Games,Box_NOT_CLOSABLE);
|
||||||
|
|
||||||
/***** Write links to pages *****/
|
/***** Write links to pages *****/
|
||||||
Pag_WriteLinksToPagesCentered (Pag_GAMES,&Pagination,
|
Pag_WriteLinksToPagesCentered (Pag_GAMES,&Pagination,Games,-1L);
|
||||||
Games,-1L);
|
|
||||||
|
|
||||||
if (Games->Num)
|
if (Games->Num)
|
||||||
{
|
{
|
||||||
/***** Begin table *****/
|
/***** Begin table *****/
|
||||||
HTM_TABLE_BeginWideMarginPadding (5);
|
HTM_TABLE_Begin ("TBL_SCROLL");
|
||||||
|
|
||||||
/***** Table head *****/
|
/***** Table head *****/
|
||||||
HTM_TR_Begin (NULL);
|
Gam_ListAllGamesHeading (Games);
|
||||||
|
|
||||||
HTM_TH_Span (NULL,HTM_HEAD_CENTER,1,1,"CONTEXT_COL"); // Column for contextual icons
|
|
||||||
|
|
||||||
for (Order = (Gam_Order_t) 0;
|
|
||||||
Order <= (Gam_Order_t) (Gam_NUM_ORDERS - 1);
|
|
||||||
Order++)
|
|
||||||
{
|
|
||||||
HTM_TH_Begin (HTM_HEAD_LEFT);
|
|
||||||
|
|
||||||
/* Form to change order */
|
|
||||||
Frm_BeginForm (ActSeeAllGam);
|
|
||||||
Pag_PutParPagNum (Pag_GAMES,Games->CurrentPage);
|
|
||||||
Par_PutParUnsigned (NULL,"Order",(unsigned) Order);
|
|
||||||
|
|
||||||
HTM_BUTTON_Submit_Begin (Txt_GAMES_ORDER_HELP[Order],
|
|
||||||
"class=\"BT_LINK\"");
|
|
||||||
if (Order == Games->SelectedOrder)
|
|
||||||
HTM_U_Begin ();
|
|
||||||
HTM_Txt (Txt_GAMES_ORDER[Order]);
|
|
||||||
if (Order == Games->SelectedOrder)
|
|
||||||
HTM_U_End ();
|
|
||||||
HTM_BUTTON_End ();
|
|
||||||
|
|
||||||
Frm_EndForm ();
|
|
||||||
|
|
||||||
HTM_TH_End ();
|
|
||||||
}
|
|
||||||
|
|
||||||
HTM_TH (Txt_Matches,HTM_HEAD_RIGHT);
|
|
||||||
|
|
||||||
HTM_TR_End ();
|
|
||||||
|
|
||||||
/***** Write all games *****/
|
/***** Write all games *****/
|
||||||
for (NumGame = Pagination.FirstItemVisible;
|
for (NumGame = Pagination.FirstItemVisible;
|
||||||
|
@ -323,8 +289,7 @@ void Gam_ListAllGames (struct Gam_Games *Games)
|
||||||
Ale_ShowAlert (Ale_INFO,Txt_No_games);
|
Ale_ShowAlert (Ale_INFO,Txt_No_games);
|
||||||
|
|
||||||
/***** Write again links to pages *****/
|
/***** Write again links to pages *****/
|
||||||
Pag_WriteLinksToPagesCentered (Pag_GAMES,&Pagination,
|
Pag_WriteLinksToPagesCentered (Pag_GAMES,&Pagination,Games,-1L);
|
||||||
Games,-1L);
|
|
||||||
|
|
||||||
/***** End box *****/
|
/***** End box *****/
|
||||||
Box_BoxEnd ();
|
Box_BoxEnd ();
|
||||||
|
@ -333,6 +298,52 @@ void Gam_ListAllGames (struct Gam_Games *Games)
|
||||||
Gam_FreeListGames (Games);
|
Gam_FreeListGames (Games);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/**************** Write table heading when showing all games *****************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
static void Gam_ListAllGamesHeading (const struct Gam_Games *Games)
|
||||||
|
{
|
||||||
|
extern const char *Txt_GAMES_ORDER_HELP[Gam_NUM_ORDERS];
|
||||||
|
extern const char *Txt_GAMES_ORDER[Gam_NUM_ORDERS];
|
||||||
|
extern const char *Txt_Matches;
|
||||||
|
|
||||||
|
Gam_Order_t Order;
|
||||||
|
|
||||||
|
HTM_TR_Begin (NULL);
|
||||||
|
|
||||||
|
HTM_TH_Span (NULL,HTM_HEAD_CENTER,1,1,"CONTEXT_COL"); // Column for contextual icons
|
||||||
|
|
||||||
|
for (Order = (Gam_Order_t) 0;
|
||||||
|
Order <= (Gam_Order_t) (Gam_NUM_ORDERS - 1);
|
||||||
|
Order++)
|
||||||
|
{
|
||||||
|
HTM_TH_Begin (HTM_HEAD_LEFT);
|
||||||
|
|
||||||
|
/* Form to change order */
|
||||||
|
Frm_BeginForm (ActSeeAllGam);
|
||||||
|
Pag_PutParPagNum (Pag_GAMES,Games->CurrentPage);
|
||||||
|
Par_PutParUnsigned (NULL,"Order",(unsigned) Order);
|
||||||
|
|
||||||
|
HTM_BUTTON_Submit_Begin (Txt_GAMES_ORDER_HELP[Order],
|
||||||
|
"class=\"BT_LINK\"");
|
||||||
|
if (Order == Games->SelectedOrder)
|
||||||
|
HTM_U_Begin ();
|
||||||
|
HTM_Txt (Txt_GAMES_ORDER[Order]);
|
||||||
|
if (Order == Games->SelectedOrder)
|
||||||
|
HTM_U_End ();
|
||||||
|
HTM_BUTTON_End ();
|
||||||
|
|
||||||
|
Frm_EndForm ();
|
||||||
|
|
||||||
|
HTM_TH_End ();
|
||||||
|
}
|
||||||
|
|
||||||
|
HTM_TH (Txt_Matches,HTM_HEAD_RIGHT);
|
||||||
|
|
||||||
|
HTM_TR_End ();
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/************************ Check if I can edit games **************************/
|
/************************ Check if I can edit games **************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -444,7 +455,7 @@ void Gam_SeeOneGame (void)
|
||||||
/***** Show game *****/
|
/***** Show game *****/
|
||||||
Gam_ShowOnlyOneGame (&Games,
|
Gam_ShowOnlyOneGame (&Games,
|
||||||
false, // Do not list game questions
|
false, // Do not list game questions
|
||||||
false); // Do not put form to start new match
|
Frm_DONT_PUT_FORM); // Do not put form to start new match
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -519,7 +530,7 @@ static void Gam_ShowGameMainData (struct Gam_Games *Games,
|
||||||
|
|
||||||
/***** Begin box and table *****/
|
/***** Begin box and table *****/
|
||||||
if (ShowOnlyThisGame)
|
if (ShowOnlyThisGame)
|
||||||
HTM_TABLE_BeginWidePadding (2);
|
HTM_TABLE_Begin ("TBL_SCROLL");
|
||||||
|
|
||||||
/***** Begin first row of this game *****/
|
/***** Begin first row of this game *****/
|
||||||
HTM_TR_Begin (NULL);
|
HTM_TR_Begin (NULL);
|
||||||
|
@ -1194,7 +1205,7 @@ void Gam_ListGame (void)
|
||||||
/***** Show game *****/
|
/***** Show game *****/
|
||||||
Gam_ShowOnlyOneGame (&Games,
|
Gam_ShowOnlyOneGame (&Games,
|
||||||
true, // List game questions
|
true, // List game questions
|
||||||
false); // Do not put form to start new match
|
Frm_DONT_PUT_FORM); // Do not put form to start new match
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -1558,7 +1569,7 @@ void Gam_ReqSelectQstsToAddToGame (void)
|
||||||
/***** Show current game *****/
|
/***** Show current game *****/
|
||||||
Gam_ShowOnlyOneGame (&Games,
|
Gam_ShowOnlyOneGame (&Games,
|
||||||
true, // List game questions
|
true, // List game questions
|
||||||
false); // Do not put form to start new match
|
Frm_DONT_PUT_FORM); // Do not put form to start new match
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -1865,7 +1876,7 @@ void Gam_AddQstsToGame (void)
|
||||||
/***** Show current game *****/
|
/***** Show current game *****/
|
||||||
Gam_ShowOnlyOneGame (&Games,
|
Gam_ShowOnlyOneGame (&Games,
|
||||||
true, // List game questions
|
true, // List game questions
|
||||||
false); // Do not put form to start new match
|
Frm_DONT_PUT_FORM); // Do not put form to start new match
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -1935,7 +1946,7 @@ void Gam_ReqRemQstFromGame (void)
|
||||||
/***** Show current game *****/
|
/***** Show current game *****/
|
||||||
Gam_ShowOnlyOneGame (&Games,
|
Gam_ShowOnlyOneGame (&Games,
|
||||||
true, // List game questions
|
true, // List game questions
|
||||||
false); // Do not put form to start new match
|
Frm_DONT_PUT_FORM); // Do not put form to start new match
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -1983,7 +1994,7 @@ void Gam_RemoveQstFromGame (void)
|
||||||
/***** Show current game *****/
|
/***** Show current game *****/
|
||||||
Gam_ShowOnlyOneGame (&Games,
|
Gam_ShowOnlyOneGame (&Games,
|
||||||
true, // List game questions
|
true, // List game questions
|
||||||
false); // Do not put form to start new match
|
Frm_DONT_PUT_FORM); // Do not put form to start new match
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -2032,7 +2043,7 @@ void Gam_MoveUpQst (void)
|
||||||
/***** Show current game *****/
|
/***** Show current game *****/
|
||||||
Gam_ShowOnlyOneGame (&Games,
|
Gam_ShowOnlyOneGame (&Games,
|
||||||
true, // List game questions
|
true, // List game questions
|
||||||
false); // Do not put form to start new match
|
Frm_DONT_PUT_FORM); // Do not put form to start new match
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -2085,7 +2096,7 @@ void Gam_MoveDownQst (void)
|
||||||
/***** Show current game *****/
|
/***** Show current game *****/
|
||||||
Gam_ShowOnlyOneGame (&Games,
|
Gam_ShowOnlyOneGame (&Games,
|
||||||
true, // List game questions
|
true, // List game questions
|
||||||
false); // Do not put form to start new match
|
Frm_DONT_PUT_FORM); // Do not put form to start new match
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -101,6 +101,7 @@ const char *Ico_GetPreffix (Ico_Color_t Color)
|
||||||
{
|
{
|
||||||
[Ico_UNCHANGED] = NULL,
|
[Ico_UNCHANGED] = NULL,
|
||||||
[Ico_BLACK ] = "BLACK",
|
[Ico_BLACK ] = "BLACK",
|
||||||
|
[Ico_BLUE ] = "BLUE",
|
||||||
[Ico_GREEN ] = "GREEN",
|
[Ico_GREEN ] = "GREEN",
|
||||||
[Ico_RED ] = "RED",
|
[Ico_RED ] = "RED",
|
||||||
[Ico_WHITE ] = "WHITE",
|
[Ico_WHITE ] = "WHITE",
|
||||||
|
|
15
swad_icon.h
15
swad_icon.h
|
@ -46,15 +46,16 @@ typedef enum
|
||||||
} Ico_IconSet_t;
|
} Ico_IconSet_t;
|
||||||
#define Ico_ICON_SET_DEFAULT Ico_ICON_SET_AWESOME
|
#define Ico_ICON_SET_DEFAULT Ico_ICON_SET_AWESOME
|
||||||
|
|
||||||
#define Ico_NUM_COLORS 6
|
#define Ico_NUM_COLORS 7
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
Ico_UNCHANGED = 0,
|
Ico_UNCHANGED,
|
||||||
Ico_BLACK = 1,
|
Ico_BLACK,
|
||||||
Ico_GREEN = 2,
|
Ico_BLUE,
|
||||||
Ico_RED = 3,
|
Ico_GREEN,
|
||||||
Ico_WHITE = 4,
|
Ico_RED,
|
||||||
Ico_YELLOW = 5,
|
Ico_WHITE,
|
||||||
|
Ico_YELLOW,
|
||||||
} Ico_Color_t;
|
} Ico_Color_t;
|
||||||
|
|
||||||
struct Ico_IconColor
|
struct Ico_IconColor
|
||||||
|
|
68
swad_match.c
68
swad_match.c
|
@ -280,7 +280,7 @@ void Mch_ListMatches (struct Gam_Games *Games,Frm_PutForm_t PutFormNewMatch)
|
||||||
NumMatches = Mch_DB_GetMatchesInGame (&mysql_res,Games->Game.GamCod);
|
NumMatches = Mch_DB_GetMatchesInGame (&mysql_res,Games->Game.GamCod);
|
||||||
|
|
||||||
/***** Begin box *****/
|
/***** Begin box *****/
|
||||||
Box_BoxBegin ("100%",Txt_Matches,
|
Box_BoxBegin (NULL,Txt_Matches,
|
||||||
Mch_PutIconsInListOfMatches,Games,
|
Mch_PutIconsInListOfMatches,Games,
|
||||||
Hlp_ASSESSMENT_Games_matches,Box_NOT_CLOSABLE);
|
Hlp_ASSESSMENT_Games_matches,Box_NOT_CLOSABLE);
|
||||||
|
|
||||||
|
@ -309,17 +309,8 @@ void Mch_ListMatches (struct Gam_Games *Games,Frm_PutForm_t PutFormNewMatch)
|
||||||
DB_FreeMySQLResult (&mysql_res);
|
DB_FreeMySQLResult (&mysql_res);
|
||||||
|
|
||||||
/***** Put button to play a new match in this game *****/
|
/***** Put button to play a new match in this game *****/
|
||||||
switch (Gbl.Usrs.Me.Role.Logged)
|
if (PutFormNewMatch == Frm_PUT_FORM)
|
||||||
{
|
Mch_PutFormNewMatch (&Games->Game); // Form to fill in data and start playing a new match
|
||||||
case Rol_NET:
|
|
||||||
case Rol_TCH:
|
|
||||||
case Rol_SYS_ADM:
|
|
||||||
if (PutFormNewMatch == Frm_PUT_FORM)
|
|
||||||
Mch_PutFormNewMatch (&Games->Game); // Form to fill in data and start playing a new match
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
/***** End box *****/
|
/***** End box *****/
|
||||||
Box_BoxEnd ();
|
Box_BoxEnd ();
|
||||||
|
@ -394,7 +385,7 @@ static void Mch_ListOneOrMoreMatches (struct Gam_Games *Games,
|
||||||
Mch_ResetMatch (&Match);
|
Mch_ResetMatch (&Match);
|
||||||
|
|
||||||
/***** Begin table *****/
|
/***** Begin table *****/
|
||||||
HTM_TABLE_BeginWidePadding (2);
|
HTM_TABLE_Begin ("TBL_SCROLL");
|
||||||
|
|
||||||
/***** Write the heading *****/
|
/***** Write the heading *****/
|
||||||
Mch_ListOneOrMoreMatchesHeading (ICanEditMatches);
|
Mch_ListOneOrMoreMatchesHeading (ICanEditMatches);
|
||||||
|
@ -421,9 +412,6 @@ static void Mch_ListOneOrMoreMatches (struct Gam_Games *Games,
|
||||||
if (ICanEditMatches)
|
if (ICanEditMatches)
|
||||||
Mch_ListOneOrMoreMatchesIcons (Games,&Match,Anchor);
|
Mch_ListOneOrMoreMatchesIcons (Games,&Match,Anchor);
|
||||||
|
|
||||||
/* Match author */
|
|
||||||
Mch_ListOneOrMoreMatchesAuthor (Games,&Match);
|
|
||||||
|
|
||||||
/* Start/end date/time */
|
/* Start/end date/time */
|
||||||
Mch_ListOneOrMoreMatchesTimes (Games,&Match,UniqueId);
|
Mch_ListOneOrMoreMatchesTimes (Games,&Match,UniqueId);
|
||||||
|
|
||||||
|
@ -442,22 +430,32 @@ static void Mch_ListOneOrMoreMatches (struct Gam_Games *Games,
|
||||||
/* End first row */
|
/* End first row */
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
|
|
||||||
/***** Second row for this match used for edition ****/
|
/***** Second row for this match with author ****/
|
||||||
|
/* Begin second row */
|
||||||
|
HTM_TR_Begin (NULL);
|
||||||
|
|
||||||
|
/* Match author */
|
||||||
|
Mch_ListOneOrMoreMatchesAuthor (Games,&Match);
|
||||||
|
|
||||||
|
/* End second row */
|
||||||
|
HTM_TR_End ();
|
||||||
|
|
||||||
|
/***** Third row for this match used for edition ****/
|
||||||
if (Gbl.Action.Act == ActEdiMch && // Editing...
|
if (Gbl.Action.Act == ActEdiMch && // Editing...
|
||||||
Match.MchCod == Games->MchCod.Selected) // ...this match
|
Match.MchCod == Games->MchCod.Selected) // ...this match
|
||||||
/***** Check if I can edit this match *****/
|
/***** Check if I can edit this match *****/
|
||||||
if (Mch_CheckIfICanEditThisMatch (&Match))
|
if (Mch_CheckIfICanEditThisMatch (&Match))
|
||||||
{
|
{
|
||||||
/* Begin second row */
|
/* Begin third row */
|
||||||
HTM_TR_Begin (NULL);
|
HTM_TR_Begin (NULL);
|
||||||
|
|
||||||
/* Form to edit match */
|
/* Form to edit match */
|
||||||
HTM_TD_Begin ("colspan=\"8\" class=\"LT %s\"",
|
HTM_TD_Begin ("colspan=\"7\" class=\"LT %s\"",
|
||||||
The_GetColorRows ());
|
The_GetColorRows ());
|
||||||
Mch_PutFormExistingMatch (Games,&Match,Anchor); // Form to fill in data and edit this match
|
Mch_PutFormExistingMatch (Games,&Match,Anchor); // Form to fill in data and edit this match
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
/* End second row */
|
/* End third row */
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -476,7 +474,6 @@ static void Mch_ListOneOrMoreMatches (struct Gam_Games *Games,
|
||||||
|
|
||||||
static void Mch_ListOneOrMoreMatchesHeading (bool ICanEditMatches)
|
static void Mch_ListOneOrMoreMatchesHeading (bool ICanEditMatches)
|
||||||
{
|
{
|
||||||
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_START_END_TIME[Dat_NUM_START_END_TIME];
|
||||||
extern const char *Txt_Match;
|
extern const char *Txt_Match;
|
||||||
extern const char *Txt_Players;
|
extern const char *Txt_Players;
|
||||||
|
@ -491,11 +488,12 @@ static void Mch_ListOneOrMoreMatchesHeading (bool ICanEditMatches)
|
||||||
HTM_TH_Empty (1);
|
HTM_TH_Empty (1);
|
||||||
|
|
||||||
/***** The rest of columns *****/
|
/***** The rest of columns *****/
|
||||||
HTM_TH (Txt_ROLES_SINGUL_Abc[Rol_TCH][Usr_SEX_UNKNOWN],HTM_HEAD_LEFT );
|
|
||||||
HTM_TH (Txt_START_END_TIME[Gam_ORDER_BY_START_DATE] ,HTM_HEAD_LEFT );
|
HTM_TH (Txt_START_END_TIME[Gam_ORDER_BY_START_DATE] ,HTM_HEAD_LEFT );
|
||||||
HTM_TH (Txt_START_END_TIME[Gam_ORDER_BY_END_DATE ] ,HTM_HEAD_LEFT );
|
HTM_TH (Txt_START_END_TIME[Gam_ORDER_BY_END_DATE ] ,HTM_HEAD_LEFT );
|
||||||
HTM_TH (Txt_Match ,HTM_HEAD_LEFT );
|
HTM_TH (Txt_Match ,HTM_HEAD_LEFT );
|
||||||
HTM_TH (Txt_Players ,HTM_HEAD_RIGHT );
|
HTM_TH_Begin (HTM_HEAD_RIGHT);
|
||||||
|
Ico_PutIconOn ("users.svg",Ico_BLUE,Txt_Players);
|
||||||
|
HTM_TH_End ();
|
||||||
HTM_TH (Txt_Status ,HTM_HEAD_CENTER);
|
HTM_TH (Txt_Status ,HTM_HEAD_CENTER);
|
||||||
HTM_TH (Txt_Results ,HTM_HEAD_CENTER);
|
HTM_TH (Txt_Results ,HTM_HEAD_CENTER);
|
||||||
|
|
||||||
|
@ -559,7 +557,7 @@ static void Mch_ListOneOrMoreMatchesIcons (struct Gam_Games *Games,
|
||||||
const struct Mch_Match *Match,
|
const struct Mch_Match *Match,
|
||||||
const char *Anchor)
|
const char *Anchor)
|
||||||
{
|
{
|
||||||
HTM_TD_Begin ("class=\"BT %s\"",The_GetColorRows ());
|
HTM_TD_Begin ("rowspan=\"2\" class=\"BT %s\"",The_GetColorRows ());
|
||||||
|
|
||||||
if (Mch_CheckIfICanEditThisMatch (Match))
|
if (Mch_CheckIfICanEditThisMatch (Match))
|
||||||
{
|
{
|
||||||
|
@ -588,7 +586,7 @@ static void Mch_ListOneOrMoreMatchesAuthor (const struct Gam_Games *Games,
|
||||||
const struct Mch_Match *Match)
|
const struct Mch_Match *Match)
|
||||||
{
|
{
|
||||||
/***** Match author (teacher) *****/
|
/***** Match author (teacher) *****/
|
||||||
HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ());
|
HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"",The_GetColorRows ());
|
||||||
Usr_WriteAuthor1Line (Match->UsrCod,Games->Game.HiddenOrVisible);
|
Usr_WriteAuthor1Line (Match->UsrCod,Games->Game.HiddenOrVisible);
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
}
|
}
|
||||||
|
@ -644,7 +642,7 @@ static void Mch_ListOneOrMoreMatchesTitleGrps (const struct Gam_Games *Games,
|
||||||
extern const char *Txt_Play;
|
extern const char *Txt_Play;
|
||||||
extern const char *Txt_Resume;
|
extern const char *Txt_Resume;
|
||||||
|
|
||||||
HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ());
|
HTM_TD_Begin ("rowspan=\"2\" class=\"LT %s\"",The_GetColorRows ());
|
||||||
HTM_ARTICLE_Begin (Anchor);
|
HTM_ARTICLE_Begin (Anchor);
|
||||||
|
|
||||||
/***** Match title *****/
|
/***** Match title *****/
|
||||||
|
@ -742,7 +740,7 @@ static void Mch_ListOneOrMoreMatchesNumPlayers (const struct Gam_Games *Games,
|
||||||
extern const char *HidVis_DataClass[HidVis_NUM_HIDDEN_VISIBLE];
|
extern const char *HidVis_DataClass[HidVis_NUM_HIDDEN_VISIBLE];
|
||||||
|
|
||||||
/***** Number of players who have answered any question in the match ******/
|
/***** Number of players who have answered any question in the match ******/
|
||||||
HTM_TD_Begin ("class=\"RT %s_%s %s\"",
|
HTM_TD_Begin ("rowspan=\"2\" class=\"RT %s_%s %s\"",
|
||||||
HidVis_DataClass[Games->Game.HiddenOrVisible],The_GetSuffix (),
|
HidVis_DataClass[Games->Game.HiddenOrVisible],The_GetSuffix (),
|
||||||
The_GetColorRows ());
|
The_GetColorRows ());
|
||||||
HTM_Unsigned (Mch_DB_GetNumUsrsWhoHavePlayedMch (Match->MchCod));
|
HTM_Unsigned (Mch_DB_GetNumUsrsWhoHavePlayedMch (Match->MchCod));
|
||||||
|
@ -759,7 +757,7 @@ static void Mch_ListOneOrMoreMatchesStatus (const struct Gam_Games *Games,
|
||||||
{
|
{
|
||||||
extern const char *HidVis_DataClass[HidVis_NUM_HIDDEN_VISIBLE];
|
extern const char *HidVis_DataClass[HidVis_NUM_HIDDEN_VISIBLE];
|
||||||
|
|
||||||
HTM_TD_Begin ("class=\"CT DAT_%s %s\"",
|
HTM_TD_Begin ("rowspan=\"2\" class=\"CT DAT_%s %s\"",
|
||||||
The_GetSuffix (),The_GetColorRows ());
|
The_GetSuffix (),The_GetColorRows ());
|
||||||
|
|
||||||
if (Match->Status.Showing != Mch_END) // Match not over
|
if (Match->Status.Showing != Mch_END) // Match not over
|
||||||
|
@ -809,7 +807,7 @@ static void Mch_ListOneOrMoreMatchesResult (struct Gam_Games *Games,
|
||||||
[Rol_SYS_ADM] = Mch_ListOneOrMoreMatchesResultTch,
|
[Rol_SYS_ADM] = Mch_ListOneOrMoreMatchesResultTch,
|
||||||
};
|
};
|
||||||
|
|
||||||
HTM_TD_Begin ("class=\"CT %s\"",The_GetColorRows ());
|
HTM_TD_Begin ("rowspan=\"2\" class=\"CT %s\"",The_GetColorRows ());
|
||||||
|
|
||||||
if (Function[Gbl.Usrs.Me.Role.Logged])
|
if (Function[Gbl.Usrs.Me.Role.Logged])
|
||||||
Function[Gbl.Usrs.Me.Role.Logged] (Games,Match);
|
Function[Gbl.Usrs.Me.Role.Logged] (Games,Match);
|
||||||
|
@ -1253,6 +1251,18 @@ static void Mch_PutFormNewMatch (const struct Gam_Game *Game)
|
||||||
extern const char *Txt_Title;
|
extern const char *Txt_Title;
|
||||||
extern const char *Txt_Play;
|
extern const char *Txt_Play;
|
||||||
|
|
||||||
|
/***** Trivial check: roles allowed *****/
|
||||||
|
switch (Gbl.Usrs.Me.Role.Logged)
|
||||||
|
{
|
||||||
|
case Rol_NET:
|
||||||
|
case Rol_TCH:
|
||||||
|
case Rol_SYS_ADM:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Err_NoPermissionExit ();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
/***** Begin section for a new match *****/
|
/***** Begin section for a new match *****/
|
||||||
HTM_SECTION_Begin (Mch_NEW_MATCH_SECTION_ID);
|
HTM_SECTION_Begin (Mch_NEW_MATCH_SECTION_ID);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue