mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-14 12:44:09 +02:00
Version19.75.1
This commit is contained in:
parent
7cf99be5e1
commit
36f028f485
|
@ -488,13 +488,14 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
|
|||
En OpenSWAD:
|
||||
ps2pdf source.ps destination.pdf
|
||||
*/
|
||||
#define Log_PLATFORM_VERSION "SWAD 19.75 (2019-11-21)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 19.75.1 (2019-11-21)"
|
||||
#define CSS_FILE "swad19.74.3.css"
|
||||
#define JS_FILE "swad19.70.js"
|
||||
/*
|
||||
// TODO: Hacer un nuevo rol en los TFG: tutor externo (profesor de áreas no vinculadas con el centro, profesionales de empresas, etc.)
|
||||
// TODO: Impedir la creación y edición de proyectos si no son editables.
|
||||
|
||||
Version 19.75.1: Nov 21, 2019 Code refactoring related to vectors. (247013 lines)
|
||||
Version 19.75: Nov 21, 2019 Code refactoring related to vectors. (247012 lines)
|
||||
Version 19.74.4: Nov 20, 2019 Code refactoring related to vectors. (247021 lines)
|
||||
Version 19.74.3: Nov 20, 2019 Minor bug fixes and changes in layout and users' ranking. (247020 lines)
|
||||
|
|
14
swad_forum.c
14
swad_forum.c
|
@ -4466,13 +4466,13 @@ void For_RemoveForums (Hie_Level_t Scope,long ForumLocation)
|
|||
For_ForumType_t Tchs;
|
||||
} ForumType[Hie_NUM_LEVELS] =
|
||||
{
|
||||
{For_FORUM_GLOBAL_USRS,For_FORUM_GLOBAL_TCHS}, // Hie_UNK // No forums for this scope
|
||||
{For_FORUM_GLOBAL_USRS,For_FORUM_GLOBAL_TCHS}, // Hie_SYS // Not removable
|
||||
{For_FORUM_GLOBAL_USRS,For_FORUM_GLOBAL_TCHS}, // Hie_CTY // No forums for this scope
|
||||
{For_FORUM_INSTIT_USRS,For_FORUM_INSTIT_TCHS}, // Hie_INS
|
||||
{For_FORUM_CENTRE_USRS,For_FORUM_CENTRE_TCHS}, // Hie_CTR
|
||||
{For_FORUM_DEGREE_USRS,For_FORUM_DEGREE_TCHS}, // Hie_DEG
|
||||
{For_FORUM_COURSE_USRS,For_FORUM_COURSE_TCHS}, // Hie_CRS
|
||||
[Hie_UNK] = {For_FORUM_GLOBAL_USRS,For_FORUM_GLOBAL_TCHS}, // No forums for this scope
|
||||
[Hie_SYS] = {For_FORUM_GLOBAL_USRS,For_FORUM_GLOBAL_TCHS}, // Not removable
|
||||
[Hie_CTY] = {For_FORUM_GLOBAL_USRS,For_FORUM_GLOBAL_TCHS}, // No forums for this scope
|
||||
[Hie_INS] = {For_FORUM_INSTIT_USRS,For_FORUM_INSTIT_TCHS},
|
||||
[Hie_CTR] = {For_FORUM_CENTRE_USRS,For_FORUM_CENTRE_TCHS},
|
||||
[Hie_DEG] = {For_FORUM_DEGREE_USRS,For_FORUM_DEGREE_TCHS},
|
||||
[Hie_CRS] = {For_FORUM_COURSE_USRS,For_FORUM_COURSE_TCHS},
|
||||
};
|
||||
|
||||
/***** Remove disabled posts *****/
|
||||
|
|
|
@ -643,9 +643,9 @@ void Gam_GetListGames (void)
|
|||
{
|
||||
static const char *OrderBySubQuery[Gam_NUM_ORDERS] =
|
||||
{
|
||||
"StartTime DESC,EndTime DESC,gam_games.Title DESC", // Gam_ORDER_BY_START_DATE
|
||||
"EndTime DESC,StartTime DESC,gam_games.Title DESC", // Gam_ORDER_BY_END_DATE
|
||||
"gam_games.Title DESC", // Gam_ORDER_BY_TITLE
|
||||
[Gam_ORDER_BY_START_DATE] = "StartTime DESC,EndTime DESC,gam_games.Title DESC",
|
||||
[Gam_ORDER_BY_END_DATE ] = "EndTime DESC,StartTime DESC,gam_games.Title DESC",
|
||||
[Gam_ORDER_BY_TITLE ] = "gam_games.Title DESC",
|
||||
};
|
||||
MYSQL_RES *mysql_res;
|
||||
MYSQL_ROW row;
|
||||
|
|
20
swad_group.c
20
swad_group.c
|
@ -56,16 +56,16 @@
|
|||
|
||||
static const bool Grp_ICanChangeGrps[Rol_NUM_ROLES] =
|
||||
{
|
||||
false, // Rol_UNK
|
||||
false, // Rol_GST
|
||||
false, // Rol_USR
|
||||
true, // Rol_STD
|
||||
false, // Rol_NET
|
||||
true, // Rol_TCH
|
||||
false, // Rol_DEG_ADM
|
||||
false, // Rol_CTR_ADM
|
||||
false, // Rol_INS_ADM
|
||||
true, // Rol_SYS_ADM
|
||||
[Rol_UNK ] = false,
|
||||
[Rol_GST ] = false,
|
||||
[Rol_USR ] = false,
|
||||
[Rol_STD ] = true,
|
||||
[Rol_NET ] = false,
|
||||
[Rol_TCH ] = true,
|
||||
[Rol_DEG_ADM] = false,
|
||||
[Rol_CTR_ADM] = false,
|
||||
[Rol_INS_ADM] = false,
|
||||
[Rol_SYS_ADM] = true,
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
20
swad_help.c
20
swad_help.c
|
@ -105,16 +105,16 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void)
|
|||
extern const char *Txt_Create_account;
|
||||
static const Act_Action_t ActionsRemoveMe[Rol_NUM_ROLES] =
|
||||
{
|
||||
ActUnk, // Rol_UNK
|
||||
ActUnk, // Rol_GST
|
||||
ActUnk, // Rol_USR
|
||||
ActRemMe_Std, // Rol_STD
|
||||
ActRemMe_NET, // Rol_NET
|
||||
ActRemMe_Tch, // Rol_TCH
|
||||
ActUnk, // Rol_DEG_ADM
|
||||
ActUnk, // Rol_CTR_ADM
|
||||
ActUnk, // Rol_INS_ADM
|
||||
ActUnk, // Rol_SYS_ADM
|
||||
[Rol_UNK ] = ActUnk,
|
||||
[Rol_GST ] = ActUnk,
|
||||
[Rol_USR ] = ActUnk,
|
||||
[Rol_STD ] = ActRemMe_Std,
|
||||
[Rol_NET ] = ActRemMe_NET,
|
||||
[Rol_TCH ] = ActRemMe_Tch,
|
||||
[Rol_DEG_ADM] = ActUnk,
|
||||
[Rol_CTR_ADM] = ActUnk,
|
||||
[Rol_INS_ADM] = ActUnk,
|
||||
[Rol_SYS_ADM] = ActUnk,
|
||||
};
|
||||
|
||||
/***** Alert message *****/
|
||||
|
|
|
@ -289,8 +289,8 @@ void Hld_GetListHolidays (void)
|
|||
{
|
||||
static const char *OrderBySubQuery[Hld_NUM_ORDERS] =
|
||||
{
|
||||
"Place,StartDate", // Hld_ORDER_BY_PLACE
|
||||
"StartDate,Place", // Hld_ORDER_BY_START_DATE
|
||||
[Hld_ORDER_BY_PLACE ] = "Place,StartDate",
|
||||
[Hld_ORDER_BY_START_DATE] = "StartDate,Place",
|
||||
};
|
||||
MYSQL_RES *mysql_res;
|
||||
MYSQL_ROW row;
|
||||
|
|
64
swad_info.c
64
swad_info.c
|
@ -350,14 +350,14 @@ void Inf_ShowInfo (void)
|
|||
bool ShowWarningNoInfo = false;
|
||||
const char *Help[Inf_NUM_INFO_TYPES] =
|
||||
{
|
||||
Hlp_COURSE_Information_textual_information, // Inf_INTRODUCTION
|
||||
Hlp_COURSE_Guide, // Inf_TEACHING_GUIDE
|
||||
Hlp_COURSE_Syllabus, // Inf_LECTURES
|
||||
Hlp_COURSE_Syllabus, // Inf_PRACTICALS
|
||||
Hlp_COURSE_Bibliography, // Inf_BIBLIOGRAPHY
|
||||
Hlp_COURSE_FAQ, // Inf_FAQ
|
||||
Hlp_COURSE_Links, // Inf_LINKS
|
||||
Hlp_ASSESSMENT_System, // Inf_ASSESSMENT
|
||||
[Inf_INTRODUCTION ] = Hlp_COURSE_Information_textual_information,
|
||||
[Inf_TEACHING_GUIDE] = Hlp_COURSE_Guide,
|
||||
[Inf_LECTURES ] = Hlp_COURSE_Syllabus,
|
||||
[Inf_PRACTICALS ] = Hlp_COURSE_Syllabus,
|
||||
[Inf_BIBLIOGRAPHY ] = Hlp_COURSE_Bibliography,
|
||||
[Inf_FAQ ] = Hlp_COURSE_FAQ,
|
||||
[Inf_LINKS ] = Hlp_COURSE_Links,
|
||||
[Inf_ASSESSMENT ] = Hlp_ASSESSMENT_System,
|
||||
};
|
||||
|
||||
/***** Set info type *****/
|
||||
|
@ -1031,14 +1031,14 @@ static void Inf_ShowPage (const char *URL)
|
|||
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM);
|
||||
const char *Help[Inf_NUM_INFO_TYPES] =
|
||||
{
|
||||
Hlp_COURSE_Information_textual_information, // Inf_INTRODUCTION
|
||||
Hlp_COURSE_Guide, // Inf_TEACHING_GUIDE
|
||||
Hlp_COURSE_Syllabus, // Inf_LECTURES
|
||||
Hlp_COURSE_Syllabus, // Inf_PRACTICALS
|
||||
Hlp_COURSE_Bibliography, // Inf_BIBLIOGRAPHY
|
||||
Hlp_COURSE_FAQ, // Inf_FAQ
|
||||
Hlp_COURSE_Links, // Inf_LINKS
|
||||
Hlp_ASSESSMENT_System, // Inf_ASSESSMENT
|
||||
[Inf_INTRODUCTION ] = Hlp_COURSE_Information_textual_information,
|
||||
[Inf_TEACHING_GUIDE] = Hlp_COURSE_Guide,
|
||||
[Inf_LECTURES ] = Hlp_COURSE_Syllabus,
|
||||
[Inf_PRACTICALS ] = Hlp_COURSE_Syllabus,
|
||||
[Inf_BIBLIOGRAPHY ] = Hlp_COURSE_Bibliography,
|
||||
[Inf_FAQ ] = Hlp_COURSE_FAQ,
|
||||
[Inf_LINKS ] = Hlp_COURSE_Links,
|
||||
[Inf_ASSESSMENT ] = Hlp_ASSESSMENT_System,
|
||||
};
|
||||
|
||||
/***** Begin box *****/
|
||||
|
@ -1769,14 +1769,14 @@ static bool Inf_CheckAndShowPlainTxt (void)
|
|||
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM);
|
||||
const char *Help[Inf_NUM_INFO_TYPES] =
|
||||
{
|
||||
Hlp_COURSE_Information_textual_information, // Inf_INTRODUCTION
|
||||
Hlp_COURSE_Guide, // Inf_TEACHING_GUIDE
|
||||
Hlp_COURSE_Syllabus, // Inf_LECTURES
|
||||
Hlp_COURSE_Syllabus, // Inf_PRACTICALS
|
||||
Hlp_COURSE_Bibliography, // Inf_BIBLIOGRAPHY
|
||||
Hlp_COURSE_FAQ, // Inf_FAQ
|
||||
Hlp_COURSE_Links, // Inf_LINKS
|
||||
Hlp_ASSESSMENT_System, // Inf_ASSESSMENT
|
||||
[Inf_INTRODUCTION ] = Hlp_COURSE_Information_textual_information,
|
||||
[Inf_TEACHING_GUIDE] = Hlp_COURSE_Guide,
|
||||
[Inf_LECTURES ] = Hlp_COURSE_Syllabus,
|
||||
[Inf_PRACTICALS ] = Hlp_COURSE_Syllabus,
|
||||
[Inf_BIBLIOGRAPHY ] = Hlp_COURSE_Bibliography,
|
||||
[Inf_FAQ ] = Hlp_COURSE_FAQ,
|
||||
[Inf_LINKS ] = Hlp_COURSE_Links,
|
||||
[Inf_ASSESSMENT ] = Hlp_ASSESSMENT_System,
|
||||
};
|
||||
|
||||
/***** Get info text from database *****/
|
||||
|
@ -1853,14 +1853,14 @@ static bool Inf_CheckAndShowRichTxt (void)
|
|||
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM);
|
||||
const char *Help[Inf_NUM_INFO_TYPES] =
|
||||
{
|
||||
Hlp_COURSE_Information_textual_information, // Inf_INTRODUCTION
|
||||
Hlp_COURSE_Guide, // Inf_TEACHING_GUIDE
|
||||
Hlp_COURSE_Syllabus, // Inf_LECTURES
|
||||
Hlp_COURSE_Syllabus, // Inf_PRACTICALS
|
||||
Hlp_COURSE_Bibliography, // Inf_BIBLIOGRAPHY
|
||||
Hlp_COURSE_FAQ, // Inf_FAQ
|
||||
Hlp_COURSE_Links, // Inf_LINKS
|
||||
Hlp_ASSESSMENT_System, // Inf_ASSESSMENT
|
||||
[Inf_INTRODUCTION ] = Hlp_COURSE_Information_textual_information,
|
||||
[Inf_TEACHING_GUIDE] = Hlp_COURSE_Guide,
|
||||
[Inf_LECTURES ] = Hlp_COURSE_Syllabus,
|
||||
[Inf_PRACTICALS ] = Hlp_COURSE_Syllabus,
|
||||
[Inf_BIBLIOGRAPHY ] = Hlp_COURSE_Bibliography,
|
||||
[Inf_FAQ ] = Hlp_COURSE_FAQ,
|
||||
[Inf_LINKS ] = Hlp_COURSE_Links,
|
||||
[Inf_ASSESSMENT ] = Hlp_ASSESSMENT_System,
|
||||
};
|
||||
|
||||
/***** Get info text from database *****/
|
||||
|
|
|
@ -985,8 +985,8 @@ void Ins_GetListInstitutions (long CtyCod,Ins_GetExtraData_t GetExtraData)
|
|||
{
|
||||
static const char *OrderBySubQuery[Ins_NUM_ORDERS] =
|
||||
{
|
||||
"FullName", // Ins_ORDER_BY_INSTITUTION
|
||||
"NumUsrs DESC,FullName", // Ins_ORDER_BY_NUM_USRS
|
||||
[Ins_ORDER_BY_INSTITUTION] = "FullName",
|
||||
[Ins_ORDER_BY_NUM_USRS ] = "NumUsrs DESC,FullName",
|
||||
};
|
||||
MYSQL_RES *mysql_res;
|
||||
MYSQL_ROW row;
|
||||
|
|
14
swad_logo.c
14
swad_logo.c
|
@ -73,13 +73,13 @@ void Log_DrawLogo (Hie_Level_t Scope,long Cod,const char *AltText,
|
|||
{
|
||||
static const char *HieIcon[Hie_NUM_LEVELS] =
|
||||
{
|
||||
"sitemap.svg", // Hie_UNK, not applicable here
|
||||
"sitemap.svg", // Hie_SYS, not applicable here
|
||||
"sitemap.svg", // Hie_CTY, not applicable here
|
||||
"university.svg", // Hie_INS
|
||||
"building.svg", // Hie_CTR
|
||||
"graduation-cap.svg", // Hie_DEG
|
||||
"sitemap.svg", // Hie_CRS, not applicable here
|
||||
[Hie_UNK] = "sitemap.svg", // not applicable here
|
||||
[Hie_SYS] = "sitemap.svg", // not applicable here
|
||||
[Hie_CTY] = "sitemap.svg", // not applicable here
|
||||
[Hie_INS] = "university.svg",
|
||||
[Hie_CTR] = "building.svg",
|
||||
[Hie_DEG] = "graduation-cap.svg",
|
||||
[Hie_CRS] = "sitemap.svg", // not applicable here
|
||||
};
|
||||
const char *Folder = NULL; // To avoid warning
|
||||
char PathLogo[PATH_MAX + 1];
|
||||
|
|
|
@ -242,9 +242,9 @@ static void Mai_GetListMailDomainsAllowedForNotif (void)
|
|||
{
|
||||
static const char *OrderBySubQuery[Mai_NUM_ORDERS] =
|
||||
{
|
||||
"Domain,Info,N DESC", // Mai_ORDER_BY_DOMAIN
|
||||
"Info,Domain,N DESC", // Mai_ORDER_BY_INFO
|
||||
"N DESC,Info,Domain", // Mai_ORDER_BY_USERS
|
||||
[Mai_ORDER_BY_DOMAIN] = "Domain,Info,N DESC",
|
||||
[Mai_ORDER_BY_INFO ] = "Info,Domain,N DESC",
|
||||
[Mai_ORDER_BY_USERS ] = "N DESC,Info,Domain",
|
||||
};
|
||||
MYSQL_RES *mysql_res;
|
||||
MYSQL_ROW row;
|
||||
|
|
|
@ -73,8 +73,8 @@ extern struct Globals Gbl;
|
|||
|
||||
static const Pag_WhatPaginate_t Msg_WhatPaginate[Msg_NUM_TYPES_OF_MSGS] =
|
||||
{
|
||||
Pag_MESSAGES_RECEIVED, // Msg_MESSAGES_RECEIVED
|
||||
Pag_MESSAGES_SENT // Msg_MESSAGES_SENT
|
||||
[Msg_MESSAGES_RECEIVED] = Pag_MESSAGES_RECEIVED,
|
||||
[Msg_MESSAGES_SENT ] = Pag_MESSAGES_SENT,
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -1702,23 +1702,23 @@ static void Msg_ShowSentOrReceivedMessages (void)
|
|||
long MsgCod;
|
||||
static const Act_Action_t ActionSee[Msg_NUM_TYPES_OF_MSGS] =
|
||||
{
|
||||
ActSeeRcvMsg,
|
||||
ActSeeSntMsg,
|
||||
[Msg_MESSAGES_RECEIVED] = ActSeeRcvMsg,
|
||||
[Msg_MESSAGES_SENT ] = ActSeeSntMsg,
|
||||
};
|
||||
static const Pag_WhatPaginate_t WhatPaginate[Msg_NUM_TYPES_OF_MSGS] =
|
||||
{
|
||||
Pag_MESSAGES_RECEIVED,
|
||||
Pag_MESSAGES_SENT,
|
||||
[Msg_MESSAGES_RECEIVED] = Pag_MESSAGES_RECEIVED,
|
||||
[Msg_MESSAGES_SENT ] = Pag_MESSAGES_SENT,
|
||||
};
|
||||
const char *Help[Msg_NUM_TYPES_OF_MSGS] =
|
||||
{
|
||||
Hlp_MESSAGES_Received,
|
||||
Hlp_MESSAGES_Sent,
|
||||
[Msg_MESSAGES_RECEIVED] = Hlp_MESSAGES_Received,
|
||||
[Msg_MESSAGES_SENT ] = Hlp_MESSAGES_Sent,
|
||||
};
|
||||
const char *HelpFilter[Msg_NUM_TYPES_OF_MSGS] =
|
||||
{
|
||||
Hlp_MESSAGES_Received_filter,
|
||||
Hlp_MESSAGES_Sent_filter,
|
||||
[Msg_MESSAGES_RECEIVED] = Hlp_MESSAGES_Received_filter,
|
||||
[Msg_MESSAGES_SENT ] = Hlp_MESSAGES_Sent_filter,
|
||||
};
|
||||
|
||||
/***** Get the page number *****/
|
||||
|
@ -2491,8 +2491,8 @@ static void Msg_PutIconsListMsgs (void)
|
|||
{
|
||||
static const Act_Action_t ActionReqDelAllMsg[Msg_NUM_TYPES_OF_MSGS] =
|
||||
{
|
||||
ActReqDelAllRcvMsg,
|
||||
ActReqDelAllSntMsg,
|
||||
[Msg_MESSAGES_RECEIVED] = ActReqDelAllRcvMsg,
|
||||
[Msg_MESSAGES_SENT ] = ActReqDelAllSntMsg,
|
||||
};
|
||||
|
||||
/***** Put icon to remove messages *****/
|
||||
|
@ -2908,8 +2908,8 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
|
|||
extern const char *Txt_MSG_Content;
|
||||
static const Act_Action_t ActionDelMsg[Msg_NUM_TYPES_OF_MSGS] =
|
||||
{
|
||||
ActDelRcvMsg,
|
||||
ActDelSntMsg,
|
||||
[Msg_MESSAGES_RECEIVED] = ActDelRcvMsg,
|
||||
[Msg_MESSAGES_SENT ] = ActDelSntMsg,
|
||||
};
|
||||
struct UsrData UsrDat;
|
||||
const char *Title = NULL; // Initialized to avoid warning
|
||||
|
@ -3430,8 +3430,8 @@ static void Msg_WriteMsgTo (long MsgCod)
|
|||
char PhotoURL[PATH_MAX + 1];
|
||||
static const Act_Action_t ActionSee[Msg_NUM_TYPES_OF_MSGS] =
|
||||
{
|
||||
ActSeeRcvMsg,
|
||||
ActSeeSntMsg,
|
||||
[Msg_MESSAGES_RECEIVED] = ActSeeRcvMsg,
|
||||
[Msg_MESSAGES_SENT ] = ActSeeSntMsg,
|
||||
};
|
||||
|
||||
/***** Get number of recipients of a message from database *****/
|
||||
|
|
|
@ -615,28 +615,28 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
|
|||
extern const char *Txt_See_full_notice;
|
||||
static const char *ContainerClass[Not_NUM_STATUS] =
|
||||
{
|
||||
"NOTICE_CONTAINER_ACTIVE", // Not_ACTIVE_NOTICE
|
||||
"NOTICE_CONTAINER_OBSOLETE", // Not_OBSOLETE_NOTICE
|
||||
[Not_ACTIVE_NOTICE ] = "NOTICE_CONTAINER_ACTIVE",
|
||||
[Not_OBSOLETE_NOTICE] = "NOTICE_CONTAINER_OBSOLETE",
|
||||
};
|
||||
static const char *ContainerWidthClass[Not_NUM_TYPES_LISTING] =
|
||||
{
|
||||
"NOTICE_CONTAINER_NARROW", // Not_LIST_BRIEF_NOTICES
|
||||
"NOTICE_CONTAINER_WIDE", // Not_LIST_FULL_NOTICES
|
||||
[Not_LIST_BRIEF_NOTICES] = "NOTICE_CONTAINER_NARROW",
|
||||
[Not_LIST_FULL_NOTICES ] = "NOTICE_CONTAINER_WIDE",
|
||||
};
|
||||
static const char *DateClass[Not_NUM_STATUS] =
|
||||
{
|
||||
"NOTICE_DATE_ACTIVE", // Not_ACTIVE_NOTICE
|
||||
"NOTICE_DATE_OBSOLETE", // Not_OBSOLETE_NOTICE
|
||||
[Not_ACTIVE_NOTICE ] = "NOTICE_DATE_ACTIVE",
|
||||
[Not_OBSOLETE_NOTICE] = "NOTICE_DATE_OBSOLETE",
|
||||
};
|
||||
static const char *TextClass[Not_NUM_STATUS] =
|
||||
{
|
||||
"NOTICE_TEXT_ACTIVE", // Not_ACTIVE_NOTICE
|
||||
"NOTICE_TEXT_OBSOLETE", // Not_OBSOLETE_NOTICE
|
||||
[Not_ACTIVE_NOTICE ] = "NOTICE_TEXT_ACTIVE",
|
||||
[Not_OBSOLETE_NOTICE] = "NOTICE_TEXT_OBSOLETE",
|
||||
};
|
||||
static const char *AuthorClass[Not_NUM_STATUS] =
|
||||
{
|
||||
"NOTICE_AUTHOR_ACTIVE", // Not_ACTIVE_NOTICE
|
||||
"NOTICE_AUTHOR_OBSOLETE", // Not_OBSOLETE_NOTICE
|
||||
[Not_ACTIVE_NOTICE ] = "NOTICE_AUTHOR_ACTIVE",
|
||||
[Not_OBSOLETE_NOTICE] = "NOTICE_AUTHOR_OBSOLETE",
|
||||
};
|
||||
static unsigned UniqueId = 0;
|
||||
char *Id;
|
||||
|
|
|
@ -53,17 +53,17 @@ extern const Act_Action_t For_ActionsSeePstFor[For_NUM_TYPES_FORUM];
|
|||
|
||||
static const char *Pag_ParamNumPag[Pag_NUM_WHAT_PAGINATE] =
|
||||
{
|
||||
"NumPagAsg", // Pag_ASSIGNMENTS
|
||||
"NumPagPrj", // Pag_PROJECTS
|
||||
"NumPagGam", // Pag_GAMES
|
||||
"NumPagSvy", // Pag_SURVEYS
|
||||
"NumPagAtt", // Pag_ATT_EVENTS
|
||||
"NumPagThr", // Pag_THREADS_FORUM
|
||||
"NumPagPst", // Pag_POSTS_FORUM
|
||||
"NumPagRcv", // Pag_MESSAGES_RECEIVED
|
||||
"NumPagSnt", // Pag_MESSAGES_SENT
|
||||
"NumPagMyAgd", // Pag_MY_AGENDA
|
||||
"NumPagOthAgd", // Pag_ANOTHER_AGENDA
|
||||
[Pag_ASSIGNMENTS ] = "NumPagAsg",
|
||||
[Pag_PROJECTS ] = "NumPagPrj",
|
||||
[Pag_GAMES ] = "NumPagGam",
|
||||
[Pag_SURVEYS ] = "NumPagSvy",
|
||||
[Pag_ATT_EVENTS ] = "NumPagAtt",
|
||||
[Pag_THREADS_FORUM ] = "NumPagThr",
|
||||
[Pag_POSTS_FORUM ] = "NumPagPst",
|
||||
[Pag_MESSAGES_RECEIVED] = "NumPagRcv",
|
||||
[Pag_MESSAGES_SENT ] = "NumPagSnt",
|
||||
[Pag_MY_AGENDA ] = "NumPagMyAgd",
|
||||
[Pag_ANOTHER_AGENDA ] = "NumPagOthAgd",
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -333,8 +333,8 @@ void Plc_GetListPlaces (void)
|
|||
{
|
||||
static const char *OrderBySubQuery[Plc_NUM_ORDERS] =
|
||||
{
|
||||
"FullName", // Plc_ORDER_BY_PLACE
|
||||
"NumCtrs DESC,FullName", // Plc_ORDER_BY_NUM_CTRS
|
||||
[Plc_ORDER_BY_PLACE ] = "FullName",
|
||||
[Plc_ORDER_BY_NUM_CTRS] = "NumCtrs DESC,FullName",
|
||||
};
|
||||
MYSQL_RES *mysql_res;
|
||||
MYSQL_ROW row;
|
||||
|
|
|
@ -84,28 +84,28 @@ static const unsigned Brw_NUM_ROLES_TO_SHOW = sizeof (Prj_RolesToShow) /
|
|||
/***** Enum field in database for types of proposal *****/
|
||||
static const char *Prj_Proposal_DB[Prj_NUM_PROPOSAL_TYPES] =
|
||||
{
|
||||
"new", // Prj_PROPOSAL_NEW
|
||||
"modified", // Prj_PROPOSAL_MODIFIED
|
||||
"unmodified", // Prj_PROPOSAL_UNMODIFIED
|
||||
[Prj_PROPOSAL_NEW ] = "new",
|
||||
[Prj_PROPOSAL_MODIFIED ] = "modified",
|
||||
[Prj_PROPOSAL_UNMODIFIED] = "unmodified",
|
||||
};
|
||||
|
||||
/***** Assigned/non-assigned project *****/
|
||||
static const char *AssignedNonassigImage[Prj_NUM_ASSIGNED_NONASSIG] =
|
||||
{
|
||||
"user.svg", // Prj_ASSIGNED
|
||||
"user-slash.svg", // Prj_NONASSIG
|
||||
[Prj_ASSIGNED] = "user.svg",
|
||||
[Prj_NONASSIG] = "user-slash.svg",
|
||||
};
|
||||
|
||||
/***** Locked/unlocked project edition *****/
|
||||
static const char *Prj_LockIcons[Prj_NUM_LOCKED_UNLOCKED] =
|
||||
{
|
||||
"lock.svg", // Prj_LOCKED
|
||||
"unlock.svg", // Prj_UNLOCKED
|
||||
[Prj_LOCKED ] = "lock.svg",
|
||||
[Prj_UNLOCKED] = "unlock.svg",
|
||||
};
|
||||
static const Act_Action_t Prj_LockActions[Prj_NUM_LOCKED_UNLOCKED] =
|
||||
{
|
||||
ActUnlPrj, // Prj_LOCKED
|
||||
ActLckPrj, // Prj_UNLOCKED
|
||||
[Prj_LOCKED ] = ActUnlPrj,
|
||||
[Prj_UNLOCKED] = ActLckPrj,
|
||||
};
|
||||
|
||||
/***** List of users to select one or more members
|
||||
|
@ -575,8 +575,8 @@ static void Prj_ShowFormToFilterByHidden (void)
|
|||
Prj_HiddenVisibl_t HidVis;
|
||||
static const char *HiddenVisiblIcon[Prj_NUM_HIDDEN_VISIBL] =
|
||||
{
|
||||
"eye-slash.svg", // Prj_HIDDEN
|
||||
"eye.svg", // Prj_VISIBL
|
||||
[Prj_HIDDEN] = "eye-slash.svg",
|
||||
[Prj_VISIBL] = "eye.svg",
|
||||
};
|
||||
|
||||
Set_StartOneSettingSelector ();
|
||||
|
@ -616,8 +616,8 @@ static void Prj_ShowFormToFilterByWarning (void)
|
|||
Prj_Faultiness_t Faultiness;
|
||||
static const char *FaultinessIcon[Prj_NUM_FAULTINESS] =
|
||||
{
|
||||
"exclamation-triangle.svg", // Prj_FAULTY
|
||||
"check-circle.svg", // Prj_FAULTLESS
|
||||
[Prj_FAULTY ] = "exclamation-triangle.svg",
|
||||
[Prj_FAULTLESS] = "check-circle.svg",
|
||||
};
|
||||
|
||||
Set_StartOneSettingSelector ();
|
||||
|
@ -965,16 +965,16 @@ static bool Prj_CheckIfICanCreateProjects (void)
|
|||
{
|
||||
static const bool ICanCreateProjects[Rol_NUM_ROLES] =
|
||||
{
|
||||
false, // Rol_UNK
|
||||
false, // Rol_GST
|
||||
false, // Rol_USR
|
||||
false, // Rol_STD
|
||||
true, // Rol_NET
|
||||
true, // Rol_TCH
|
||||
true, // Rol_DEG_ADM
|
||||
true, // Rol_CTR_ADM
|
||||
true, // Rol_INS_ADM
|
||||
true, // Rol_SYS_ADM
|
||||
[Rol_UNK ] = false,
|
||||
[Rol_GST ] = false,
|
||||
[Rol_USR ] = false,
|
||||
[Rol_STD ] = false,
|
||||
[Rol_NET ] = true,
|
||||
[Rol_TCH ] = true,
|
||||
[Rol_DEG_ADM] = true,
|
||||
[Rol_CTR_ADM] = true,
|
||||
[Rol_INS_ADM] = true,
|
||||
[Rol_SYS_ADM] = true,
|
||||
};
|
||||
|
||||
return ICanCreateProjects[Gbl.Usrs.Me.Role.Logged];
|
||||
|
@ -1934,17 +1934,17 @@ static void Prj_ShowOneProjectMembersWithARole (const struct Project *Prj,
|
|||
const char *ClassData;
|
||||
static const Act_Action_t ActionReqRemUsr[Prj_NUM_ROLES_IN_PROJECT] =
|
||||
{
|
||||
ActUnk, // Prj_ROLE_UNK, Unknown
|
||||
ActReqRemStdPrj, // Prj_ROLE_STD, Student
|
||||
ActReqRemTutPrj, // Prj_ROLE_TUT, Tutor
|
||||
ActReqRemEvlPrj, // Prj_ROLE_EVL, Evaluator
|
||||
[Prj_ROLE_UNK] = ActUnk, // Unknown
|
||||
[Prj_ROLE_STD] = ActReqRemStdPrj, // Student
|
||||
[Prj_ROLE_TUT] = ActReqRemTutPrj, // Tutor
|
||||
[Prj_ROLE_EVL] = ActReqRemEvlPrj, // Evaluator
|
||||
};
|
||||
static const Act_Action_t ActionReqAddUsr[Prj_NUM_ROLES_IN_PROJECT] =
|
||||
{
|
||||
ActUnk, // Prj_ROLE_UNK, Unknown
|
||||
ActReqAddStdPrj, // Prj_ROLE_STD, Student
|
||||
ActReqAddTutPrj, // Prj_ROLE_TUT, Tutor
|
||||
ActReqAddEvlPrj, // Prj_ROLE_EVL, Evaluator
|
||||
[Prj_ROLE_UNK] = ActUnk, // Unknown
|
||||
[Prj_ROLE_STD] = ActReqAddStdPrj, // Student
|
||||
[Prj_ROLE_TUT] = ActReqAddTutPrj, // Tutor
|
||||
[Prj_ROLE_EVL] = ActReqAddEvlPrj, // Evaluator
|
||||
};
|
||||
|
||||
/***** Set CSS classes *****/
|
||||
|
@ -2681,19 +2681,16 @@ static void Prj_GetListProjects (void)
|
|||
char *DptCodSubQuery;
|
||||
static const char *OrderBySubQuery[Prj_NUM_ORDERS] =
|
||||
{
|
||||
"projects.CreatTime DESC," // Prj_ORDER_START_TIME
|
||||
[Prj_ORDER_START_TIME] = "projects.CreatTime DESC,"
|
||||
"projects.ModifTime DESC,"
|
||||
"projects.Title",
|
||||
|
||||
"projects.ModifTime DESC," // Prj_ORDER_END_TIME
|
||||
[Prj_ORDER_END_TIME ] = "projects.ModifTime DESC,"
|
||||
"projects.CreatTime DESC,"
|
||||
"projects.Title",
|
||||
|
||||
"projects.Title," // Prj_ORDER_TITLE
|
||||
[Prj_ORDER_TITLE ] = "projects.Title,"
|
||||
"projects.CreatTime DESC,"
|
||||
"projects.ModifTime DESC",
|
||||
|
||||
"departments.FullName," // Prj_ORDER_DEPARTMENT
|
||||
[Prj_ORDER_DEPARTMENT] = "departments.FullName,"
|
||||
"projects.CreatTime DESC,"
|
||||
"projects.ModifTime DESC,"
|
||||
"projects.Title",
|
||||
|
|
14
swad_scope.c
14
swad_scope.c
|
@ -350,13 +350,13 @@ const char *Sco_GetDBStrFromScope (Hie_Level_t Scope)
|
|||
{
|
||||
static const char *Sco_ScopeDB[Hie_NUM_LEVELS] =
|
||||
{
|
||||
"Unk", // Hie_UNK
|
||||
"Sys", // Hie_SYS
|
||||
"Cty", // Hie_CTY
|
||||
"Ins", // Hie_INS
|
||||
"Ctr", // Hie_CTR
|
||||
"Deg", // Hie_DEG
|
||||
"Crs", // Hie_CRS
|
||||
[Hie_UNK] = "Unk",
|
||||
[Hie_SYS] = "Sys",
|
||||
[Hie_CTY] = "Cty",
|
||||
[Hie_INS] = "Ins",
|
||||
[Hie_CTR] = "Ctr",
|
||||
[Hie_DEG] = "Deg",
|
||||
[Hie_CRS] = "Crs",
|
||||
};
|
||||
|
||||
if (Scope >= Hie_NUM_LEVELS)
|
||||
|
|
|
@ -890,8 +890,8 @@ static void Svy_GetListSurveys (void)
|
|||
char *SubQuery[Hie_NUM_LEVELS];
|
||||
static const char *OrderBySubQuery[Svy_NUM_ORDERS] =
|
||||
{
|
||||
"StartTime DESC,EndTime DESC,Title DESC", // Svy_ORDER_BY_START_DATE
|
||||
"EndTime DESC,StartTime DESC,Title DESC", // Svy_ORDER_BY_END_DATE
|
||||
[Svy_ORDER_BY_START_DATE] = "StartTime DESC,EndTime DESC,Title DESC",
|
||||
[Svy_ORDER_BY_END_DATE ] = "EndTime DESC,StartTime DESC,Title DESC",
|
||||
};
|
||||
MYSQL_RES *mysql_res;
|
||||
MYSQL_ROW row;
|
||||
|
|
|
@ -312,15 +312,15 @@ void TT_ShowClassTimeTable (void)
|
|||
extern const char *Txt_TIMETABLE_TYPES[TT_NUM_TIMETABLE_TYPES];
|
||||
const char *Help[TT_NUM_TIMETABLE_TYPES] =
|
||||
{
|
||||
Hlp_COURSE_Timetable, // TT_COURSE_TIMETABLE
|
||||
Hlp_PROFILE_Timetable, // TT_MY_TIMETABLE
|
||||
NULL, // TT_TUTORING_TIMETABLE
|
||||
[TT_COURSE_TIMETABLE ] = Hlp_COURSE_Timetable,
|
||||
[TT_MY_TIMETABLE ] = Hlp_PROFILE_Timetable,
|
||||
[TT_TUTORING_TIMETABLE] = NULL,
|
||||
};
|
||||
Act_Action_t ActChgTT1stDay[TT_NUM_TIMETABLE_TYPES] =
|
||||
static Act_Action_t ActChgTT1stDay[TT_NUM_TIMETABLE_TYPES] =
|
||||
{
|
||||
ActChgCrsTT1stDay,// TT_COURSE_TIMETABLE
|
||||
ActChgMyTT1stDay, // TT_MY_TIMETABLE
|
||||
ActUnk, // TT_TUTORING_TIMETABLE
|
||||
[TT_COURSE_TIMETABLE ] = ActChgCrsTT1stDay,
|
||||
[TT_MY_TIMETABLE ] = ActChgMyTT1stDay,
|
||||
[TT_TUTORING_TIMETABLE] = ActUnk,
|
||||
};
|
||||
bool PrintView = (Gbl.Action.Act == ActPrnCrsTT ||
|
||||
Gbl.Action.Act == ActPrnMyTT);;
|
||||
|
@ -1435,10 +1435,10 @@ static void TT_TimeTableDrawCell (unsigned Weekday,unsigned Interval,unsigned Co
|
|||
extern const char *Txt_Info;
|
||||
static const char *TimeTableClasses[TT_NUM_CLASS_TYPES] =
|
||||
{
|
||||
"TT_FREE", // TT_FREE (free hour)
|
||||
"TT_LECT", // TT_LECTURE (lecture class)
|
||||
"TT_PRAC", // TT_PRACTICAL (practical class)
|
||||
"TT_TUTO", // TT_TUTORING (tutoring/office hour)
|
||||
[TT_FREE ] = "TT_FREE", // free hour
|
||||
[TT_LECTURE ] = "TT_LECT", // lecture class
|
||||
[TT_PRACTICAL] = "TT_PRAC", // practical class
|
||||
[TT_TUTORING ] = "TT_TUTO", // tutoring/office hour
|
||||
};
|
||||
char *CellStr; // Unique string for this cell used in labels
|
||||
struct GroupData GrpDat;
|
||||
|
|
47
swad_user.c
47
swad_user.c
|
@ -101,37 +101,36 @@ const char *Usr_StringsUsrListTypeInDB[Usr_NUM_USR_LIST_TYPES] =
|
|||
|
||||
static const char *Usr_IconsClassPhotoOrList[Usr_NUM_USR_LIST_TYPES] =
|
||||
{
|
||||
"", // Usr_LIST_UNKNOWN
|
||||
"th.svg", // Usr_LIST_AS_CLASS_PHOTO
|
||||
"list-ol.svg", // Usr_LIST_AS_LISTING
|
||||
[Usr_LIST_UNKNOWN ] = "",
|
||||
[Usr_LIST_AS_CLASS_PHOTO] = "th.svg",
|
||||
[Usr_LIST_AS_LISTING ] = "list-ol.svg",
|
||||
};
|
||||
|
||||
|
||||
static const char *Usr_NameSelUnsel[Rol_NUM_ROLES] =
|
||||
{
|
||||
NULL, // Rol_UNK
|
||||
"SEL_UNSEL_GSTS", // Rol_GST
|
||||
NULL, // Rol_USR
|
||||
"SEL_UNSEL_STDS", // Rol_STD
|
||||
"SEL_UNSEL_NETS", // Rol_NET
|
||||
"SEL_UNSEL_TCHS", // Rol_TCH
|
||||
NULL, // Rol_DEG_ADM
|
||||
NULL, // Rol_CTR_ADM
|
||||
NULL, // Rol_INS_ADM
|
||||
NULL, // Rol_SYS_ADM
|
||||
[Rol_UNK ] = NULL,
|
||||
[Rol_GST ] = "SEL_UNSEL_GSTS",
|
||||
[Rol_USR ] = NULL,
|
||||
[Rol_STD ] = "SEL_UNSEL_STDS",
|
||||
[Rol_NET ] = "SEL_UNSEL_NETS",
|
||||
[Rol_TCH ] = "SEL_UNSEL_TCHS",
|
||||
[Rol_DEG_ADM] = NULL,
|
||||
[Rol_CTR_ADM] = NULL,
|
||||
[Rol_INS_ADM] = NULL,
|
||||
[Rol_SYS_ADM] = NULL,
|
||||
};
|
||||
static const char *Usr_ParamUsrCod[Rol_NUM_ROLES] =
|
||||
{
|
||||
"UsrCodAll", // Rol_UNK (here means all users)
|
||||
"UsrCodGst", // Rol_GST
|
||||
NULL, // Rol_USR
|
||||
"UsrCodStd", // Rol_STD
|
||||
"UsrCodNET", // Rol_NET
|
||||
"UsrCodTch", // Rol_TCH
|
||||
NULL, // Rol_DEG_ADM
|
||||
NULL, // Rol_CTR_ADM
|
||||
NULL, // Rol_INS_ADM
|
||||
NULL, // Rol_SYS_ADM
|
||||
[Rol_UNK ] = "UsrCodAll", // here means all users
|
||||
[Rol_GST ] = "UsrCodGst",
|
||||
[Rol_USR ] = NULL,
|
||||
[Rol_STD ] = "UsrCodStd",
|
||||
[Rol_NET ] = "UsrCodNET",
|
||||
[Rol_TCH ] = "UsrCodTch",
|
||||
[Rol_DEG_ADM] = NULL,
|
||||
[Rol_CTR_ADM] = NULL,
|
||||
[Rol_INS_ADM] = NULL,
|
||||
[Rol_SYS_ADM] = NULL,
|
||||
};
|
||||
|
||||
#define Usr_NUM_MAIN_FIELDS_DATA_ADM 7
|
||||
|
|
Loading…
Reference in New Issue
Block a user