mirror of
https://github.com/acanas/swad-core.git
synced 2024-05-28 20:43:27 +02:00
Version 16.154.4
This commit is contained in:
parent
72817bd1a1
commit
1dce7654a1
|
@ -110,7 +110,7 @@ CREATE TABLE IF NOT EXISTS att_events (
|
||||||
StartTime DATETIME NOT NULL,
|
StartTime DATETIME NOT NULL,
|
||||||
EndTime DATETIME NOT NULL,
|
EndTime DATETIME NOT NULL,
|
||||||
CommentTchVisible ENUM('N','Y') NOT NULL DEFAULT 'N',
|
CommentTchVisible ENUM('N','Y') NOT NULL DEFAULT 'N',
|
||||||
Title VARCHAR(255) NOT NULL,
|
Title VARCHAR(2047) NOT NULL,
|
||||||
Txt TEXT NOT NULL,
|
Txt TEXT NOT NULL,
|
||||||
UNIQUE INDEX(AttCod),
|
UNIQUE INDEX(AttCod),
|
||||||
INDEX(CrsCod,Hidden));
|
INDEX(CrsCod,Hidden));
|
||||||
|
|
|
@ -1486,7 +1486,10 @@ static bool Agd_CheckIfSimilarEventExists (struct AgendaEvent *AgdEvent)
|
||||||
|
|
||||||
static void Agd_CreateEvent (struct AgendaEvent *AgdEvent,const char *Txt)
|
static void Agd_CreateEvent (struct AgendaEvent *AgdEvent,const char *Txt)
|
||||||
{
|
{
|
||||||
char Query[1024 + Cns_MAX_BYTES_TEXT];
|
char Query[1024 +
|
||||||
|
Agd_MAX_BYTES_EVENT +
|
||||||
|
Agd_MAX_BYTES_LOCATION +
|
||||||
|
Cns_MAX_BYTES_TEXT];
|
||||||
|
|
||||||
/***** Create a new event *****/
|
/***** Create a new event *****/
|
||||||
sprintf (Query,"INSERT INTO agendas"
|
sprintf (Query,"INSERT INTO agendas"
|
||||||
|
@ -1509,7 +1512,10 @@ static void Agd_CreateEvent (struct AgendaEvent *AgdEvent,const char *Txt)
|
||||||
|
|
||||||
static void Agd_UpdateEvent (struct AgendaEvent *AgdEvent,const char *Txt)
|
static void Agd_UpdateEvent (struct AgendaEvent *AgdEvent,const char *Txt)
|
||||||
{
|
{
|
||||||
char Query[1024 + Cns_MAX_BYTES_TEXT];
|
char Query[1024 +
|
||||||
|
Agd_MAX_BYTES_EVENT +
|
||||||
|
Agd_MAX_BYTES_LOCATION +
|
||||||
|
Cns_MAX_BYTES_TEXT];
|
||||||
|
|
||||||
/***** Update the data of the event *****/
|
/***** Update the data of the event *****/
|
||||||
sprintf (Query,"UPDATE agendas SET "
|
sprintf (Query,"UPDATE agendas SET "
|
||||||
|
|
|
@ -678,7 +678,7 @@ void Asg_GetDataOfAssignmentByCod (struct Assignment *Asg)
|
||||||
|
|
||||||
void Asg_GetDataOfAssignmentByFolder (struct Assignment *Asg)
|
void Asg_GetDataOfAssignmentByFolder (struct Assignment *Asg)
|
||||||
{
|
{
|
||||||
char Query[1024];
|
char Query[1024 + Brw_MAX_BYTES_FOLDER];
|
||||||
|
|
||||||
if (Asg->Folder[0])
|
if (Asg->Folder[0])
|
||||||
{
|
{
|
||||||
|
@ -1044,7 +1044,7 @@ void Asg_ShowAssignment (void)
|
||||||
|
|
||||||
static bool Asg_CheckIfSimilarAssignmentExists (const char *Field,const char *Value,long AsgCod)
|
static bool Asg_CheckIfSimilarAssignmentExists (const char *Field,const char *Value,long AsgCod)
|
||||||
{
|
{
|
||||||
char Query[512];
|
char Query[256 + Asg_MAX_BYTES_ASSIGNMENT_TITLE];
|
||||||
|
|
||||||
/***** Get number of assignments with a field value from database *****/
|
/***** Get number of assignments with a field value from database *****/
|
||||||
sprintf (Query,"SELECT COUNT(*) FROM assignments"
|
sprintf (Query,"SELECT COUNT(*) FROM assignments"
|
||||||
|
@ -1418,7 +1418,9 @@ static void Asg_UpdateNumUsrsNotifiedByEMailAboutAssignment (long AsgCod,unsigne
|
||||||
|
|
||||||
static void Asg_CreateAssignment (struct Assignment *Asg,const char *Txt)
|
static void Asg_CreateAssignment (struct Assignment *Asg,const char *Txt)
|
||||||
{
|
{
|
||||||
char Query[1024 + Cns_MAX_BYTES_TEXT];
|
char Query[1024 +
|
||||||
|
Asg_MAX_BYTES_ASSIGNMENT_TITLE +
|
||||||
|
Cns_MAX_BYTES_TEXT];
|
||||||
|
|
||||||
/***** Create a new assignment *****/
|
/***** Create a new assignment *****/
|
||||||
sprintf (Query,"INSERT INTO assignments"
|
sprintf (Query,"INSERT INTO assignments"
|
||||||
|
@ -1446,7 +1448,9 @@ static void Asg_CreateAssignment (struct Assignment *Asg,const char *Txt)
|
||||||
|
|
||||||
static void Asg_UpdateAssignment (struct Assignment *Asg,const char *Txt)
|
static void Asg_UpdateAssignment (struct Assignment *Asg,const char *Txt)
|
||||||
{
|
{
|
||||||
char Query[1024 + Cns_MAX_BYTES_TEXT];
|
char Query[1024 +
|
||||||
|
Asg_MAX_BYTES_ASSIGNMENT_TITLE +
|
||||||
|
Cns_MAX_BYTES_TEXT];
|
||||||
|
|
||||||
/***** Update the data of the assignment *****/
|
/***** Update the data of the assignment *****/
|
||||||
sprintf (Query,"UPDATE assignments SET "
|
sprintf (Query,"UPDATE assignments SET "
|
||||||
|
@ -1491,10 +1495,11 @@ static bool Asg_CheckIfAsgIsAssociatedToGrps (long AsgCod)
|
||||||
|
|
||||||
bool Asg_CheckIfAsgIsAssociatedToGrp (long AsgCod,long GrpCod)
|
bool Asg_CheckIfAsgIsAssociatedToGrp (long AsgCod,long GrpCod)
|
||||||
{
|
{
|
||||||
char Query[512];
|
char Query[256];
|
||||||
|
|
||||||
/***** Get if an assignment is associated to a group from database *****/
|
/***** Get if an assignment is associated to a group from database *****/
|
||||||
sprintf (Query,"SELECT COUNT(*) FROM asg_grp WHERE AsgCod='%ld' AND GrpCod='%ld'",
|
sprintf (Query,"SELECT COUNT(*) FROM asg_grp"
|
||||||
|
" WHERE AsgCod='%ld' AND GrpCod='%ld'",
|
||||||
AsgCod,GrpCod);
|
AsgCod,GrpCod);
|
||||||
return (DB_QueryCOUNT (Query,"can not check if an assignment is associated to a group") != 0);
|
return (DB_QueryCOUNT (Query,"can not check if an assignment is associated to a group") != 0);
|
||||||
}
|
}
|
||||||
|
@ -1535,7 +1540,8 @@ void Asg_RemoveGroupsOfType (long GrpTypCod)
|
||||||
|
|
||||||
/***** Remove group from all the assignments *****/
|
/***** Remove group from all the assignments *****/
|
||||||
sprintf (Query,"DELETE FROM asg_grp USING crs_grp,asg_grp"
|
sprintf (Query,"DELETE FROM asg_grp USING crs_grp,asg_grp"
|
||||||
" WHERE crs_grp.GrpTypCod='%ld' AND crs_grp.GrpCod=asg_grp.GrpCod",
|
" WHERE crs_grp.GrpTypCod='%ld'"
|
||||||
|
" AND crs_grp.GrpCod=asg_grp.GrpCod",
|
||||||
GrpTypCod);
|
GrpTypCod);
|
||||||
DB_QueryDELETE (Query,"can not remove groups of a type from the associations between assignments and groups");
|
DB_QueryDELETE (Query,"can not remove groups of a type from the associations between assignments and groups");
|
||||||
}
|
}
|
||||||
|
@ -1555,7 +1561,8 @@ static void Asg_CreateGrps (long AsgCod)
|
||||||
NumGrpSel++)
|
NumGrpSel++)
|
||||||
{
|
{
|
||||||
/* Create group */
|
/* Create group */
|
||||||
sprintf (Query,"INSERT INTO asg_grp (AsgCod,GrpCod) VALUES ('%ld','%ld')",
|
sprintf (Query,"INSERT INTO asg_grp (AsgCod,GrpCod)"
|
||||||
|
" VALUES ('%ld','%ld')",
|
||||||
AsgCod,Gbl.CurrentCrs.Grps.LstGrpsSel.GrpCods[NumGrpSel]);
|
AsgCod,Gbl.CurrentCrs.Grps.LstGrpsSel.GrpCods[NumGrpSel]);
|
||||||
DB_QueryINSERT (Query,"can not associate a group to an assignment");
|
DB_QueryINSERT (Query,"can not associate a group to an assignment");
|
||||||
}
|
}
|
||||||
|
@ -1580,7 +1587,8 @@ static void Asg_GetAndWriteNamesOfGrpsAssociatedToAsg (struct Assignment *Asg)
|
||||||
/***** Get groups associated to an assignment from database *****/
|
/***** Get groups associated to an assignment from database *****/
|
||||||
sprintf (Query,"SELECT crs_grp_types.GrpTypName,crs_grp.GrpName"
|
sprintf (Query,"SELECT crs_grp_types.GrpTypName,crs_grp.GrpName"
|
||||||
" FROM asg_grp,crs_grp,crs_grp_types"
|
" FROM asg_grp,crs_grp,crs_grp_types"
|
||||||
" WHERE asg_grp.AsgCod='%ld' AND asg_grp.GrpCod=crs_grp.GrpCod"
|
" WHERE asg_grp.AsgCod='%ld'"
|
||||||
|
" AND asg_grp.GrpCod=crs_grp.GrpCod"
|
||||||
" AND crs_grp.GrpTypCod=crs_grp_types.GrpTypCod"
|
" AND crs_grp.GrpTypCod=crs_grp_types.GrpTypCod"
|
||||||
" ORDER BY crs_grp_types.GrpTypName,crs_grp.GrpName",
|
" ORDER BY crs_grp_types.GrpTypName,crs_grp.GrpName",
|
||||||
Asg->AsgCod);
|
Asg->AsgCod);
|
||||||
|
@ -1637,7 +1645,8 @@ void Asg_RemoveCrsAssignments (long CrsCod)
|
||||||
|
|
||||||
/***** Remove groups *****/
|
/***** Remove groups *****/
|
||||||
sprintf (Query,"DELETE FROM asg_grp USING assignments,asg_grp"
|
sprintf (Query,"DELETE FROM asg_grp USING assignments,asg_grp"
|
||||||
" WHERE assignments.CrsCod='%ld' AND assignments.AsgCod=asg_grp.AsgCod",
|
" WHERE assignments.CrsCod='%ld'"
|
||||||
|
" AND assignments.AsgCod=asg_grp.AsgCod",
|
||||||
CrsCod);
|
CrsCod);
|
||||||
DB_QueryDELETE (Query,"can not remove all the groups associated to assignments of a course");
|
DB_QueryDELETE (Query,"can not remove all the groups associated to assignments of a course");
|
||||||
|
|
||||||
|
|
|
@ -634,7 +634,8 @@ static void Att_GetListAttEvents (Att_OrderTime_t Order)
|
||||||
" WHERE CrsCod='%ld'%s"
|
" WHERE CrsCod='%ld'%s"
|
||||||
" AND (AttCod NOT IN (SELECT AttCod FROM att_grp) OR"
|
" AND (AttCod NOT IN (SELECT AttCod FROM att_grp) OR"
|
||||||
" AttCod IN (SELECT att_grp.AttCod FROM att_grp,crs_grp_usr"
|
" AttCod IN (SELECT att_grp.AttCod FROM att_grp,crs_grp_usr"
|
||||||
" WHERE crs_grp_usr.UsrCod='%ld' AND att_grp.GrpCod=crs_grp_usr.GrpCod))"
|
" WHERE crs_grp_usr.UsrCod='%ld'"
|
||||||
|
" AND att_grp.GrpCod=crs_grp_usr.GrpCod))"
|
||||||
" ORDER BY %s",
|
" ORDER BY %s",
|
||||||
Gbl.CurrentCrs.Crs.CrsCod,HiddenSubQuery,Gbl.Usrs.Me.UsrDat.UsrCod,OrderBySubQuery);
|
Gbl.CurrentCrs.Crs.CrsCod,HiddenSubQuery,Gbl.Usrs.Me.UsrDat.UsrCod,OrderBySubQuery);
|
||||||
else // Gbl.CurrentCrs.Grps.WhichGrps == Grp_ALL_GROUPS
|
else // Gbl.CurrentCrs.Grps.WhichGrps == Grp_ALL_GROUPS
|
||||||
|
@ -1007,7 +1008,7 @@ void Att_ShowAttEvent (void)
|
||||||
|
|
||||||
static bool Att_CheckIfSimilarAttEventExists (const char *Field,const char *Value,long AttCod)
|
static bool Att_CheckIfSimilarAttEventExists (const char *Field,const char *Value,long AttCod)
|
||||||
{
|
{
|
||||||
char Query[512];
|
char Query[256 + Att_MAX_BYTES_ATTENDANCE_EVENT_TITLE];
|
||||||
|
|
||||||
/***** Get number of attendance events with a field value from database *****/
|
/***** Get number of attendance events with a field value from database *****/
|
||||||
sprintf (Query,"SELECT COUNT(*) FROM att_events"
|
sprintf (Query,"SELECT COUNT(*) FROM att_events"
|
||||||
|
@ -1324,7 +1325,9 @@ void Att_RecFormAttEvent (void)
|
||||||
|
|
||||||
void Att_CreateAttEvent (struct AttendanceEvent *Att,const char *Txt)
|
void Att_CreateAttEvent (struct AttendanceEvent *Att,const char *Txt)
|
||||||
{
|
{
|
||||||
char Query[1024 + Cns_MAX_BYTES_TEXT];
|
char Query[1024 +
|
||||||
|
Att_MAX_BYTES_ATTENDANCE_EVENT_TITLE +
|
||||||
|
Cns_MAX_BYTES_TEXT];
|
||||||
|
|
||||||
/***** Create a new attendance event *****/
|
/***** Create a new attendance event *****/
|
||||||
sprintf (Query,"INSERT INTO att_events"
|
sprintf (Query,"INSERT INTO att_events"
|
||||||
|
@ -1356,7 +1359,9 @@ void Att_CreateAttEvent (struct AttendanceEvent *Att,const char *Txt)
|
||||||
|
|
||||||
void Att_UpdateAttEvent (struct AttendanceEvent *Att,const char *Txt)
|
void Att_UpdateAttEvent (struct AttendanceEvent *Att,const char *Txt)
|
||||||
{
|
{
|
||||||
char Query[1024 + Cns_MAX_BYTES_TEXT];
|
char Query[1024 +
|
||||||
|
Att_MAX_BYTES_ATTENDANCE_EVENT_TITLE +
|
||||||
|
Cns_MAX_BYTES_TEXT];
|
||||||
|
|
||||||
/***** Update the data of the attendance event *****/
|
/***** Update the data of the attendance event *****/
|
||||||
sprintf (Query,"UPDATE att_events SET "
|
sprintf (Query,"UPDATE att_events SET "
|
||||||
|
@ -1450,7 +1455,8 @@ void Att_RemoveGroupsOfType (long GrpTypCod)
|
||||||
|
|
||||||
/***** Remove group from all the attendance events *****/
|
/***** Remove group from all the attendance events *****/
|
||||||
sprintf (Query,"DELETE FROM att_grp USING crs_grp,att_grp"
|
sprintf (Query,"DELETE FROM att_grp USING crs_grp,att_grp"
|
||||||
" WHERE crs_grp.GrpTypCod='%ld' AND crs_grp.GrpCod=att_grp.GrpCod",
|
" WHERE crs_grp.GrpTypCod='%ld'"
|
||||||
|
" AND crs_grp.GrpCod=att_grp.GrpCod",
|
||||||
GrpTypCod);
|
GrpTypCod);
|
||||||
DB_QueryDELETE (Query,"can not remove groups of a type from the associations between attendance events and groups");
|
DB_QueryDELETE (Query,"can not remove groups of a type from the associations between attendance events and groups");
|
||||||
}
|
}
|
||||||
|
@ -1470,7 +1476,8 @@ static void Att_CreateGrps (long AttCod)
|
||||||
NumGrpSel++)
|
NumGrpSel++)
|
||||||
{
|
{
|
||||||
/* Create group */
|
/* Create group */
|
||||||
sprintf (Query,"INSERT INTO att_grp (AttCod,GrpCod) VALUES ('%ld','%ld')",
|
sprintf (Query,"INSERT INTO att_grp (AttCod,GrpCod)"
|
||||||
|
" VALUES ('%ld','%ld')",
|
||||||
AttCod,Gbl.CurrentCrs.Grps.LstGrpsSel.GrpCods[NumGrpSel]);
|
AttCod,Gbl.CurrentCrs.Grps.LstGrpsSel.GrpCods[NumGrpSel]);
|
||||||
DB_QueryINSERT (Query,"can not associate a group to an attendance event");
|
DB_QueryINSERT (Query,"can not associate a group to an attendance event");
|
||||||
}
|
}
|
||||||
|
@ -1495,7 +1502,8 @@ static void Att_GetAndWriteNamesOfGrpsAssociatedToAttEvent (struct AttendanceEve
|
||||||
/***** Get groups associated to an attendance event from database *****/
|
/***** Get groups associated to an attendance event from database *****/
|
||||||
sprintf (Query,"SELECT crs_grp_types.GrpTypName,crs_grp.GrpName"
|
sprintf (Query,"SELECT crs_grp_types.GrpTypName,crs_grp.GrpName"
|
||||||
" FROM att_grp,crs_grp,crs_grp_types"
|
" FROM att_grp,crs_grp,crs_grp_types"
|
||||||
" WHERE att_grp.AttCod='%ld' AND att_grp.GrpCod=crs_grp.GrpCod"
|
" WHERE att_grp.AttCod='%ld'"
|
||||||
|
" AND att_grp.GrpCod=crs_grp.GrpCod"
|
||||||
" AND crs_grp.GrpTypCod=crs_grp_types.GrpTypCod"
|
" AND crs_grp.GrpTypCod=crs_grp_types.GrpTypCod"
|
||||||
" ORDER BY crs_grp_types.GrpTypName,crs_grp.GrpName",
|
" ORDER BY crs_grp_types.GrpTypName,crs_grp.GrpName",
|
||||||
Att->AttCod);
|
Att->AttCod);
|
||||||
|
@ -1578,7 +1586,8 @@ void Att_RemoveUsrFromCrsAttEvents (long UsrCod,long CrsCod)
|
||||||
/***** Remove group from all the attendance events *****/
|
/***** Remove group from all the attendance events *****/
|
||||||
sprintf (Query,"DELETE FROM att_usr USING att_events,att_usr"
|
sprintf (Query,"DELETE FROM att_usr USING att_events,att_usr"
|
||||||
" WHERE att_events.CrsCod='%ld'"
|
" WHERE att_events.CrsCod='%ld'"
|
||||||
" AND att_events.AttCod=att_usr.AttCod AND att_usr.UsrCod='%ld'",
|
" AND att_events.AttCod=att_usr.AttCod"
|
||||||
|
" AND att_usr.UsrCod='%ld'",
|
||||||
CrsCod,UsrCod);
|
CrsCod,UsrCod);
|
||||||
DB_QueryDELETE (Query,"can not remove user from attendance events of a course");
|
DB_QueryDELETE (Query,"can not remove user from attendance events of a course");
|
||||||
}
|
}
|
||||||
|
@ -1607,13 +1616,15 @@ void Att_RemoveCrsAttEvents (long CrsCod)
|
||||||
|
|
||||||
/***** Remove students *****/
|
/***** Remove students *****/
|
||||||
sprintf (Query,"DELETE FROM att_usr USING att_events,att_usr"
|
sprintf (Query,"DELETE FROM att_usr USING att_events,att_usr"
|
||||||
" WHERE att_events.CrsCod='%ld' AND att_events.AttCod=att_usr.AttCod",
|
" WHERE att_events.CrsCod='%ld'"
|
||||||
|
" AND att_events.AttCod=att_usr.AttCod",
|
||||||
CrsCod);
|
CrsCod);
|
||||||
DB_QueryDELETE (Query,"can not remove all the students registered in events of a course");
|
DB_QueryDELETE (Query,"can not remove all the students registered in events of a course");
|
||||||
|
|
||||||
/***** Remove groups *****/
|
/***** Remove groups *****/
|
||||||
sprintf (Query,"DELETE FROM att_grp USING att_events,att_grp"
|
sprintf (Query,"DELETE FROM att_grp USING att_events,att_grp"
|
||||||
" WHERE att_events.CrsCod='%ld' AND att_events.AttCod=att_grp.AttCod",
|
" WHERE att_events.CrsCod='%ld'"
|
||||||
|
" AND att_events.AttCod=att_grp.AttCod",
|
||||||
CrsCod);
|
CrsCod);
|
||||||
DB_QueryDELETE (Query,"can not remove all the groups associated to attendance events of a course");
|
DB_QueryDELETE (Query,"can not remove all the groups associated to attendance events of a course");
|
||||||
|
|
||||||
|
@ -2506,7 +2517,7 @@ static bool Att_CheckIfUsrIsPresentInAttEventAndGetComments (long AttCod,long Us
|
||||||
void Att_RegUsrInAttEventNotChangingComments (long AttCod,long UsrCod)
|
void Att_RegUsrInAttEventNotChangingComments (long AttCod,long UsrCod)
|
||||||
{
|
{
|
||||||
bool Present;
|
bool Present;
|
||||||
char Query[128];
|
char Query[256];
|
||||||
|
|
||||||
/***** Check if user is already in table att_usr (present or not) *****/
|
/***** Check if user is already in table att_usr (present or not) *****/
|
||||||
if (Att_CheckIfUsrIsInTableAttUsr (AttCod,UsrCod,&Present)) // User is in table att_usr
|
if (Att_CheckIfUsrIsInTableAttUsr (AttCod,UsrCod,&Present)) // User is in table att_usr
|
||||||
|
@ -2535,7 +2546,8 @@ static void Att_RegUsrInAttEventChangingComments (long AttCod,long UsrCod,bool P
|
||||||
char Query[256 + Cns_MAX_BYTES_TEXT * 2];
|
char Query[256 + Cns_MAX_BYTES_TEXT * 2];
|
||||||
|
|
||||||
/***** Register user as assistant to an event in database *****/
|
/***** Register user as assistant to an event in database *****/
|
||||||
sprintf (Query,"REPLACE INTO att_usr (AttCod,UsrCod,Present,CommentStd,CommentTch)"
|
sprintf (Query,"REPLACE INTO att_usr"
|
||||||
|
" (AttCod,UsrCod,Present,CommentStd,CommentTch)"
|
||||||
" VALUES ('%ld','%ld','%c','%s','%s')",
|
" VALUES ('%ld','%ld','%c','%s','%s')",
|
||||||
AttCod,UsrCod,
|
AttCod,UsrCod,
|
||||||
Present ? 'Y' :
|
Present ? 'Y' :
|
||||||
|
|
|
@ -204,13 +204,18 @@
|
||||||
/****************************** Public constants *****************************/
|
/****************************** Public constants *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 16.154.3 (2017-03-08)"
|
#define Log_PLATFORM_VERSION "SWAD 16.154.4 (2017-03-09)"
|
||||||
#define CSS_FILE "swad16.147.css"
|
#define CSS_FILE "swad16.147.css"
|
||||||
#define JS_FILE "swad16.144.js"
|
#define JS_FILE "swad16.144.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.154.4: Mar 09, 2017 Adjusting size of database fields.
|
||||||
|
Bug fixing related to agendas, assignments and attendance events. (216504 lines)
|
||||||
|
1 change necessary in database:
|
||||||
|
ALTER TABLE att_events CHANGE COLUMN Title Title VARCHAR(2047) NOT NULL;
|
||||||
|
|
||||||
Version 16.154.3: Mar 08, 2017 Bug fixing related to folders in assignments and file browsers. (216473 lines)
|
Version 16.154.3: Mar 08, 2017 Bug fixing related to folders in assignments and file browsers. (216473 lines)
|
||||||
Version 16.154.2: Mar 08, 2017 Adjusting size of database fields. (216466 lines)
|
Version 16.154.2: Mar 08, 2017 Adjusting size of database fields. (216466 lines)
|
||||||
2 changes necessary in database:
|
2 changes necessary in database:
|
||||||
|
|
|
@ -307,10 +307,10 @@ mysql> DESCRIBE att_events;
|
||||||
| StartTime | datetime | NO | | NULL | |
|
| StartTime | datetime | NO | | NULL | |
|
||||||
| EndTime | datetime | NO | | NULL | |
|
| EndTime | datetime | NO | | NULL | |
|
||||||
| CommentTchVisible | enum('N','Y') | NO | | N | |
|
| CommentTchVisible | enum('N','Y') | NO | | N | |
|
||||||
| Title | varchar(255) | NO | | NULL | |
|
| Title | varchar(2047) | NO | | NULL | |
|
||||||
| Txt | text | NO | | NULL | |
|
| Txt | text | NO | | NULL | |
|
||||||
+-------------------+---------------+------+-----+---------+----------------+
|
+-------------------+---------------+------+-----+---------+----------------+
|
||||||
9 rows in set (0.00 sec)
|
9 rows in set (0,00 sec)
|
||||||
*/
|
*/
|
||||||
DB_CreateTable ("CREATE TABLE IF NOT EXISTS att_events ("
|
DB_CreateTable ("CREATE TABLE IF NOT EXISTS att_events ("
|
||||||
"AttCod INT NOT NULL AUTO_INCREMENT,"
|
"AttCod INT NOT NULL AUTO_INCREMENT,"
|
||||||
|
@ -320,8 +320,8 @@ mysql> DESCRIBE att_events;
|
||||||
"StartTime DATETIME NOT NULL,"
|
"StartTime DATETIME NOT NULL,"
|
||||||
"EndTime DATETIME NOT NULL,"
|
"EndTime DATETIME NOT NULL,"
|
||||||
"CommentTchVisible ENUM('N','Y') NOT NULL DEFAULT 'N',"
|
"CommentTchVisible ENUM('N','Y') NOT NULL DEFAULT 'N',"
|
||||||
"Title VARCHAR(255) NOT NULL,"
|
"Title VARCHAR(2047) NOT NULL," // Att_MAX_BYTES_ATTENDANCE_EVENT_TITLE
|
||||||
"Txt TEXT NOT NULL,"
|
"Txt TEXT NOT NULL," // Cns_MAX_BYTES_TEXT
|
||||||
"UNIQUE INDEX(AttCod),"
|
"UNIQUE INDEX(AttCod),"
|
||||||
"INDEX(CrsCod,Hidden))");
|
"INDEX(CrsCod,Hidden))");
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user