Version 20.50.1: Mar 15, 2021 Agendas database table renamed.

This commit is contained in:
acanas 2021-03-15 18:33:17 +01:00
parent 6ca773d8af
commit 93713a0bc6
4 changed files with 111 additions and 76 deletions

View File

@ -26,18 +26,9 @@ CREATE TABLE IF NOT EXISTS act_MFU (
LastClick DATETIME NOT NULL, LastClick DATETIME NOT NULL,
UNIQUE INDEX(UsrCod,ActCod)); UNIQUE INDEX(UsrCod,ActCod));
-- --
-- Table ann_seen: stores users who have seen global announcements
--
CREATE TABLE IF NOT EXISTS usr_admins (
UsrCod INT NOT NULL,
Scope ENUM('Sys','Ins','Ctr','Deg') NOT NULL,
Cod INT NOT NULL,
UNIQUE INDEX(UsrCod,Scope,Cod),
INDEX(Scope,Cod));
--
-- Table agendas: stores users' agendas -- Table agendas: stores users' agendas
-- --
CREATE TABLE IF NOT EXISTS agendas ( CREATE TABLE IF NOT EXISTS agd_agendas (
AgdCod INT NOT NULL AUTO_INCREMENT, AgdCod INT NOT NULL AUTO_INCREMENT,
UsrCod INT NOT NULL, UsrCod INT NOT NULL,
Public ENUM('N','Y') NOT NULL DEFAULT 'N', Public ENUM('N','Y') NOT NULL DEFAULT 'N',
@ -1597,6 +1588,15 @@ CREATE TABLE IF NOT EXISTS tst_tags (
UNIQUE INDEX(TagCod), UNIQUE INDEX(TagCod),
INDEX(CrsCod,ChangeTime)); INDEX(CrsCod,ChangeTime));
-- --
-- Table usr_admins: stores users who manage degrees, centres, institutions and system
--
CREATE TABLE IF NOT EXISTS usr_admins (
UsrCod INT NOT NULL,
Scope ENUM('Sys','Ins','Ctr','Deg') NOT NULL,
Cod INT NOT NULL,
UNIQUE INDEX(UsrCod,Scope,Cod),
INDEX(Scope,Cod));
--
-- Table usr_banned: stores users banned for ranking -- Table usr_banned: stores users banned for ranking
-- --
CREATE TABLE IF NOT EXISTS usr_banned ( CREATE TABLE IF NOT EXISTS usr_banned (

View File

@ -1151,7 +1151,7 @@ static void Agd_GetListEvents (struct Agd_Agenda *Agenda,
{ {
/* Make query */ /* Make query */
NumRows = DB_QuerySELECT (&mysql_res,"can not get agenda events", NumRows = DB_QuerySELECT (&mysql_res,"can not get agenda events",
"SELECT AgdCod FROM agendas" "SELECT AgdCod FROM agd_agendas"
" WHERE %s%s%s%s" " WHERE %s%s%s%s"
" ORDER BY %s", " ORDER BY %s",
UsrSubQuery, UsrSubQuery,
@ -1204,15 +1204,20 @@ static void Agd_GetDataOfEventByCod (struct Agd_Event *AgdEvent)
/***** Get data of event from database *****/ /***** Get data of event from database *****/
if (DB_QuerySELECT (&mysql_res,"can not get agenda event data", if (DB_QuerySELECT (&mysql_res,"can not get agenda event data",
"SELECT AgdCod,Public,Hidden," "SELECT AgdCod," // row[0]
"UNIX_TIMESTAMP(StartTime)," "Public," // row[1]
"UNIX_TIMESTAMP(EndTime)," "Hidden," // row[2]
"NOW()>EndTime," // Past event? "UNIX_TIMESTAMP(StartTime)," // row[3]
"NOW()<StartTime," // Future event? "UNIX_TIMESTAMP(EndTime)," // row[4]
"Event,Location" "NOW()>EndTime," // row[5] Past event?
" FROM agendas" "NOW()<StartTime," // row[6] Future event?
" WHERE AgdCod=%ld AND UsrCod=%ld", "Event," // row[7]
AgdEvent->AgdCod,AgdEvent->UsrCod)) // Event found... "Location" // row[8]
" FROM agd_agendas"
" WHERE AgdCod=%ld"
" AND UsrCod=%ld",
AgdEvent->AgdCod,
AgdEvent->UsrCod)) // Event found...
{ {
/* Get row: /* Get row:
row[0] AgdCod row[0] AgdCod
@ -1294,9 +1299,12 @@ static void Agd_GetEventTxtFromDB (struct Agd_Event *AgdEvent,
/***** Get text of event from database *****/ /***** Get text of event from database *****/
NumRows = DB_QuerySELECT (&mysql_res,"can not get event text", NumRows = DB_QuerySELECT (&mysql_res,"can not get event text",
"SELECT Txt FROM agendas" "SELECT Txt" // row[0]
" WHERE AgdCod=%ld AND UsrCod=%ld", " FROM agd_agendas"
AgdEvent->AgdCod,AgdEvent->UsrCod); " WHERE AgdCod=%ld"
" AND UsrCod=%ld",
AgdEvent->AgdCod,
AgdEvent->UsrCod);
/***** The result of the query must have one row or none *****/ /***** The result of the query must have one row or none *****/
if (NumRows == 1) if (NumRows == 1)
@ -1388,8 +1396,11 @@ void Agd_RemoveEvent (void)
/***** Remove event *****/ /***** Remove event *****/
DB_QueryDELETE ("can not remove event", DB_QueryDELETE ("can not remove event",
"DELETE FROM agendas WHERE AgdCod=%ld AND UsrCod=%ld", "DELETE FROM agd_agendas"
AgdEvent.AgdCod,AgdEvent.UsrCod); " WHERE AgdCod=%ld"
" AND UsrCod=%ld",
AgdEvent.AgdCod,
AgdEvent.UsrCod);
/***** Write message to show the change made *****/ /***** Write message to show the change made *****/
Ale_ShowAlert (Ale_SUCCESS,Txt_Event_X_removed, Ale_ShowAlert (Ale_SUCCESS,Txt_Event_X_removed,
@ -1424,9 +1435,12 @@ void Agd_HideEvent (void)
/***** Set event private *****/ /***** Set event private *****/
DB_QueryUPDATE ("can not hide event", DB_QueryUPDATE ("can not hide event",
"UPDATE agendas SET Hidden='Y'" "UPDATE agd_agendas"
" WHERE AgdCod=%ld AND UsrCod=%ld", " SET Hidden='Y'"
AgdEvent.AgdCod,AgdEvent.UsrCod); " WHERE AgdCod=%ld"
" AND UsrCod=%ld",
AgdEvent.AgdCod,
AgdEvent.UsrCod);
/***** Show events again *****/ /***** Show events again *****/
Agd_ShowMyAgenda (&Agenda); Agd_ShowMyAgenda (&Agenda);
@ -1457,9 +1471,12 @@ void Agd_UnhideEvent (void)
/***** Set event public *****/ /***** Set event public *****/
DB_QueryUPDATE ("can not show event", DB_QueryUPDATE ("can not show event",
"UPDATE agendas SET Hidden='N'" "UPDATE agd_agendas"
" WHERE AgdCod=%ld AND UsrCod=%ld", " SET Hidden='N'"
AgdEvent.AgdCod,AgdEvent.UsrCod); " WHERE AgdCod=%ld"
" AND UsrCod=%ld",
AgdEvent.AgdCod,
AgdEvent.UsrCod);
/***** Show events again *****/ /***** Show events again *****/
Agd_ShowMyAgenda (&Agenda); Agd_ShowMyAgenda (&Agenda);
@ -1491,9 +1508,12 @@ void Agd_MakeEventPrivate (void)
/***** Make event private *****/ /***** Make event private *****/
DB_QueryUPDATE ("can not make event private", DB_QueryUPDATE ("can not make event private",
"UPDATE agendas SET Public='N'" "UPDATE agd_agendas"
" WHERE AgdCod=%ld AND UsrCod=%ld", " SET Public='N'"
AgdEvent.AgdCod,AgdEvent.UsrCod); " WHERE AgdCod=%ld"
" AND UsrCod=%ld",
AgdEvent.AgdCod,
AgdEvent.UsrCod);
/***** Write message to show the change made *****/ /***** Write message to show the change made *****/
Ale_ShowAlert (Ale_SUCCESS,Txt_Event_X_is_now_private, Ale_ShowAlert (Ale_SUCCESS,Txt_Event_X_is_now_private,
@ -1529,9 +1549,12 @@ void Agd_MakeEventPublic (void)
/***** Make event public *****/ /***** Make event public *****/
DB_QueryUPDATE ("can not make event public", DB_QueryUPDATE ("can not make event public",
"UPDATE agendas SET Public='Y'" "UPDATE agd_agendas"
" WHERE AgdCod=%ld AND UsrCod=%ld", " SET Public='Y'"
AgdEvent.AgdCod,AgdEvent.UsrCod); " WHERE AgdCod=%ld"
" AND UsrCod=%ld",
AgdEvent.AgdCod,
AgdEvent.UsrCod);
/***** Write message to show the change made *****/ /***** Write message to show the change made *****/
Ale_ShowAlert (Ale_SUCCESS,Txt_Event_X_is_now_visible_to_users_of_your_courses, Ale_ShowAlert (Ale_SUCCESS,Txt_Event_X_is_now_visible_to_users_of_your_courses,
@ -1785,7 +1808,7 @@ static void Agd_CreateEvent (struct Agd_Event *AgdEvent,const char *Txt)
/***** Create a new event *****/ /***** Create a new event *****/
AgdEvent->AgdCod = AgdEvent->AgdCod =
DB_QueryINSERTandReturnCode ("can not create new event", DB_QueryINSERTandReturnCode ("can not create new event",
"INSERT INTO agendas" "INSERT INTO agd_agendas"
" (UsrCod,StartTime,EndTime,Event,Location,Txt)" " (UsrCod,StartTime,EndTime,Event,Location,Txt)"
" VALUES" " VALUES"
" (%ld,FROM_UNIXTIME(%ld),FROM_UNIXTIME(%ld)," " (%ld,FROM_UNIXTIME(%ld),FROM_UNIXTIME(%ld),"
@ -1806,11 +1829,14 @@ static void Agd_UpdateEvent (struct Agd_Event *AgdEvent,const char *Txt)
{ {
/***** Update the data of the event *****/ /***** Update the data of the event *****/
DB_QueryUPDATE ("can not update event", DB_QueryUPDATE ("can not update event",
"UPDATE agendas SET " "UPDATE agd_agendas"
"StartTime=FROM_UNIXTIME(%ld)," " SET StartTime=FROM_UNIXTIME(%ld),"
"EndTime=FROM_UNIXTIME(%ld)," "EndTime=FROM_UNIXTIME(%ld),"
"Event='%s',Location='%s',Txt='%s'" "Event='%s',"
" WHERE AgdCod=%ld AND UsrCod=%ld", "Location='%s',"
"Txt='%s'"
" WHERE AgdCod=%ld"
" AND UsrCod=%ld",
AgdEvent->TimeUTC[Dat_START_TIME], AgdEvent->TimeUTC[Dat_START_TIME],
AgdEvent->TimeUTC[Dat_END_TIME ], AgdEvent->TimeUTC[Dat_END_TIME ],
AgdEvent->Event,AgdEvent->Location,Txt, AgdEvent->Event,AgdEvent->Location,Txt,
@ -1825,7 +1851,8 @@ void Agd_RemoveUsrEvents (long UsrCod)
{ {
/***** Remove events *****/ /***** Remove events *****/
DB_QueryDELETE ("can not remove all the events of a user", DB_QueryDELETE ("can not remove all the events of a user",
"DELETE FROM agendas WHERE UsrCod=%ld", "DELETE FROM agd_agendas"
" WHERE UsrCod=%ld",
UsrCod); UsrCod);
} }
@ -1837,7 +1864,8 @@ unsigned Agd_GetNumEventsFromUsr (long UsrCod)
{ {
/***** Get number of events in a course from database *****/ /***** Get number of events in a course from database *****/
return (unsigned) DB_QueryCOUNT ("can not get number of events from user", return (unsigned) DB_QueryCOUNT ("can not get number of events from user",
"SELECT COUNT(*) FROM agendas" "SELECT COUNT(*)"
" FROM agd_agendas"
" WHERE UsrCod=%ld", " WHERE UsrCod=%ld",
UsrCod); UsrCod);
} }
@ -1859,75 +1887,76 @@ unsigned Agd_GetNumUsrsWithEvents (Hie_Lvl_Level_t Scope)
case Hie_Lvl_SYS: case Hie_Lvl_SYS:
DB_QuerySELECT (&mysql_res,"can not get number of users with events", DB_QuerySELECT (&mysql_res,"can not get number of users with events",
"SELECT COUNT(DISTINCT UsrCod)" "SELECT COUNT(DISTINCT UsrCod)"
" FROM agendas" " FROM agd_agendas"
" WHERE UsrCod>0"); " WHERE UsrCod>0");
break; break;
case Hie_Lvl_CTY: case Hie_Lvl_CTY:
DB_QuerySELECT (&mysql_res,"can not get number of users with events", DB_QuerySELECT (&mysql_res,"can not get number of users with events",
"SELECT COUNT(DISTINCT agendas.UsrCod)" "SELECT COUNT(DISTINCT agd_agendas.UsrCod)"
" FROM ins_instits," " FROM ins_instits,"
"ctr_centers," "ctr_centers,"
"deg_degrees," "deg_degrees,"
"crs_courses," "crs_courses,"
"crs_usr," "crs_usr,"
"agendas" "agd_agendas"
" WHERE ins_instits.CtyCod=%ld" " WHERE ins_instits.CtyCod=%ld"
" AND ins_instits.InsCod=ctr_centers.InsCod" " AND ins_instits.InsCod=ctr_centers.InsCod"
" AND ctr_centers.CtrCod=deg_degrees.CtrCod" " AND ctr_centers.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=crs_courses.DegCod" " AND deg_degrees.DegCod=crs_courses.DegCod"
" AND crs_courses.Status=0" " AND crs_courses.Status=0"
" AND crs_courses.CrsCod=crs_usr.CrsCod" " AND crs_courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=agendas.UsrCod", " AND crs_usr.UsrCod=agd_agendas.UsrCod",
Gbl.Hierarchy.Cty.CtyCod); Gbl.Hierarchy.Cty.CtyCod);
break; break;
case Hie_Lvl_INS: case Hie_Lvl_INS:
DB_QuerySELECT (&mysql_res,"can not get number of users with events", DB_QuerySELECT (&mysql_res,"can not get number of users with events",
"SELECT COUNT(DISTINCT agendas.UsrCod)" "SELECT COUNT(DISTINCT agd_agendas.UsrCod)"
" FROM ctr_centers," " FROM ctr_centers,"
"deg_degrees," "deg_degrees,"
"crs_courses," "crs_courses,"
"crs_usr," "crs_usr,"
"agendas" "agd_agendas"
" WHERE ctr_centers.InsCod=%ld" " WHERE ctr_centers.InsCod=%ld"
" AND ctr_centers.CtrCod=deg_degrees.CtrCod" " AND ctr_centers.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=crs_courses.DegCod" " AND deg_degrees.DegCod=crs_courses.DegCod"
" AND crs_courses.Status=0" " AND crs_courses.Status=0"
" AND crs_courses.CrsCod=crs_usr.CrsCod" " AND crs_courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=agendas.UsrCod", " AND crs_usr.UsrCod=agd_agendas.UsrCod",
Gbl.Hierarchy.Ins.InsCod); Gbl.Hierarchy.Ins.InsCod);
break; break;
case Hie_Lvl_CTR: case Hie_Lvl_CTR:
DB_QuerySELECT (&mysql_res,"can not get number of users with events", DB_QuerySELECT (&mysql_res,"can not get number of users with events",
"SELECT COUNT(DISTINCT agendas.UsrCod)" "SELECT COUNT(DISTINCT agd_agendas.UsrCod)"
" FROM deg_degrees," " FROM deg_degrees,"
"crs_courses," "crs_courses,"
"crs_usr," "crs_usr,"
"agendas" "agd_agendas"
" WHERE deg_degrees.CtrCod=%ld" " WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=crs_courses.DegCod" " AND deg_degrees.DegCod=crs_courses.DegCod"
" AND crs_courses.Status=0" " AND crs_courses.Status=0"
" AND crs_courses.CrsCod=crs_usr.CrsCod" " AND crs_courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=agendas.UsrCod", " AND crs_usr.UsrCod=agd_agendas.UsrCod",
Gbl.Hierarchy.Ctr.CtrCod); Gbl.Hierarchy.Ctr.CtrCod);
break; break;
case Hie_Lvl_DEG: case Hie_Lvl_DEG:
DB_QuerySELECT (&mysql_res,"can not get number of users with events", DB_QuerySELECT (&mysql_res,"can not get number of users with events",
"SELECT COUNT(DISTINCT agendas.UsrCod)" "SELECT COUNT(DISTINCT agd_agendas.UsrCod)"
" FROM crs_courses," " FROM crs_courses,"
"crs_usr," "crs_usr,"
"agendas" "agd_agendas"
" WHERE crs_courses.DegCod=%ld" " WHERE crs_courses.DegCod=%ld"
" AND crs_courses.Status=0" " AND crs_courses.Status=0"
" AND crs_courses.CrsCod=crs_usr.CrsCod" " AND crs_courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=agendas.UsrCod", " AND crs_usr.UsrCod=agd_agendas.UsrCod",
Gbl.Hierarchy.Deg.DegCod); Gbl.Hierarchy.Deg.DegCod);
break; break;
case Hie_Lvl_CRS: case Hie_Lvl_CRS:
DB_QuerySELECT (&mysql_res,"can not get number of users with events", DB_QuerySELECT (&mysql_res,"can not get number of users with events",
"SELECT COUNT(DISTINCT agendas.UsrCod)" "SELECT COUNT(DISTINCT agd_agendas.UsrCod)"
" FROM crs_usr,agendas" " FROM crs_usr,"
"agd_agendas"
" WHERE crs_usr.CrsCod=%ld" " WHERE crs_usr.CrsCod=%ld"
" AND crs_usr.UsrCod=agendas.UsrCod", " AND crs_usr.UsrCod=agd_agendas.UsrCod",
Gbl.Hierarchy.Crs.CrsCod); Gbl.Hierarchy.Crs.CrsCod);
break; break;
default: default:
@ -1963,7 +1992,7 @@ unsigned Agd_GetNumEvents (Hie_Lvl_Level_t Scope)
case Hie_Lvl_SYS: case Hie_Lvl_SYS:
DB_QuerySELECT (&mysql_res,"can not get number of events", DB_QuerySELECT (&mysql_res,"can not get number of events",
"SELECT COUNT(*)" "SELECT COUNT(*)"
" FROM agendas" " FROM agd_agendas"
" WHERE UsrCod>0"); " WHERE UsrCod>0");
break; break;
case Hie_Lvl_CTY: case Hie_Lvl_CTY:
@ -1974,13 +2003,13 @@ unsigned Agd_GetNumEvents (Hie_Lvl_Level_t Scope)
"deg_degrees," "deg_degrees,"
"crs_courses," "crs_courses,"
"crs_usr," "crs_usr,"
"agendas" "agd_agendas"
" WHERE ins_instits.CtyCod=%ld" " WHERE ins_instits.CtyCod=%ld"
" AND ins_instits.InsCod=ctr_centers.InsCod" " AND ins_instits.InsCod=ctr_centers.InsCod"
" AND ctr_centers.CtrCod=deg_degrees.CtrCod" " AND ctr_centers.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=crs_courses.DegCod" " AND deg_degrees.DegCod=crs_courses.DegCod"
" AND crs_courses.CrsCod=crs_usr.CrsCod" " AND crs_courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=agendas.UsrCod", " AND crs_usr.UsrCod=agd_agendas.UsrCod",
Gbl.Hierarchy.Cty.CtyCod); Gbl.Hierarchy.Cty.CtyCod);
break; break;
case Hie_Lvl_INS: case Hie_Lvl_INS:
@ -1990,12 +2019,12 @@ unsigned Agd_GetNumEvents (Hie_Lvl_Level_t Scope)
"deg_degrees," "deg_degrees,"
"crs_courses," "crs_courses,"
"crs_usr," "crs_usr,"
"agendas" "agd_agendas"
" WHERE ctr_centers.InsCod=%ld" " WHERE ctr_centers.InsCod=%ld"
" AND ctr_centers.CtrCod=deg_degrees.CtrCod" " AND ctr_centers.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=crs_courses.DegCod" " AND deg_degrees.DegCod=crs_courses.DegCod"
" AND crs_courses.CrsCod=crs_usr.CrsCod" " AND crs_courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=agendas.UsrCod", " AND crs_usr.UsrCod=agd_agendas.UsrCod",
Gbl.Hierarchy.Ins.InsCod); Gbl.Hierarchy.Ins.InsCod);
break; break;
case Hie_Lvl_CTR: case Hie_Lvl_CTR:
@ -2004,11 +2033,11 @@ unsigned Agd_GetNumEvents (Hie_Lvl_Level_t Scope)
" FROM deg_degrees," " FROM deg_degrees,"
"crs_courses," "crs_courses,"
"crs_usr," "crs_usr,"
"agendas" "agd_agendas"
" WHERE deg_degrees.CtrCod=%ld" " WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=crs_courses.DegCod" " AND deg_degrees.DegCod=crs_courses.DegCod"
" AND crs_courses.CrsCod=crs_usr.CrsCod" " AND crs_courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=agendas.UsrCod", " AND crs_usr.UsrCod=agd_agendas.UsrCod",
Gbl.Hierarchy.Ctr.CtrCod); Gbl.Hierarchy.Ctr.CtrCod);
break; break;
case Hie_Lvl_DEG: case Hie_Lvl_DEG:
@ -2016,18 +2045,19 @@ unsigned Agd_GetNumEvents (Hie_Lvl_Level_t Scope)
"SELECT COUNT(*)" "SELECT COUNT(*)"
" FROM crs_courses," " FROM crs_courses,"
"crs_usr," "crs_usr,"
"agendas" "agd_agendas"
" WHERE crs_courses.DegCod=%ld" " WHERE crs_courses.DegCod=%ld"
" AND crs_courses.CrsCod=crs_usr.CrsCod" " AND crs_courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=agendas.UsrCod", " AND crs_usr.UsrCod=agd_agendas.UsrCod",
Gbl.Hierarchy.Deg.DegCod); Gbl.Hierarchy.Deg.DegCod);
break; break;
case Hie_Lvl_CRS: case Hie_Lvl_CRS:
DB_QuerySELECT (&mysql_res,"can not get number of events", DB_QuerySELECT (&mysql_res,"can not get number of events",
"SELECT COUNT(*)" "SELECT COUNT(*)"
" FROM crs_usr,agendas" " FROM crs_usr,"
"agd_agendas"
" WHERE crs_usr.CrsCod=%ld" " WHERE crs_usr.CrsCod=%ld"
" AND crs_usr.UsrCod=agendas.UsrCod", " AND crs_usr.UsrCod=agd_agendas.UsrCod",
Gbl.Hierarchy.Crs.CrsCod); Gbl.Hierarchy.Crs.CrsCod);
break; break;
default: default:

View File

@ -600,12 +600,17 @@ TODO: Salvador Romero Cort
TODO: FIX BUG, URGENT! En las fechas como parámetro Dat_WriteParamsIniEndDates(), por ejemplo al cambiar el color de la gráfica de accesos por día y hora, no se respeta la zona horaria. TODO: FIX BUG, URGENT! En las fechas como parámetro Dat_WriteParamsIniEndDates(), por ejemplo al cambiar el color de la gráfica de accesos por día y hora, no se respeta la zona horaria.
*/ */
#define Log_PLATFORM_VERSION "SWAD 20.50 (2021-03-14)" #define Log_PLATFORM_VERSION "SWAD 20.50.1 (2021-03-15)"
#define CSS_FILE "swad20.45.css" #define CSS_FILE "swad20.45.css"
#define JS_FILE "swad20.6.2.js" #define JS_FILE "swad20.6.2.js"
/* /*
TODO: Rename CENTRE to CENTER in help wiki. TODO: Rename CENTRE to CENTER in help wiki.
Version 20.50.1: Mar 15, 2021 Agendas database table renamed. (307166 lines)
1 change necessary in database:
RENAME TABLE agendas TO agd_agendas;
Version 20.50: Mar 14, 2021 Text of remaining actions copied from English to other languages. (307133 lines) Version 20.50: Mar 14, 2021 Text of remaining actions copied from English to other languages. (307133 lines)
Version 20.49: Mar 13, 2021 Text of some actions copied from English to other languages. (307132 lines) Version 20.49: Mar 13, 2021 Text of some actions copied from English to other languages. (307132 lines)
Version 20.48.3: Mar 13, 2021 Text of some actions copied from English to other languages. (307131 lines) Version 20.48.3: Mar 13, 2021 Text of some actions copied from English to other languages. (307131 lines)

View File

@ -144,9 +144,9 @@ mysql> DESCRIBE act_MFU;
"LastClick DATETIME NOT NULL," "LastClick DATETIME NOT NULL,"
"UNIQUE INDEX(UsrCod,ActCod))"); "UNIQUE INDEX(UsrCod,ActCod))");
/***** Table agendas *****/ /***** Table agd_agendas *****/
/* /*
mysql> DESCRIBE agendas; mysql> DESCRIBE agd_agendas;
+-----------+---------------+------+-----+---------+----------------+ +-----------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra | | Field | Type | Null | Key | Default | Extra |
+-----------+---------------+------+-----+---------+----------------+ +-----------+---------------+------+-----+---------+----------------+
@ -162,7 +162,7 @@ mysql> DESCRIBE agendas;
+-----------+---------------+------+-----+---------+----------------+ +-----------+---------------+------+-----+---------+----------------+
9 rows in set (0,00 sec) 9 rows in set (0,00 sec)
*/ */
DB_CreateTable ("CREATE TABLE IF NOT EXISTS agendas (" DB_CreateTable ("CREATE TABLE IF NOT EXISTS agd_agendas ("
"AgdCod INT NOT NULL AUTO_INCREMENT," "AgdCod INT NOT NULL AUTO_INCREMENT,"
"UsrCod INT NOT NULL," "UsrCod INT NOT NULL,"
"Public ENUM('N','Y') NOT NULL DEFAULT 'N'," "Public ENUM('N','Y') NOT NULL DEFAULT 'N',"