mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-15 21:24:07 +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),
|
||||
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 (
|
||||
AnnCod INT NOT NULL,
|
||||
UsrCod INT NOT NULL,
|
||||
UNIQUE INDEX(AnnCod,UsrCod));
|
||||
--
|
||||
-- Table announcements: stores global announcements
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS announcements (
|
||||
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,
|
||||
|
@ -58,6 +51,13 @@ CREATE TABLE IF NOT EXISTS announcements (
|
|||
UNIQUE INDEX(AnnCod),
|
||||
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
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS asg_grp (
|
||||
|
|
|
@ -99,8 +99,12 @@ void Ann_ShowAllAnnouncements (void)
|
|||
{
|
||||
/* Select all announcements */
|
||||
NumAnnouncements = (unsigned) DB_QuerySELECT (&mysql_res,"can not get announcements",
|
||||
"SELECT AnnCod,Status,Roles,Subject,Content"
|
||||
" FROM announcements"
|
||||
"SELECT AnnCod," // row[0]
|
||||
"Status," // row[1]
|
||||
"Roles," // row[2]
|
||||
"Subject," // row[3]
|
||||
"Content" // row[4]
|
||||
" FROM ann_announcements"
|
||||
" ORDER BY AnnCod DESC");
|
||||
}
|
||||
else if (Gbl.Usrs.Me.Logged)
|
||||
|
@ -108,8 +112,12 @@ void Ann_ShowAllAnnouncements (void)
|
|||
/* Select only announcements I can see */
|
||||
Rol_GetRolesInAllCrssIfNotYetGot (&Gbl.Usrs.Me.UsrDat);
|
||||
NumAnnouncements = (unsigned) DB_QuerySELECT (&mysql_res,"can not get announcements",
|
||||
"SELECT AnnCod,Status,Roles,Subject,Content"
|
||||
" FROM announcements"
|
||||
"SELECT AnnCod," // row[0]
|
||||
"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
|
||||
" ORDER BY AnnCod DESC",
|
||||
(unsigned) Gbl.Usrs.Me.UsrDat.Roles.InCrss);
|
||||
|
@ -118,8 +126,12 @@ void Ann_ShowAllAnnouncements (void)
|
|||
{
|
||||
/* Select only active announcements for unknown users */
|
||||
NumAnnouncements = (unsigned) DB_QuerySELECT (&mysql_res,"can not get announcements",
|
||||
"SELECT AnnCod,Status,Roles,Subject,Content"
|
||||
" FROM announcements"
|
||||
"SELECT AnnCod," // row[0]
|
||||
"Status," // row[1]
|
||||
"Roles," // row[2]
|
||||
"Subject," // row[3]
|
||||
"Content" // row[4]
|
||||
" FROM ann_announcements"
|
||||
" WHERE Status=%u AND (Roles&%u)<>0 "
|
||||
" ORDER BY AnnCod DESC",
|
||||
(unsigned) Ann_ACTIVE_ANNOUNCEMENT,
|
||||
|
@ -219,10 +231,16 @@ void Ann_ShowMyAnnouncementsNotMarkedAsSeen (void)
|
|||
/***** Select announcements not seen *****/
|
||||
Rol_GetRolesInAllCrssIfNotYetGot (&Gbl.Usrs.Me.UsrDat);
|
||||
NumAnnouncements = (unsigned) DB_QuerySELECT (&mysql_res,"can not get announcements",
|
||||
"SELECT AnnCod,Subject,Content FROM announcements"
|
||||
" WHERE Status=%u AND (Roles&%u)<>0 " // All my roles in different courses
|
||||
" AND AnnCod NOT IN"
|
||||
" (SELECT AnnCod FROM ann_seen WHERE UsrCod=%ld)"
|
||||
"SELECT AnnCod," // row[0]
|
||||
"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"
|
||||
" (SELECT AnnCod"
|
||||
" FROM ann_seen"
|
||||
" WHERE UsrCod=%ld)"
|
||||
" ORDER BY AnnCod DESC", // Newest first
|
||||
(unsigned) Ann_ACTIVE_ANNOUNCEMENT,
|
||||
(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 *****/
|
||||
DB_QueryINSERT ("can not create announcement",
|
||||
"INSERT INTO announcements"
|
||||
"INSERT INTO ann_announcements"
|
||||
" (Roles,Subject,Content)"
|
||||
" VALUES"
|
||||
" (%u,'%s','%s')",
|
||||
|
@ -522,9 +540,11 @@ void Ann_HideActiveAnnouncement (void)
|
|||
|
||||
/***** Set global announcement as hidden *****/
|
||||
DB_QueryUPDATE ("can not hide announcement",
|
||||
"UPDATE announcements SET Status=%u"
|
||||
"UPDATE ann_announcements"
|
||||
" SET Status=%u"
|
||||
" 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 *****/
|
||||
DB_QueryUPDATE ("can not reveal announcement",
|
||||
"UPDATE announcements SET Status=%u"
|
||||
"UPDATE ann_announcements"
|
||||
" SET Status=%u"
|
||||
" WHERE AnnCod=%ld",
|
||||
(unsigned) Ann_ACTIVE_ANNOUNCEMENT,AnnCod);
|
||||
(unsigned) Ann_ACTIVE_ANNOUNCEMENT,
|
||||
AnnCod);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -559,7 +581,8 @@ void Ann_RemoveAnnouncement (void)
|
|||
|
||||
/***** Remove announcement *****/
|
||||
DB_QueryDELETE ("can not remove announcement",
|
||||
"DELETE FROM announcements WHERE AnnCod=%ld",
|
||||
"DELETE FROM ann_announcements"
|
||||
" WHERE AnnCod=%ld",
|
||||
AnnCod);
|
||||
|
||||
/***** Remove users who have seen the announcement *****/
|
||||
|
@ -605,6 +628,7 @@ void Ann_RemoveUsrFromSeenAnnouncements (long UsrCod)
|
|||
{
|
||||
/***** 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);
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
*/
|
||||
#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 JS_FILE "swad20.6.2.js"
|
||||
/*
|
||||
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)
|
||||
1 change necessary in database:
|
||||
|
|
|
@ -175,6 +175,29 @@ mysql> DESCRIBE agd_agendas;
|
|||
"UNIQUE INDEX(AgdCod),"
|
||||
"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 *****/
|
||||
/*
|
||||
mysql> DESCRIBE ann_seen;
|
||||
|
@ -191,29 +214,6 @@ mysql> DESCRIBE ann_seen;
|
|||
"UsrCod INT NOT NULL,"
|
||||
"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 *****/
|
||||
/*
|
||||
mysql> DESCRIBE asg_grp;
|
||||
|
|
Loading…
Reference in New Issue
Block a user