mirror of https://github.com/acanas/swad-core.git
Version 15.43.1
This commit is contained in:
parent
7045feb554
commit
39ecd35798
|
@ -772,6 +772,7 @@ Assessment:
|
|||
629. ActSeeOneTstExaOth Show one test exam of other user
|
||||
|
||||
630. ActPrnCal Show print view of the academic calendar of the course
|
||||
------> 630. ActChgCal1stDay Change first day of week and show academic calendar of the course
|
||||
|
||||
631. ActEdiExaAnn Edit an exam announcement
|
||||
632. ActRcvExaAnn Receive an exam announcement
|
||||
|
@ -2200,6 +2201,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
|||
/* ActSeeOneTstExaOth*/{1082,-1,TabAss,ActReqTst ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Tst_ShowOneTestExam ,NULL},
|
||||
|
||||
/* ActPrnCal */{ 71,-1,TabAss,ActSeeCal ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_NEW_WINDOW ,NULL ,Cal_DrawCalendar ,NULL},
|
||||
/* ActChgCal1stDay */{1485,-1,TabAss,ActSeeCal ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Cal_ChangeFirstDayOfWeek ,Cal_DrawCalendar ,NULL},
|
||||
|
||||
/* ActEdiExaAnn */{ 91,-1,TabAss,ActSeeExaAnn ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Exa_PutFrmEditAExamAnnouncement,NULL},
|
||||
/* ActRcvExaAnn */{ 110,-1,TabAss,ActSeeExaAnn ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Exa_ReceiveExamAnnouncement ,NULL},
|
||||
|
@ -4281,6 +4283,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
|
|||
ActNewMaiStd, // #1482
|
||||
ActNewMaiTch, // #1483
|
||||
ActChg1stDay, // #1484
|
||||
ActChgCal1stDay, // #1485
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
125
swad_action.h
125
swad_action.h
|
@ -70,9 +70,9 @@ typedef enum
|
|||
|
||||
typedef int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action
|
||||
|
||||
#define Act_NUM_ACTIONS (7+52+15+90+73+68+204+182+154+171+27+80)
|
||||
#define Act_NUM_ACTIONS (7+52+15+90+73+68+204+183+154+171+27+80)
|
||||
|
||||
#define Act_MAX_ACTION_COD 1484
|
||||
#define Act_MAX_ACTION_COD 1485
|
||||
|
||||
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 20
|
||||
|
||||
|
@ -794,73 +794,74 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
|
|||
#define ActSeeOneTstExaOth (ActRcvRchTxtCrsLnk+121)
|
||||
|
||||
#define ActPrnCal (ActRcvRchTxtCrsLnk+122)
|
||||
#define ActChgCal1stDay (ActRcvRchTxtCrsLnk+123)
|
||||
|
||||
#define ActEdiExaAnn (ActRcvRchTxtCrsLnk+123)
|
||||
#define ActRcvExaAnn (ActRcvRchTxtCrsLnk+124)
|
||||
#define ActPrnExaAnn (ActRcvRchTxtCrsLnk+125)
|
||||
#define ActRemExaAnn (ActRcvRchTxtCrsLnk+126)
|
||||
#define ActEdiExaAnn (ActRcvRchTxtCrsLnk+124)
|
||||
#define ActRcvExaAnn (ActRcvRchTxtCrsLnk+125)
|
||||
#define ActPrnExaAnn (ActRcvRchTxtCrsLnk+126)
|
||||
#define ActRemExaAnn (ActRcvRchTxtCrsLnk+127)
|
||||
|
||||
#define ActChgToSeeMrk (ActRcvRchTxtCrsLnk+127)
|
||||
#define ActChgToSeeMrk (ActRcvRchTxtCrsLnk+128)
|
||||
|
||||
#define ActSeeMrkCrs (ActRcvRchTxtCrsLnk+128)
|
||||
#define ActExpSeeMrkCrs (ActRcvRchTxtCrsLnk+129)
|
||||
#define ActConSeeMrkCrs (ActRcvRchTxtCrsLnk+130)
|
||||
#define ActReqDatSeeMrkCrs (ActRcvRchTxtCrsLnk+131)
|
||||
#define ActSeeMyMrkCrs (ActRcvRchTxtCrsLnk+132)
|
||||
#define ActSeeMrkCrs (ActRcvRchTxtCrsLnk+129)
|
||||
#define ActExpSeeMrkCrs (ActRcvRchTxtCrsLnk+130)
|
||||
#define ActConSeeMrkCrs (ActRcvRchTxtCrsLnk+131)
|
||||
#define ActReqDatSeeMrkCrs (ActRcvRchTxtCrsLnk+132)
|
||||
#define ActSeeMyMrkCrs (ActRcvRchTxtCrsLnk+133)
|
||||
|
||||
#define ActSeeMrkGrp (ActRcvRchTxtCrsLnk+133)
|
||||
#define ActExpSeeMrkGrp (ActRcvRchTxtCrsLnk+134)
|
||||
#define ActConSeeMrkGrp (ActRcvRchTxtCrsLnk+135)
|
||||
#define ActReqDatSeeMrkGrp (ActRcvRchTxtCrsLnk+136)
|
||||
#define ActSeeMyMrkGrp (ActRcvRchTxtCrsLnk+137)
|
||||
#define ActSeeMrkGrp (ActRcvRchTxtCrsLnk+134)
|
||||
#define ActExpSeeMrkGrp (ActRcvRchTxtCrsLnk+135)
|
||||
#define ActConSeeMrkGrp (ActRcvRchTxtCrsLnk+136)
|
||||
#define ActReqDatSeeMrkGrp (ActRcvRchTxtCrsLnk+137)
|
||||
#define ActSeeMyMrkGrp (ActRcvRchTxtCrsLnk+138)
|
||||
|
||||
#define ActChgToAdmMrk (ActRcvRchTxtCrsLnk+138)
|
||||
#define ActChgToAdmMrk (ActRcvRchTxtCrsLnk+139)
|
||||
|
||||
#define ActAdmMrkCrs (ActRcvRchTxtCrsLnk+139)
|
||||
#define ActReqRemFilMrkCrs (ActRcvRchTxtCrsLnk+140)
|
||||
#define ActRemFilMrkCrs (ActRcvRchTxtCrsLnk+141)
|
||||
#define ActRemFolMrkCrs (ActRcvRchTxtCrsLnk+142)
|
||||
#define ActCopMrkCrs (ActRcvRchTxtCrsLnk+143)
|
||||
#define ActPasMrkCrs (ActRcvRchTxtCrsLnk+144)
|
||||
#define ActRemTreMrkCrs (ActRcvRchTxtCrsLnk+145)
|
||||
#define ActFrmCreMrkCrs (ActRcvRchTxtCrsLnk+146)
|
||||
#define ActCreFolMrkCrs (ActRcvRchTxtCrsLnk+147)
|
||||
#define ActRenFolMrkCrs (ActRcvRchTxtCrsLnk+148)
|
||||
#define ActRcvFilMrkCrsDZ (ActRcvRchTxtCrsLnk+149)
|
||||
#define ActRcvFilMrkCrsCla (ActRcvRchTxtCrsLnk+150)
|
||||
#define ActExpAdmMrkCrs (ActRcvRchTxtCrsLnk+151)
|
||||
#define ActConAdmMrkCrs (ActRcvRchTxtCrsLnk+152)
|
||||
#define ActZIPAdmMrkCrs (ActRcvRchTxtCrsLnk+153)
|
||||
#define ActShoMrkCrs (ActRcvRchTxtCrsLnk+154)
|
||||
#define ActHidMrkCrs (ActRcvRchTxtCrsLnk+155)
|
||||
#define ActReqDatAdmMrkCrs (ActRcvRchTxtCrsLnk+156)
|
||||
#define ActChgDatAdmMrkCrs (ActRcvRchTxtCrsLnk+157)
|
||||
#define ActDowAdmMrkCrs (ActRcvRchTxtCrsLnk+158)
|
||||
#define ActChgNumRowHeaCrs (ActRcvRchTxtCrsLnk+159)
|
||||
#define ActChgNumRowFooCrs (ActRcvRchTxtCrsLnk+160)
|
||||
#define ActAdmMrkCrs (ActRcvRchTxtCrsLnk+140)
|
||||
#define ActReqRemFilMrkCrs (ActRcvRchTxtCrsLnk+141)
|
||||
#define ActRemFilMrkCrs (ActRcvRchTxtCrsLnk+142)
|
||||
#define ActRemFolMrkCrs (ActRcvRchTxtCrsLnk+143)
|
||||
#define ActCopMrkCrs (ActRcvRchTxtCrsLnk+144)
|
||||
#define ActPasMrkCrs (ActRcvRchTxtCrsLnk+145)
|
||||
#define ActRemTreMrkCrs (ActRcvRchTxtCrsLnk+146)
|
||||
#define ActFrmCreMrkCrs (ActRcvRchTxtCrsLnk+147)
|
||||
#define ActCreFolMrkCrs (ActRcvRchTxtCrsLnk+148)
|
||||
#define ActRenFolMrkCrs (ActRcvRchTxtCrsLnk+149)
|
||||
#define ActRcvFilMrkCrsDZ (ActRcvRchTxtCrsLnk+150)
|
||||
#define ActRcvFilMrkCrsCla (ActRcvRchTxtCrsLnk+151)
|
||||
#define ActExpAdmMrkCrs (ActRcvRchTxtCrsLnk+152)
|
||||
#define ActConAdmMrkCrs (ActRcvRchTxtCrsLnk+153)
|
||||
#define ActZIPAdmMrkCrs (ActRcvRchTxtCrsLnk+154)
|
||||
#define ActShoMrkCrs (ActRcvRchTxtCrsLnk+155)
|
||||
#define ActHidMrkCrs (ActRcvRchTxtCrsLnk+156)
|
||||
#define ActReqDatAdmMrkCrs (ActRcvRchTxtCrsLnk+157)
|
||||
#define ActChgDatAdmMrkCrs (ActRcvRchTxtCrsLnk+158)
|
||||
#define ActDowAdmMrkCrs (ActRcvRchTxtCrsLnk+159)
|
||||
#define ActChgNumRowHeaCrs (ActRcvRchTxtCrsLnk+160)
|
||||
#define ActChgNumRowFooCrs (ActRcvRchTxtCrsLnk+161)
|
||||
|
||||
#define ActAdmMrkGrp (ActRcvRchTxtCrsLnk+161)
|
||||
#define ActReqRemFilMrkGrp (ActRcvRchTxtCrsLnk+162)
|
||||
#define ActRemFilMrkGrp (ActRcvRchTxtCrsLnk+163)
|
||||
#define ActRemFolMrkGrp (ActRcvRchTxtCrsLnk+164)
|
||||
#define ActCopMrkGrp (ActRcvRchTxtCrsLnk+165)
|
||||
#define ActPasMrkGrp (ActRcvRchTxtCrsLnk+166)
|
||||
#define ActRemTreMrkGrp (ActRcvRchTxtCrsLnk+167)
|
||||
#define ActFrmCreMrkGrp (ActRcvRchTxtCrsLnk+168)
|
||||
#define ActCreFolMrkGrp (ActRcvRchTxtCrsLnk+169)
|
||||
#define ActRenFolMrkGrp (ActRcvRchTxtCrsLnk+170)
|
||||
#define ActRcvFilMrkGrpDZ (ActRcvRchTxtCrsLnk+171)
|
||||
#define ActRcvFilMrkGrpCla (ActRcvRchTxtCrsLnk+172)
|
||||
#define ActExpAdmMrkGrp (ActRcvRchTxtCrsLnk+173)
|
||||
#define ActConAdmMrkGrp (ActRcvRchTxtCrsLnk+174)
|
||||
#define ActZIPAdmMrkGrp (ActRcvRchTxtCrsLnk+175)
|
||||
#define ActShoMrkGrp (ActRcvRchTxtCrsLnk+176)
|
||||
#define ActHidMrkGrp (ActRcvRchTxtCrsLnk+177)
|
||||
#define ActReqDatAdmMrkGrp (ActRcvRchTxtCrsLnk+178)
|
||||
#define ActChgDatAdmMrkGrp (ActRcvRchTxtCrsLnk+179)
|
||||
#define ActDowAdmMrkGrp (ActRcvRchTxtCrsLnk+180)
|
||||
#define ActChgNumRowHeaGrp (ActRcvRchTxtCrsLnk+181)
|
||||
#define ActChgNumRowFooGrp (ActRcvRchTxtCrsLnk+182)
|
||||
#define ActAdmMrkGrp (ActRcvRchTxtCrsLnk+162)
|
||||
#define ActReqRemFilMrkGrp (ActRcvRchTxtCrsLnk+163)
|
||||
#define ActRemFilMrkGrp (ActRcvRchTxtCrsLnk+164)
|
||||
#define ActRemFolMrkGrp (ActRcvRchTxtCrsLnk+165)
|
||||
#define ActCopMrkGrp (ActRcvRchTxtCrsLnk+166)
|
||||
#define ActPasMrkGrp (ActRcvRchTxtCrsLnk+167)
|
||||
#define ActRemTreMrkGrp (ActRcvRchTxtCrsLnk+168)
|
||||
#define ActFrmCreMrkGrp (ActRcvRchTxtCrsLnk+169)
|
||||
#define ActCreFolMrkGrp (ActRcvRchTxtCrsLnk+170)
|
||||
#define ActRenFolMrkGrp (ActRcvRchTxtCrsLnk+171)
|
||||
#define ActRcvFilMrkGrpDZ (ActRcvRchTxtCrsLnk+172)
|
||||
#define ActRcvFilMrkGrpCla (ActRcvRchTxtCrsLnk+173)
|
||||
#define ActExpAdmMrkGrp (ActRcvRchTxtCrsLnk+174)
|
||||
#define ActConAdmMrkGrp (ActRcvRchTxtCrsLnk+175)
|
||||
#define ActZIPAdmMrkGrp (ActRcvRchTxtCrsLnk+176)
|
||||
#define ActShoMrkGrp (ActRcvRchTxtCrsLnk+177)
|
||||
#define ActHidMrkGrp (ActRcvRchTxtCrsLnk+178)
|
||||
#define ActReqDatAdmMrkGrp (ActRcvRchTxtCrsLnk+179)
|
||||
#define ActChgDatAdmMrkGrp (ActRcvRchTxtCrsLnk+180)
|
||||
#define ActDowAdmMrkGrp (ActRcvRchTxtCrsLnk+181)
|
||||
#define ActChgNumRowHeaGrp (ActRcvRchTxtCrsLnk+182)
|
||||
#define ActChgNumRowFooGrp (ActRcvRchTxtCrsLnk+183)
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************************* Users tab ***********************************/
|
||||
|
|
|
@ -59,6 +59,9 @@ const bool Cal_DayIsValidAsFirstDayOfWeek[7] =
|
|||
/***************************** Private prototypes ****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Cal_ShowFormInCalendarToSelectFirstDayOfWeek (void);
|
||||
static void Cal_ShowFormToSelectFirstDayOfWeek (Act_Action_t Action,const char *ClassIcon);
|
||||
|
||||
static unsigned Cal_GetParamFirstDayOfWeek (void);
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -68,11 +71,33 @@ static unsigned Cal_GetParamFirstDayOfWeek (void);
|
|||
void Cal_PutIconsToSelectFirstDayOfWeek (void)
|
||||
{
|
||||
extern const char *Txt_Calendar;
|
||||
|
||||
Lay_StartRoundFrameTable (NULL,2,Txt_Calendar);
|
||||
Cal_ShowFormToSelectFirstDayOfWeek (ActChg1stDay,"ICON32x32");
|
||||
Lay_EndRoundFrameTable ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************** Show form to select the first day of the week ****************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Cal_ShowFormInCalendarToSelectFirstDayOfWeek (void)
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\" style=\"margin:0 auto;\">");
|
||||
Cal_ShowFormToSelectFirstDayOfWeek (ActChgCal1stDay,"ICON28x28");
|
||||
fprintf (Gbl.F.Out,"</table>");
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/******** Show form in calendar to select the first day of the week **********/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Cal_ShowFormToSelectFirstDayOfWeek (Act_Action_t Action,const char *ClassIcon)
|
||||
{
|
||||
extern const char *Txt_First_day_of_the_week;
|
||||
extern const char *Txt_DAYS_SMALL[7];
|
||||
unsigned FirstDayOfWeek;
|
||||
|
||||
Lay_StartRoundFrameTable (NULL,2,Txt_Calendar);
|
||||
fprintf (Gbl.F.Out,"<tr>");
|
||||
for (FirstDayOfWeek = 0; // Monday
|
||||
FirstDayOfWeek <= 6; // Sunday
|
||||
|
@ -82,20 +107,20 @@ void Cal_PutIconsToSelectFirstDayOfWeek (void)
|
|||
fprintf (Gbl.F.Out,"<td class=\"%s\">",
|
||||
FirstDayOfWeek == Gbl.Prefs.FirstDayOfWeek ? "LAYOUT_ON" :
|
||||
"LAYOUT_OFF");
|
||||
Act_FormStart (ActChg1stDay);
|
||||
Act_FormStart (Action);
|
||||
Par_PutHiddenParamUnsigned ("FirstDayOfWeek",FirstDayOfWeek);
|
||||
fprintf (Gbl.F.Out,"<input type=\"image\" src=\"%s/first-day-of-week-%u-64x64.png\""
|
||||
" alt=\"%s\" title=\"%s: %s\" class=\"ICON32x32B\""
|
||||
" alt=\"%s\" title=\"%s: %s\" class=\"%s\""
|
||||
" style=\"margin:0 auto;\" />",
|
||||
Gbl.Prefs.IconsURL,
|
||||
FirstDayOfWeek,
|
||||
Txt_DAYS_SMALL[FirstDayOfWeek],
|
||||
Txt_First_day_of_the_week,Txt_DAYS_SMALL[FirstDayOfWeek]);
|
||||
Txt_First_day_of_the_week,Txt_DAYS_SMALL[FirstDayOfWeek],
|
||||
ClassIcon);
|
||||
Act_FormEnd ();
|
||||
fprintf (Gbl.F.Out,"</td>");
|
||||
}
|
||||
fprintf (Gbl.F.Out,"</tr>");
|
||||
Lay_EndRoundFrameTable ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -235,10 +260,15 @@ void Cal_DrawCalendar (void)
|
|||
Gbl.CurrentCrs.Crs.CrsCod);
|
||||
|
||||
/***** Draw several months *****/
|
||||
/* JavaScript will write HTML here */
|
||||
fprintf (Gbl.F.Out,"<tr>"
|
||||
"<td class=\"CENTER_TOP\">"
|
||||
"<div id=\"calendar\">"
|
||||
"<td class=\"CENTER_TOP\">");
|
||||
|
||||
/* Show form to change first day of week */
|
||||
if (!PrintView)
|
||||
Cal_ShowFormInCalendarToSelectFirstDayOfWeek ();
|
||||
|
||||
/* JavaScript will write HTML here */
|
||||
fprintf (Gbl.F.Out,"<div id=\"calendar\">"
|
||||
"</div>");
|
||||
|
||||
/* Write script to draw the month */
|
||||
|
|
|
@ -111,11 +111,15 @@
|
|||
/****************************** Public constants *****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 15.43 (2015/11/21)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 15.43.1 (2015/11/22)"
|
||||
|
||||
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
||||
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1
|
||||
/*
|
||||
Version 15.43.1: Nov 22, 2015 New figure (statistic) about first day of week. (187722 lines)
|
||||
1 change necessary in database:
|
||||
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1485','es','N','Cambiar primer día semana en calendario');
|
||||
|
||||
Version 15.43: Nov 21, 2015 New figure (statistic) about first day of week. (187693 lines)
|
||||
Version 15.42.4: Nov 21, 2015 Fixed bug when getting first day of week from IP preferences. (187535 lines)
|
||||
Version 15.42.3: Nov 21, 2015 Stats of hits distributed by week depend on user's preference about first day of the week. (187528 lines)
|
||||
|
|
Loading…
Reference in New Issue