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_PutParams (void);
|
||||
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_PutParamAsgCod (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];
|
||||
|
||||
/***** Build query *****/
|
||||
sprintf (Query,"SELECT AsgCod,Hidden,UsrCod,"
|
||||
"UNIX_TIMESTAMP(StartTime),"
|
||||
"UNIX_TIMESTAMP(EndTime),"
|
||||
"NOW() BETWEEN StartTime AND EndTime,"
|
||||
"Title,Folder"
|
||||
" FROM assignments"
|
||||
" WHERE AsgCod='%ld' AND CrsCod='%ld'",
|
||||
Asg->AsgCod,Gbl.CurrentCrs.Crs.CrsCod);
|
||||
if (Asg->AsgCod > 0)
|
||||
{
|
||||
/***** Build query *****/
|
||||
sprintf (Query,"SELECT AsgCod,Hidden,UsrCod,"
|
||||
"UNIX_TIMESTAMP(StartTime),"
|
||||
"UNIX_TIMESTAMP(EndTime),"
|
||||
"NOW() BETWEEN StartTime AND EndTime,"
|
||||
"Title,Folder"
|
||||
" FROM assignments"
|
||||
" WHERE AsgCod='%ld' AND CrsCod='%ld'",
|
||||
Asg->AsgCod,Gbl.CurrentCrs.Crs.CrsCod);
|
||||
|
||||
/***** Get data of assignment *****/
|
||||
Asg_GetDataOfAssignment (Asg,Query);
|
||||
/***** Get data of assignment *****/
|
||||
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];
|
||||
|
||||
/***** Query database *****/
|
||||
sprintf (Query,"SELECT AsgCod,Hidden,UsrCod,"
|
||||
"UNIX_TIMESTAMP(StartTime),"
|
||||
"UNIX_TIMESTAMP(EndTime),"
|
||||
"NOW() BETWEEN StartTime AND EndTime,"
|
||||
"Title,Folder"
|
||||
" FROM assignments"
|
||||
" WHERE CrsCod='%ld' AND Folder='%s'",
|
||||
Gbl.CurrentCrs.Crs.CrsCod,Asg->Folder);
|
||||
if (Asg->Folder[0])
|
||||
{
|
||||
/***** Query database *****/
|
||||
sprintf (Query,"SELECT AsgCod,Hidden,UsrCod,"
|
||||
"UNIX_TIMESTAMP(StartTime),"
|
||||
"UNIX_TIMESTAMP(EndTime),"
|
||||
"NOW() BETWEEN StartTime AND EndTime,"
|
||||
"Title,Folder"
|
||||
" FROM assignments"
|
||||
" WHERE CrsCod='%ld' AND Folder='%s'",
|
||||
Gbl.CurrentCrs.Crs.CrsCod,Asg->Folder);
|
||||
|
||||
/***** Get data of assignment *****/
|
||||
Asg_GetDataOfAssignment (Asg,Query);
|
||||
/***** Get data of assignment *****/
|
||||
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;
|
||||
|
||||
/***** Clear all assignment data *****/
|
||||
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;
|
||||
Asg_ResetAssignment (Asg);
|
||||
|
||||
/***** Get data of assignment from database *****/
|
||||
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);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************************* 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 **************************/
|
||||
/*****************************************************************************/
|
||||
|
@ -1264,19 +1286,23 @@ void Asg_RecFormAssignment (void)
|
|||
extern const char *Txt_Created_new_assignment_X;
|
||||
extern const char *Txt_The_assignment_has_been_modified;
|
||||
extern const char *Txt_You_can_not_disable_file_uploading_once_folders_have_been_created;
|
||||
struct Assignment OldAsg;
|
||||
struct Assignment NewAsg;
|
||||
struct Assignment OldAsg; // Current assigment data in database
|
||||
struct Assignment NewAsg; // Assignment data received from form
|
||||
bool ItsANewAssignment;
|
||||
bool NewAssignmentIsCorrect = true;
|
||||
unsigned NumUsrsToBeNotifiedByEMail;
|
||||
char Txt[Cns_MAX_BYTES_TEXT+1];
|
||||
|
||||
/***** 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;
|
||||
Asg_GetDataOfAssignmentByCod (&OldAsg);
|
||||
}
|
||||
|
|
|
@ -189,13 +189,14 @@
|
|||
/****************************** 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 JS_FILE "swad16.101.js"
|
||||
|
||||
// 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 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.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)
|
||||
|
|
Loading…
Reference in New Issue