mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-27 19:05:45 +02:00
Version 20.50.2: Mar 15, 2021 Global announcements database table renamed.
This commit is contained in:
parent
93713a0bc6
commit
c6aa4fe3cc
18
sql/swad.sql
18
sql/swad.sql
|
@ -40,16 +40,9 @@ CREATE TABLE IF NOT EXISTS agd_agendas (
|
||||||
UNIQUE INDEX(AgdCod),
|
UNIQUE INDEX(AgdCod),
|
||||||
INDEX(UsrCod,Public));
|
INDEX(UsrCod,Public));
|
||||||
--
|
--
|
||||||
-- Table ann_seen: stores users who have seen global announcements
|
-- Table ann_announcements: stores global announcements
|
||||||
--
|
--
|
||||||
CREATE TABLE IF NOT EXISTS ann_seen (
|
CREATE TABLE IF NOT EXISTS ann_announcements (
|
||||||
AnnCod INT NOT NULL,
|
|
||||||
UsrCod INT NOT NULL,
|
|
||||||
UNIQUE INDEX(AnnCod,UsrCod));
|
|
||||||
--
|
|
||||||
-- Table announcements: stores global announcements
|
|
||||||
--
|
|
||||||
CREATE TABLE IF NOT EXISTS announcements (
|
|
||||||
AnnCod INT NOT NULL AUTO_INCREMENT,
|
AnnCod INT NOT NULL AUTO_INCREMENT,
|
||||||
Status TINYINT NOT NULL DEFAULT 0,
|
Status TINYINT NOT NULL DEFAULT 0,
|
||||||
Roles INT NOT NULL DEFAULT 0,
|
Roles INT NOT NULL DEFAULT 0,
|
||||||
|
@ -58,6 +51,13 @@ CREATE TABLE IF NOT EXISTS announcements (
|
||||||
UNIQUE INDEX(AnnCod),
|
UNIQUE INDEX(AnnCod),
|
||||||
INDEX(Status));
|
INDEX(Status));
|
||||||
--
|
--
|
||||||
|
-- Table ann_seen: stores users who have seen global announcements
|
||||||
|
--
|
||||||
|
CREATE TABLE IF NOT EXISTS ann_seen (
|
||||||
|
AnnCod INT NOT NULL,
|
||||||
|
UsrCod INT NOT NULL,
|
||||||
|
UNIQUE INDEX(AnnCod,UsrCod));
|
||||||
|
--
|
||||||
-- Table asg_grp: stores the groups associated to assigments
|
-- Table asg_grp: stores the groups associated to assigments
|
||||||
--
|
--
|
||||||
CREATE TABLE IF NOT EXISTS asg_grp (
|
CREATE TABLE IF NOT EXISTS asg_grp (
|
||||||
|
|
|
@ -99,8 +99,12 @@ void Ann_ShowAllAnnouncements (void)
|
||||||
{
|
{
|
||||||
/* Select all announcements */
|
/* Select all announcements */
|
||||||
NumAnnouncements = (unsigned) DB_QuerySELECT (&mysql_res,"can not get announcements",
|
NumAnnouncements = (unsigned) DB_QuerySELECT (&mysql_res,"can not get announcements",
|
||||||
"SELECT AnnCod,Status,Roles,Subject,Content"
|
"SELECT AnnCod," // row[0]
|
||||||
" FROM announcements"
|
"Status," // row[1]
|
||||||
|
"Roles," // row[2]
|
||||||
|
"Subject," // row[3]
|
||||||
|
"Content" // row[4]
|
||||||
|
" FROM ann_announcements"
|
||||||
" ORDER BY AnnCod DESC");
|
" ORDER BY AnnCod DESC");
|
||||||
}
|
}
|
||||||
else if (Gbl.Usrs.Me.Logged)
|
else if (Gbl.Usrs.Me.Logged)
|
||||||
|
@ -108,8 +112,12 @@ void Ann_ShowAllAnnouncements (void)
|
||||||
/* Select only announcements I can see */
|
/* Select only announcements I can see */
|
||||||
Rol_GetRolesInAllCrssIfNotYetGot (&Gbl.Usrs.Me.UsrDat);
|
Rol_GetRolesInAllCrssIfNotYetGot (&Gbl.Usrs.Me.UsrDat);
|
||||||
NumAnnouncements = (unsigned) DB_QuerySELECT (&mysql_res,"can not get announcements",
|
NumAnnouncements = (unsigned) DB_QuerySELECT (&mysql_res,"can not get announcements",
|
||||||
"SELECT AnnCod,Status,Roles,Subject,Content"
|
"SELECT AnnCod," // row[0]
|
||||||
" FROM announcements"
|
"Status," // row[1]
|
||||||
|
"Roles," // row[2]
|
||||||
|
"Subject," // row[3]
|
||||||
|
"Content" // row[4]
|
||||||
|
" FROM ann_announcements"
|
||||||
" WHERE (Roles&%u)<>0 " // All my roles in different courses
|
" WHERE (Roles&%u)<>0 " // All my roles in different courses
|
||||||
" ORDER BY AnnCod DESC",
|
" ORDER BY AnnCod DESC",
|
||||||
(unsigned) Gbl.Usrs.Me.UsrDat.Roles.InCrss);
|
(unsigned) Gbl.Usrs.Me.UsrDat.Roles.InCrss);
|
||||||
|
@ -118,8 +126,12 @@ void Ann_ShowAllAnnouncements (void)
|
||||||
{
|
{
|
||||||
/* Select only active announcements for unknown users */
|
/* Select only active announcements for unknown users */
|
||||||
NumAnnouncements = (unsigned) DB_QuerySELECT (&mysql_res,"can not get announcements",
|
NumAnnouncements = (unsigned) DB_QuerySELECT (&mysql_res,"can not get announcements",
|
||||||
"SELECT AnnCod,Status,Roles,Subject,Content"
|
"SELECT AnnCod," // row[0]
|
||||||
" FROM announcements"
|
"Status," // row[1]
|
||||||
|
"Roles," // row[2]
|
||||||
|
"Subject," // row[3]
|
||||||
|
"Content" // row[4]
|
||||||
|
" FROM ann_announcements"
|
||||||
" WHERE Status=%u AND (Roles&%u)<>0 "
|
" WHERE Status=%u AND (Roles&%u)<>0 "
|
||||||
" ORDER BY AnnCod DESC",
|
" ORDER BY AnnCod DESC",
|
||||||
(unsigned) Ann_ACTIVE_ANNOUNCEMENT,
|
(unsigned) Ann_ACTIVE_ANNOUNCEMENT,
|
||||||
|
@ -219,10 +231,16 @@ void Ann_ShowMyAnnouncementsNotMarkedAsSeen (void)
|
||||||
/***** Select announcements not seen *****/
|
/***** Select announcements not seen *****/
|
||||||
Rol_GetRolesInAllCrssIfNotYetGot (&Gbl.Usrs.Me.UsrDat);
|
Rol_GetRolesInAllCrssIfNotYetGot (&Gbl.Usrs.Me.UsrDat);
|
||||||
NumAnnouncements = (unsigned) DB_QuerySELECT (&mysql_res,"can not get announcements",
|
NumAnnouncements = (unsigned) DB_QuerySELECT (&mysql_res,"can not get announcements",
|
||||||
"SELECT AnnCod,Subject,Content FROM announcements"
|
"SELECT AnnCod," // row[0]
|
||||||
" WHERE Status=%u AND (Roles&%u)<>0 " // All my roles in different courses
|
"Subject," // row[1]
|
||||||
|
"Content" // row[2]
|
||||||
|
" FROM ann_announcements"
|
||||||
|
" WHERE Status=%u"
|
||||||
|
" AND (Roles&%u)<>0 " // All my roles in different courses
|
||||||
" AND AnnCod NOT IN"
|
" AND AnnCod NOT IN"
|
||||||
" (SELECT AnnCod FROM ann_seen WHERE UsrCod=%ld)"
|
" (SELECT AnnCod"
|
||||||
|
" FROM ann_seen"
|
||||||
|
" WHERE UsrCod=%ld)"
|
||||||
" ORDER BY AnnCod DESC", // Newest first
|
" ORDER BY AnnCod DESC", // Newest first
|
||||||
(unsigned) Ann_ACTIVE_ANNOUNCEMENT,
|
(unsigned) Ann_ACTIVE_ANNOUNCEMENT,
|
||||||
(unsigned) Gbl.Usrs.Me.UsrDat.Roles.InCrss,
|
(unsigned) Gbl.Usrs.Me.UsrDat.Roles.InCrss,
|
||||||
|
@ -502,7 +520,7 @@ static void Ann_CreateAnnouncement (unsigned Roles,const char *Subject,const cha
|
||||||
{
|
{
|
||||||
/***** Select announcements not seen *****/
|
/***** Select announcements not seen *****/
|
||||||
DB_QueryINSERT ("can not create announcement",
|
DB_QueryINSERT ("can not create announcement",
|
||||||
"INSERT INTO announcements"
|
"INSERT INTO ann_announcements"
|
||||||
" (Roles,Subject,Content)"
|
" (Roles,Subject,Content)"
|
||||||
" VALUES"
|
" VALUES"
|
||||||
" (%u,'%s','%s')",
|
" (%u,'%s','%s')",
|
||||||
|
@ -522,9 +540,11 @@ void Ann_HideActiveAnnouncement (void)
|
||||||
|
|
||||||
/***** Set global announcement as hidden *****/
|
/***** Set global announcement as hidden *****/
|
||||||
DB_QueryUPDATE ("can not hide announcement",
|
DB_QueryUPDATE ("can not hide announcement",
|
||||||
"UPDATE announcements SET Status=%u"
|
"UPDATE ann_announcements"
|
||||||
|
" SET Status=%u"
|
||||||
" WHERE AnnCod=%ld",
|
" WHERE AnnCod=%ld",
|
||||||
(unsigned) Ann_OBSOLETE_ANNOUNCEMENT,AnnCod);
|
(unsigned) Ann_OBSOLETE_ANNOUNCEMENT,
|
||||||
|
AnnCod);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -540,9 +560,11 @@ void Ann_RevealHiddenAnnouncement (void)
|
||||||
|
|
||||||
/***** Set global announcement as shown *****/
|
/***** Set global announcement as shown *****/
|
||||||
DB_QueryUPDATE ("can not reveal announcement",
|
DB_QueryUPDATE ("can not reveal announcement",
|
||||||
"UPDATE announcements SET Status=%u"
|
"UPDATE ann_announcements"
|
||||||
|
" SET Status=%u"
|
||||||
" WHERE AnnCod=%ld",
|
" WHERE AnnCod=%ld",
|
||||||
(unsigned) Ann_ACTIVE_ANNOUNCEMENT,AnnCod);
|
(unsigned) Ann_ACTIVE_ANNOUNCEMENT,
|
||||||
|
AnnCod);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -559,7 +581,8 @@ void Ann_RemoveAnnouncement (void)
|
||||||
|
|
||||||
/***** Remove announcement *****/
|
/***** Remove announcement *****/
|
||||||
DB_QueryDELETE ("can not remove announcement",
|
DB_QueryDELETE ("can not remove announcement",
|
||||||
"DELETE FROM announcements WHERE AnnCod=%ld",
|
"DELETE FROM ann_announcements"
|
||||||
|
" WHERE AnnCod=%ld",
|
||||||
AnnCod);
|
AnnCod);
|
||||||
|
|
||||||
/***** Remove users who have seen the announcement *****/
|
/***** Remove users who have seen the announcement *****/
|
||||||
|
@ -605,6 +628,7 @@ void Ann_RemoveUsrFromSeenAnnouncements (long UsrCod)
|
||||||
{
|
{
|
||||||
/***** Remove user from seen announcements *****/
|
/***** Remove user from seen announcements *****/
|
||||||
DB_QueryDELETE ("can not remove user from seen announcements",
|
DB_QueryDELETE ("can not remove user from seen announcements",
|
||||||
"DELETE FROM ann_seen WHERE UsrCod=%ld",
|
"DELETE FROM ann_seen"
|
||||||
|
" WHERE UsrCod=%ld",
|
||||||
UsrCod);
|
UsrCod);
|
||||||
}
|
}
|
||||||
|
|
|
@ -600,12 +600,15 @@ 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.1 (2021-03-15)"
|
#define Log_PLATFORM_VERSION "SWAD 20.50.2 (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.2: Mar 15, 2021 Global announcements database table renamed. (307166 lines)
|
||||||
|
1 change necessary in database:
|
||||||
|
RENAME TABLE announcements TO ann_announcements;
|
||||||
|
|
||||||
Version 20.50.1: Mar 15, 2021 Agendas database table renamed. (307166 lines)
|
Version 20.50.1: Mar 15, 2021 Agendas database table renamed. (307166 lines)
|
||||||
1 change necessary in database:
|
1 change necessary in database:
|
||||||
|
|
|
@ -175,6 +175,29 @@ mysql> DESCRIBE agd_agendas;
|
||||||
"UNIQUE INDEX(AgdCod),"
|
"UNIQUE INDEX(AgdCod),"
|
||||||
"INDEX(UsrCod,Public,Hidden))");
|
"INDEX(UsrCod,Public,Hidden))");
|
||||||
|
|
||||||
|
/***** Table ann_announcements *****/
|
||||||
|
/*
|
||||||
|
mysql> DESCRIBE ann_announcements;
|
||||||
|
+---------+------------+------+-----+---------+----------------+
|
||||||
|
| Field | Type | Null | Key | Default | Extra |
|
||||||
|
+---------+------------+------+-----+---------+----------------+
|
||||||
|
| AnnCod | int(11) | NO | PRI | NULL | auto_increment |
|
||||||
|
| Status | tinyint(4) | NO | MUL | 0 | |
|
||||||
|
| Roles | int(11) | NO | | 0 | |
|
||||||
|
| Subject | text | NO | | NULL | |
|
||||||
|
| Content | text | NO | | NULL | |
|
||||||
|
+---------+------------+------+-----+---------+----------------+
|
||||||
|
5 rows in set (0.00 sec)
|
||||||
|
*/
|
||||||
|
DB_CreateTable ("CREATE TABLE IF NOT EXISTS ann_announcements ("
|
||||||
|
"AnnCod INT NOT NULL AUTO_INCREMENT,"
|
||||||
|
"Status TINYINT NOT NULL DEFAULT 0,"
|
||||||
|
"Roles INT NOT NULL DEFAULT 0,"
|
||||||
|
"Subject TEXT NOT NULL," // Cns_MAX_BYTES_SUBJECT
|
||||||
|
"Content TEXT NOT NULL," // Cns_MAX_BYTES_TEXT
|
||||||
|
"UNIQUE INDEX(AnnCod),"
|
||||||
|
"INDEX(Status))");
|
||||||
|
|
||||||
/***** Table ann_seen *****/
|
/***** Table ann_seen *****/
|
||||||
/*
|
/*
|
||||||
mysql> DESCRIBE ann_seen;
|
mysql> DESCRIBE ann_seen;
|
||||||
|
@ -191,29 +214,6 @@ mysql> DESCRIBE ann_seen;
|
||||||
"UsrCod INT NOT NULL,"
|
"UsrCod INT NOT NULL,"
|
||||||
"UNIQUE INDEX(AnnCod,UsrCod))");
|
"UNIQUE INDEX(AnnCod,UsrCod))");
|
||||||
|
|
||||||
/***** Table announcements *****/
|
|
||||||
/*
|
|
||||||
mysql> DESCRIBE announcements;
|
|
||||||
+---------+------------+------+-----+---------+----------------+
|
|
||||||
| Field | Type | Null | Key | Default | Extra |
|
|
||||||
+---------+------------+------+-----+---------+----------------+
|
|
||||||
| AnnCod | int(11) | NO | PRI | NULL | auto_increment |
|
|
||||||
| Status | tinyint(4) | NO | MUL | 0 | |
|
|
||||||
| Roles | int(11) | NO | | 0 | |
|
|
||||||
| Subject | text | NO | | NULL | |
|
|
||||||
| Content | text | NO | | NULL | |
|
|
||||||
+---------+------------+------+-----+---------+----------------+
|
|
||||||
5 rows in set (0.00 sec)
|
|
||||||
*/
|
|
||||||
DB_CreateTable ("CREATE TABLE IF NOT EXISTS announcements ("
|
|
||||||
"AnnCod INT NOT NULL AUTO_INCREMENT,"
|
|
||||||
"Status TINYINT NOT NULL DEFAULT 0,"
|
|
||||||
"Roles INT NOT NULL DEFAULT 0,"
|
|
||||||
"Subject TEXT NOT NULL," // Cns_MAX_BYTES_SUBJECT
|
|
||||||
"Content TEXT NOT NULL," // Cns_MAX_BYTES_TEXT
|
|
||||||
"UNIQUE INDEX(AnnCod),"
|
|
||||||
"INDEX(Status))");
|
|
||||||
|
|
||||||
/***** Table asg_grp *****/
|
/***** Table asg_grp *****/
|
||||||
/*
|
/*
|
||||||
mysql> DESCRIBE asg_grp;
|
mysql> DESCRIBE asg_grp;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user