mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-10 10:45:23 +02:00
Version 21.58.1: Nov 21, 2021 Code refactoring in timeline.
This commit is contained in:
parent
9d46cff420
commit
0d0bb5c887
|
@ -602,14 +602,15 @@ TODO: FIX BUG, URGENT! En las fechas como par
|
||||||
|
|
||||||
TODO: En las encuestas, que los estudiantes no puedan ver los resultados hasta que no finalice el plazo.
|
TODO: En las encuestas, que los estudiantes no puedan ver los resultados hasta que no finalice el plazo.
|
||||||
*/
|
*/
|
||||||
#define Log_PLATFORM_VERSION "SWAD 21.58 (2021-11-21)"
|
#define Log_PLATFORM_VERSION "SWAD 21.58.1 (2021-11-21)"
|
||||||
#define CSS_FILE "swad21.57.css"
|
#define CSS_FILE "swad21.57.css"
|
||||||
#define JS_FILE "swad21.58.js"
|
#define JS_FILE "swad21.58.js"
|
||||||
/*
|
/*
|
||||||
TODO: Rename CENTRE to CENTER in help wiki.
|
TODO: Rename CENTRE to CENTER in help wiki.
|
||||||
TODO: Rename ASSESSMENT.Announcements to ASSESSMENT.Calls_for_exams
|
TODO: Rename ASSESSMENT.Announcements to ASSESSMENT.Calls_for_exams
|
||||||
|
|
||||||
Version 21.58: Nov 21, 2021 Code refactoring in timeline. (319157 lines)
|
Version 21.58.1: Nov 21, 2021 Code refactoring in timeline. (319131 lines)
|
||||||
|
Version 21.58: Nov 21, 2021 Code refactoring in timeline. (319140 lines)
|
||||||
Version 21.57.5: Nov 18, 2021 Code refactoring related to check if user logged is me. (319174 lines)
|
Version 21.57.5: Nov 18, 2021 Code refactoring related to check if user logged is me. (319174 lines)
|
||||||
Version 21.57.4: Nov 17, 2021 Code refactoring in timeline. (319235 lines)
|
Version 21.57.4: Nov 17, 2021 Code refactoring in timeline. (319235 lines)
|
||||||
Version 21.57.3: Nov 17, 2021 Code refactoring in timeline. (319225 lines)
|
Version 21.57.3: Nov 17, 2021 Code refactoring in timeline. (319225 lines)
|
||||||
|
|
|
@ -891,39 +891,22 @@ void Tml_DB_CreateSubQueryPublishers (Tml_Usr_UsrOrGbl_t UsrOrGbl,Usr_Who_t Who,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
/********* Create subquery to get only notes not present in timeline *********/
|
|
||||||
/*****************************************************************************/
|
|
||||||
|
|
||||||
void Tml_DB_CreateSubQueryAlreadyExists (char AlreadyExists[Tml_Pub_MAX_BYTES_SUBQUERY + 1])
|
|
||||||
{
|
|
||||||
Str_Copy (AlreadyExists,
|
|
||||||
" tml_pubs.NotCod NOT IN"
|
|
||||||
" (SELECT NotCod"
|
|
||||||
" FROM tml_tmp_timeline)",
|
|
||||||
Tml_Pub_MAX_BYTES_SUBQUERY);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/***** Create subqueries with range of publications to get from tml_pubs *****/
|
/***** Create subqueries with range of publications to get from tml_pubs *****/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Tml_DB_CreateSubQueryRangeBottom (long Bottom,
|
void Tml_DB_CreateSubQueryRange (Tml_Pub_Range_t Range,long PubCod,
|
||||||
char SubQuery[Tml_Pub_MAX_BYTES_SUBQUERY + 1])
|
char SubQuery[Tml_Pub_MAX_BYTES_SUBQUERY + 1])
|
||||||
{
|
{
|
||||||
if (Bottom > 0)
|
static const char Operator[Tml_Pub_NUM_RANGES] =
|
||||||
snprintf (SubQuery,Tml_Pub_MAX_BYTES_SUBQUERY + 1,
|
{
|
||||||
"tml_pubs.PubCod>%ld AND ",Bottom);
|
[Tml_Pub_TOP ] = '<',
|
||||||
else
|
[Tml_Pub_BOTTOM] = '>',
|
||||||
SubQuery[0] = '\0';
|
};
|
||||||
}
|
|
||||||
|
|
||||||
void Tml_DB_CreateSubQueryRangeTop (long Top,
|
if (PubCod > 0)
|
||||||
char SubQuery[Tml_Pub_MAX_BYTES_SUBQUERY + 1])
|
|
||||||
{
|
|
||||||
if (Top > 0)
|
|
||||||
snprintf (SubQuery,Tml_Pub_MAX_BYTES_SUBQUERY + 1,
|
snprintf (SubQuery,Tml_Pub_MAX_BYTES_SUBQUERY + 1,
|
||||||
"tml_pubs.PubCod<%ld AND ",Top);
|
"tml_pubs.PubCod%c%ld AND ",Operator[Range],PubCod);
|
||||||
else
|
else
|
||||||
SubQuery[0] = '\0';
|
SubQuery[0] = '\0';
|
||||||
}
|
}
|
||||||
|
@ -943,14 +926,16 @@ unsigned Tml_DB_SelectTheMostRecentPub (MYSQL_RES **mysql_res,
|
||||||
"tml_pubs.PublisherCod," // row[2]
|
"tml_pubs.PublisherCod," // row[2]
|
||||||
"tml_pubs.PubType" // row[3]
|
"tml_pubs.PubType" // row[3]
|
||||||
" FROM tml_pubs%s"
|
" FROM tml_pubs%s"
|
||||||
" WHERE %s%s%s%s"
|
" WHERE %s%s%s"
|
||||||
|
" tml_pubs.NotCod NOT IN"
|
||||||
|
" (SELECT NotCod"
|
||||||
|
" FROM tml_tmp_timeline)"
|
||||||
" ORDER BY tml_pubs.PubCod DESC"
|
" ORDER BY tml_pubs.PubCod DESC"
|
||||||
" LIMIT 1",
|
" LIMIT 1",
|
||||||
SubQueries->Publishers.Table,
|
SubQueries->Publishers.Table,
|
||||||
SubQueries->RangeBottom,
|
SubQueries->RangeBottom,
|
||||||
SubQueries->RangeTop,
|
SubQueries->RangeTop,
|
||||||
SubQueries->Publishers.SubQuery,
|
SubQueries->Publishers.SubQuery);
|
||||||
SubQueries->AlreadyExists);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -96,10 +96,7 @@ void Tml_DB_RemoveAllCommsMadeBy (long UsrCod);
|
||||||
void Tml_DB_CreateSubQueryPublishers (Tml_Usr_UsrOrGbl_t UsrOrGbl,Usr_Who_t Who,
|
void Tml_DB_CreateSubQueryPublishers (Tml_Usr_UsrOrGbl_t UsrOrGbl,Usr_Who_t Who,
|
||||||
char **Table,
|
char **Table,
|
||||||
char SubQuery[Tml_Pub_MAX_BYTES_SUBQUERY + 1]);
|
char SubQuery[Tml_Pub_MAX_BYTES_SUBQUERY + 1]);
|
||||||
void Tml_DB_CreateSubQueryAlreadyExists (char AlreadyExists[Tml_Pub_MAX_BYTES_SUBQUERY + 1]);
|
void Tml_DB_CreateSubQueryRange (Tml_Pub_Range_t Range,long PubCod,
|
||||||
void Tml_DB_CreateSubQueryRangeBottom (long Bottom,
|
|
||||||
char SubQuery[Tml_Pub_MAX_BYTES_SUBQUERY + 1]);
|
|
||||||
void Tml_DB_CreateSubQueryRangeTop (long Top,
|
|
||||||
char SubQuery[Tml_Pub_MAX_BYTES_SUBQUERY + 1]);
|
char SubQuery[Tml_Pub_MAX_BYTES_SUBQUERY + 1]);
|
||||||
unsigned Tml_DB_SelectTheMostRecentPub (MYSQL_RES **mysql_res,
|
unsigned Tml_DB_SelectTheMostRecentPub (MYSQL_RES **mysql_res,
|
||||||
const struct Tml_Pub_SubQueries *SubQueries);
|
const struct Tml_Pub_SubQueries *SubQueries);
|
||||||
|
|
|
@ -105,12 +105,10 @@ void Tml_Pub_GetListPubsToShowInTimeline (struct Tml_Timeline *Timeline)
|
||||||
&SubQueries.Publishers.Table,
|
&SubQueries.Publishers.Table,
|
||||||
SubQueries.Publishers.SubQuery);
|
SubQueries.Publishers.SubQuery);
|
||||||
|
|
||||||
/* Create subquery to get only notes not present in timeline */
|
|
||||||
Tml_DB_CreateSubQueryAlreadyExists (SubQueries.AlreadyExists);
|
|
||||||
|
|
||||||
/* Create subquery with bottom range of publications to get from tml_pubs.
|
/* Create subquery with bottom range of publications to get from tml_pubs.
|
||||||
Bottom pub. code remains unchanged in all iterations of the loop. */
|
Bottom pub. code remains unchanged in all iterations of the loop. */
|
||||||
Tml_DB_CreateSubQueryRangeBottom (RangePubsToGet.Bottom,
|
Tml_DB_CreateSubQueryRange (Tml_Pub_BOTTOM,
|
||||||
|
RangePubsToGet.Bottom,
|
||||||
SubQueries.RangeBottom);
|
SubQueries.RangeBottom);
|
||||||
|
|
||||||
/***** Initialize list of publications *****/
|
/***** Initialize list of publications *****/
|
||||||
|
@ -158,7 +156,9 @@ void Tml_Pub_GetListPubsToShowInTimeline (struct Tml_Timeline *Timeline)
|
||||||
{
|
{
|
||||||
/* Create subquery with top range of publications to get from tml_pubs
|
/* Create subquery with top range of publications to get from tml_pubs
|
||||||
In each iteration of this loop, top publication code is changed to a lower value */
|
In each iteration of this loop, top publication code is changed to a lower value */
|
||||||
Tml_DB_CreateSubQueryRangeTop (RangePubsToGet.Top,SubQueries.RangeTop);
|
Tml_DB_CreateSubQueryRange (Tml_Pub_TOP,
|
||||||
|
RangePubsToGet.Top,
|
||||||
|
SubQueries.RangeTop);
|
||||||
|
|
||||||
/* Select the most recent publication from tml_pubs */
|
/* Select the most recent publication from tml_pubs */
|
||||||
Pub = Tml_Pub_SelectTheMostRecentPub (&SubQueries);
|
Pub = Tml_Pub_SelectTheMostRecentPub (&SubQueries);
|
||||||
|
|
|
@ -65,6 +65,13 @@ struct Tml_Pub_Publication
|
||||||
struct Tml_Pub_Publication *Next; // Used for chained list
|
struct Tml_Pub_Publication *Next; // Used for chained list
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define Tml_Pub_NUM_RANGES 2
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
Tml_Pub_TOP = 0,
|
||||||
|
Tml_Pub_BOTTOM = 1,
|
||||||
|
} Tml_Pub_Range_t;
|
||||||
|
|
||||||
struct Tml_Pub_RangePubsToGet
|
struct Tml_Pub_RangePubsToGet
|
||||||
{
|
{
|
||||||
long Top; // Top pub code
|
long Top; // Top pub code
|
||||||
|
@ -88,7 +95,6 @@ struct Tml_Pub_SubQueries
|
||||||
} Publishers;
|
} Publishers;
|
||||||
char RangeBottom [Tml_Pub_MAX_BYTES_SUBQUERY + 1];
|
char RangeBottom [Tml_Pub_MAX_BYTES_SUBQUERY + 1];
|
||||||
char RangeTop [Tml_Pub_MAX_BYTES_SUBQUERY + 1];
|
char RangeTop [Tml_Pub_MAX_BYTES_SUBQUERY + 1];
|
||||||
char AlreadyExists[Tml_Pub_MAX_BYTES_SUBQUERY + 1];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
Loading…
Reference in New Issue
Block a user