mirror of https://github.com/acanas/swad-core.git
Version 16.111.6
This commit is contained in:
parent
e879f0f6bc
commit
a0df9b5a9e
|
@ -78,6 +78,7 @@ static void Asg_GetParamAsgOrderType (void);
|
||||||
static void Asg_PutFormsToRemEditOneAsg (long AsgCod,bool Hidden);
|
static void Asg_PutFormsToRemEditOneAsg (long AsgCod,bool Hidden);
|
||||||
static void Asg_PutParams (void);
|
static void Asg_PutParams (void);
|
||||||
static void Asg_GetDataOfAssignment (struct Assignment *Asg,const char *Query);
|
static void Asg_GetDataOfAssignment (struct Assignment *Asg,const char *Query);
|
||||||
|
static void Asg_ResetAssignment (struct Assignment *Asg);
|
||||||
static void Asg_GetAssignmentTxtFromDB (long AsgCod,char *Txt);
|
static void Asg_GetAssignmentTxtFromDB (long AsgCod,char *Txt);
|
||||||
static void Asg_PutParamAsgCod (long AsgCod);
|
static void Asg_PutParamAsgCod (long AsgCod);
|
||||||
static bool Asg_CheckIfSimilarAssignmentExists (const char *Field,const char *Value,long AsgCod);
|
static bool Asg_CheckIfSimilarAssignmentExists (const char *Field,const char *Value,long AsgCod);
|
||||||
|
@ -684,18 +685,24 @@ void Asg_GetDataOfAssignmentByCod (struct Assignment *Asg)
|
||||||
{
|
{
|
||||||
char Query[1024];
|
char Query[1024];
|
||||||
|
|
||||||
/***** Build query *****/
|
if (Asg->AsgCod > 0)
|
||||||
sprintf (Query,"SELECT AsgCod,Hidden,UsrCod,"
|
{
|
||||||
"UNIX_TIMESTAMP(StartTime),"
|
/***** Build query *****/
|
||||||
"UNIX_TIMESTAMP(EndTime),"
|
sprintf (Query,"SELECT AsgCod,Hidden,UsrCod,"
|
||||||
"NOW() BETWEEN StartTime AND EndTime,"
|
"UNIX_TIMESTAMP(StartTime),"
|
||||||
"Title,Folder"
|
"UNIX_TIMESTAMP(EndTime),"
|
||||||
" FROM assignments"
|
"NOW() BETWEEN StartTime AND EndTime,"
|
||||||
" WHERE AsgCod='%ld' AND CrsCod='%ld'",
|
"Title,Folder"
|
||||||
Asg->AsgCod,Gbl.CurrentCrs.Crs.CrsCod);
|
" FROM assignments"
|
||||||
|
" WHERE AsgCod='%ld' AND CrsCod='%ld'",
|
||||||
|
Asg->AsgCod,Gbl.CurrentCrs.Crs.CrsCod);
|
||||||
|
|
||||||
/***** Get data of assignment *****/
|
/***** Get data of assignment *****/
|
||||||
Asg_GetDataOfAssignment (Asg,Query);
|
Asg_GetDataOfAssignment (Asg,Query);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
/***** Clear all assignment data *****/
|
||||||
|
Asg_ResetAssignment (Asg);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -706,18 +713,24 @@ void Asg_GetDataOfAssignmentByFolder (struct Assignment *Asg)
|
||||||
{
|
{
|
||||||
char Query[1024];
|
char Query[1024];
|
||||||
|
|
||||||
/***** Query database *****/
|
if (Asg->Folder[0])
|
||||||
sprintf (Query,"SELECT AsgCod,Hidden,UsrCod,"
|
{
|
||||||
"UNIX_TIMESTAMP(StartTime),"
|
/***** Query database *****/
|
||||||
"UNIX_TIMESTAMP(EndTime),"
|
sprintf (Query,"SELECT AsgCod,Hidden,UsrCod,"
|
||||||
"NOW() BETWEEN StartTime AND EndTime,"
|
"UNIX_TIMESTAMP(StartTime),"
|
||||||
"Title,Folder"
|
"UNIX_TIMESTAMP(EndTime),"
|
||||||
" FROM assignments"
|
"NOW() BETWEEN StartTime AND EndTime,"
|
||||||
" WHERE CrsCod='%ld' AND Folder='%s'",
|
"Title,Folder"
|
||||||
Gbl.CurrentCrs.Crs.CrsCod,Asg->Folder);
|
" FROM assignments"
|
||||||
|
" WHERE CrsCod='%ld' AND Folder='%s'",
|
||||||
|
Gbl.CurrentCrs.Crs.CrsCod,Asg->Folder);
|
||||||
|
|
||||||
/***** Get data of assignment *****/
|
/***** Get data of assignment *****/
|
||||||
Asg_GetDataOfAssignment (Asg,Query);
|
Asg_GetDataOfAssignment (Asg,Query);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
/***** Clear all assignment data *****/
|
||||||
|
Asg_ResetAssignment (Asg);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -731,16 +744,7 @@ static void Asg_GetDataOfAssignment (struct Assignment *Asg,const char *Query)
|
||||||
unsigned long NumRows;
|
unsigned long NumRows;
|
||||||
|
|
||||||
/***** Clear all assignment data *****/
|
/***** Clear all assignment data *****/
|
||||||
Asg->AsgCod = -1L;
|
Asg_ResetAssignment (Asg);
|
||||||
Asg->Hidden = false;
|
|
||||||
Asg->UsrCod = -1L;
|
|
||||||
Asg->TimeUTC[Dat_START_TIME] =
|
|
||||||
Asg->TimeUTC[Dat_END_TIME ] = (time_t) 0;
|
|
||||||
Asg->Open = false;
|
|
||||||
Asg->Title[0] = '\0';
|
|
||||||
Asg->SendWork = false;
|
|
||||||
Asg->Folder[0] = '\0';
|
|
||||||
Asg->IBelongToCrsOrGrps = false;
|
|
||||||
|
|
||||||
/***** Get data of assignment from database *****/
|
/***** Get data of assignment from database *****/
|
||||||
NumRows = DB_QuerySELECT (Query,&mysql_res,"can not get assignment data");
|
NumRows = DB_QuerySELECT (Query,&mysql_res,"can not get assignment data");
|
||||||
|
@ -783,6 +787,24 @@ static void Asg_GetDataOfAssignment (struct Assignment *Asg,const char *Query)
|
||||||
DB_FreeMySQLResult (&mysql_res);
|
DB_FreeMySQLResult (&mysql_res);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/************************* Clear all assignment data **************************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
static void Asg_ResetAssignment (struct Assignment *Asg)
|
||||||
|
{
|
||||||
|
Asg->AsgCod = -1L;
|
||||||
|
Asg->Hidden = false;
|
||||||
|
Asg->UsrCod = -1L;
|
||||||
|
Asg->TimeUTC[Dat_START_TIME] =
|
||||||
|
Asg->TimeUTC[Dat_END_TIME ] = (time_t) 0;
|
||||||
|
Asg->Open = false;
|
||||||
|
Asg->Title[0] = '\0';
|
||||||
|
Asg->SendWork = false;
|
||||||
|
Asg->Folder[0] = '\0';
|
||||||
|
Asg->IBelongToCrsOrGrps = false;
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/************************* Free list of assignments **************************/
|
/************************* Free list of assignments **************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -1264,19 +1286,23 @@ void Asg_RecFormAssignment (void)
|
||||||
extern const char *Txt_Created_new_assignment_X;
|
extern const char *Txt_Created_new_assignment_X;
|
||||||
extern const char *Txt_The_assignment_has_been_modified;
|
extern const char *Txt_The_assignment_has_been_modified;
|
||||||
extern const char *Txt_You_can_not_disable_file_uploading_once_folders_have_been_created;
|
extern const char *Txt_You_can_not_disable_file_uploading_once_folders_have_been_created;
|
||||||
struct Assignment OldAsg;
|
struct Assignment OldAsg; // Current assigment data in database
|
||||||
struct Assignment NewAsg;
|
struct Assignment NewAsg; // Assignment data received from form
|
||||||
bool ItsANewAssignment;
|
bool ItsANewAssignment;
|
||||||
bool NewAssignmentIsCorrect = true;
|
bool NewAssignmentIsCorrect = true;
|
||||||
unsigned NumUsrsToBeNotifiedByEMail;
|
unsigned NumUsrsToBeNotifiedByEMail;
|
||||||
char Txt[Cns_MAX_BYTES_TEXT+1];
|
char Txt[Cns_MAX_BYTES_TEXT+1];
|
||||||
|
|
||||||
/***** Get the code of the assignment *****/
|
/***** Get the code of the assignment *****/
|
||||||
ItsANewAssignment = ((NewAsg.AsgCod = Asg_GetParamAsgCod ()) == -1L);
|
NewAsg.AsgCod = Asg_GetParamAsgCod ();
|
||||||
|
ItsANewAssignment = (NewAsg.AsgCod < 0);
|
||||||
|
|
||||||
if (!ItsANewAssignment)
|
if (ItsANewAssignment)
|
||||||
|
/***** Reset old (current, not existing) assignment data *****/
|
||||||
|
Asg_ResetAssignment (&OldAsg);
|
||||||
|
else
|
||||||
{
|
{
|
||||||
/* Get data of the old (current) assignment from database */
|
/***** Get data of the old (current) assignment from database *****/
|
||||||
OldAsg.AsgCod = NewAsg.AsgCod;
|
OldAsg.AsgCod = NewAsg.AsgCod;
|
||||||
Asg_GetDataOfAssignmentByCod (&OldAsg);
|
Asg_GetDataOfAssignmentByCod (&OldAsg);
|
||||||
}
|
}
|
||||||
|
|
|
@ -189,13 +189,14 @@
|
||||||
/****************************** Public constants *****************************/
|
/****************************** Public constants *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 16.111.5 (2016-12-28)"
|
#define Log_PLATFORM_VERSION "SWAD 16.111.6 (2016-12-28)"
|
||||||
#define CSS_FILE "swad16.111.5.css"
|
#define CSS_FILE "swad16.111.5.css"
|
||||||
#define JS_FILE "swad16.101.js"
|
#define JS_FILE "swad16.101.js"
|
||||||
|
|
||||||
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
// 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
|
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1
|
||||||
/*
|
/*
|
||||||
|
Version 16.111.6: Dec 28, 2016 Fixed bug in assigments, reported by Coverity. (211109 lines)
|
||||||
Version 16.111.5: Dec 28, 2016 Changes in CSS related to tabs. (211084 lines)
|
Version 16.111.5: Dec 28, 2016 Changes in CSS related to tabs. (211084 lines)
|
||||||
Version 16.111.4: Dec 28, 2016 Fixed bug in file browser. (211336 lines)
|
Version 16.111.4: Dec 28, 2016 Fixed bug in file browser. (211336 lines)
|
||||||
Version 16.111.3: Dec 28, 2016 Unused code removed in file browsers. (211335 lines)
|
Version 16.111.3: Dec 28, 2016 Unused code removed in file browsers. (211335 lines)
|
||||||
|
|
Loading…
Reference in New Issue